From f4c1678b92f0701532e783c667c1970eddd4479a Mon Sep 17 00:00:00 2001 From: gitea Date: Sat, 7 Jun 2025 16:18:13 +0700 Subject: [PATCH] first commit --- Penilaian-Esai/.editorconfig | 18 + Penilaian-Esai/.gitattributes | 10 + Penilaian-Esai/.gitignore | 14 + Penilaian-Esai/.styleci.yml | 12 + Penilaian-Esai/README.md | 18 + Penilaian-Esai/app/Console/Kernel.php | 32 + Penilaian-Esai/app/Exceptions/Handler.php | 50 + .../API/BadgeSettingAPIController.php | 131 + .../Controllers/API/ContentAPIController.php | 131 + .../Controllers/API/CourseAPIController.php | 131 + .../API/DashboardAPIController.php | 31 + .../Controllers/API/QuestionAPIController.php | 166 + .../Controllers/API/RoleAPIController.php | 131 + .../Controllers/API/lessonAPIController.php | 131 + .../Admin/BadgeSettingController.php | 182 + .../Controllers/Admin/ContentController.php | 159 + .../Controllers/Admin/CourseController.php | 157 + .../Controllers/Admin/DashboardController.php | 255 + .../Admin/ExplanationController.php | 119 + .../Controllers/Admin/LessonController.php | 164 + .../Controllers/Admin/LevelController.php | 112 + .../Admin/LevelSettingController.php | 156 + .../Controllers/Admin/QuestionController.php | 274 + .../Http/Controllers/Admin/RoleController.php | 156 + .../Http/Controllers/Admin/UserController.php | 129 + .../app/Http/Controllers/ApiController.php | 122 + .../Http/Controllers/AppBaseController.php | 38 + .../Auth/ConfirmPasswordController.php | 40 + .../Auth/ForgotPasswordController.php | 22 + .../Http/Controllers/Auth/LoginController.php | 40 + .../Controllers/Auth/RegisterController.php | 77 + .../Auth/ResetPasswordController.php | 30 + .../Auth/VerificationController.php | 42 + .../Http/Controllers/CodeTestController.php | 264 + .../app/Http/Controllers/Controller.php | 13 + .../app/Http/Controllers/CourseController.php | 16 + .../Controllers/ErrorCodeLogController.php | 28 + .../Controllers/ExerciseCodeLogController.php | 26 + .../Http/Controllers/ExplainingController.php | 137 + .../app/Http/Controllers/HomeController.php | 35 + .../Controllers/StudentCourseController.php | 267 + Penilaian-Esai/app/Http/Kernel.php | 72 + .../app/Http/Middleware/Authenticate.php | 21 + .../app/Http/Middleware/EncryptCookies.php | 17 + .../app/Http/Middleware/IsAdmin.php | 25 + .../app/Http/Middleware/JwtMiddleware.php | 35 + .../PreventRequestsDuringMaintenance.php | 17 + .../Middleware/RedirectIfAuthenticated.php | 32 + .../app/Http/Middleware/TrimStrings.php | 19 + .../app/Http/Middleware/TrustHosts.php | 20 + .../app/Http/Middleware/TrustProxies.php | 28 + .../app/Http/Middleware/VerifyCsrfToken.php | 17 + .../API/CreateBadgeSettingAPIRequest.php | 29 + .../Requests/API/CreateContentAPIRequest.php | 29 + .../Requests/API/CreateCourseAPIRequest.php | 29 + .../Requests/API/CreateLessonAPIRequest.php | 29 + .../Requests/API/CreateQuestionAPIRequest.php | 29 + .../Requests/API/CreateRoleAPIRequest.php | 29 + .../API/UpdateBadgeSettingAPIRequest.php | 31 + .../Requests/API/UpdateContentAPIRequest.php | 31 + .../Requests/API/UpdateCourseAPIRequest.php | 31 + .../Requests/API/UpdateLessonAPIRequest.php | 31 + .../Requests/API/UpdateQuestionAPIRequest.php | 31 + .../Requests/API/UpdateRoleAPIRequest.php | 31 + .../Requests/CreateBadgeSettingRequest.php | 29 + .../Http/Requests/CreateContentRequest.php | 29 + .../app/Http/Requests/CreateCourseRequest.php | 29 + .../app/Http/Requests/CreateLessonRequest.php | 29 + .../Http/Requests/CreateQuestionRequest.php | 29 + .../app/Http/Requests/CreateRoleRequest.php | 29 + .../Requests/UpdateBadgeSettingRequest.php | 31 + .../Http/Requests/UpdateContentRequest.php | 31 + .../app/Http/Requests/UpdateCourseRequest.php | 31 + .../app/Http/Requests/UpdateLessonRequest.php | 31 + .../Http/Requests/UpdateQuestionRequest.php | 31 + .../app/Http/Requests/UpdateRoleRequest.php | 31 + Penilaian-Esai/app/Models/Answer.php | 17 + Penilaian-Esai/app/Models/BadgeSetting.php | 57 + Penilaian-Esai/app/Models/Content.php | 82 + Penilaian-Esai/app/Models/Course.php | 70 + Penilaian-Esai/app/Models/ErrorCodeLog.php | 18 + Penilaian-Esai/app/Models/EssayQuestion.php | 42 + Penilaian-Esai/app/Models/ExerciseCodeLog.php | 25 + Penilaian-Esai/app/Models/ExplainingScore.php | 50 + Penilaian-Esai/app/Models/Explains.php | 32 + Penilaian-Esai/app/Models/Lesson.php | 76 + Penilaian-Esai/app/Models/Level.php | 31 + Penilaian-Esai/app/Models/Question.php | 88 + Penilaian-Esai/app/Models/Role.php | 47 + Penilaian-Esai/app/Models/StudentCourse.php | 20 + Penilaian-Esai/app/Models/TotalScore.php | 25 + Penilaian-Esai/app/Models/User.php | 84 + Penilaian-Esai/app/Models/UserAnswer.php | 34 + .../app/Models/UserCodeTestScore.php | 16 + Penilaian-Esai/app/Models/UserScore.php | 39 + Penilaian-Esai/app/Models/WonderingScore.php | 27 + .../app/Providers/AppServiceProvider.php | 28 + .../app/Providers/AuthServiceProvider.php | 30 + .../Providers/BroadcastServiceProvider.php | 21 + .../app/Providers/EventServiceProvider.php | 42 + .../app/Providers/RouteServiceProvider.php | 52 + .../Repositories/BadgeSettingRepository.php | 40 + .../app/Repositories/BaseRepository.php | 193 + .../app/Repositories/ContentRepository.php | 41 + .../app/Repositories/CourseRepository.php | 40 + .../app/Repositories/LessonRepository.php | 40 + .../app/Repositories/QuestionRepository.php | 45 + .../app/Repositories/RoleRepository.php | 40 + Penilaian-Esai/artisan | 53 + Penilaian-Esai/bootstrap/app.php | 55 + Penilaian-Esai/bootstrap/cache/.gitignore | 2 + Penilaian-Esai/composer.json | 68 + Penilaian-Esai/composer.lock | 10088 +++++ Penilaian-Esai/config/app.php | 224 + Penilaian-Esai/config/auth.php | 111 + Penilaian-Esai/config/broadcasting.php | 67 + Penilaian-Esai/config/cache.php | 110 + Penilaian-Esai/config/cors.php | 34 + Penilaian-Esai/config/database.php | 151 + Penilaian-Esai/config/datatables.php | 127 + Penilaian-Esai/config/filesystems.php | 76 + Penilaian-Esai/config/hashing.php | 52 + .../config/infyom/generator_builder.php | 13 + .../config/infyom/laravel_generator.php | 224 + Penilaian-Esai/config/jwt.php | 301 + Penilaian-Esai/config/logging.php | 122 + Penilaian-Esai/config/mail.php | 118 + Penilaian-Esai/config/queue.php | 93 + Penilaian-Esai/config/sanctum.php | 67 + Penilaian-Esai/config/services.php | 34 + Penilaian-Esai/config/session.php | 201 + Penilaian-Esai/config/view.php | 36 + Penilaian-Esai/database/.gitignore | 1 + .../database/factories/UserFactory.php | 42 + .../2014_10_12_000000_create_users_table.php | 36 + ...12_100000_create_password_resets_table.php | 32 + ..._08_19_000000_create_failed_jobs_table.php | 36 + ...01_create_personal_access_tokens_table.php | 36 + .../2022_05_30_114700_create_roles_table.php | 33 + ...2022_05_30_115524_create_courses_table.php | 36 + ...2022_05_30_120348_create_lessons_table.php | 38 + ...022_05_30_141552_create_contents_table.php | 39 + ...2_05_30_143915_add_role_to_user_column.php | 34 + ...22_05_30_150023_create_questions_table.php | 38 + ..._30_180245_create_student_course_table.php | 37 + ...2022_05_31_015033_create_answers_table.php | 36 + ...2_05_31_023057_add_nullable_to_answers.php | 34 + ...2022_05_31_030846_add_null_to_question.php | 33 + ..._05_31_070600_create_user_scores_table.php | 36 + ..._31_151123_create_badge_settings_table.php | 35 + ...06_02_055725_change_column_in_contents.php | 33 + ..._add_column_is_essay_to_question_table.php | 33 + ...ange_column_question_on_question_table.php | 31 + ...1634_create_user_code_test_score_table.php | 37 + ...9_add_question_id_on_user_scores_table.php | 32 + ...038_add_column_timer_to_question_table.php | 33 + ...column_start_time_to_user_scores_table.php | 34 + ...25_125721_create_table_code_error_logs.php | 39 + ...add_column_on_timer_on_code_error_logs.php | 31 + ...d_column_on_timer_on_user_scores_table.php | 30 + .../2023_02_28_031855_create_levels_table.php | 34 + ...3_02_28_033936_add_level_id_to_lessons.php | 33 + ...062544_add_description_to_levels_table.php | 32 + ..._074326_create_code_history_logs_table.php | 40 + ...023_03_17_071601_create_explains_table.php | 36 + ..._18_144701_create_essay_question_table.php | 37 + ..._05_18_145219_create_user_answer_table.php | 36 + ...23_060818_create_wondering_score_table.php | 36 + ...3_061330_create_explaining_score_table.php | 43 + ..._05_28_125135_create_total_score_table.php | 42 + ..._06_23_042517_add_class_to_users_table.php | 32 + ...tional_answers_to_essay_question_table.php | 35 + .../database/seeders/DatabaseSeeder.php | 24 + .../database/seeders/UsersTableSeeder.php | 46 + Penilaian-Esai/lang/en/auth.php | 20 + Penilaian-Esai/lang/en/pagination.php | 19 + Penilaian-Esai/lang/en/passwords.php | 22 + Penilaian-Esai/lang/en/validation.php | 169 + Penilaian-Esai/package-lock.json | 20030 ++++++++++ Penilaian-Esai/package.json | 44 + Penilaian-Esai/phpunit.xml | 31 + Penilaian-Esai/public/.htaccess | 21 + .../@fortawesome/fontawesome-free/css/all.css | 4616 +++ .../fontawesome-free/css/all.min.css | 5 + .../fontawesome-free/css/brands.css | 15 + .../fontawesome-free/css/brands.min.css | 5 + .../fontawesome-free/css/fontawesome.css | 4582 +++ .../fontawesome-free/css/fontawesome.min.css | 5 + .../fontawesome-free/css/regular.css | 15 + .../fontawesome-free/css/regular.min.css | 5 + .../fontawesome-free/css/solid.css | 16 + .../fontawesome-free/css/solid.min.css | 5 + .../fontawesome-free/css/svg-with-js.css | 371 + .../fontawesome-free/css/svg-with-js.min.css | 5 + .../fontawesome-free/css/v4-shims.css | 2172 ++ .../fontawesome-free/css/v4-shims.min.css | 5 + .../webfonts/fa-brands-400.eot | Bin 0 -> 134294 bytes .../webfonts/fa-brands-400.svg | 3717 ++ .../webfonts/fa-brands-400.ttf | Bin 0 -> 133988 bytes .../webfonts/fa-brands-400.woff | Bin 0 -> 89988 bytes .../webfonts/fa-brands-400.woff2 | Bin 0 -> 76736 bytes .../webfonts/fa-regular-400.eot | Bin 0 -> 34034 bytes .../webfonts/fa-regular-400.svg | 801 + .../webfonts/fa-regular-400.ttf | Bin 0 -> 33736 bytes .../webfonts/fa-regular-400.woff | Bin 0 -> 16276 bytes .../webfonts/fa-regular-400.woff2 | Bin 0 -> 13224 bytes .../webfonts/fa-solid-900.eot | Bin 0 -> 203030 bytes .../webfonts/fa-solid-900.svg | 5034 +++ .../webfonts/fa-solid-900.ttf | Bin 0 -> 202744 bytes .../webfonts/fa-solid-900.woff | Bin 0 -> 101648 bytes .../webfonts/fa-solid-900.woff2 | Bin 0 -> 78268 bytes .../public/assets/css/bootstrap.min.css | 7 + .../public/assets/css/iziToast.min.css | 6 + .../assets/css/jquery.dataTables.min.css | 1 + .../public/assets/css/select2.min.css | 1 + .../public/assets/css/sweetalert.css | 932 + .../public/assets/images/favicon.ico | Bin 0 -> 894 bytes .../public/assets/images/sort_asc.png | Bin 0 -> 160 bytes .../assets/images/sort_asc_disabled.png | Bin 0 -> 146 bytes .../public/assets/images/sort_both.png | Bin 0 -> 201 bytes .../public/assets/images/sort_desc.png | Bin 0 -> 158 bytes .../assets/images/sort_desc_disabled.png | Bin 0 -> 148 bytes .../public/assets/js/bootstrap.min.js | 1885 + .../assets/js/custom/custom-datatable.js | 29 + .../public/assets/js/custom/custom.js | 3336 ++ .../public/assets/js/iziToast.min.js | 467 + .../public/assets/js/jquery.dataTables.min.js | 4566 +++ Penilaian-Esai/public/assets/js/jquery.min.js | 4042 ++ .../public/assets/js/jquery.nicescroll.js | 3683 ++ Penilaian-Esai/public/assets/js/popper.min.js | 963 + Penilaian-Esai/public/assets/js/profile.js | 74 + .../public/assets/js/select2.min.js | 2807 ++ .../public/assets/js/sweetalert.min.js | 642 + .../public/assets/stisla/css/components.css | 1724 + .../assets/stisla/css/components.css.map | 1 + .../public/assets/stisla/css/custom.css | 8 + .../public/assets/stisla/css/custom.css.map | 1 + .../public/assets/stisla/css/reverse.css | 63 + .../public/assets/stisla/css/rtl.css | 397 + .../assets/stisla/css/skins/reverse.css | 78 + .../assets/stisla/css/skins/reverse.css.map | 1 + .../public/assets/stisla/css/style.css | 2980 ++ .../public/assets/stisla/css/style.css.map | 7 + .../stisla/fonts/nunito-v9-latin-600.eot | Bin 0 -> 22788 bytes .../stisla/fonts/nunito-v9-latin-600.svg | 438 + .../stisla/fonts/nunito-v9-latin-600.ttf | Bin 0 -> 47220 bytes .../stisla/fonts/nunito-v9-latin-600.woff | Bin 0 -> 24216 bytes .../stisla/fonts/nunito-v9-latin-600.woff2 | Bin 0 -> 19708 bytes .../stisla/fonts/nunito-v9-latin-700.eot | Bin 0 -> 22860 bytes .../stisla/fonts/nunito-v9-latin-700.svg | 439 + .../stisla/fonts/nunito-v9-latin-700.ttf | Bin 0 -> 46556 bytes .../stisla/fonts/nunito-v9-latin-700.woff | Bin 0 -> 24208 bytes .../stisla/fonts/nunito-v9-latin-700.woff2 | Bin 0 -> 19748 bytes .../stisla/fonts/nunito-v9-latin-800.eot | Bin 0 -> 22775 bytes .../stisla/fonts/nunito-v9-latin-800.svg | 442 + .../stisla/fonts/nunito-v9-latin-800.ttf | Bin 0 -> 46772 bytes .../stisla/fonts/nunito-v9-latin-800.woff | Bin 0 -> 24092 bytes .../stisla/fonts/nunito-v9-latin-800.woff2 | Bin 0 -> 19692 bytes .../stisla/fonts/nunito-v9-latin-regular.eot | Bin 0 -> 22619 bytes .../stisla/fonts/nunito-v9-latin-regular.svg | 437 + .../stisla/fonts/nunito-v9-latin-regular.ttf | Bin 0 -> 46796 bytes .../stisla/fonts/nunito-v9-latin-regular.woff | Bin 0 -> 24088 bytes .../fonts/nunito-v9-latin-regular.woff2 | Bin 0 -> 19600 bytes .../Vazir-Black-FD-WOL.eot | Bin 0 -> 59804 bytes .../Vazir-Black-FD-WOL.ttf | Bin 0 -> 59592 bytes .../Vazir-Black-FD-WOL.woff | Bin 0 -> 31688 bytes .../Vazir-Black-FD-WOL.woff2 | Bin 0 -> 25764 bytes .../Vazir-Bold-FD-WOL.eot | Bin 0 -> 58672 bytes .../Vazir-Bold-FD-WOL.ttf | Bin 0 -> 58464 bytes .../Vazir-Bold-FD-WOL.woff | Bin 0 -> 31148 bytes .../Vazir-Bold-FD-WOL.woff2 | Bin 0 -> 25116 bytes .../Vazir-FD-WOL.eot | Bin 0 -> 52344 bytes .../Vazir-FD-WOL.ttf | Bin 0 -> 52156 bytes .../Vazir-FD-WOL.woff | Bin 0 -> 26696 bytes .../Vazir-FD-WOL.woff2 | Bin 0 -> 21176 bytes .../Vazir-Light-FD-WOL.eot | Bin 0 -> 56092 bytes .../Vazir-Light-FD-WOL.ttf | Bin 0 -> 55880 bytes .../Vazir-Light-FD-WOL.woff | Bin 0 -> 29776 bytes .../Vazir-Light-FD-WOL.woff2 | Bin 0 -> 23940 bytes .../Vazir-Medium-FD-WOL.eot | Bin 0 -> 57944 bytes .../Vazir-Medium-FD-WOL.ttf | Bin 0 -> 57728 bytes .../Vazir-Medium-FD-WOL.woff | Bin 0 -> 30496 bytes .../Vazir-Medium-FD-WOL.woff2 | Bin 0 -> 24600 bytes .../Vazir-Thin-FD-WOL.eot | Bin 0 -> 56796 bytes .../Vazir-Thin-FD-WOL.ttf | Bin 0 -> 56588 bytes .../Vazir-Thin-FD-WOL.woff | Bin 0 -> 30196 bytes .../Vazir-Thin-FD-WOL.woff2 | Bin 0 -> 24340 bytes .../vazir/Farsi-Digits/Vazir-Black-FD.eot | Bin 0 -> 91560 bytes .../vazir/Farsi-Digits/Vazir-Black-FD.ttf | Bin 0 -> 91372 bytes .../vazir/Farsi-Digits/Vazir-Black-FD.woff | Bin 0 -> 52292 bytes .../vazir/Farsi-Digits/Vazir-Black-FD.woff2 | Bin 0 -> 41276 bytes .../vazir/Farsi-Digits/Vazir-Bold-FD.eot | Bin 0 -> 90076 bytes .../vazir/Farsi-Digits/Vazir-Bold-FD.ttf | Bin 0 -> 89892 bytes .../vazir/Farsi-Digits/Vazir-Bold-FD.woff | Bin 0 -> 51276 bytes .../vazir/Farsi-Digits/Vazir-Bold-FD.woff2 | Bin 0 -> 40740 bytes .../fonts/vazir/Farsi-Digits/Vazir-FD.eot | Bin 0 -> 83516 bytes .../fonts/vazir/Farsi-Digits/Vazir-FD.ttf | Bin 0 -> 83352 bytes .../fonts/vazir/Farsi-Digits/Vazir-FD.woff | Bin 0 -> 46576 bytes .../fonts/vazir/Farsi-Digits/Vazir-FD.woff2 | Bin 0 -> 36776 bytes .../vazir/Farsi-Digits/Vazir-Light-FD.eot | Bin 0 -> 98128 bytes .../vazir/Farsi-Digits/Vazir-Light-FD.ttf | Bin 0 -> 97940 bytes .../vazir/Farsi-Digits/Vazir-Light-FD.woff | Bin 0 -> 57712 bytes .../vazir/Farsi-Digits/Vazir-Light-FD.woff2 | Bin 0 -> 46656 bytes .../vazir/Farsi-Digits/Vazir-Medium-FD.eot | Bin 0 -> 104704 bytes .../vazir/Farsi-Digits/Vazir-Medium-FD.ttf | Bin 0 -> 104512 bytes .../vazir/Farsi-Digits/Vazir-Medium-FD.woff | Bin 0 -> 61004 bytes .../vazir/Farsi-Digits/Vazir-Medium-FD.woff2 | Bin 0 -> 49316 bytes .../vazir/Farsi-Digits/Vazir-Thin-FD.eot | Bin 0 -> 88748 bytes .../vazir/Farsi-Digits/Vazir-Thin-FD.ttf | Bin 0 -> 88564 bytes .../vazir/Farsi-Digits/Vazir-Thin-FD.woff | Bin 0 -> 50540 bytes .../vazir/Farsi-Digits/Vazir-Thin-FD.woff2 | Bin 0 -> 40160 bytes .../public/assets/stisla/fonts/vazir/LICENSE | 51 + .../assets/stisla/fonts/vazir/Vazir-Black.eot | Bin 0 -> 93102 bytes .../assets/stisla/fonts/vazir/Vazir-Black.ttf | Bin 0 -> 92932 bytes .../stisla/fonts/vazir/Vazir-Black.woff | Bin 0 -> 53508 bytes .../stisla/fonts/vazir/Vazir-Black.woff2 | Bin 0 -> 42260 bytes .../assets/stisla/fonts/vazir/Vazir-Bold.eot | Bin 0 -> 91830 bytes .../assets/stisla/fonts/vazir/Vazir-Bold.ttf | Bin 0 -> 91664 bytes .../assets/stisla/fonts/vazir/Vazir-Bold.woff | Bin 0 -> 52696 bytes .../stisla/fonts/vazir/Vazir-Bold.woff2 | Bin 0 -> 42072 bytes .../assets/stisla/fonts/vazir/Vazir-Light.eot | Bin 0 -> 101062 bytes .../assets/stisla/fonts/vazir/Vazir-Light.ttf | Bin 0 -> 100892 bytes .../stisla/fonts/vazir/Vazir-Light.woff | Bin 0 -> 59968 bytes .../stisla/fonts/vazir/Vazir-Light.woff2 | Bin 0 -> 48552 bytes .../stisla/fonts/vazir/Vazir-Medium.eot | Bin 0 -> 107826 bytes .../stisla/fonts/vazir/Vazir-Medium.ttf | Bin 0 -> 107652 bytes .../stisla/fonts/vazir/Vazir-Medium.woff | Bin 0 -> 63308 bytes .../stisla/fonts/vazir/Vazir-Medium.woff2 | Bin 0 -> 51284 bytes .../assets/stisla/fonts/vazir/Vazir-Thin.eot | Bin 0 -> 90654 bytes .../assets/stisla/fonts/vazir/Vazir-Thin.ttf | Bin 0 -> 90488 bytes .../assets/stisla/fonts/vazir/Vazir-Thin.woff | Bin 0 -> 51980 bytes .../stisla/fonts/vazir/Vazir-Thin.woff2 | Bin 0 -> 41452 bytes .../assets/stisla/fonts/vazir/Vazir.eot | Bin 0 -> 85322 bytes .../assets/stisla/fonts/vazir/Vazir.ttf | Bin 0 -> 85160 bytes .../assets/stisla/fonts/vazir/Vazir.woff | Bin 0 -> 47932 bytes .../assets/stisla/fonts/vazir/Vazir.woff2 | Bin 0 -> 37972 bytes .../vazir/Without-Latin/Vazir-Black-WOL.eot | Bin 0 -> 59822 bytes .../vazir/Without-Latin/Vazir-Black-WOL.ttf | Bin 0 -> 59628 bytes .../vazir/Without-Latin/Vazir-Black-WOL.woff | Bin 0 -> 31912 bytes .../vazir/Without-Latin/Vazir-Black-WOL.woff2 | Bin 0 -> 25832 bytes .../vazir/Without-Latin/Vazir-Bold-WOL.eot | Bin 0 -> 58658 bytes .../vazir/Without-Latin/Vazir-Bold-WOL.ttf | Bin 0 -> 58468 bytes .../vazir/Without-Latin/Vazir-Bold-WOL.woff | Bin 0 -> 31340 bytes .../vazir/Without-Latin/Vazir-Bold-WOL.woff2 | Bin 0 -> 25264 bytes .../vazir/Without-Latin/Vazir-Light-WOL.eot | Bin 0 -> 56110 bytes .../vazir/Without-Latin/Vazir-Light-WOL.ttf | Bin 0 -> 55916 bytes .../vazir/Without-Latin/Vazir-Light-WOL.woff | Bin 0 -> 29992 bytes .../vazir/Without-Latin/Vazir-Light-WOL.woff2 | Bin 0 -> 24076 bytes .../vazir/Without-Latin/Vazir-Medium-WOL.eot | Bin 0 -> 57942 bytes .../vazir/Without-Latin/Vazir-Medium-WOL.ttf | Bin 0 -> 57744 bytes .../vazir/Without-Latin/Vazir-Medium-WOL.woff | Bin 0 -> 30720 bytes .../Without-Latin/Vazir-Medium-WOL.woff2 | Bin 0 -> 24876 bytes .../vazir/Without-Latin/Vazir-Thin-WOL.eot | Bin 0 -> 56818 bytes .../vazir/Without-Latin/Vazir-Thin-WOL.ttf | Bin 0 -> 56628 bytes .../vazir/Without-Latin/Vazir-Thin-WOL.woff | Bin 0 -> 30404 bytes .../vazir/Without-Latin/Vazir-Thin-WOL.woff2 | Bin 0 -> 24520 bytes .../fonts/vazir/Without-Latin/Vazir-WOL.eot | Bin 0 -> 52314 bytes .../fonts/vazir/Without-Latin/Vazir-WOL.ttf | Bin 0 -> 52144 bytes .../fonts/vazir/Without-Latin/Vazir-WOL.woff | Bin 0 -> 26872 bytes .../fonts/vazir/Without-Latin/Vazir-WOL.woff2 | Bin 0 -> 21236 bytes .../assets/stisla/fonts/vazir/font-face.css | 59 + .../assets/stisla/fonts/vazir/sample.png | Bin 0 -> 87657 bytes .../assets/stisla/img/avatar/avatar-1.png | Bin 0 -> 8312 bytes .../assets/stisla/img/avatar/avatar-2.png | Bin 0 -> 8923 bytes .../assets/stisla/img/avatar/avatar-3.png | Bin 0 -> 8187 bytes .../assets/stisla/img/avatar/avatar-4.png | Bin 0 -> 8025 bytes .../assets/stisla/img/avatar/avatar-5.png | Bin 0 -> 8370 bytes .../drawkit/drawkit-full-stack-man-colour.svg | 1 + .../drawkit/drawkit-mobile-article-colour.svg | 1 + .../img/drawkit/drawkit-nature-man-colour.svg | 1 + .../img/drawkit/revenue-graph-colour.svg | 1 + .../assets/stisla/img/example-image-50.jpg | Bin 0 -> 16109 bytes .../assets/stisla/img/example-image.jpg | Bin 0 -> 23527 bytes .../public/assets/stisla/img/news/img01.jpg | Bin 0 -> 40302 bytes .../public/assets/stisla/img/news/img02.jpg | Bin 0 -> 18534 bytes .../public/assets/stisla/img/news/img03.jpg | Bin 0 -> 18797 bytes .../public/assets/stisla/img/news/img04.jpg | Bin 0 -> 18688 bytes .../public/assets/stisla/img/news/img05.jpg | Bin 0 -> 20160 bytes .../public/assets/stisla/img/news/img06.jpg | Bin 0 -> 23527 bytes .../public/assets/stisla/img/news/img07.jpg | Bin 0 -> 18534 bytes .../public/assets/stisla/img/news/img08.jpg | Bin 0 -> 18797 bytes .../public/assets/stisla/img/news/img09.jpg | Bin 0 -> 18688 bytes .../public/assets/stisla/img/news/img10.jpg | Bin 0 -> 20160 bytes .../public/assets/stisla/img/news/img11.jpg | Bin 0 -> 23527 bytes .../public/assets/stisla/img/news/img12.jpg | Bin 0 -> 18534 bytes .../public/assets/stisla/img/news/img13.jpg | Bin 0 -> 18797 bytes .../public/assets/stisla/img/news/img14.jpg | Bin 0 -> 18688 bytes .../public/assets/stisla/img/news/img15.jpg | Bin 0 -> 20160 bytes .../public/assets/stisla/img/news/img16.jpg | Bin 0 -> 23527 bytes .../public/assets/stisla/img/news/img17.jpg | Bin 0 -> 18534 bytes .../public/assets/stisla/img/p-250.png | Bin 0 -> 751 bytes .../public/assets/stisla/img/p-50.png | Bin 0 -> 172 bytes .../stisla/img/products/product-1-50.png | Bin 0 -> 1316 bytes .../assets/stisla/img/products/product-1.jpg | Bin 0 -> 21422 bytes .../stisla/img/products/product-2-50.png | Bin 0 -> 1049 bytes .../assets/stisla/img/products/product-2.jpg | Bin 0 -> 20421 bytes .../stisla/img/products/product-3-50.png | Bin 0 -> 698 bytes .../assets/stisla/img/products/product-3.jpg | Bin 0 -> 20645 bytes .../stisla/img/products/product-4-50.png | Bin 0 -> 680 bytes .../assets/stisla/img/products/product-4.jpg | Bin 0 -> 20288 bytes .../stisla/img/products/product-5-50.png | Bin 0 -> 1090 bytes .../assets/stisla/img/products/product-5.jpg | Bin 0 -> 21500 bytes .../public/assets/stisla/img/stisla-fill.svg | 1 + .../public/assets/stisla/img/stisla-light.svg | 1 + .../assets/stisla/img/stisla-transparent.svg | 1 + .../public/assets/stisla/img/stisla.svg | 1 + .../unsplash/andre-benz-1214056-unsplash.jpg | Bin 0 -> 2301340 bytes ...erhard-grossgasteiger-1207565-unsplash.jpg | Bin 0 -> 3636737 bytes .../assets/stisla/img/unsplash/login-bg.jpg | Bin 0 -> 1012673 bytes .../public/assets/stisla/js/custom.js | 8 + .../assets/stisla/js/page/auth-register.js | 3 + .../assets/stisla/js/page/bootstrap-modal.js | 98 + .../stisla/js/page/components-chat-box.js | 120 + .../js/page/components-multiple-upload.js | 41 + .../stisla/js/page/components-statistic.js | 239 + .../assets/stisla/js/page/components-table.js | 33 + .../assets/stisla/js/page/components-user.js | 20 + .../stisla/js/page/features-post-create.js | 13 + .../assets/stisla/js/page/features-posts.js | 29 + .../stisla/js/page/features-setting-detail.js | 27 + .../stisla/js/page/forms-advanced-forms.js | 77 + .../stisla/js/page/gmaps-advanced-route.js | 31 + .../stisla/js/page/gmaps-draggable-marker.js | 57 + .../assets/stisla/js/page/gmaps-geocoding.js | 28 + .../stisla/js/page/gmaps-geolocation.js | 30 + .../assets/stisla/js/page/gmaps-marker.js | 17 + .../stisla/js/page/gmaps-multiple-marker.js | 34 + .../assets/stisla/js/page/gmaps-route.js | 19 + .../assets/stisla/js/page/gmaps-simple.js | 7 + .../public/assets/stisla/js/page/index-0.js | 101 + .../public/assets/stisla/js/page/index.js | 194 + .../assets/stisla/js/page/modules-calendar.js | 66 + .../assets/stisla/js/page/modules-chartjs.js | 161 + .../stisla/js/page/modules-datatables.js | 40 + .../stisla/js/page/modules-ion-icons.js | 9 + .../assets/stisla/js/page/modules-slider.js | 7 + .../stisla/js/page/modules-sparkline.js | 44 + .../stisla/js/page/modules-sweetalert.js | 62 + .../assets/stisla/js/page/modules-toastr.js | 65 + .../stisla/js/page/modules-vector-map.js | 79 + .../stisla/js/page/utilities-contact.js | 20 + .../public/assets/stisla/js/scripts.js | 616 + .../public/assets/stisla/js/stisla.js | 267 + .../public/css/Pe-icon-7-stroke.css | 832 + Penilaian-Esai/public/css/all.css | 3751 ++ Penilaian-Esai/public/css/app.css | 53 + Penilaian-Esai/public/css/bootstrap-flex.css | 5 + Penilaian-Esai/public/css/bootstrap.css | 5778 +++ Penilaian-Esai/public/css/custom.css | 3 + .../public/css/font-awesome.min.css | 4 + Penilaian-Esai/public/css/main.css | 3121 ++ Penilaian-Esai/public/css/main.min.css | 6 + Penilaian-Esai/public/css/owl.carousel.css | 240 + Penilaian-Esai/public/css/owl.theme.css | 81 + Penilaian-Esai/public/css/prism.css | 3 + Penilaian-Esai/public/css/quill.bubble.css | 952 + Penilaian-Esai/public/css/quill.core.css | 397 + Penilaian-Esai/public/css/quill.snow.css | 945 + Penilaian-Esai/public/css/social-icons.css | 57 + Penilaian-Esai/public/favicon.ico | 0 .../public/image_upload/20220728170213.png | Bin 0 -> 878857 bytes .../public/image_upload/20220728171009.png | Bin 0 -> 58245 bytes .../public/image_upload/20220728172040.png | Bin 0 -> 60713 bytes .../public/image_upload/20220728172051.png | Bin 0 -> 69075 bytes .../public/image_upload/20220728172104.png | Bin 0 -> 91406 bytes .../public/image_upload/20220728172117.png | Bin 0 -> 102496 bytes .../public/image_upload/20220728172150.png | Bin 0 -> 93592 bytes .../public/image_upload/20220728172317.png | Bin 0 -> 110759 bytes Penilaian-Esai/public/img/logo-kecil.png | Bin 0 -> 22270 bytes Penilaian-Esai/public/img/logo-kecil1.png | Bin 0 -> 43449 bytes Penilaian-Esai/public/img/logo-single.png | Bin 0 -> 70817 bytes Penilaian-Esai/public/img/logo-utama.png | Bin 0 -> 55810 bytes Penilaian-Esai/public/img/logo-utama1.png | Bin 0 -> 70738 bytes Penilaian-Esai/public/img/logo.png | Bin 0 -> 4393 bytes Penilaian-Esai/public/img/pngwing.com.png | Bin 0 -> 454461 bytes Penilaian-Esai/public/index.php | 55 + Penilaian-Esai/public/js/app.js | 31780 ++++++++++++++++ Penilaian-Esai/public/js/bootstrap.min.js | 7 + Penilaian-Esai/public/js/codeflask.min.js | 1 + Penilaian-Esai/public/js/jquery-1.12.0.min.js | 5 + Penilaian-Esai/public/js/prism.js | 5 + Penilaian-Esai/public/js/quill/quill.core.js | 8522 +++++ Penilaian-Esai/public/js/quill/quill.js | 11489 ++++++ Penilaian-Esai/public/js/quill/quill.min.js | 8 + .../public/js/quill/quill.min.js.map | 1 + Penilaian-Esai/public/js/scripts.js | 159 + Penilaian-Esai/public/js/scripts.min.js | 157 + Penilaian-Esai/public/js/tether.min.js | 1 + Penilaian-Esai/public/js/webfont.js | 678 + Penilaian-Esai/public/mix-manifest.json | 57 + Penilaian-Esai/public/robots.txt | 2 + Penilaian-Esai/public/web/css/components.css | 1721 + .../public/web/css/components.css.map | 1 + Penilaian-Esai/public/web/css/custom.css | 8 + Penilaian-Esai/public/web/css/custom.css.map | 1 + Penilaian-Esai/public/web/css/reverse.css | 63 + Penilaian-Esai/public/web/css/rtl.css | 397 + .../public/web/css/skins/reverse.css | 78 + .../public/web/css/skins/reverse.css.map | 1 + Penilaian-Esai/public/web/css/style.css | 4136 ++ Penilaian-Esai/public/web/css/style.css.map | 7 + .../public/web/fonts/FontAwesome.otf | Bin 0 -> 134808 bytes .../public/web/fonts/fontawesome-webfont.eot | Bin 0 -> 165742 bytes .../public/web/fonts/fontawesome-webfont.svg | 2672 ++ .../public/web/fonts/fontawesome-webfont.ttf | Bin 0 -> 165548 bytes .../public/web/fonts/fontawesome-webfont.woff | Bin 0 -> 98024 bytes .../web/fonts/fontawesome-webfont.woff2 | Bin 0 -> 77160 bytes .../public/web/js/bootstrap-select.min.js | 9 + Penilaian-Esai/public/web/js/bootstrap.min.js | 2 + Penilaian-Esai/public/web/js/currency.js | 104 + Penilaian-Esai/public/web/js/custom.js | 8 + Penilaian-Esai/public/web/js/jquery-ui.min.js | 13 + .../public/web/js/jquery.inview.min.js | 1 + .../public/web/js/jquery.validate.min.js | 4 + Penilaian-Esai/public/web/js/scripts.js | 617 + Penilaian-Esai/public/web/js/stisla.js | 267 + .../assets/js/custom/custom-datatable.js | 21 + .../resources/assets/js/custom/custom.js | 265 + Penilaian-Esai/resources/assets/js/profile.js | 66 + Penilaian-Esai/resources/css/app.css | 0 Penilaian-Esai/resources/js/app.js | 53 + Penilaian-Esai/resources/js/bootstrap.js | 28 + .../js/components/ExampleComponent.vue | 23 + Penilaian-Esai/resources/sass/_variables.scss | 12 + Penilaian-Esai/resources/sass/app.scss | 5 + .../admin/badge_settings/create.blade.php | 32 + .../views/admin/badge_settings/edit.blade.php | 33 + .../admin/badge_settings/fields.blade.php | 32 + .../admin/badge_settings/index.blade.php | 25 + .../views/admin/badge_settings/show.blade.php | 23 + .../badge_settings/show_fields.blade.php | 36 + .../admin/badge_settings/table.blade.php | 32 + .../views/admin/contents/create.blade.php | 32 + .../views/admin/contents/edit.blade.php | 33 + .../views/admin/contents/fields.blade.php | 99 + .../views/admin/contents/index.blade.php | 25 + .../views/admin/contents/show.blade.php | 22 + .../admin/contents/show_fields.blade.php | 48 + .../views/admin/contents/table.blade.php | 33 + .../views/admin/courses/create.blade.php | 32 + .../views/admin/courses/edit.blade.php | 33 + .../views/admin/courses/fields.blade.php | 29 + .../views/admin/courses/index.blade.php | 25 + .../views/admin/courses/show.blade.php | 22 + .../views/admin/courses/show_fields.blade.php | 42 + .../views/admin/courses/table.blade.php | 33 + .../views/admin/dashboard/index.blade.php | 59 + .../admin/dashboard/leaderboard.blade.php | 58 + .../views/admin/dashboard/penilaian.blade.php | 429 + .../views/admin/dashboard/report.blade.php | 177 + .../views/admin/explain/edit.blade.php | 37 + .../views/admin/explain/field.blade.php | 90 + .../views/admin/explain/index.blade.php | 24 + .../views/admin/explain/table.blade.php | 40 + .../views/admin/explain/table_essay.blade.php | 41 + .../views/admin/lessons/create.blade.php | 32 + .../views/admin/lessons/edit.blade.php | 33 + .../views/admin/lessons/fields.blade.php | 40 + .../views/admin/lessons/index.blade.php | 25 + .../views/admin/lessons/show.blade.php | 22 + .../views/admin/lessons/show_fields.blade.php | 54 + .../views/admin/lessons/table.blade.php | 35 + .../views/admin/level/create.blade.php | 32 + .../views/admin/level/edit.blade.php | 33 + .../views/admin/level/fields.blade.php | 23 + .../views/admin/level/index.blade.php | 22 + .../views/admin/level/table.blade.php | 30 + .../views/admin/questions/create.blade.php | 32 + .../views/admin/questions/edit.blade.php | 33 + .../views/admin/questions/fields.blade.php | 246 + .../views/admin/questions/index.blade.php | 25 + .../views/admin/questions/show.blade.php | 22 + .../admin/questions/show_fields.blade.php | 87 + .../views/admin/questions/table.blade.php | 33 + .../views/admin/roles/create.blade.php | 32 + .../views/admin/roles/edit.blade.php | 33 + .../views/admin/roles/fields.blade.php | 11 + .../views/admin/roles/index.blade.php | 25 + .../views/admin/roles/show.blade.php | 22 + .../views/admin/roles/show_fields.blade.php | 24 + .../views/admin/roles/table.blade.php | 27 + .../views/admin/users/create.blade.php | 32 + .../views/admin/users/edit.blade.php | 33 + .../views/admin/users/fields.blade.php | 36 + .../views/admin/users/index.blade.php | 28 + .../views/admin/users/show.blade.php | 22 + .../views/admin/users/show_fields.blade.php | 22 + .../views/admin/users/table.blade.php | 31 + .../views/auth/forgot-password.blade.php | 36 + .../resources/views/auth/login.blade.php | 77 + .../views/auth/passwords/confirm.blade.php | 66 + .../views/auth/passwords/email.blade.php | 36 + .../views/auth/passwords/reset.blade.php | 59 + .../resources/views/auth/register.blade.php | 96 + .../views/auth/reset-password.blade.php | 59 + .../resources/views/auth/verify.blade.php | 24 + Penilaian-Esai/resources/views/home.blade.php | 73 + .../resources/views/layouts/app.blade.php | 90 + .../views/layouts/auth_app.blade.php | 66 + .../views/layouts/code_test.blade.php | 52 + .../views/layouts/code_tets_navbar.blade.php | 75 + .../resources/views/layouts/footer.blade.php | 3 + .../resources/views/layouts/front.blade.php | 56 + .../views/layouts/front_navbar.blade.php | 104 + .../resources/views/layouts/header.blade.php | 53 + .../resources/views/layouts/menu.blade.php | 45 + .../resources/views/layouts/report.blade.php | 45 + .../views/layouts/report_navbar.blade.php | 50 + .../resources/views/layouts/sidebar.blade.php | 15 + .../views/profile/change_password.blade.php | 81 + .../views/profile/edit_profile.blade.php | 61 + .../views/student_courses/code_test.blade.php | 555 + .../views/student_courses/detail.blade.php | 181 + .../student_courses/detail_report.blade.php | 128 + .../student_courses/essay_edit.blade.php | 50 + .../views/student_courses/explain.blade.php | 104 + .../student_courses/explain_edit.blade.php | 28 + .../student_courses/explain_field.blade.php | 90 + .../views/student_courses/index.blade.php | 44 + .../leaderboard_student.blade.php | 58 + .../views/student_courses/level.blade.php | 173 + .../views/student_courses/my_course.blade.php | 492 + .../views/student_courses/report.blade.php | 143 + .../resources/views/welcome.blade.php | 132 + Penilaian-Esai/routes/api.php | 49 + Penilaian-Esai/routes/channels.php | 18 + Penilaian-Esai/routes/console.php | 19 + Penilaian-Esai/routes/web.php | 90 + Penilaian-Esai/storage/app/.gitignore | 3 + Penilaian-Esai/storage/app/public/.gitignore | 2 + Penilaian-Esai/storage/framework/.gitignore | 9 + .../storage/framework/cache/.gitignore | 3 + .../storage/framework/cache/data/.gitignore | 2 + .../storage/framework/sessions/.gitignore | 2 + .../storage/framework/testing/.gitignore | 2 + .../storage/framework/views/.gitignore | 2 + Penilaian-Esai/storage/logs/.gitignore | 2 + Penilaian-Esai/tests/ApiTestTrait.php | 32 + Penilaian-Esai/tests/CreatesApplication.php | 22 + Penilaian-Esai/tests/Feature/ExampleTest.php | 21 + Penilaian-Esai/tests/TestCase.php | 10 + Penilaian-Esai/tests/Unit/ExampleTest.php | 18 + Penilaian-Esai/webpack.mix.js | 67 + gamification_testing.sql | 4951 +++ online-compiler/.classpath | 6 + online-compiler/.gitignore | 1 + online-compiler/.idea/vcs.xml | 6 + online-compiler/.project | 28 + online-compiler/Procfile | 1 + online-compiler/Readme.md | 41 + online-compiler/compiler/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 149 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 176 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 153 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 167 bytes .../compiler/__pycache__/urls.cpython-310.pyc | Bin 0 -> 513 bytes .../compiler/__pycache__/urls.cpython-311.pyc | Bin 0 -> 792 bytes .../compiler/__pycache__/urls.cpython-312.pyc | Bin 0 -> 743 bytes .../compiler/__pycache__/urls.cpython-39.pyc | Bin 0 -> 478 bytes .../__pycache__/views.cpython-310.pyc | Bin 0 -> 7513 bytes .../__pycache__/views.cpython-311.pyc | Bin 0 -> 13065 bytes .../__pycache__/views.cpython-312.pyc | Bin 0 -> 11177 bytes .../compiler/__pycache__/views.cpython-39.pyc | Bin 0 -> 1569 bytes online-compiler/compiler/admin.py | 3 + online-compiler/compiler/apps.py | 6 + .../compiler/migrations/__init__.py | 0 online-compiler/compiler/models.py | 3 + online-compiler/compiler/tests.py | 3 + online-compiler/compiler/urls.py | 11 + online-compiler/compiler/views.py | 425 + online-compiler/db.sqlite3 | Bin 0 -> 131072 bytes online-compiler/grade_generator.log | 0 .../abc_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1202 bytes .../abc_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/abc_gmail_com/TipeData.class | Bin 0 -> 977 bytes .../java_files/abc_gmail_com/TipeData.java | 22 + .../java_files/admin_admin_com/.gitignore | 4 + .../admin_admin_com/HelloWorld.java | 7 + .../admin_admin_com/JUnitHelloWorldTest.java | 29 + .../admin_admin_com/JUnitMyClassTest.java | 32 + .../java_files/admin_admin_com/MyClass.java | 14 + .../java_files/adminku_gmail_com/.gitignore | 4 + .../adminku_gmail_com/JUnitOrderCaseTest.java | 33 + .../adminku_gmail_com/JUnitPoetryTest.java | 34 + .../adminku_gmail_com/OrderCase.java | 45 + .../java_files/adminku_gmail_com/Poetry.java | 14 + .../java_files/baru_gmail_com/Angka.class | Bin 0 -> 481 bytes .../java_files/baru_gmail_com/Angka.java | 12 + .../baru_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1165 bytes .../baru_gmail_com/JUnitAngkaTest.java | 34 + .../baru_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1204 bytes .../baru_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/baru_gmail_com/TipeData.class | Bin 0 -> 978 bytes .../java_files/baru_gmail_com/TipeData.java | 22 + .../java_files/della_gmail_com/Angka.class | Bin 0 -> 482 bytes .../java_files/della_gmail_com/Angka.java | 12 + .../java_files/della_gmail_com/Average.class | Bin 0 -> 731 bytes .../java_files/della_gmail_com/Average.java | 18 + .../java_files/della_gmail_com/Bank.class | Bin 0 -> 1076 bytes .../java_files/della_gmail_com/Bank.java | 22 + .../della_gmail_com/BookStore.class | Bin 0 -> 1091 bytes .../java_files/della_gmail_com/BookStore.java | 30 + .../della_gmail_com/Fibonacci.class | Bin 0 -> 1088 bytes .../java_files/della_gmail_com/Fibonacci.java | 21 + .../della_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1167 bytes .../della_gmail_com/JUnitAngkaTest.java | 34 + .../della_gmail_com/JUnitAverageTest.class | Bin 0 -> 1210 bytes .../della_gmail_com/JUnitAverageTest.java | 33 + .../della_gmail_com/JUnitBankTest.class | Bin 0 -> 1877 bytes .../della_gmail_com/JUnitBankTest.java | 36 + .../della_gmail_com/JUnitBookStoreTest.class | Bin 0 -> 1193 bytes .../della_gmail_com/JUnitBookStoreTest.java | 33 + .../della_gmail_com/JUnitFibonacciTest.class | Bin 0 -> 1199 bytes .../della_gmail_com/JUnitFibonacciTest.java | 33 + .../della_gmail_com/JUnitLingkaranTest.class | Bin 0 -> 1985 bytes .../della_gmail_com/JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1184 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../della_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1160 bytes .../della_gmail_com/JUnitLuckyFiveTest.java | 31 + .../della_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1181 bytes .../della_gmail_com/JUnitNewsFeedTest.java | 32 + .../della_gmail_com/JUnitOrderCaseTest.class | Bin 0 -> 1185 bytes .../della_gmail_com/JUnitOrderCaseTest.java | 30 + .../della_gmail_com/JUnitOrderTest.class | Bin 0 -> 1171 bytes .../della_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1194 bytes .../JUnitSecondPiramidTest.java | 34 + .../della_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1206 bytes .../della_gmail_com/JUnitTipeDataTest.java | 34 + .../della_gmail_com/Lingkaran.class | Bin 0 -> 1185 bytes .../java_files/della_gmail_com/Lingkaran.java | 25 + .../della_gmail_com/LuckyFive.class | Bin 0 -> 462 bytes .../java_files/della_gmail_com/LuckyFive.java | 11 + .../della_gmail_com/LuckyFiveSecond.class | Bin 0 -> 476 bytes .../della_gmail_com/LuckyFiveSecond.java | 14 + .../java_files/della_gmail_com/NewsFeed.class | Bin 0 -> 610 bytes .../java_files/della_gmail_com/NewsFeed.java | 12 + .../java_files/della_gmail_com/Order.class | Bin 0 -> 576 bytes .../java_files/della_gmail_com/Order.java | 15 + .../della_gmail_com/OrderCase.class | Bin 0 -> 1232 bytes .../java_files/della_gmail_com/OrderCase.java | 22 + .../della_gmail_com/SecondPiramid.class | Bin 0 -> 1034 bytes .../della_gmail_com/SecondPiramid.java | 14 + .../java_files/della_gmail_com/TipeData.class | Bin 0 -> 979 bytes .../java_files/della_gmail_com/TipeData.java | 22 + .../fransiskaly_gmail_com/.gitignore | 2 + .../fransiskaly_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.java | 29 + .../java_files/gaga_gmail_com/.gitignore | 12 + .../java_files/gaga_gmail_com/HelloWorld.java | 7 + .../gaga_gmail_com/JUnitHelloWorldTest.java | 29 + .../gaga_gmail_com/JUnitLuckyFiveTest.java | 33 + .../gaga_gmail_com/JUnitMyClassTest.java | 36 + .../gaga_gmail_com/JUnitOrderTest.java | 36 + .../gaga_gmail_com/JUnitPasswordTest.java | 34 + .../gaga_gmail_com/JUnitPoetryTest.java | 34 + .../java_files/gaga_gmail_com/LuckyFive.java | 15 + .../java_files/gaga_gmail_com/MyClass.java | 19 + .../java_files/gaga_gmail_com/Order.java | 15 + .../java_files/gaga_gmail_com/Password.java | 15 + .../java_files/gaga_gmail_com/Poetry.java | 12 + .../java_files/ifa_gmail_com/Angka.class | Bin 0 -> 480 bytes .../java_files/ifa_gmail_com/Angka.java | 12 + .../java_files/ifa_gmail_com/BookStore.class | Bin 0 -> 1089 bytes .../java_files/ifa_gmail_com/BookStore.java | 30 + .../java_files/ifa_gmail_com/Fibonacci.class | Bin 0 -> 1086 bytes .../java_files/ifa_gmail_com/Fibonacci.java | 21 + .../ifa_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1163 bytes .../ifa_gmail_com/JUnitAngkaTest.java | 34 + .../ifa_gmail_com/JUnitBookStoreTest.class | Bin 0 -> 1189 bytes .../ifa_gmail_com/JUnitBookStoreTest.java | 33 + .../ifa_gmail_com/JUnitFibonacciTest.class | Bin 0 -> 1195 bytes .../ifa_gmail_com/JUnitFibonacciTest.java | 33 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1180 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../ifa_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1156 bytes .../ifa_gmail_com/JUnitLuckyFiveTest.java | 31 + .../ifa_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1177 bytes .../ifa_gmail_com/JUnitNewsFeedTest.java | 32 + .../ifa_gmail_com/JUnitOrderCaseTest.class | Bin 0 -> 1181 bytes .../ifa_gmail_com/JUnitOrderCaseTest.java | 30 + .../ifa_gmail_com/JUnitOrderTest.class | Bin 0 -> 1167 bytes .../ifa_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1190 bytes .../ifa_gmail_com/JUnitSecondPiramidTest.java | 34 + .../ifa_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1202 bytes .../ifa_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/ifa_gmail_com/LuckyFive.class | Bin 0 -> 460 bytes .../java_files/ifa_gmail_com/LuckyFive.java | 11 + .../ifa_gmail_com/LuckyFiveSecond.class | Bin 0 -> 474 bytes .../ifa_gmail_com/LuckyFiveSecond.java | 14 + .../java_files/ifa_gmail_com/NewsFeed.class | Bin 0 -> 608 bytes .../java_files/ifa_gmail_com/NewsFeed.java | 12 + .../java_files/ifa_gmail_com/Order.class | Bin 0 -> 574 bytes .../java_files/ifa_gmail_com/Order.java | 15 + .../java_files/ifa_gmail_com/OrderCase.class | Bin 0 -> 1230 bytes .../java_files/ifa_gmail_com/OrderCase.java | 22 + .../ifa_gmail_com/SecondPiramid.class | Bin 0 -> 1032 bytes .../ifa_gmail_com/SecondPiramid.java | 14 + .../java_files/ifa_gmail_com/TipeData.class | Bin 0 -> 977 bytes .../java_files/ifa_gmail_com/TipeData.java | 22 + .../java_files/irul_gmail_com/.gitignore | 5 + .../java_files/irul_gmail_com/HelloWorld.java | 7 + .../irul_gmail_com/JUnitHelloWorldTest.java | 29 + .../irul_gmail_com/JUnitOrderTest.java | 36 + .../java_files/irul_gmail_com/MyClasss.java | 18 + .../java_files/irul_gmail_com/Order.java | 14 + .../jawabanbenarori_gmail_com/Angka.class | Bin 0 -> 492 bytes .../jawabanbenarori_gmail_com/Angka.java | 12 + .../jawabanbenarori_gmail_com/Average.class | Bin 0 -> 741 bytes .../jawabanbenarori_gmail_com/Average.java | 18 + .../jawabanbenarori_gmail_com/Bank.class | Bin 0 -> 1086 bytes .../jawabanbenarori_gmail_com/Bank.java | 22 + .../jawabanbenarori_gmail_com/BookStore.class | Bin 0 -> 1101 bytes .../jawabanbenarori_gmail_com/BookStore.java | 30 + .../jawabanbenarori_gmail_com/Fibonacci.class | Bin 0 -> 1098 bytes .../jawabanbenarori_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1187 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1230 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1897 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1213 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1219 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2005 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1204 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1180 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1201 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1205 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1191 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1214 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1226 bytes .../JUnitTipeDataTest.java | 34 + .../jawabanbenarori_gmail_com/Lingkaran.class | Bin 0 -> 1195 bytes .../jawabanbenarori_gmail_com/Lingkaran.java | 25 + .../jawabanbenarori_gmail_com/LuckyFive.class | Bin 0 -> 472 bytes .../jawabanbenarori_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 486 bytes .../LuckyFiveSecond.java | 14 + .../jawabanbenarori_gmail_com/NewsFeed.class | Bin 0 -> 620 bytes .../jawabanbenarori_gmail_com/NewsFeed.java | 12 + .../jawabanbenarori_gmail_com/Order.class | Bin 0 -> 586 bytes .../jawabanbenarori_gmail_com/Order.java | 15 + .../jawabanbenarori_gmail_com/OrderCase.class | Bin 0 -> 1242 bytes .../jawabanbenarori_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1044 bytes .../SecondPiramid.java | 14 + .../jawabanbenarori_gmail_com/TipeData.class | Bin 0 -> 989 bytes .../jawabanbenarori_gmail_com/TipeData.java | 22 + .../jawabanlower_gmail_com/Angka.class | Bin 0 -> 489 bytes .../jawabanlower_gmail_com/Angka.java | 12 + .../jawabanlower_gmail_com/Average.class | Bin 0 -> 738 bytes .../jawabanlower_gmail_com/Average.java | 18 + .../jawabanlower_gmail_com/Bank.class | Bin 0 -> 1083 bytes .../jawabanlower_gmail_com/Bank.java | 22 + .../jawabanlower_gmail_com/BookStore.class | Bin 0 -> 1098 bytes .../jawabanlower_gmail_com/BookStore.java | 30 + .../jawabanlower_gmail_com/Fibonacci.class | Bin 0 -> 1095 bytes .../jawabanlower_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1181 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1224 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1891 bytes .../jawabanlower_gmail_com/JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1207 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1213 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 1999 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1198 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1174 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1195 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1199 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1185 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1208 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1220 bytes .../JUnitTipeDataTest.java | 34 + .../jawabanlower_gmail_com/Lingkaran.class | Bin 0 -> 1192 bytes .../jawabanlower_gmail_com/Lingkaran.java | 25 + .../jawabanlower_gmail_com/LuckyFive.class | Bin 0 -> 469 bytes .../jawabanlower_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 483 bytes .../LuckyFiveSecond.java | 14 + .../jawabanlower_gmail_com/NewsFeed.class | Bin 0 -> 617 bytes .../jawabanlower_gmail_com/NewsFeed.java | 12 + .../jawabanlower_gmail_com/Order.class | Bin 0 -> 583 bytes .../jawabanlower_gmail_com/Order.java | 15 + .../jawabanlower_gmail_com/OrderCase.class | Bin 0 -> 1239 bytes .../jawabanlower_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1041 bytes .../jawabanlower_gmail_com/SecondPiramid.java | 14 + .../jawabanlower_gmail_com/TipeData.class | Bin 0 -> 986 bytes .../jawabanlower_gmail_com/TipeData.java | 22 + .../jawabansinonim_gmail_com/Angka.class | Bin 0 -> 491 bytes .../jawabansinonim_gmail_com/Angka.java | 12 + .../jawabansinonim_gmail_com/Average.class | Bin 0 -> 740 bytes .../jawabansinonim_gmail_com/Average.java | 18 + .../jawabansinonim_gmail_com/Bank.class | Bin 0 -> 1085 bytes .../jawabansinonim_gmail_com/Bank.java | 22 + .../jawabansinonim_gmail_com/BookStore.class | Bin 0 -> 1100 bytes .../jawabansinonim_gmail_com/BookStore.java | 30 + .../jawabansinonim_gmail_com/Fibonacci.class | Bin 0 -> 1097 bytes .../jawabansinonim_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1185 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1228 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1895 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1211 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1217 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2003 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1202 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1178 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1199 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1203 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1189 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1212 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1224 bytes .../JUnitTipeDataTest.java | 34 + .../jawabansinonim_gmail_com/Lingkaran.class | Bin 0 -> 1194 bytes .../jawabansinonim_gmail_com/Lingkaran.java | 25 + .../jawabansinonim_gmail_com/LuckyFive.class | Bin 0 -> 471 bytes .../jawabansinonim_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 485 bytes .../LuckyFiveSecond.java | 14 + .../jawabansinonim_gmail_com/NewsFeed.class | Bin 0 -> 619 bytes .../jawabansinonim_gmail_com/NewsFeed.java | 12 + .../jawabansinonim_gmail_com/Order.class | Bin 0 -> 585 bytes .../jawabansinonim_gmail_com/Order.java | 15 + .../jawabansinonim_gmail_com/OrderCase.class | Bin 0 -> 1241 bytes .../jawabansinonim_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1043 bytes .../SecondPiramid.java | 14 + .../jawabansinonim_gmail_com/TipeData.class | Bin 0 -> 988 bytes .../jawabansinonim_gmail_com/TipeData.java | 22 + .../jawabansteeming_gmail_com/Angka.class | Bin 0 -> 492 bytes .../jawabansteeming_gmail_com/Angka.java | 12 + .../jawabansteeming_gmail_com/Average.class | Bin 0 -> 741 bytes .../jawabansteeming_gmail_com/Average.java | 18 + .../jawabansteeming_gmail_com/Bank.class | Bin 0 -> 1086 bytes .../jawabansteeming_gmail_com/Bank.java | 22 + .../jawabansteeming_gmail_com/BookStore.class | Bin 0 -> 1101 bytes .../jawabansteeming_gmail_com/BookStore.java | 30 + .../jawabansteeming_gmail_com/Fibonacci.class | Bin 0 -> 1098 bytes .../jawabansteeming_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1187 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1230 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1897 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1213 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1219 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2005 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1204 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1180 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1201 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1205 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1191 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1214 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1226 bytes .../JUnitTipeDataTest.java | 34 + .../jawabansteeming_gmail_com/Lingkaran.class | Bin 0 -> 1195 bytes .../jawabansteeming_gmail_com/Lingkaran.java | 25 + .../jawabansteeming_gmail_com/LuckyFive.class | Bin 0 -> 472 bytes .../jawabansteeming_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 486 bytes .../LuckyFiveSecond.java | 14 + .../jawabansteeming_gmail_com/NewsFeed.class | Bin 0 -> 620 bytes .../jawabansteeming_gmail_com/NewsFeed.java | 12 + .../jawabansteeming_gmail_com/Order.class | Bin 0 -> 586 bytes .../jawabansteeming_gmail_com/Order.java | 15 + .../jawabansteeming_gmail_com/OrderCase.class | Bin 0 -> 1242 bytes .../jawabansteeming_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1044 bytes .../SecondPiramid.java | 14 + .../jawabansteeming_gmail_com/TipeData.class | Bin 0 -> 989 bytes .../jawabansteeming_gmail_com/TipeData.java | 22 + .../jawabantandabaca_gmail_com/Angka.class | Bin 0 -> 493 bytes .../jawabantandabaca_gmail_com/Angka.java | 12 + .../jawabantandabaca_gmail_com/Average.class | Bin 0 -> 742 bytes .../jawabantandabaca_gmail_com/Average.java | 18 + .../jawabantandabaca_gmail_com/Bank.class | Bin 0 -> 1087 bytes .../jawabantandabaca_gmail_com/Bank.java | 22 + .../BookStore.class | Bin 0 -> 1102 bytes .../jawabantandabaca_gmail_com/BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1099 bytes .../jawabantandabaca_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1189 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1232 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1899 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1215 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1221 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2007 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1206 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1182 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1203 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1207 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1193 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1216 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1228 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1196 bytes .../jawabantandabaca_gmail_com/Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 473 bytes .../jawabantandabaca_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 487 bytes .../LuckyFiveSecond.java | 14 + .../jawabantandabaca_gmail_com/NewsFeed.class | Bin 0 -> 621 bytes .../jawabantandabaca_gmail_com/NewsFeed.java | 12 + .../jawabantandabaca_gmail_com/Order.class | Bin 0 -> 587 bytes .../jawabantandabaca_gmail_com/Order.java | 15 + .../OrderCase.class | Bin 0 -> 1243 bytes .../jawabantandabaca_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1045 bytes .../SecondPiramid.java | 14 + .../jawabantandabaca_gmail_com/TipeData.class | Bin 0 -> 990 bytes .../jawabantandabaca_gmail_com/TipeData.java | 22 + .../Angka.class | Bin 0 -> 498 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 747 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1092 bytes .../jawabantandabacalower_gmail_com/Bank.java | 22 + .../BookStore.class | Bin 0 -> 1107 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1104 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1199 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1242 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1909 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1225 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1231 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2017 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1216 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1192 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1213 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1217 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1203 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1226 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1238 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1201 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 478 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 492 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 626 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 592 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1248 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1050 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 995 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 502 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 751 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1096 bytes .../Bank.java | 22 + .../BookStore.class | Bin 0 -> 1111 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1108 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1207 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1250 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1917 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1233 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1239 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2025 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1224 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1200 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1221 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1225 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1211 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1234 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1246 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1205 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 482 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 496 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 630 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 596 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1252 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1054 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 999 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 503 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 752 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1097 bytes .../Bank.java | 22 + .../BookStore.class | Bin 0 -> 1112 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1109 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1209 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1252 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1919 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1235 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1241 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2027 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1226 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1202 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1223 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1227 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1213 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1236 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1248 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1206 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 483 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 497 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 631 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 597 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1253 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1055 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 1000 bytes .../TipeData.java | 22 + .../jawavabstopword_gmail_com/Angka.class | Bin 0 -> 492 bytes .../jawavabstopword_gmail_com/Angka.java | 12 + .../jawavabstopword_gmail_com/Average.class | Bin 0 -> 741 bytes .../jawavabstopword_gmail_com/Average.java | 18 + .../jawavabstopword_gmail_com/Bank.class | Bin 0 -> 1086 bytes .../jawavabstopword_gmail_com/Bank.java | 22 + .../jawavabstopword_gmail_com/BookStore.class | Bin 0 -> 1101 bytes .../jawavabstopword_gmail_com/BookStore.java | 30 + .../jawavabstopword_gmail_com/Fibonacci.class | Bin 0 -> 1098 bytes .../jawavabstopword_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1187 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1230 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1897 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1213 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1219 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2005 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1204 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1180 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1201 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1205 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1191 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1214 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1226 bytes .../JUnitTipeDataTest.java | 34 + .../jawavabstopword_gmail_com/Lingkaran.class | Bin 0 -> 1195 bytes .../jawavabstopword_gmail_com/Lingkaran.java | 25 + .../jawavabstopword_gmail_com/LuckyFive.class | Bin 0 -> 472 bytes .../jawavabstopword_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 486 bytes .../LuckyFiveSecond.java | 14 + .../jawavabstopword_gmail_com/NewsFeed.class | Bin 0 -> 620 bytes .../jawavabstopword_gmail_com/NewsFeed.java | 12 + .../jawavabstopword_gmail_com/Order.class | Bin 0 -> 586 bytes .../jawavabstopword_gmail_com/Order.java | 15 + .../jawavabstopword_gmail_com/OrderCase.class | Bin 0 -> 1242 bytes .../jawavabstopword_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1044 bytes .../SecondPiramid.java | 14 + .../jawavabstopword_gmail_com/TipeData.class | Bin 0 -> 989 bytes .../jawavabstopword_gmail_com/TipeData.java | 22 + .../Angka.class | Bin 0 -> 514 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 763 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1108 bytes .../Bank.java | 22 + .../BookStore.class | Bin 0 -> 1123 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1120 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1231 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1274 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1941 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1257 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1263 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2049 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1248 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1224 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1245 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1249 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1235 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1258 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1270 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1217 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 494 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 508 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 642 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 608 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1264 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1066 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 1011 bytes .../TipeData.java | 22 + .../kuncijawaban4_gmail_com/Angka.class | Bin 0 -> 490 bytes .../kuncijawaban4_gmail_com/Angka.java | 12 + .../kuncijawaban4_gmail_com/Average.class | Bin 0 -> 739 bytes .../kuncijawaban4_gmail_com/Average.java | 18 + .../kuncijawaban4_gmail_com/Bank.class | Bin 0 -> 1084 bytes .../kuncijawaban4_gmail_com/Bank.java | 22 + .../kuncijawaban4_gmail_com/BookStore.class | Bin 0 -> 1099 bytes .../kuncijawaban4_gmail_com/BookStore.java | 30 + .../kuncijawaban4_gmail_com/Fibonacci.class | Bin 0 -> 1096 bytes .../kuncijawaban4_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1183 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1226 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1893 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1209 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1215 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2001 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1200 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1176 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1197 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1201 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1187 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1210 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1222 bytes .../JUnitTipeDataTest.java | 34 + .../kuncijawaban4_gmail_com/Lingkaran.class | Bin 0 -> 1193 bytes .../kuncijawaban4_gmail_com/Lingkaran.java | 25 + .../kuncijawaban4_gmail_com/LuckyFive.class | Bin 0 -> 470 bytes .../kuncijawaban4_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 484 bytes .../LuckyFiveSecond.java | 14 + .../kuncijawaban4_gmail_com/NewsFeed.class | Bin 0 -> 618 bytes .../kuncijawaban4_gmail_com/NewsFeed.java | 12 + .../kuncijawaban4_gmail_com/Order.class | Bin 0 -> 584 bytes .../kuncijawaban4_gmail_com/Order.java | 15 + .../kuncijawaban4_gmail_com/OrderCase.class | Bin 0 -> 1240 bytes .../kuncijawaban4_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1042 bytes .../SecondPiramid.java | 14 + .../kuncijawaban4_gmail_com/TipeData.class | Bin 0 -> 987 bytes .../kuncijawaban4_gmail_com/TipeData.java | 22 + .../java_files/lia_gmail_com/Angka.class | Bin 0 -> 480 bytes .../java_files/lia_gmail_com/Angka.java | 12 + .../java_files/lia_gmail_com/Average.class | Bin 0 -> 729 bytes .../java_files/lia_gmail_com/Average.java | 18 + .../java_files/lia_gmail_com/Bank.class | Bin 0 -> 1074 bytes .../java_files/lia_gmail_com/Bank.java | 22 + .../java_files/lia_gmail_com/BookStore.class | Bin 0 -> 1089 bytes .../java_files/lia_gmail_com/BookStore.java | 30 + .../java_files/lia_gmail_com/Fibonacci.class | Bin 0 -> 1086 bytes .../java_files/lia_gmail_com/Fibonacci.java | 21 + .../lia_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1163 bytes .../lia_gmail_com/JUnitAngkaTest.java | 34 + .../lia_gmail_com/JUnitAverageTest.class | Bin 0 -> 1206 bytes .../lia_gmail_com/JUnitAverageTest.java | 33 + .../lia_gmail_com/JUnitBankTest.class | Bin 0 -> 1873 bytes .../lia_gmail_com/JUnitBankTest.java | 36 + .../lia_gmail_com/JUnitBookStoreTest.class | Bin 0 -> 1189 bytes .../lia_gmail_com/JUnitBookStoreTest.java | 33 + .../lia_gmail_com/JUnitFibonacciTest.class | Bin 0 -> 1195 bytes .../lia_gmail_com/JUnitFibonacciTest.java | 33 + .../lia_gmail_com/JUnitLingkaranTest.class | Bin 0 -> 1981 bytes .../lia_gmail_com/JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1180 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../lia_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1156 bytes .../lia_gmail_com/JUnitLuckyFiveTest.java | 31 + .../lia_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1177 bytes .../lia_gmail_com/JUnitNewsFeedTest.java | 32 + .../lia_gmail_com/JUnitOrderCaseTest.class | Bin 0 -> 1181 bytes .../lia_gmail_com/JUnitOrderCaseTest.java | 30 + .../lia_gmail_com/JUnitOrderTest.class | Bin 0 -> 1167 bytes .../lia_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1190 bytes .../lia_gmail_com/JUnitSecondPiramidTest.java | 34 + .../lia_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1202 bytes .../lia_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/lia_gmail_com/Lingkaran.class | Bin 0 -> 1183 bytes .../java_files/lia_gmail_com/Lingkaran.java | 25 + .../java_files/lia_gmail_com/LuckyFive.class | Bin 0 -> 460 bytes .../java_files/lia_gmail_com/LuckyFive.java | 11 + .../lia_gmail_com/LuckyFiveSecond.class | Bin 0 -> 474 bytes .../lia_gmail_com/LuckyFiveSecond.java | 14 + .../java_files/lia_gmail_com/NewsFeed.class | Bin 0 -> 608 bytes .../java_files/lia_gmail_com/NewsFeed.java | 12 + .../java_files/lia_gmail_com/Order.class | Bin 0 -> 574 bytes .../java_files/lia_gmail_com/Order.java | 15 + .../java_files/lia_gmail_com/OrderCase.class | Bin 0 -> 1230 bytes .../java_files/lia_gmail_com/OrderCase.java | 22 + .../lia_gmail_com/SecondPiramid.class | Bin 0 -> 1032 bytes .../lia_gmail_com/SecondPiramid.java | 14 + .../java_files/lia_gmail_com/TipeData.class | Bin 0 -> 977 bytes .../java_files/lia_gmail_com/TipeData.java | 22 + .../java_files/lib/hamcrest-core-1.3.jar | Bin 0 -> 45024 bytes .../java_files/lib/junit-4.13.2.jar | Bin 0 -> 384581 bytes .../lisa_gmail_com/HelloWorld.class | Bin 0 -> 562 bytes .../java_files/lisa_gmail_com/HelloWorld.java | 7 + .../lisa_gmail_com/JUnitHelloWorldTest.class | Bin 0 -> 1259 bytes .../lisa_gmail_com/JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1284 bytes .../JUnitLuckyFiveSecondTest.java | 33 + .../lisa_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1254 bytes .../lisa_gmail_com/JUnitLuckyFiveTest.java | 33 + .../lisa_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1339 bytes .../lisa_gmail_com/JUnitMyClassTest.java | 36 + .../lisa_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1342 bytes .../lisa_gmail_com/JUnitNewsFeedTest.java | 36 + .../lisa_gmail_com/JUnitOrderCaseTest.class | Bin 0 -> 1354 bytes .../lisa_gmail_com/JUnitOrderCaseTest.java | 33 + .../lisa_gmail_com/JUnitOrderNestTest.class | Bin 0 -> 1354 bytes .../lisa_gmail_com/JUnitOrderNestTest.java | 36 + .../lisa_gmail_com/JUnitOrderTest.class | Bin 0 -> 1329 bytes .../lisa_gmail_com/JUnitOrderTest.java | 36 + .../lisa_gmail_com/JUnitPasswordTest.class | Bin 0 -> 1342 bytes .../lisa_gmail_com/JUnitPasswordTest.java | 34 + .../lisa_gmail_com/JUnitPoetryTest.class | Bin 0 -> 1330 bytes .../lisa_gmail_com/JUnitPoetryTest.java | 34 + .../JUnitTweetCounterTest.class | Bin 0 -> 1366 bytes .../lisa_gmail_com/JUnitTweetCounterTest.java | 34 + .../java_files/lisa_gmail_com/LuckyFive.class | Bin 0 -> 717 bytes .../java_files/lisa_gmail_com/LuckyFive.java | 15 + .../lisa_gmail_com/LuckyFiveSecond.class | Bin 0 -> 743 bytes .../lisa_gmail_com/LuckyFiveSecond.java | 17 + .../java_files/lisa_gmail_com/MyClass.class | Bin 0 -> 719 bytes .../java_files/lisa_gmail_com/MyClass.java | 18 + .../java_files/lisa_gmail_com/NewsFeed.class | Bin 0 -> 945 bytes .../java_files/lisa_gmail_com/NewsFeed.java | 20 + .../java_files/lisa_gmail_com/Order.class | Bin 0 -> 885 bytes .../java_files/lisa_gmail_com/Order.java | 20 + .../java_files/lisa_gmail_com/OrderCase.class | Bin 0 -> 1242 bytes .../java_files/lisa_gmail_com/OrderCase.java | 32 + .../java_files/lisa_gmail_com/OrderNest.class | Bin 0 -> 1531 bytes .../java_files/lisa_gmail_com/OrderNest.java | 43 + .../java_files/lisa_gmail_com/Password.class | Bin 0 -> 855 bytes .../java_files/lisa_gmail_com/Password.java | 20 + .../java_files/lisa_gmail_com/Poetry.class | Bin 0 -> 806 bytes .../java_files/lisa_gmail_com/Poetry.java | 18 + .../lisa_gmail_com/TweetCounter.class | Bin 0 -> 850 bytes .../lisa_gmail_com/TweetCounter.java | 16 + .../java_files/lower_gmail_com/Angka.class | Bin 0 -> 482 bytes .../java_files/lower_gmail_com/Angka.java | 12 + .../java_files/lower_gmail_com/Average.class | Bin 0 -> 731 bytes .../java_files/lower_gmail_com/Average.java | 18 + .../java_files/lower_gmail_com/Bank.class | Bin 0 -> 1076 bytes .../java_files/lower_gmail_com/Bank.java | 22 + .../lower_gmail_com/BookStore.class | Bin 0 -> 1091 bytes .../java_files/lower_gmail_com/BookStore.java | 30 + .../lower_gmail_com/Fibonacci.class | Bin 0 -> 1088 bytes .../java_files/lower_gmail_com/Fibonacci.java | 21 + .../lower_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1167 bytes .../lower_gmail_com/JUnitAngkaTest.java | 34 + .../lower_gmail_com/JUnitAverageTest.class | Bin 0 -> 1210 bytes .../lower_gmail_com/JUnitAverageTest.java | 33 + .../lower_gmail_com/JUnitBankTest.class | Bin 0 -> 1877 bytes .../lower_gmail_com/JUnitBankTest.java | 36 + .../lower_gmail_com/JUnitBookStoreTest.class | Bin 0 -> 1193 bytes .../lower_gmail_com/JUnitBookStoreTest.java | 33 + .../lower_gmail_com/JUnitFibonacciTest.class | Bin 0 -> 1199 bytes .../lower_gmail_com/JUnitFibonacciTest.java | 33 + .../lower_gmail_com/JUnitLingkaranTest.class | Bin 0 -> 1985 bytes .../lower_gmail_com/JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1184 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../lower_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1160 bytes .../lower_gmail_com/JUnitLuckyFiveTest.java | 31 + .../lower_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1181 bytes .../lower_gmail_com/JUnitNewsFeedTest.java | 32 + .../lower_gmail_com/JUnitOrderCaseTest.class | Bin 0 -> 1185 bytes .../lower_gmail_com/JUnitOrderCaseTest.java | 30 + .../lower_gmail_com/JUnitOrderTest.class | Bin 0 -> 1171 bytes .../lower_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1194 bytes .../JUnitSecondPiramidTest.java | 34 + .../lower_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1206 bytes .../lower_gmail_com/JUnitTipeDataTest.java | 34 + .../lower_gmail_com/Lingkaran.class | Bin 0 -> 1185 bytes .../java_files/lower_gmail_com/Lingkaran.java | 25 + .../lower_gmail_com/LuckyFive.class | Bin 0 -> 462 bytes .../java_files/lower_gmail_com/LuckyFive.java | 11 + .../lower_gmail_com/LuckyFiveSecond.class | Bin 0 -> 476 bytes .../lower_gmail_com/LuckyFiveSecond.java | 14 + .../java_files/lower_gmail_com/NewsFeed.class | Bin 0 -> 610 bytes .../java_files/lower_gmail_com/NewsFeed.java | 12 + .../java_files/lower_gmail_com/Order.class | Bin 0 -> 576 bytes .../java_files/lower_gmail_com/Order.java | 15 + .../lower_gmail_com/OrderCase.class | Bin 0 -> 1232 bytes .../java_files/lower_gmail_com/OrderCase.java | 22 + .../lower_gmail_com/SecondPiramid.class | Bin 0 -> 1034 bytes .../lower_gmail_com/SecondPiramid.java | 14 + .../java_files/lower_gmail_com/TipeData.class | Bin 0 -> 979 bytes .../java_files/lower_gmail_com/TipeData.java | 22 + .../lowersteeming_gmail_com/Angka.class | Bin 0 -> 490 bytes .../lowersteeming_gmail_com/Angka.java | 12 + .../lowersteeming_gmail_com/Average.class | Bin 0 -> 739 bytes .../lowersteeming_gmail_com/Average.java | 18 + .../lowersteeming_gmail_com/Bank.class | Bin 0 -> 1084 bytes .../lowersteeming_gmail_com/Bank.java | 22 + .../lowersteeming_gmail_com/BookStore.class | Bin 0 -> 1099 bytes .../lowersteeming_gmail_com/BookStore.java | 30 + .../lowersteeming_gmail_com/Fibonacci.class | Bin 0 -> 1096 bytes .../lowersteeming_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1183 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1226 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1893 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1209 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1215 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2001 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1200 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1176 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1197 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1201 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1187 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1210 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1222 bytes .../JUnitTipeDataTest.java | 34 + .../lowersteeming_gmail_com/Lingkaran.class | Bin 0 -> 1193 bytes .../lowersteeming_gmail_com/Lingkaran.java | 25 + .../lowersteeming_gmail_com/LuckyFive.class | Bin 0 -> 470 bytes .../lowersteeming_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 484 bytes .../LuckyFiveSecond.java | 14 + .../lowersteeming_gmail_com/NewsFeed.class | Bin 0 -> 618 bytes .../lowersteeming_gmail_com/NewsFeed.java | 12 + .../lowersteeming_gmail_com/Order.class | Bin 0 -> 584 bytes .../lowersteeming_gmail_com/Order.java | 15 + .../lowersteeming_gmail_com/OrderCase.class | Bin 0 -> 1240 bytes .../lowersteeming_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1042 bytes .../SecondPiramid.java | 14 + .../lowersteeming_gmail_com/TipeData.class | Bin 0 -> 987 bytes .../lowersteeming_gmail_com/TipeData.java | 22 + .../lowerstopword_gmail_com/Angka.class | Bin 0 -> 490 bytes .../lowerstopword_gmail_com/Angka.java | 12 + .../lowerstopword_gmail_com/Average.class | Bin 0 -> 739 bytes .../lowerstopword_gmail_com/Average.java | 18 + .../lowerstopword_gmail_com/Bank.class | Bin 0 -> 1084 bytes .../lowerstopword_gmail_com/Bank.java | 22 + .../lowerstopword_gmail_com/BookStore.class | Bin 0 -> 1099 bytes .../lowerstopword_gmail_com/BookStore.java | 30 + .../lowerstopword_gmail_com/Fibonacci.class | Bin 0 -> 1096 bytes .../lowerstopword_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1183 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1226 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1893 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1209 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1215 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2001 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1200 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1176 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1197 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1201 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1187 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1210 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1222 bytes .../JUnitTipeDataTest.java | 34 + .../lowerstopword_gmail_com/Lingkaran.class | Bin 0 -> 1193 bytes .../lowerstopword_gmail_com/Lingkaran.java | 25 + .../lowerstopword_gmail_com/LuckyFive.class | Bin 0 -> 470 bytes .../lowerstopword_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 484 bytes .../LuckyFiveSecond.java | 14 + .../lowerstopword_gmail_com/NewsFeed.class | Bin 0 -> 618 bytes .../lowerstopword_gmail_com/NewsFeed.java | 12 + .../lowerstopword_gmail_com/Order.class | Bin 0 -> 584 bytes .../lowerstopword_gmail_com/Order.java | 15 + .../lowerstopword_gmail_com/OrderCase.class | Bin 0 -> 1240 bytes .../lowerstopword_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1042 bytes .../SecondPiramid.java | 14 + .../lowerstopword_gmail_com/TipeData.class | Bin 0 -> 987 bytes .../lowerstopword_gmail_com/TipeData.java | 22 + .../Angka.class | Bin 0 -> 498 bytes .../Angka.java | 12 + .../BookStore.class | Bin 0 -> 1107 bytes .../BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1199 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1225 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1217 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1203 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1238 bytes .../JUnitTipeDataTest.java | 34 + .../Order.class | Bin 0 -> 592 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1248 bytes .../OrderCase.java | 22 + .../TipeData.class | Bin 0 -> 995 bytes .../TipeData.java | 22 + .../lowertandabaca_gmail_com/Angka.class | Bin 0 -> 491 bytes .../lowertandabaca_gmail_com/Angka.java | 12 + .../lowertandabaca_gmail_com/BookStore.class | Bin 0 -> 1100 bytes .../lowertandabaca_gmail_com/BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1185 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1211 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1203 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1189 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1224 bytes .../JUnitTipeDataTest.java | 34 + .../lowertandabaca_gmail_com/Order.class | Bin 0 -> 585 bytes .../lowertandabaca_gmail_com/Order.java | 15 + .../lowertandabaca_gmail_com/OrderCase.class | Bin 0 -> 1241 bytes .../lowertandabaca_gmail_com/OrderCase.java | 22 + .../lowertandabaca_gmail_com/TipeData.class | Bin 0 -> 988 bytes .../lowertandabaca_gmail_com/TipeData.java | 22 + .../Angka.class | Bin 0 -> 504 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 753 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1098 bytes .../Bank.java | 22 + .../BookStore.class | Bin 0 -> 1113 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1110 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1211 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1254 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1921 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1237 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1243 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2029 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1228 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1204 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1225 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1229 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1215 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1238 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1250 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1207 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 484 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 498 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 632 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 598 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1254 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1056 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 1001 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 499 bytes .../Angka.java | 12 + .../BookStore.class | Bin 0 -> 1108 bytes .../BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1201 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1227 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1219 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1205 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1240 bytes .../JUnitTipeDataTest.java | 34 + .../Order.class | Bin 0 -> 593 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1249 bytes .../OrderCase.java | 22 + .../TipeData.class | Bin 0 -> 996 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 508 bytes .../Angka.java | 12 + .../Average.class | Bin 0 -> 757 bytes .../Average.java | 18 + .../Bank.class | Bin 0 -> 1102 bytes .../Bank.java | 22 + .../BookStore.class | Bin 0 -> 1117 bytes .../BookStore.java | 30 + .../Fibonacci.class | Bin 0 -> 1114 bytes .../Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1219 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1262 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1929 bytes .../JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1245 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1251 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 2037 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1236 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1212 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1233 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1237 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1223 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1246 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1258 bytes .../JUnitTipeDataTest.java | 34 + .../Lingkaran.class | Bin 0 -> 1211 bytes .../Lingkaran.java | 25 + .../LuckyFive.class | Bin 0 -> 488 bytes .../LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 502 bytes .../LuckyFiveSecond.java | 14 + .../NewsFeed.class | Bin 0 -> 636 bytes .../NewsFeed.java | 12 + .../Order.class | Bin 0 -> 602 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1258 bytes .../OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1060 bytes .../SecondPiramid.java | 14 + .../TipeData.class | Bin 0 -> 1005 bytes .../TipeData.java | 22 + .../lowertandasteeming_gmail_com/Angka.class | Bin 0 -> 495 bytes .../lowertandasteeming_gmail_com/Angka.java | 12 + .../BookStore.class | Bin 0 -> 1104 bytes .../BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1193 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1219 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1211 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1197 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1232 bytes .../JUnitTipeDataTest.java | 34 + .../lowertandasteeming_gmail_com/Order.class | Bin 0 -> 589 bytes .../lowertandasteeming_gmail_com/Order.java | 15 + .../OrderCase.class | Bin 0 -> 1245 bytes .../OrderCase.java | 22 + .../TipeData.class | Bin 0 -> 992 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 503 bytes .../Angka.java | 12 + .../BookStore.class | Bin 0 -> 1112 bytes .../BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1209 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1235 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1227 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1213 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1248 bytes .../JUnitTipeDataTest.java | 34 + .../Order.class | Bin 0 -> 597 bytes .../Order.java | 15 + .../OrderCase.class | Bin 0 -> 1253 bytes .../OrderCase.java | 22 + .../TipeData.class | Bin 0 -> 1000 bytes .../TipeData.java | 22 + .../Angka.class | Bin 0 -> 499 bytes .../Angka.java | 11 + .../JUnitAngkaTest.class | Bin 0 -> 1201 bytes .../JUnitAngkaTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1240 bytes .../JUnitTipeDataTest.java | 34 + .../TipeData.class | Bin 0 -> 996 bytes .../TipeData.java | 21 + .../normalisasi_gmail_com/Angka.class | Bin 0 -> 488 bytes .../normalisasi_gmail_com/Angka.java | 12 + .../JUnitAngkaTest.class | Bin 0 -> 1179 bytes .../normalisasi_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1218 bytes .../JUnitTipeDataTest.java | 34 + .../normalisasi_gmail_com/TipeData.class | Bin 0 -> 985 bytes .../normalisasi_gmail_com/TipeData.java | 22 + .../java_files/pelajar_gmail_com/Angka.class | Bin 0 -> 484 bytes .../java_files/pelajar_gmail_com/Angka.java | 12 + .../pelajar_gmail_com/BookStore.class | Bin 0 -> 1093 bytes .../pelajar_gmail_com/BookStore.java | 30 + .../pelajar_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1171 bytes .../pelajar_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1197 bytes .../pelajar_gmail_com/JUnitBookStoreTest.java | 33 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1164 bytes .../pelajar_gmail_com/JUnitLuckyFiveTest.java | 31 + .../JUnitOrderCaseTest.class | Bin 0 -> 1189 bytes .../pelajar_gmail_com/JUnitOrderCaseTest.java | 30 + .../pelajar_gmail_com/JUnitOrderTest.class | Bin 0 -> 1175 bytes .../pelajar_gmail_com/JUnitOrderTest.java | 34 + .../pelajar_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1210 bytes .../pelajar_gmail_com/JUnitTipeDataTest.java | 34 + .../pelajar_gmail_com/LuckyFive.class | Bin 0 -> 464 bytes .../pelajar_gmail_com/LuckyFive.java | 11 + .../java_files/pelajar_gmail_com/Order.class | Bin 0 -> 578 bytes .../java_files/pelajar_gmail_com/Order.java | 16 + .../pelajar_gmail_com/OrderCase.class | Bin 0 -> 1234 bytes .../pelajar_gmail_com/OrderCase.java | 22 + .../pelajar_gmail_com/TipeData.class | Bin 0 -> 981 bytes .../pelajar_gmail_com/TipeData.java | 22 + .../percobaan1_gmail_com/Angka.class | Bin 0 -> 487 bytes .../percobaan1_gmail_com/Angka.java | 12 + .../percobaan1_gmail_com/BookStore.class | Bin 0 -> 1096 bytes .../percobaan1_gmail_com/BookStore.java | 30 + .../percobaan1_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1177 bytes .../percobaan1_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1203 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1195 bytes .../JUnitOrderCaseTest.java | 30 + .../percobaan1_gmail_com/JUnitOrderTest.class | Bin 0 -> 1181 bytes .../percobaan1_gmail_com/JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1216 bytes .../JUnitTipeDataTest.java | 34 + .../percobaan1_gmail_com/Order.class | Bin 0 -> 581 bytes .../percobaan1_gmail_com/Order.java | 15 + .../percobaan1_gmail_com/OrderCase.class | Bin 0 -> 1237 bytes .../percobaan1_gmail_com/OrderCase.java | 22 + .../percobaan1_gmail_com/TipeData.class | Bin 0 -> 984 bytes .../percobaan1_gmail_com/TipeData.java | 22 + .../percobaan2_gmail_com/Angka.class | Bin 0 -> 487 bytes .../percobaan2_gmail_com/Angka.java | 12 + .../percobaan2_gmail_com/BookStore.class | Bin 0 -> 1096 bytes .../percobaan2_gmail_com/BookStore.java | 30 + .../percobaan2_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1177 bytes .../percobaan2_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1203 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitOrderCaseTest.class | Bin 0 -> 1195 bytes .../JUnitOrderCaseTest.java | 30 + .../percobaan2_gmail_com/JUnitOrderTest.class | Bin 0 -> 1181 bytes .../percobaan2_gmail_com/JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1216 bytes .../JUnitTipeDataTest.java | 34 + .../percobaan2_gmail_com/Order.class | Bin 0 -> 581 bytes .../percobaan2_gmail_com/Order.java | 15 + .../percobaan2_gmail_com/OrderCase.class | Bin 0 -> 1237 bytes .../percobaan2_gmail_com/OrderCase.java | 22 + .../percobaan2_gmail_com/TipeData.class | Bin 0 -> 984 bytes .../percobaan2_gmail_com/TipeData.java | 22 + .../resh_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1204 bytes .../resh_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/resh_gmail_com/TipeData.class | Bin 0 -> 978 bytes .../java_files/resh_gmail_com/TipeData.java | 23 + .../java_files/revisi_gmail_com/Angka.class | Bin 0 -> 483 bytes .../java_files/revisi_gmail_com/Angka.java | 12 + .../revisi_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1169 bytes .../revisi_gmail_com/JUnitAngkaTest.java | 34 + .../revisi_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1208 bytes .../revisi_gmail_com/JUnitTipeDataTest.java | 34 + .../revisi_gmail_com/TipeData.class | Bin 0 -> 980 bytes .../java_files/revisi_gmail_com/TipeData.java | 22 + .../rika_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1254 bytes .../rika_gmail_com/JUnitLuckyFiveTest.java | 33 + .../rika_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1339 bytes .../rika_gmail_com/JUnitMyClassTest.java | 36 + .../rika_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1342 bytes .../rika_gmail_com/JUnitNewsFeedTest.java | 36 + .../rika_gmail_com/JUnitPasswordTest.class | Bin 0 -> 1342 bytes .../rika_gmail_com/JUnitPasswordTest.java | 34 + .../rika_gmail_com/JUnitPoetryTest.class | Bin 0 -> 1330 bytes .../rika_gmail_com/JUnitPoetryTest.java | 34 + .../java_files/rika_gmail_com/LuckyFive.class | Bin 0 -> 717 bytes .../java_files/rika_gmail_com/LuckyFive.java | 15 + .../java_files/rika_gmail_com/MyClass.class | Bin 0 -> 719 bytes .../java_files/rika_gmail_com/MyClass.java | 18 + .../java_files/rika_gmail_com/NewsFeed.class | Bin 0 -> 945 bytes .../java_files/rika_gmail_com/NewsFeed.java | 20 + .../java_files/rika_gmail_com/Password.class | Bin 0 -> 855 bytes .../java_files/rika_gmail_com/Password.java | 20 + .../java_files/rika_gmail_com/Poetry.class | Bin 0 -> 806 bytes .../java_files/rika_gmail_com/Poetry.java | 18 + .../java_files/riko_gmail_com/.gitignore | 13 + .../java_files/riko_gmail_com/HelloWorld.java | 8 + .../riko_gmail_com/JUnitHelloWorldTest.java | 29 + .../riko_gmail_com/JUnitMyClassTest.java | 36 + .../riko_gmail_com/JUnitOrderCaseTest.java | 33 + .../riko_gmail_com/JUnitOrderTest.java | 36 + .../riko_gmail_com/JUnitPasswordTest.java | 34 + .../riko_gmail_com/JUnitPoetryTest.java | 34 + .../java_files/riko_gmail_com/MyClass.java | 18 + .../java_files/riko_gmail_com/MyClasss.java | 18 + .../java_files/riko_gmail_com/Order.java | 15 + .../java_files/riko_gmail_com/OrderCase.java | 45 + .../java_files/riko_gmail_com/Password.java | 17 + .../java_files/riko_gmail_com/Poetry.java | 12 + .../java_files/rossa_gmail_com/Angka.class | Bin 0 -> 482 bytes .../java_files/rossa_gmail_com/Angka.java | 12 + .../rossa_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1167 bytes .../rossa_gmail_com/JUnitAngkaTest.java | 34 + .../rossa_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1206 bytes .../rossa_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/rossa_gmail_com/TipeData.class | Bin 0 -> 979 bytes .../java_files/rossa_gmail_com/TipeData.java | 21 + .../rossaakmalia66_gmail_com/Angka.class | Bin 0 -> 491 bytes .../rossaakmalia66_gmail_com/Angka.java | 12 + .../rossaakmalia66_gmail_com/BookStore.class | Bin 0 -> 1100 bytes .../rossaakmalia66_gmail_com/BookStore.java | 30 + .../JUnitAngkaTest.class | Bin 0 -> 1185 bytes .../JUnitAngkaTest.java | 34 + .../JUnitBookStoreTest.class | Bin 0 -> 1211 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1202 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1178 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitOrderCaseTest.class | Bin 0 -> 1203 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1189 bytes .../JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1224 bytes .../JUnitTipeDataTest.java | 34 + .../rossaakmalia66_gmail_com/LuckyFive.class | Bin 0 -> 471 bytes .../rossaakmalia66_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 485 bytes .../LuckyFiveSecond.java | 14 + .../rossaakmalia66_gmail_com/Order.class | Bin 0 -> 585 bytes .../rossaakmalia66_gmail_com/Order.java | 15 + .../rossaakmalia66_gmail_com/OrderCase.class | Bin 0 -> 1241 bytes .../rossaakmalia66_gmail_com/OrderCase.java | 22 + .../rossaakmalia66_gmail_com/TipeData.class | Bin 0 -> 988 bytes .../rossaakmalia66_gmail_com/TipeData.java | 21 + .../java_files/seli_gmail_com/.gitignore | 7 + .../java_files/seli_gmail_com/HelloWorld.java | 7 + .../seli_gmail_com/JUnitHelloWorldTest.java | 29 + .../seli_gmail_com/JUnitLuckyFiveTest.class | Bin 0 -> 1254 bytes .../seli_gmail_com/JUnitLuckyFiveTest.java | 33 + .../seli_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1342 bytes .../seli_gmail_com/JUnitNewsFeedTest.java | 36 + .../seli_gmail_com/JUnitOrderCaseTest.java | 33 + .../seli_gmail_com/JUnitOrderTest.java | 34 + .../java_files/seli_gmail_com/LuckyFive.class | Bin 0 -> 717 bytes .../java_files/seli_gmail_com/LuckyFive.java | 15 + .../java_files/seli_gmail_com/MyClasss.java | 18 + .../java_files/seli_gmail_com/NewsFeed.class | Bin 0 -> 945 bytes .../java_files/seli_gmail_com/NewsFeed.java | 19 + .../java_files/seli_gmail_com/Order.java | 14 + .../java_files/seli_gmail_com/OrderCase.java | 45 + .../java_files/sinonim_gmail_com/Angka.class | Bin 0 -> 484 bytes .../java_files/sinonim_gmail_com/Angka.java | 12 + .../sinonim_gmail_com/Average.class | Bin 0 -> 733 bytes .../java_files/sinonim_gmail_com/Average.java | 18 + .../java_files/sinonim_gmail_com/Bank.class | Bin 0 -> 1078 bytes .../java_files/sinonim_gmail_com/Bank.java | 22 + .../sinonim_gmail_com/BookStore.class | Bin 0 -> 1093 bytes .../sinonim_gmail_com/BookStore.java | 30 + .../sinonim_gmail_com/Fibonacci.class | Bin 0 -> 1090 bytes .../sinonim_gmail_com/Fibonacci.java | 21 + .../sinonim_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1171 bytes .../sinonim_gmail_com/JUnitAngkaTest.java | 34 + .../sinonim_gmail_com/JUnitAverageTest.class | Bin 0 -> 1214 bytes .../sinonim_gmail_com/JUnitAverageTest.java | 33 + .../sinonim_gmail_com/JUnitBankTest.class | Bin 0 -> 1881 bytes .../sinonim_gmail_com/JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1197 bytes .../sinonim_gmail_com/JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1203 bytes .../sinonim_gmail_com/JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 1989 bytes .../sinonim_gmail_com/JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1188 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1164 bytes .../sinonim_gmail_com/JUnitLuckyFiveTest.java | 31 + .../sinonim_gmail_com/JUnitNewsFeedTest.class | Bin 0 -> 1185 bytes .../sinonim_gmail_com/JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1189 bytes .../sinonim_gmail_com/JUnitOrderCaseTest.java | 30 + .../sinonim_gmail_com/JUnitOrderTest.class | Bin 0 -> 1175 bytes .../sinonim_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1198 bytes .../JUnitSecondPiramidTest.java | 34 + .../sinonim_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1210 bytes .../sinonim_gmail_com/JUnitTipeDataTest.java | 34 + .../sinonim_gmail_com/Lingkaran.class | Bin 0 -> 1187 bytes .../sinonim_gmail_com/Lingkaran.java | 25 + .../sinonim_gmail_com/LuckyFive.class | Bin 0 -> 464 bytes .../sinonim_gmail_com/LuckyFive.java | 11 + .../sinonim_gmail_com/LuckyFiveSecond.class | Bin 0 -> 478 bytes .../sinonim_gmail_com/LuckyFiveSecond.java | 14 + .../sinonim_gmail_com/NewsFeed.class | Bin 0 -> 612 bytes .../sinonim_gmail_com/NewsFeed.java | 12 + .../java_files/sinonim_gmail_com/Order.class | Bin 0 -> 578 bytes .../java_files/sinonim_gmail_com/Order.java | 15 + .../sinonim_gmail_com/OrderCase.class | Bin 0 -> 1234 bytes .../sinonim_gmail_com/OrderCase.java | 22 + .../sinonim_gmail_com/SecondPiramid.class | Bin 0 -> 1036 bytes .../sinonim_gmail_com/SecondPiramid.java | 14 + .../sinonim_gmail_com/TipeData.class | Bin 0 -> 981 bytes .../sinonim_gmail_com/TipeData.java | 22 + .../siskanyoba_gmail_com/.gitignore | 2 + .../siskanyoba_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.java | 29 + .../steemingbaru_gmail_com/Angka.class | Bin 0 -> 489 bytes .../steemingbaru_gmail_com/Angka.java | 12 + .../steemingbaru_gmail_com/Average.class | Bin 0 -> 738 bytes .../steemingbaru_gmail_com/Average.java | 18 + .../steemingbaru_gmail_com/Bank.class | Bin 0 -> 1083 bytes .../steemingbaru_gmail_com/Bank.java | 22 + .../steemingbaru_gmail_com/BookStore.class | Bin 0 -> 1098 bytes .../steemingbaru_gmail_com/BookStore.java | 30 + .../steemingbaru_gmail_com/Fibonacci.class | Bin 0 -> 1095 bytes .../steemingbaru_gmail_com/Fibonacci.java | 21 + .../JUnitAngkaTest.class | Bin 0 -> 1181 bytes .../JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1224 bytes .../JUnitAverageTest.java | 33 + .../JUnitBankTest.class | Bin 0 -> 1891 bytes .../steemingbaru_gmail_com/JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1207 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1213 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 1999 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1198 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1174 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1195 bytes .../JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1199 bytes .../JUnitOrderCaseTest.java | 30 + .../JUnitOrderTest.class | Bin 0 -> 1185 bytes .../JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1208 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1220 bytes .../JUnitTipeDataTest.java | 34 + .../steemingbaru_gmail_com/Lingkaran.class | Bin 0 -> 1192 bytes .../steemingbaru_gmail_com/Lingkaran.java | 25 + .../steemingbaru_gmail_com/LuckyFive.class | Bin 0 -> 469 bytes .../steemingbaru_gmail_com/LuckyFive.java | 11 + .../LuckyFiveSecond.class | Bin 0 -> 483 bytes .../LuckyFiveSecond.java | 14 + .../steemingbaru_gmail_com/NewsFeed.class | Bin 0 -> 617 bytes .../steemingbaru_gmail_com/NewsFeed.java | 12 + .../steemingbaru_gmail_com/Order.class | Bin 0 -> 583 bytes .../steemingbaru_gmail_com/Order.java | 15 + .../steemingbaru_gmail_com/OrderCase.class | Bin 0 -> 1239 bytes .../steemingbaru_gmail_com/OrderCase.java | 22 + .../SecondPiramid.class | Bin 0 -> 1041 bytes .../steemingbaru_gmail_com/SecondPiramid.java | 14 + .../steemingbaru_gmail_com/TipeData.class | Bin 0 -> 986 bytes .../steemingbaru_gmail_com/TipeData.java | 22 + .../java_files/test0106_gmail_com/Angka.class | Bin 0 -> 629 bytes .../java_files/test0106_gmail_com/Angka.java | 12 + .../test0106_gmail_com/Average.class | Bin 0 -> 950 bytes .../test0106_gmail_com/Average.java | 18 + .../java_files/test0106_gmail_com/Bank.class | Bin 0 -> 1185 bytes .../java_files/test0106_gmail_com/Bank.java | 22 + .../test0106_gmail_com/BookStore.class | Bin 0 -> 1077 bytes .../test0106_gmail_com/BookStore.java | 30 + .../test0106_gmail_com/Fibonacci.class | Bin 0 -> 1101 bytes .../test0106_gmail_com/Fibonacci.java | 21 + .../test0106_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1242 bytes .../test0106_gmail_com/JUnitAngkaTest.java | 34 + .../test0106_gmail_com/JUnitAverageTest.class | Bin 0 -> 1258 bytes .../test0106_gmail_com/JUnitAverageTest.java | 33 + .../test0106_gmail_com/JUnitBankTest.class | Bin 0 -> 1339 bytes .../test0106_gmail_com/JUnitBankTest.java | 36 + .../JUnitBookStoreTest.class | Bin 0 -> 1258 bytes .../JUnitBookStoreTest.java | 33 + .../JUnitFibonacciTest.class | Bin 0 -> 1262 bytes .../JUnitFibonacciTest.java | 33 + .../JUnitLingkaranTest.class | Bin 0 -> 1466 bytes .../JUnitLingkaranTest.java | 40 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1292 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1262 bytes .../JUnitLuckyFiveTest.java | 31 + .../JUnitNewsFeedTest.class | Bin 0 -> 1257 bytes .../test0106_gmail_com/JUnitNewsFeedTest.java | 32 + .../JUnitOrderCaseTest.class | Bin 0 -> 1268 bytes .../JUnitOrderCaseTest.java | 30 + .../test0106_gmail_com/JUnitOrderTest.class | Bin 0 -> 1177 bytes .../test0106_gmail_com/JUnitOrderTest.java | 34 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1276 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1257 bytes .../test0106_gmail_com/JUnitTipeDataTest.java | 34 + .../test0106_gmail_com/Lingkaran.class | Bin 0 -> 1274 bytes .../test0106_gmail_com/Lingkaran.java | 25 + .../test0106_gmail_com/LuckyFive.class | Bin 0 -> 626 bytes .../test0106_gmail_com/LuckyFive.java | 11 + .../test0106_gmail_com/LuckyFiveSecond.class | Bin 0 -> 652 bytes .../test0106_gmail_com/LuckyFiveSecond.java | 14 + .../test0106_gmail_com/NewsFeed.class | Bin 0 -> 801 bytes .../test0106_gmail_com/NewsFeed.java | 12 + .../java_files/test0106_gmail_com/Order.class | Bin 0 -> 568 bytes .../java_files/test0106_gmail_com/Order.java | 14 + .../test0106_gmail_com/OrderCase.class | Bin 0 -> 1113 bytes .../test0106_gmail_com/OrderCase.java | 22 + .../test0106_gmail_com/SecondPiramid.class | Bin 0 -> 1021 bytes .../test0106_gmail_com/SecondPiramid.java | 14 + .../test0106_gmail_com/TipeData.class | Bin 0 -> 992 bytes .../test0106_gmail_com/TipeData.java | 21 + .../test06042_gmail_com/Angka.class | Bin 0 -> 631 bytes .../java_files/test06042_gmail_com/Angka.java | 12 + .../test06042_gmail_com/Average.class | Bin 0 -> 952 bytes .../test06042_gmail_com/Average.java | 18 + .../java_files/test06042_gmail_com/Bank.class | Bin 0 -> 1187 bytes .../java_files/test06042_gmail_com/Bank.java | 22 + .../test06042_gmail_com/HelloWorld.class | Bin 0 -> 572 bytes .../test06042_gmail_com/HelloWorld.java | 7 + .../test06042_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1244 bytes .../test06042_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitAverageTest.class | Bin 0 -> 1260 bytes .../test06042_gmail_com/JUnitAverageTest.java | 33 + .../test06042_gmail_com/JUnitBankTest.class | Bin 0 -> 1341 bytes .../test06042_gmail_com/JUnitBankTest.java | 36 + .../JUnitHelloWorldTest.class | Bin 0 -> 1269 bytes .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1294 bytes .../JUnitLuckyFiveSecondTest.java | 31 + .../JUnitManipulateVariableTest.class | Bin 0 -> 1325 bytes .../JUnitManipulateVariableTest.java | 34 + .../JUnitMyClassTest.class | Bin 0 -> 1349 bytes .../test06042_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitOrderCaseTest.class | Bin 0 -> 1364 bytes .../JUnitOrderCaseTest.java | 33 + .../test06042_gmail_com/JUnitOrderTest.class | Bin 0 -> 1339 bytes .../test06042_gmail_com/JUnitOrderTest.java | 36 + .../JUnitSecondPiramidTest.class | Bin 0 -> 1278 bytes .../JUnitSecondPiramidTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1259 bytes .../JUnitTipeDataTest.java | 34 + .../test06042_gmail_com/LuckyFiveSecond.class | Bin 0 -> 654 bytes .../test06042_gmail_com/LuckyFiveSecond.java | 14 + .../ManipulateVariable.class | Bin 0 -> 997 bytes .../ManipulateVariable.java | 11 + .../test06042_gmail_com/MyClass.class | Bin 0 -> 729 bytes .../test06042_gmail_com/MyClass.java | 18 + .../test06042_gmail_com/Order.class | Bin 0 -> 895 bytes .../java_files/test06042_gmail_com/Order.java | 20 + .../test06042_gmail_com/OrderCase.class | Bin 0 -> 1252 bytes .../test06042_gmail_com/OrderCase.java | 32 + .../test06042_gmail_com/SecondPiramid.class | Bin 0 -> 1023 bytes .../test06042_gmail_com/SecondPiramid.java | 14 + .../test06042_gmail_com/TipeData.class | Bin 0 -> 994 bytes .../test06042_gmail_com/TipeData.java | 22 + .../test0703_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test0703_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1292 bytes .../JUnitLuckyFiveSecondTest.java | 33 + .../test0703_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test0703_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitNewsFeedTest.class | Bin 0 -> 1350 bytes .../test0703_gmail_com/JUnitNewsFeedTest.java | 36 + .../JUnitPasswordTest.class | Bin 0 -> 1350 bytes .../test0703_gmail_com/JUnitPasswordTest.java | 34 + .../test0703_gmail_com/JUnitPoetryTest.class | Bin 0 -> 1338 bytes .../test0703_gmail_com/JUnitPoetryTest.java | 34 + .../test0703_gmail_com/LuckyFiveSecond.class | Bin 0 -> 751 bytes .../test0703_gmail_com/LuckyFiveSecond.java | 17 + .../test0703_gmail_com/MyClass.class | Bin 0 -> 727 bytes .../test0703_gmail_com/MyClass.java | 18 + .../test0703_gmail_com/NewsFeed.class | Bin 0 -> 953 bytes .../test0703_gmail_com/NewsFeed.java | 19 + .../test0703_gmail_com/Password.class | Bin 0 -> 863 bytes .../test0703_gmail_com/Password.java | 20 + .../test0703_gmail_com/Poetry.class | Bin 0 -> 814 bytes .../java_files/test0703_gmail_com/Poetry.java | 18 + .../java_files/test0903_gmail_com/Angka.class | Bin 0 -> 629 bytes .../java_files/test0903_gmail_com/Angka.java | 12 + .../test0903_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test0903_gmail_com/HelloWorld.java | 7 + .../test0903_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1242 bytes .../test0903_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1292 bytes .../JUnitLuckyFiveSecondTest.java | 33 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1262 bytes .../JUnitLuckyFiveTest.java | 33 + .../test0903_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test0903_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitNewsFeedTest.class | Bin 0 -> 1350 bytes .../test0903_gmail_com/JUnitNewsFeedTest.java | 36 + .../JUnitOrderCaseTest.class | Bin 0 -> 1362 bytes .../JUnitOrderCaseTest.java | 33 + .../JUnitOrderNestTest.class | Bin 0 -> 1362 bytes .../JUnitOrderNestTest.java | 36 + .../JUnitPasswordTest.class | Bin 0 -> 1350 bytes .../test0903_gmail_com/JUnitPasswordTest.java | 34 + .../test0903_gmail_com/LuckyFive.class | Bin 0 -> 725 bytes .../test0903_gmail_com/LuckyFive.java | 15 + .../test0903_gmail_com/LuckyFiveSecond.class | Bin 0 -> 751 bytes .../test0903_gmail_com/LuckyFiveSecond.java | 17 + .../test0903_gmail_com/MyClass.class | Bin 0 -> 727 bytes .../test0903_gmail_com/MyClass.java | 18 + .../test0903_gmail_com/NewsFeed.class | Bin 0 -> 953 bytes .../test0903_gmail_com/NewsFeed.java | 19 + .../test0903_gmail_com/OrderCase.class | Bin 0 -> 1243 bytes .../test0903_gmail_com/OrderCase.java | 32 + .../test0903_gmail_com/OrderNest.class | Bin 0 -> 1539 bytes .../test0903_gmail_com/OrderNest.java | 43 + .../test0903_gmail_com/Password.class | Bin 0 -> 863 bytes .../test0903_gmail_com/Password.java | 20 + .../test1503_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test1503_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1292 bytes .../JUnitLuckyFiveSecondTest.java | 33 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1262 bytes .../JUnitLuckyFiveTest.java | 33 + .../test1503_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test1503_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitNewsFeedTest.class | Bin 0 -> 1350 bytes .../test1503_gmail_com/JUnitNewsFeedTest.java | 36 + .../JUnitOrderCaseTest.class | Bin 0 -> 1362 bytes .../JUnitOrderCaseTest.java | 33 + .../JUnitOrderNestTest.class | Bin 0 -> 1362 bytes .../JUnitOrderNestTest.java | 36 + .../test1503_gmail_com/JUnitOrderTest.class | Bin 0 -> 1337 bytes .../test1503_gmail_com/JUnitOrderTest.java | 36 + .../test1503_gmail_com/LuckyFive.class | Bin 0 -> 725 bytes .../test1503_gmail_com/LuckyFive.java | 15 + .../test1503_gmail_com/LuckyFiveSecond.class | Bin 0 -> 936 bytes .../test1503_gmail_com/LuckyFiveSecond.java | 17 + .../test1503_gmail_com/MyClass.class | Bin 0 -> 727 bytes .../test1503_gmail_com/MyClass.java | 18 + .../test1503_gmail_com/NewsFeed.class | Bin 0 -> 953 bytes .../test1503_gmail_com/NewsFeed.java | 20 + .../java_files/test1503_gmail_com/Order.class | Bin 0 -> 893 bytes .../java_files/test1503_gmail_com/Order.java | 20 + .../test1503_gmail_com/OrderCase.class | Bin 0 -> 1250 bytes .../test1503_gmail_com/OrderCase.java | 32 + .../test1503_gmail_com/OrderNest.class | Bin 0 -> 1465 bytes .../test1503_gmail_com/OrderNest.java | 43 + .../java_files/test1505_gmail_com/Angka.class | Bin 0 -> 629 bytes .../java_files/test1505_gmail_com/Angka.java | 12 + .../test1505_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test1505_gmail_com/HelloWorld.java | 7 + .../test1505_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1242 bytes .../test1505_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../test1505_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test1505_gmail_com/JUnitMyClassTest.java | 36 + .../test1505_gmail_com/MyClass.class | Bin 0 -> 727 bytes .../test1505_gmail_com/MyClass.java | 18 + .../test1703_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test1703_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../test1703_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test1703_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitNewsFeedTest.class | Bin 0 -> 1350 bytes .../test1703_gmail_com/JUnitNewsFeedTest.java | 36 + .../JUnitOrderCaseTest.class | Bin 0 -> 1362 bytes .../JUnitOrderCaseTest.java | 33 + .../JUnitOrderNestTest.class | Bin 0 -> 1362 bytes .../JUnitOrderNestTest.java | 36 + .../test1703_gmail_com/JUnitOrderTest.class | Bin 0 -> 1337 bytes .../test1703_gmail_com/JUnitOrderTest.java | 36 + .../test1703_gmail_com/MyClass.class | Bin 0 -> 708 bytes .../test1703_gmail_com/MyClass.java | 20 + .../test1703_gmail_com/NewsFeed.class | Bin 0 -> 953 bytes .../test1703_gmail_com/NewsFeed.java | 20 + .../java_files/test1703_gmail_com/Order.class | Bin 0 -> 893 bytes .../java_files/test1703_gmail_com/Order.java | 20 + .../test1703_gmail_com/OrderCase.class | Bin 0 -> 1252 bytes .../test1703_gmail_com/OrderCase.java | 32 + .../test1703_gmail_com/OrderNest.class | Bin 0 -> 1539 bytes .../test1703_gmail_com/OrderNest.java | 43 + .../test2903_gmail_com/HelloWorld.class | Bin 0 -> 570 bytes .../test2903_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.class | Bin 0 -> 1267 bytes .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.class | Bin 0 -> 1292 bytes .../JUnitLuckyFiveSecondTest.java | 33 + .../JUnitLuckyFiveTest.class | Bin 0 -> 1262 bytes .../JUnitLuckyFiveTest.java | 33 + .../test2903_gmail_com/JUnitMyClassTest.class | Bin 0 -> 1347 bytes .../test2903_gmail_com/JUnitMyClassTest.java | 36 + .../JUnitNewsFeedTest.class | Bin 0 -> 1350 bytes .../test2903_gmail_com/JUnitNewsFeedTest.java | 36 + .../JUnitOrderCaseTest.class | Bin 0 -> 1362 bytes .../JUnitOrderCaseTest.java | 33 + .../JUnitOrderNestTest.class | Bin 0 -> 1362 bytes .../JUnitOrderNestTest.java | 36 + .../test2903_gmail_com/JUnitOrderTest.class | Bin 0 -> 1337 bytes .../test2903_gmail_com/JUnitOrderTest.java | 36 + .../JUnitPasswordTest.class | Bin 0 -> 1350 bytes .../test2903_gmail_com/JUnitPasswordTest.java | 34 + .../test2903_gmail_com/LuckyFive.class | Bin 0 -> 725 bytes .../test2903_gmail_com/LuckyFive.java | 15 + .../test2903_gmail_com/LuckyFiveSecond.class | Bin 0 -> 751 bytes .../test2903_gmail_com/LuckyFiveSecond.java | 17 + .../test2903_gmail_com/MyClass.class | Bin 0 -> 727 bytes .../test2903_gmail_com/MyClass.java | 18 + .../test2903_gmail_com/NewsFeed.class | Bin 0 -> 953 bytes .../test2903_gmail_com/NewsFeed.java | 19 + .../java_files/test2903_gmail_com/Order.class | Bin 0 -> 893 bytes .../java_files/test2903_gmail_com/Order.java | 20 + .../test2903_gmail_com/OrderCase.class | Bin 0 -> 1250 bytes .../test2903_gmail_com/OrderCase.java | 32 + .../test2903_gmail_com/OrderNest.class | Bin 0 -> 1539 bytes .../test2903_gmail_com/OrderNest.java | 43 + .../test2903_gmail_com/Password.class | Bin 0 -> 863 bytes .../test2903_gmail_com/Password.java | 20 + .../test_cases/JUnitAngkaTest.java.txt | 34 + .../test_cases/JUnitAverageTest.java.txt | 33 + .../test_cases/JUnitBankTest.java.txt | 36 + .../test_cases/JUnitBookStoreTest.java.txt | 33 + .../test_cases/JUnitFibonacciTest.java.txt | 33 + .../test_cases/JUnitHelloWorldTest.java.txt | 29 + .../test_cases/JUnitLingkaranTest.java.txt | 40 + .../test_cases/JUnitLoopingTest.java.txt | 29 + .../JUnitLuckyFiveSecondTest.java.txt | 31 + .../test_cases/JUnitLuckyFiveTest.java.txt | 31 + .../test_cases/JUnitMyClassTest.java.txt | 36 + .../test_cases/JUnitNewsFeedTest.java.txt | 32 + .../test_cases/JUnitOrderCaseTest.java.txt | 30 + .../test_cases/JUnitOrderNestTest.java.txt | 36 + .../test_cases/JUnitOrderTest.java.txt | 34 + .../test_cases/JUnitPasswordTest.java.txt | 34 + .../test_cases/JUnitPoetryTest.java.txt | 34 + .../JUnitSecondPiramidTest.java.txt | 34 + .../test_cases/JUnitStoreTest.java.txt | 25 + .../test_cases/JUnitTipeDataTest.java.txt | 34 + .../test_cases/JUnitTweetCounterTest.java.txt | 34 + .../java_files/test_gmail_com/.gitignore | 2 + .../java_files/test_gmail_com/HelloWorld.java | 7 + .../test_gmail_com/JUnitHelloWorldTest.java | 29 + .../java_files/testing_gmail_com/.gitignore | 22 + .../testing_gmail_com/HelloWorld.java | 7 + .../JUnitHelloWorldTest.java | 29 + .../JUnitLuckyFiveSecondTest.java | 33 + .../testing_gmail_com/JUnitLuckyFiveTest.java | 33 + .../testing_gmail_com/JUnitMyClassTest.java | 36 + .../testing_gmail_com/JUnitNewsFeedTest.java | 36 + .../testing_gmail_com/JUnitOrderCaseTest.java | 33 + .../testing_gmail_com/JUnitOrderNestTest.java | 36 + .../testing_gmail_com/JUnitOrderTest.java | 35 + .../testing_gmail_com/JUnitPasswordTest.java | 34 + .../testing_gmail_com/JUnitPoetryTest.java | 34 + .../JUnitTweetCounterTest.java | 34 + .../testing_gmail_com/LuckyFive.java | 15 + .../testing_gmail_com/LuckyFiveSecond.java | 17 + .../java_files/testing_gmail_com/MyClass.java | 18 + .../testing_gmail_com/NewsFeed.java | 20 + .../java_files/testing_gmail_com/Order.java | 8 + .../testing_gmail_com/OrderCase.java | 32 + .../testing_gmail_com/OrderNest.java | 43 + .../testing_gmail_com/Password.java | 20 + .../java_files/testing_gmail_com/Poetry.java | 18 + .../testing_gmail_com/TweetCounter.java | 16 + .../java_files/tobing_gmail_com/.gitignore | 2 + .../tobing_gmail_com/HelloWorld.java | 7 + .../tobing_gmail_com/JUnitHelloWorldTest.java | 29 + online-compiler/java_files/user/.gitignore | 2 + .../java_files/user/HelloWorld.java | 7 + .../java_files/user/JUnitHelloWorldTest.java | 29 + .../user2_gmail_com/JUnitTipeDataTest.class | Bin 0 -> 1206 bytes .../user2_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/user2_gmail_com/TipeData.class | Bin 0 -> 979 bytes .../java_files/user2_gmail_com/TipeData.java | 24 + .../java_files/userbaru_gmail_com/Angka.class | Bin 0 -> 485 bytes .../java_files/userbaru_gmail_com/Angka.java | 12 + .../userbaru_gmail_com/JUnitAngkaTest.class | Bin 0 -> 1173 bytes .../userbaru_gmail_com/JUnitAngkaTest.java | 34 + .../JUnitOrderCaseTest.class | Bin 0 -> 1191 bytes .../JUnitOrderCaseTest.java | 30 + .../userbaru_gmail_com/JUnitOrderTest.class | Bin 0 -> 1177 bytes .../userbaru_gmail_com/JUnitOrderTest.java | 34 + .../JUnitTipeDataTest.class | Bin 0 -> 1212 bytes .../userbaru_gmail_com/JUnitTipeDataTest.java | 34 + .../java_files/userbaru_gmail_com/Order.class | Bin 0 -> 579 bytes .../java_files/userbaru_gmail_com/Order.java | 15 + .../userbaru_gmail_com/OrderCase.class | Bin 0 -> 1235 bytes .../userbaru_gmail_com/OrderCase.java | 22 + .../userbaru_gmail_com/TipeData.class | Bin 0 -> 982 bytes .../userbaru_gmail_com/TipeData.java | 22 + online-compiler/lib/FileCreator.py | 56 + online-compiler/lib/FileUploader.py | 15 + .../__pycache__/FileCreator.cpython-310.pyc | Bin 0 -> 1636 bytes .../__pycache__/FileCreator.cpython-311.pyc | Bin 0 -> 3009 bytes .../__pycache__/FileCreator.cpython-312.pyc | Bin 0 -> 2689 bytes .../__pycache__/FileCreator.cpython-39.pyc | Bin 0 -> 1646 bytes .../__pycache__/FileUploader.cpython-310.pyc | Bin 0 -> 817 bytes .../__pycache__/FileUploader.cpython-311.pyc | Bin 0 -> 1317 bytes .../__pycache__/FileUploader.cpython-312.pyc | Bin 0 -> 1112 bytes .../__pycache__/FileUploader.cpython-39.pyc | Bin 0 -> 823 bytes .../__pycache__/java_runner.cpython-310.pyc | Bin 0 -> 3838 bytes .../__pycache__/java_runner.cpython-311.pyc | Bin 0 -> 7405 bytes .../__pycache__/java_runner.cpython-312.pyc | Bin 0 -> 7060 bytes .../__pycache__/java_runner.cpython-39.pyc | Bin 0 -> 3816 bytes online-compiler/lib/java_runner.py | 144 + online-compiler/manage.py | 22 + online-compiler/onlinecompiler/__init__.py | 0 .../__pycache__/__init__.cpython-310.pyc | Bin 0 -> 155 bytes .../__pycache__/__init__.cpython-311.pyc | Bin 0 -> 182 bytes .../__pycache__/__init__.cpython-312.pyc | Bin 0 -> 159 bytes .../__pycache__/__init__.cpython-313.pyc | Bin 0 -> 159 bytes .../__pycache__/__init__.cpython-39.pyc | Bin 0 -> 173 bytes .../__pycache__/settings.cpython-310.pyc | Bin 0 -> 2467 bytes .../__pycache__/settings.cpython-311.pyc | Bin 0 -> 2810 bytes .../__pycache__/settings.cpython-312.pyc | Bin 0 -> 2730 bytes .../__pycache__/settings.cpython-313.pyc | Bin 0 -> 2730 bytes .../__pycache__/settings.cpython-39.pyc | Bin 0 -> 2485 bytes .../__pycache__/urls.cpython-310.pyc | Bin 0 -> 997 bytes .../__pycache__/urls.cpython-311.pyc | Bin 0 -> 1169 bytes .../__pycache__/urls.cpython-312.pyc | Bin 0 -> 1106 bytes .../__pycache__/urls.cpython-313.pyc | Bin 0 -> 1106 bytes .../__pycache__/urls.cpython-39.pyc | Bin 0 -> 1015 bytes .../__pycache__/wsgi.cpython-310.pyc | Bin 0 -> 572 bytes .../__pycache__/wsgi.cpython-311.pyc | Bin 0 -> 718 bytes .../__pycache__/wsgi.cpython-312.pyc | Bin 0 -> 661 bytes .../__pycache__/wsgi.cpython-39.pyc | Bin 0 -> 590 bytes online-compiler/onlinecompiler/asgi.py | 16 + online-compiler/onlinecompiler/settings.py | 128 + online-compiler/onlinecompiler/urls.py | 22 + online-compiler/onlinecompiler/wsgi.py | 16 + online-compiler/python | 0 online-compiler/requirements.txt | 7 + 2498 files changed, 212283 insertions(+) create mode 100644 Penilaian-Esai/.editorconfig create mode 100644 Penilaian-Esai/.gitattributes create mode 100644 Penilaian-Esai/.gitignore create mode 100644 Penilaian-Esai/.styleci.yml create mode 100644 Penilaian-Esai/README.md create mode 100644 Penilaian-Esai/app/Console/Kernel.php create mode 100644 Penilaian-Esai/app/Exceptions/Handler.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/BadgeSettingAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/ContentAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/CourseAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/DashboardAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/QuestionAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/RoleAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/API/lessonAPIController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/BadgeSettingController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/ContentController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/CourseController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/DashboardController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/ExplanationController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/LessonController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/LevelController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/LevelSettingController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/QuestionController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/RoleController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Admin/UserController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/ApiController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/AppBaseController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/ConfirmPasswordController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/ForgotPasswordController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/LoginController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/RegisterController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/ResetPasswordController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Auth/VerificationController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/CodeTestController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/Controller.php create mode 100644 Penilaian-Esai/app/Http/Controllers/CourseController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/ErrorCodeLogController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/ExerciseCodeLogController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/ExplainingController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/HomeController.php create mode 100644 Penilaian-Esai/app/Http/Controllers/StudentCourseController.php create mode 100644 Penilaian-Esai/app/Http/Kernel.php create mode 100644 Penilaian-Esai/app/Http/Middleware/Authenticate.php create mode 100644 Penilaian-Esai/app/Http/Middleware/EncryptCookies.php create mode 100644 Penilaian-Esai/app/Http/Middleware/IsAdmin.php create mode 100644 Penilaian-Esai/app/Http/Middleware/JwtMiddleware.php create mode 100644 Penilaian-Esai/app/Http/Middleware/PreventRequestsDuringMaintenance.php create mode 100644 Penilaian-Esai/app/Http/Middleware/RedirectIfAuthenticated.php create mode 100644 Penilaian-Esai/app/Http/Middleware/TrimStrings.php create mode 100644 Penilaian-Esai/app/Http/Middleware/TrustHosts.php create mode 100644 Penilaian-Esai/app/Http/Middleware/TrustProxies.php create mode 100644 Penilaian-Esai/app/Http/Middleware/VerifyCsrfToken.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateBadgeSettingAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateContentAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateCourseAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateLessonAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateQuestionAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/CreateRoleAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateBadgeSettingAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateContentAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateCourseAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateLessonAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateQuestionAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/API/UpdateRoleAPIRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateBadgeSettingRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateContentRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateCourseRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateLessonRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateQuestionRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/CreateRoleRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateBadgeSettingRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateContentRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateCourseRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateLessonRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateQuestionRequest.php create mode 100644 Penilaian-Esai/app/Http/Requests/UpdateRoleRequest.php create mode 100644 Penilaian-Esai/app/Models/Answer.php create mode 100644 Penilaian-Esai/app/Models/BadgeSetting.php create mode 100644 Penilaian-Esai/app/Models/Content.php create mode 100644 Penilaian-Esai/app/Models/Course.php create mode 100644 Penilaian-Esai/app/Models/ErrorCodeLog.php create mode 100644 Penilaian-Esai/app/Models/EssayQuestion.php create mode 100644 Penilaian-Esai/app/Models/ExerciseCodeLog.php create mode 100644 Penilaian-Esai/app/Models/ExplainingScore.php create mode 100644 Penilaian-Esai/app/Models/Explains.php create mode 100644 Penilaian-Esai/app/Models/Lesson.php create mode 100644 Penilaian-Esai/app/Models/Level.php create mode 100644 Penilaian-Esai/app/Models/Question.php create mode 100644 Penilaian-Esai/app/Models/Role.php create mode 100644 Penilaian-Esai/app/Models/StudentCourse.php create mode 100644 Penilaian-Esai/app/Models/TotalScore.php create mode 100644 Penilaian-Esai/app/Models/User.php create mode 100644 Penilaian-Esai/app/Models/UserAnswer.php create mode 100644 Penilaian-Esai/app/Models/UserCodeTestScore.php create mode 100644 Penilaian-Esai/app/Models/UserScore.php create mode 100644 Penilaian-Esai/app/Models/WonderingScore.php create mode 100644 Penilaian-Esai/app/Providers/AppServiceProvider.php create mode 100644 Penilaian-Esai/app/Providers/AuthServiceProvider.php create mode 100644 Penilaian-Esai/app/Providers/BroadcastServiceProvider.php create mode 100644 Penilaian-Esai/app/Providers/EventServiceProvider.php create mode 100644 Penilaian-Esai/app/Providers/RouteServiceProvider.php create mode 100644 Penilaian-Esai/app/Repositories/BadgeSettingRepository.php create mode 100644 Penilaian-Esai/app/Repositories/BaseRepository.php create mode 100644 Penilaian-Esai/app/Repositories/ContentRepository.php create mode 100644 Penilaian-Esai/app/Repositories/CourseRepository.php create mode 100644 Penilaian-Esai/app/Repositories/LessonRepository.php create mode 100644 Penilaian-Esai/app/Repositories/QuestionRepository.php create mode 100644 Penilaian-Esai/app/Repositories/RoleRepository.php create mode 100644 Penilaian-Esai/artisan create mode 100644 Penilaian-Esai/bootstrap/app.php create mode 100644 Penilaian-Esai/bootstrap/cache/.gitignore create mode 100644 Penilaian-Esai/composer.json create mode 100644 Penilaian-Esai/composer.lock create mode 100644 Penilaian-Esai/config/app.php create mode 100644 Penilaian-Esai/config/auth.php create mode 100644 Penilaian-Esai/config/broadcasting.php create mode 100644 Penilaian-Esai/config/cache.php create mode 100644 Penilaian-Esai/config/cors.php create mode 100644 Penilaian-Esai/config/database.php create mode 100644 Penilaian-Esai/config/datatables.php create mode 100644 Penilaian-Esai/config/filesystems.php create mode 100644 Penilaian-Esai/config/hashing.php create mode 100644 Penilaian-Esai/config/infyom/generator_builder.php create mode 100644 Penilaian-Esai/config/infyom/laravel_generator.php create mode 100644 Penilaian-Esai/config/jwt.php create mode 100644 Penilaian-Esai/config/logging.php create mode 100644 Penilaian-Esai/config/mail.php create mode 100644 Penilaian-Esai/config/queue.php create mode 100644 Penilaian-Esai/config/sanctum.php create mode 100644 Penilaian-Esai/config/services.php create mode 100644 Penilaian-Esai/config/session.php create mode 100644 Penilaian-Esai/config/view.php create mode 100644 Penilaian-Esai/database/.gitignore create mode 100644 Penilaian-Esai/database/factories/UserFactory.php create mode 100644 Penilaian-Esai/database/migrations/2014_10_12_000000_create_users_table.php create mode 100644 Penilaian-Esai/database/migrations/2014_10_12_100000_create_password_resets_table.php create mode 100644 Penilaian-Esai/database/migrations/2019_08_19_000000_create_failed_jobs_table.php create mode 100644 Penilaian-Esai/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_114700_create_roles_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_115524_create_courses_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_120348_create_lessons_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_141552_create_contents_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_143915_add_role_to_user_column.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_150023_create_questions_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_30_180245_create_student_course_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_31_015033_create_answers_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_31_023057_add_nullable_to_answers.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_31_030846_add_null_to_question.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_31_070600_create_user_scores_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_05_31_151123_create_badge_settings_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_06_02_055725_change_column_in_contents.php create mode 100644 Penilaian-Esai/database/migrations/2022_06_13_155450_add_column_is_essay_to_question_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_06_16_105917_change_column_question_on_question_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_06_20_121634_create_user_code_test_score_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_06_20_152419_add_question_id_on_user_scores_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_07_19_073038_add_column_timer_to_question_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_07_25_112343_add_column_start_time_to_user_scores_table.php create mode 100644 Penilaian-Esai/database/migrations/2022_07_25_125721_create_table_code_error_logs.php create mode 100644 Penilaian-Esai/database/migrations/2022_07_25_214126_add_column_on_timer_on_code_error_logs.php create mode 100644 Penilaian-Esai/database/migrations/2022_07_25_220037_add_column_on_timer_on_user_scores_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_02_28_031855_create_levels_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_02_28_033936_add_level_id_to_lessons.php create mode 100644 Penilaian-Esai/database/migrations/2023_02_28_062544_add_description_to_levels_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_03_10_074326_create_code_history_logs_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_03_17_071601_create_explains_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_05_18_144701_create_essay_question_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_05_18_145219_create_user_answer_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_05_23_060818_create_wondering_score_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_05_23_061330_create_explaining_score_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_05_28_125135_create_total_score_table.php create mode 100644 Penilaian-Esai/database/migrations/2023_06_23_042517_add_class_to_users_table.php create mode 100644 Penilaian-Esai/database/migrations/2024_03_22_180425_add_additional_answers_to_essay_question_table.php create mode 100644 Penilaian-Esai/database/seeders/DatabaseSeeder.php create mode 100644 Penilaian-Esai/database/seeders/UsersTableSeeder.php create mode 100644 Penilaian-Esai/lang/en/auth.php create mode 100644 Penilaian-Esai/lang/en/pagination.php create mode 100644 Penilaian-Esai/lang/en/passwords.php create mode 100644 Penilaian-Esai/lang/en/validation.php create mode 100644 Penilaian-Esai/package-lock.json create mode 100644 Penilaian-Esai/package.json create mode 100644 Penilaian-Esai/phpunit.xml create mode 100644 Penilaian-Esai/public/.htaccess create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.min.css create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.woff2 create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.svg create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.eot create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff create mode 100644 Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 create mode 100644 Penilaian-Esai/public/assets/css/bootstrap.min.css create mode 100644 Penilaian-Esai/public/assets/css/iziToast.min.css create mode 100644 Penilaian-Esai/public/assets/css/jquery.dataTables.min.css create mode 100644 Penilaian-Esai/public/assets/css/select2.min.css create mode 100644 Penilaian-Esai/public/assets/css/sweetalert.css create mode 100644 Penilaian-Esai/public/assets/images/favicon.ico create mode 100644 Penilaian-Esai/public/assets/images/sort_asc.png create mode 100644 Penilaian-Esai/public/assets/images/sort_asc_disabled.png create mode 100644 Penilaian-Esai/public/assets/images/sort_both.png create mode 100644 Penilaian-Esai/public/assets/images/sort_desc.png create mode 100644 Penilaian-Esai/public/assets/images/sort_desc_disabled.png create mode 100644 Penilaian-Esai/public/assets/js/bootstrap.min.js create mode 100644 Penilaian-Esai/public/assets/js/custom/custom-datatable.js create mode 100644 Penilaian-Esai/public/assets/js/custom/custom.js create mode 100644 Penilaian-Esai/public/assets/js/iziToast.min.js create mode 100644 Penilaian-Esai/public/assets/js/jquery.dataTables.min.js create mode 100644 Penilaian-Esai/public/assets/js/jquery.min.js create mode 100644 Penilaian-Esai/public/assets/js/jquery.nicescroll.js create mode 100644 Penilaian-Esai/public/assets/js/popper.min.js create mode 100644 Penilaian-Esai/public/assets/js/profile.js create mode 100644 Penilaian-Esai/public/assets/js/select2.min.js create mode 100644 Penilaian-Esai/public/assets/js/sweetalert.min.js create mode 100644 Penilaian-Esai/public/assets/stisla/css/components.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/components.css.map create mode 100644 Penilaian-Esai/public/assets/stisla/css/custom.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/custom.css.map create mode 100644 Penilaian-Esai/public/assets/stisla/css/reverse.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/rtl.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/skins/reverse.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/skins/reverse.css.map create mode 100644 Penilaian-Esai/public/assets/stisla/css/style.css create mode 100644 Penilaian-Esai/public/assets/stisla/css/style.css.map create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-600.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-600.svg create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-600.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-600.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-600.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-700.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-700.svg create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-700.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-700.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-700.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-800.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-800.svg create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-800.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-800.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-800.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-regular.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-regular.svg create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-regular.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-regular.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/nunito-v9-latin-regular.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Black-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Black-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Black-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Black-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Bold-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Bold-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Bold-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Bold-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Light-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Light-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Light-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Light-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Medium-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Medium-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Medium-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Medium-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Thin-FD-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Thin-FD-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Thin-FD-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits-Without-Latin/Vazir-Thin-FD-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Black-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Black-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Black-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Black-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Bold-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Bold-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Bold-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Bold-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Light-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Light-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Light-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Light-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Medium-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Medium-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Medium-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Medium-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Thin-FD.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Thin-FD.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Thin-FD.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Farsi-Digits/Vazir-Thin-FD.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/LICENSE create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Black.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Black.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Black.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Black.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Bold.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Bold.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Bold.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Bold.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Light.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Light.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Light.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Light.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Medium.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Medium.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Medium.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Medium.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Thin.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Thin.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Thin.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir-Thin.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Vazir.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Black-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Black-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Black-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Black-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Bold-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Bold-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Bold-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Bold-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Light-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Light-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Light-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Light-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Medium-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Medium-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Medium-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Medium-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Thin-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Thin-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Thin-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-Thin-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-WOL.eot create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-WOL.ttf create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-WOL.woff create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/Without-Latin/Vazir-WOL.woff2 create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/font-face.css create mode 100644 Penilaian-Esai/public/assets/stisla/fonts/vazir/sample.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/avatar/avatar-1.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/avatar/avatar-2.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/avatar/avatar-3.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/avatar/avatar-4.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/avatar/avatar-5.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/drawkit/drawkit-full-stack-man-colour.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/drawkit/drawkit-mobile-article-colour.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/drawkit/drawkit-nature-man-colour.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/drawkit/revenue-graph-colour.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/example-image-50.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/example-image.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img01.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img02.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img03.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img04.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img05.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img06.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img07.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img08.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img09.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img10.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img11.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img12.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img13.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img14.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img15.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img16.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/news/img17.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/p-250.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/p-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-1-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-1.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-2-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-2.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-3-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-3.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-4-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-4.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-5-50.png create mode 100644 Penilaian-Esai/public/assets/stisla/img/products/product-5.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/stisla-fill.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/stisla-light.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/stisla-transparent.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/stisla.svg create mode 100644 Penilaian-Esai/public/assets/stisla/img/unsplash/andre-benz-1214056-unsplash.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/unsplash/eberhard-grossgasteiger-1207565-unsplash.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/img/unsplash/login-bg.jpg create mode 100644 Penilaian-Esai/public/assets/stisla/js/custom.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/auth-register.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/bootstrap-modal.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/components-chat-box.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/components-multiple-upload.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/components-statistic.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/components-table.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/components-user.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/features-post-create.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/features-posts.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/features-setting-detail.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/forms-advanced-forms.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-advanced-route.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-draggable-marker.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-geocoding.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-geolocation.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-marker.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-multiple-marker.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-route.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/gmaps-simple.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/index-0.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/index.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-calendar.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-chartjs.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-datatables.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-ion-icons.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-slider.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-sparkline.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-sweetalert.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-toastr.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/modules-vector-map.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/page/utilities-contact.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/scripts.js create mode 100644 Penilaian-Esai/public/assets/stisla/js/stisla.js create mode 100644 Penilaian-Esai/public/css/Pe-icon-7-stroke.css create mode 100644 Penilaian-Esai/public/css/all.css create mode 100644 Penilaian-Esai/public/css/app.css create mode 100644 Penilaian-Esai/public/css/bootstrap-flex.css create mode 100644 Penilaian-Esai/public/css/bootstrap.css create mode 100644 Penilaian-Esai/public/css/custom.css create mode 100644 Penilaian-Esai/public/css/font-awesome.min.css create mode 100644 Penilaian-Esai/public/css/main.css create mode 100644 Penilaian-Esai/public/css/main.min.css create mode 100644 Penilaian-Esai/public/css/owl.carousel.css create mode 100644 Penilaian-Esai/public/css/owl.theme.css create mode 100644 Penilaian-Esai/public/css/prism.css create mode 100644 Penilaian-Esai/public/css/quill.bubble.css create mode 100644 Penilaian-Esai/public/css/quill.core.css create mode 100644 Penilaian-Esai/public/css/quill.snow.css create mode 100644 Penilaian-Esai/public/css/social-icons.css create mode 100644 Penilaian-Esai/public/favicon.ico create mode 100644 Penilaian-Esai/public/image_upload/20220728170213.png create mode 100644 Penilaian-Esai/public/image_upload/20220728171009.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172040.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172051.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172104.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172117.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172150.png create mode 100644 Penilaian-Esai/public/image_upload/20220728172317.png create mode 100644 Penilaian-Esai/public/img/logo-kecil.png create mode 100644 Penilaian-Esai/public/img/logo-kecil1.png create mode 100644 Penilaian-Esai/public/img/logo-single.png create mode 100644 Penilaian-Esai/public/img/logo-utama.png create mode 100644 Penilaian-Esai/public/img/logo-utama1.png create mode 100644 Penilaian-Esai/public/img/logo.png create mode 100644 Penilaian-Esai/public/img/pngwing.com.png create mode 100644 Penilaian-Esai/public/index.php create mode 100644 Penilaian-Esai/public/js/app.js create mode 100644 Penilaian-Esai/public/js/bootstrap.min.js create mode 100644 Penilaian-Esai/public/js/codeflask.min.js create mode 100644 Penilaian-Esai/public/js/jquery-1.12.0.min.js create mode 100644 Penilaian-Esai/public/js/prism.js create mode 100644 Penilaian-Esai/public/js/quill/quill.core.js create mode 100644 Penilaian-Esai/public/js/quill/quill.js create mode 100644 Penilaian-Esai/public/js/quill/quill.min.js create mode 100644 Penilaian-Esai/public/js/quill/quill.min.js.map create mode 100644 Penilaian-Esai/public/js/scripts.js create mode 100644 Penilaian-Esai/public/js/scripts.min.js create mode 100644 Penilaian-Esai/public/js/tether.min.js create mode 100644 Penilaian-Esai/public/js/webfont.js create mode 100644 Penilaian-Esai/public/mix-manifest.json create mode 100644 Penilaian-Esai/public/robots.txt create mode 100644 Penilaian-Esai/public/web/css/components.css create mode 100644 Penilaian-Esai/public/web/css/components.css.map create mode 100644 Penilaian-Esai/public/web/css/custom.css create mode 100644 Penilaian-Esai/public/web/css/custom.css.map create mode 100644 Penilaian-Esai/public/web/css/reverse.css create mode 100644 Penilaian-Esai/public/web/css/rtl.css create mode 100644 Penilaian-Esai/public/web/css/skins/reverse.css create mode 100644 Penilaian-Esai/public/web/css/skins/reverse.css.map create mode 100644 Penilaian-Esai/public/web/css/style.css create mode 100644 Penilaian-Esai/public/web/css/style.css.map create mode 100644 Penilaian-Esai/public/web/fonts/FontAwesome.otf create mode 100644 Penilaian-Esai/public/web/fonts/fontawesome-webfont.eot create mode 100644 Penilaian-Esai/public/web/fonts/fontawesome-webfont.svg create mode 100644 Penilaian-Esai/public/web/fonts/fontawesome-webfont.ttf create mode 100644 Penilaian-Esai/public/web/fonts/fontawesome-webfont.woff create mode 100644 Penilaian-Esai/public/web/fonts/fontawesome-webfont.woff2 create mode 100644 Penilaian-Esai/public/web/js/bootstrap-select.min.js create mode 100644 Penilaian-Esai/public/web/js/bootstrap.min.js create mode 100644 Penilaian-Esai/public/web/js/currency.js create mode 100644 Penilaian-Esai/public/web/js/custom.js create mode 100644 Penilaian-Esai/public/web/js/jquery-ui.min.js create mode 100644 Penilaian-Esai/public/web/js/jquery.inview.min.js create mode 100644 Penilaian-Esai/public/web/js/jquery.validate.min.js create mode 100644 Penilaian-Esai/public/web/js/scripts.js create mode 100644 Penilaian-Esai/public/web/js/stisla.js create mode 100644 Penilaian-Esai/resources/assets/js/custom/custom-datatable.js create mode 100644 Penilaian-Esai/resources/assets/js/custom/custom.js create mode 100644 Penilaian-Esai/resources/assets/js/profile.js create mode 100644 Penilaian-Esai/resources/css/app.css create mode 100644 Penilaian-Esai/resources/js/app.js create mode 100644 Penilaian-Esai/resources/js/bootstrap.js create mode 100644 Penilaian-Esai/resources/js/components/ExampleComponent.vue create mode 100644 Penilaian-Esai/resources/sass/_variables.scss create mode 100644 Penilaian-Esai/resources/sass/app.scss create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/badge_settings/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/contents/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/courses/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/dashboard/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/dashboard/leaderboard.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/dashboard/penilaian.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/dashboard/report.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/explain/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/explain/field.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/explain/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/explain/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/explain/table_essay.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/lessons/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/level/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/level/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/level/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/level/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/level/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/questions/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/roles/table.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/create.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/edit.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/index.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/show.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/show_fields.blade.php create mode 100644 Penilaian-Esai/resources/views/admin/users/table.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/forgot-password.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/login.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/passwords/confirm.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/passwords/email.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/passwords/reset.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/register.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/reset-password.blade.php create mode 100644 Penilaian-Esai/resources/views/auth/verify.blade.php create mode 100644 Penilaian-Esai/resources/views/home.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/app.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/auth_app.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/code_test.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/code_tets_navbar.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/footer.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/front.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/front_navbar.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/header.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/menu.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/report.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/report_navbar.blade.php create mode 100644 Penilaian-Esai/resources/views/layouts/sidebar.blade.php create mode 100644 Penilaian-Esai/resources/views/profile/change_password.blade.php create mode 100644 Penilaian-Esai/resources/views/profile/edit_profile.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/code_test.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/detail.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/detail_report.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/essay_edit.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/explain.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/explain_edit.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/explain_field.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/index.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/leaderboard_student.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/level.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/my_course.blade.php create mode 100644 Penilaian-Esai/resources/views/student_courses/report.blade.php create mode 100644 Penilaian-Esai/resources/views/welcome.blade.php create mode 100644 Penilaian-Esai/routes/api.php create mode 100644 Penilaian-Esai/routes/channels.php create mode 100644 Penilaian-Esai/routes/console.php create mode 100644 Penilaian-Esai/routes/web.php create mode 100644 Penilaian-Esai/storage/app/.gitignore create mode 100644 Penilaian-Esai/storage/app/public/.gitignore create mode 100644 Penilaian-Esai/storage/framework/.gitignore create mode 100644 Penilaian-Esai/storage/framework/cache/.gitignore create mode 100644 Penilaian-Esai/storage/framework/cache/data/.gitignore create mode 100644 Penilaian-Esai/storage/framework/sessions/.gitignore create mode 100644 Penilaian-Esai/storage/framework/testing/.gitignore create mode 100644 Penilaian-Esai/storage/framework/views/.gitignore create mode 100644 Penilaian-Esai/storage/logs/.gitignore create mode 100644 Penilaian-Esai/tests/ApiTestTrait.php create mode 100644 Penilaian-Esai/tests/CreatesApplication.php create mode 100644 Penilaian-Esai/tests/Feature/ExampleTest.php create mode 100644 Penilaian-Esai/tests/TestCase.php create mode 100644 Penilaian-Esai/tests/Unit/ExampleTest.php create mode 100644 Penilaian-Esai/webpack.mix.js create mode 100644 gamification_testing.sql create mode 100644 online-compiler/.classpath create mode 100644 online-compiler/.gitignore create mode 100644 online-compiler/.idea/vcs.xml create mode 100644 online-compiler/.project create mode 100644 online-compiler/Procfile create mode 100644 online-compiler/Readme.md create mode 100644 online-compiler/compiler/__init__.py create mode 100644 online-compiler/compiler/__pycache__/__init__.cpython-310.pyc create mode 100644 online-compiler/compiler/__pycache__/__init__.cpython-311.pyc create mode 100644 online-compiler/compiler/__pycache__/__init__.cpython-312.pyc create mode 100644 online-compiler/compiler/__pycache__/__init__.cpython-39.pyc create mode 100644 online-compiler/compiler/__pycache__/urls.cpython-310.pyc create mode 100644 online-compiler/compiler/__pycache__/urls.cpython-311.pyc create mode 100644 online-compiler/compiler/__pycache__/urls.cpython-312.pyc create mode 100644 online-compiler/compiler/__pycache__/urls.cpython-39.pyc create mode 100644 online-compiler/compiler/__pycache__/views.cpython-310.pyc create mode 100644 online-compiler/compiler/__pycache__/views.cpython-311.pyc create mode 100644 online-compiler/compiler/__pycache__/views.cpython-312.pyc create mode 100644 online-compiler/compiler/__pycache__/views.cpython-39.pyc create mode 100644 online-compiler/compiler/admin.py create mode 100644 online-compiler/compiler/apps.py create mode 100644 online-compiler/compiler/migrations/__init__.py create mode 100644 online-compiler/compiler/models.py create mode 100644 online-compiler/compiler/tests.py create mode 100644 online-compiler/compiler/urls.py create mode 100644 online-compiler/compiler/views.py create mode 100644 online-compiler/db.sqlite3 create mode 100644 online-compiler/grade_generator.log create mode 100644 online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/abc_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/abc_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/admin_admin_com/.gitignore create mode 100644 online-compiler/java_files/admin_admin_com/HelloWorld.java create mode 100644 online-compiler/java_files/admin_admin_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/admin_admin_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/admin_admin_com/MyClass.java create mode 100644 online-compiler/java_files/adminku_gmail_com/.gitignore create mode 100644 online-compiler/java_files/adminku_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/adminku_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/adminku_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/adminku_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/baru_gmail_com/Angka.class create mode 100644 online-compiler/java_files/baru_gmail_com/Angka.java create mode 100644 online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/baru_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/baru_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/della_gmail_com/Angka.class create mode 100644 online-compiler/java_files/della_gmail_com/Angka.java create mode 100644 online-compiler/java_files/della_gmail_com/Average.class create mode 100644 online-compiler/java_files/della_gmail_com/Average.java create mode 100644 online-compiler/java_files/della_gmail_com/Bank.class create mode 100644 online-compiler/java_files/della_gmail_com/Bank.java create mode 100644 online-compiler/java_files/della_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/della_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/della_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/della_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/della_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/della_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/della_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/della_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/della_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/della_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/della_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/della_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/della_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/della_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/della_gmail_com/Order.class create mode 100644 online-compiler/java_files/della_gmail_com/Order.java create mode 100644 online-compiler/java_files/della_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/della_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/della_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/della_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/della_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/della_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/fransiskaly_gmail_com/.gitignore create mode 100644 online-compiler/java_files/fransiskaly_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/fransiskaly_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/.gitignore create mode 100644 online-compiler/java_files/gaga_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/gaga_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/gaga_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/gaga_gmail_com/Order.java create mode 100644 online-compiler/java_files/gaga_gmail_com/Password.java create mode 100644 online-compiler/java_files/gaga_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/ifa_gmail_com/Angka.class create mode 100644 online-compiler/java_files/ifa_gmail_com/Angka.java create mode 100644 online-compiler/java_files/ifa_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/ifa_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/ifa_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/ifa_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/ifa_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/ifa_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/ifa_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/ifa_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/ifa_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/ifa_gmail_com/Order.class create mode 100644 online-compiler/java_files/ifa_gmail_com/Order.java create mode 100644 online-compiler/java_files/ifa_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/ifa_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/ifa_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/ifa_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/ifa_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/ifa_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/irul_gmail_com/.gitignore create mode 100644 online-compiler/java_files/irul_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/irul_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/irul_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/irul_gmail_com/MyClasss.java create mode 100644 online-compiler/java_files/irul_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabanlower_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabansinonim_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabansteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabantandabaca_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabantandabacalower_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabantandalowersteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Angka.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Angka.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Average.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Average.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Bank.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Bank.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Order.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/Order.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/jawavabstopword_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Average.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Average.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Bank.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Bank.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Angka.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Angka.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Average.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Average.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Bank.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Bank.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Order.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/Order.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/kuncijawaban4_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lia_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lia_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lia_gmail_com/Average.class create mode 100644 online-compiler/java_files/lia_gmail_com/Average.java create mode 100644 online-compiler/java_files/lia_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lia_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lia_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lia_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lia_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lia_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lia_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lia_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lia_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lia_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lia_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lia_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lia_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lia_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lia_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lia_gmail_com/Order.class create mode 100644 online-compiler/java_files/lia_gmail_com/Order.java create mode 100644 online-compiler/java_files/lia_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lia_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lia_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lia_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lia_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lia_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lib/hamcrest-core-1.3.jar create mode 100644 online-compiler/java_files/lib/junit-4.13.2.jar create mode 100644 online-compiler/java_files/lisa_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/lisa_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitTweetCounterTest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/JUnitTweetCounterTest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lisa_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lisa_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/lisa_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/lisa_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lisa_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lisa_gmail_com/Order.class create mode 100644 online-compiler/java_files/lisa_gmail_com/Order.java create mode 100644 online-compiler/java_files/lisa_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lisa_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lisa_gmail_com/OrderNest.class create mode 100644 online-compiler/java_files/lisa_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/lisa_gmail_com/Password.class create mode 100644 online-compiler/java_files/lisa_gmail_com/Password.java create mode 100644 online-compiler/java_files/lisa_gmail_com/Poetry.class create mode 100644 online-compiler/java_files/lisa_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/lisa_gmail_com/TweetCounter.class create mode 100644 online-compiler/java_files/lisa_gmail_com/TweetCounter.java create mode 100644 online-compiler/java_files/lower_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lower_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lower_gmail_com/Average.class create mode 100644 online-compiler/java_files/lower_gmail_com/Average.java create mode 100644 online-compiler/java_files/lower_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lower_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lower_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lower_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lower_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lower_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lower_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lower_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lower_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lower_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lower_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lower_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lower_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lower_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lower_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lower_gmail_com/Order.class create mode 100644 online-compiler/java_files/lower_gmail_com/Order.java create mode 100644 online-compiler/java_files/lower_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lower_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lower_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lower_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lower_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lower_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Average.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Average.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowersteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Average.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Average.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowerstopword_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandabaca_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Average.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Average.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandabacanonsistematis_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandabacastopword_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Average.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Average.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Bank.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Bank.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/lowertandastopwordsteeming_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/Angka.class create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/Angka.java create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/nareshpratista_contact_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/normalisasi_gmail_com/Angka.class create mode 100644 online-compiler/java_files/normalisasi_gmail_com/Angka.java create mode 100644 online-compiler/java_files/normalisasi_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/normalisasi_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/normalisasi_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/normalisasi_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/normalisasi_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/normalisasi_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/Angka.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/Angka.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/Order.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/Order.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/pelajar_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/pelajar_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/Angka.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/Angka.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/Order.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/Order.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/percobaan1_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/percobaan1_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/Angka.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/Angka.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/Order.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/Order.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/percobaan2_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/percobaan2_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/resh_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/resh_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/resh_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/resh_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/revisi_gmail_com/Angka.class create mode 100644 online-compiler/java_files/revisi_gmail_com/Angka.java create mode 100644 online-compiler/java_files/revisi_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/revisi_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/revisi_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/revisi_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitPasswordTest.class create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitPoetryTest.class create mode 100644 online-compiler/java_files/rika_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/rika_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/rika_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/rika_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/rika_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/rika_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/rika_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/rika_gmail_com/Password.class create mode 100644 online-compiler/java_files/rika_gmail_com/Password.java create mode 100644 online-compiler/java_files/rika_gmail_com/Poetry.class create mode 100644 online-compiler/java_files/rika_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/riko_gmail_com/.gitignore create mode 100644 online-compiler/java_files/riko_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/riko_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/riko_gmail_com/MyClasss.java create mode 100644 online-compiler/java_files/riko_gmail_com/Order.java create mode 100644 online-compiler/java_files/riko_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/riko_gmail_com/Password.java create mode 100644 online-compiler/java_files/riko_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/rossa_gmail_com/Angka.class create mode 100644 online-compiler/java_files/rossa_gmail_com/Angka.java create mode 100644 online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/rossa_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/rossa_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/rossa_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/rossa_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/Angka.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/Angka.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/Order.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/Order.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/rossaakmalia66_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/seli_gmail_com/.gitignore create mode 100644 online-compiler/java_files/seli_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/seli_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/seli_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/seli_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/seli_gmail_com/MyClasss.java create mode 100644 online-compiler/java_files/seli_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/seli_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/seli_gmail_com/Order.java create mode 100644 online-compiler/java_files/seli_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Angka.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Angka.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Average.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Average.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Bank.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Bank.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/Order.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/Order.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/sinonim_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/sinonim_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/siskanyoba_gmail_com/.gitignore create mode 100644 online-compiler/java_files/siskanyoba_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/siskanyoba_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Angka.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Angka.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Average.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Average.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Bank.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Bank.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Order.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/Order.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/steemingbaru_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Angka.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Angka.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Average.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Average.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Bank.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Bank.java create mode 100644 online-compiler/java_files/test0106_gmail_com/BookStore.class create mode 100644 online-compiler/java_files/test0106_gmail_com/BookStore.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Fibonacci.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Fibonacci.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitBookStoreTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitBookStoreTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitFibonacciTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitFibonacciTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLingkaranTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLingkaranTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/test0106_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Lingkaran.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Lingkaran.java create mode 100644 online-compiler/java_files/test0106_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/test0106_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/test0106_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test0106_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test0106_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test0106_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test0106_gmail_com/Order.class create mode 100644 online-compiler/java_files/test0106_gmail_com/Order.java create mode 100644 online-compiler/java_files/test0106_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test0106_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test0106_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/test0106_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/test0106_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/test0106_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/test06042_gmail_com/Angka.class create mode 100644 online-compiler/java_files/test06042_gmail_com/Angka.java create mode 100644 online-compiler/java_files/test06042_gmail_com/Average.class create mode 100644 online-compiler/java_files/test06042_gmail_com/Average.java create mode 100644 online-compiler/java_files/test06042_gmail_com/Bank.class create mode 100644 online-compiler/java_files/test06042_gmail_com/Bank.java create mode 100644 online-compiler/java_files/test06042_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test06042_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitAverageTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitAverageTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitBankTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitBankTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitManipulateVariableTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitManipulateVariableTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitSecondPiramidTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitSecondPiramidTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test06042_gmail_com/ManipulateVariable.class create mode 100644 online-compiler/java_files/test06042_gmail_com/ManipulateVariable.java create mode 100644 online-compiler/java_files/test06042_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test06042_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test06042_gmail_com/Order.class create mode 100644 online-compiler/java_files/test06042_gmail_com/Order.java create mode 100644 online-compiler/java_files/test06042_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test06042_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test06042_gmail_com/SecondPiramid.class create mode 100644 online-compiler/java_files/test06042_gmail_com/SecondPiramid.java create mode 100644 online-compiler/java_files/test06042_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/test06042_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/test0703_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test0703_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitPasswordTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitPoetryTest.class create mode 100644 online-compiler/java_files/test0703_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/test0703_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test0703_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test0703_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test0703_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test0703_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test0703_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test0703_gmail_com/Password.class create mode 100644 online-compiler/java_files/test0703_gmail_com/Password.java create mode 100644 online-compiler/java_files/test0703_gmail_com/Poetry.class create mode 100644 online-compiler/java_files/test0703_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/test0903_gmail_com/Angka.class create mode 100644 online-compiler/java_files/test0903_gmail_com/Angka.java create mode 100644 online-compiler/java_files/test0903_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test0903_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitOrderNestTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitPasswordTest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/test0903_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/test0903_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test0903_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test0903_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test0903_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test0903_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test0903_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test0903_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test0903_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test0903_gmail_com/OrderNest.class create mode 100644 online-compiler/java_files/test0903_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/test0903_gmail_com/Password.class create mode 100644 online-compiler/java_files/test0903_gmail_com/Password.java create mode 100644 online-compiler/java_files/test1503_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test1503_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderNestTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/test1503_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/test1503_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test1503_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test1503_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test1503_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test1503_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test1503_gmail_com/Order.class create mode 100644 online-compiler/java_files/test1503_gmail_com/Order.java create mode 100644 online-compiler/java_files/test1503_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test1503_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test1503_gmail_com/OrderNest.class create mode 100644 online-compiler/java_files/test1503_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/test1505_gmail_com/Angka.class create mode 100644 online-compiler/java_files/test1505_gmail_com/Angka.java create mode 100644 online-compiler/java_files/test1505_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test1505_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test1505_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test1505_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test1505_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test1703_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test1703_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderNestTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/test1703_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test1703_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test1703_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test1703_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test1703_gmail_com/Order.class create mode 100644 online-compiler/java_files/test1703_gmail_com/Order.java create mode 100644 online-compiler/java_files/test1703_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test1703_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test1703_gmail_com/OrderNest.class create mode 100644 online-compiler/java_files/test1703_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/HelloWorld.class create mode 100644 online-compiler/java_files/test2903_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitMyClassTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitNewsFeedTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderNestTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitPasswordTest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/LuckyFive.class create mode 100644 online-compiler/java_files/test2903_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/test2903_gmail_com/LuckyFiveSecond.class create mode 100644 online-compiler/java_files/test2903_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/test2903_gmail_com/MyClass.class create mode 100644 online-compiler/java_files/test2903_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/test2903_gmail_com/NewsFeed.class create mode 100644 online-compiler/java_files/test2903_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/test2903_gmail_com/Order.class create mode 100644 online-compiler/java_files/test2903_gmail_com/Order.java create mode 100644 online-compiler/java_files/test2903_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/test2903_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/test2903_gmail_com/OrderNest.class create mode 100644 online-compiler/java_files/test2903_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/test2903_gmail_com/Password.class create mode 100644 online-compiler/java_files/test2903_gmail_com/Password.java create mode 100644 online-compiler/java_files/test_cases/JUnitAngkaTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitAverageTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitBankTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitBookStoreTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitFibonacciTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitHelloWorldTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitLingkaranTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitLoopingTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitLuckyFiveSecondTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitLuckyFiveTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitMyClassTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitNewsFeedTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitOrderCaseTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitOrderNestTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitOrderTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitPasswordTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitPoetryTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitSecondPiramidTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitStoreTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitTipeDataTest.java.txt create mode 100644 online-compiler/java_files/test_cases/JUnitTweetCounterTest.java.txt create mode 100644 online-compiler/java_files/test_gmail_com/.gitignore create mode 100644 online-compiler/java_files/test_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/test_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/.gitignore create mode 100644 online-compiler/java_files/testing_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitLuckyFiveSecondTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitLuckyFiveTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitMyClassTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitNewsFeedTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitOrderNestTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitPasswordTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitPoetryTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/JUnitTweetCounterTest.java create mode 100644 online-compiler/java_files/testing_gmail_com/LuckyFive.java create mode 100644 online-compiler/java_files/testing_gmail_com/LuckyFiveSecond.java create mode 100644 online-compiler/java_files/testing_gmail_com/MyClass.java create mode 100644 online-compiler/java_files/testing_gmail_com/NewsFeed.java create mode 100644 online-compiler/java_files/testing_gmail_com/Order.java create mode 100644 online-compiler/java_files/testing_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/testing_gmail_com/OrderNest.java create mode 100644 online-compiler/java_files/testing_gmail_com/Password.java create mode 100644 online-compiler/java_files/testing_gmail_com/Poetry.java create mode 100644 online-compiler/java_files/testing_gmail_com/TweetCounter.java create mode 100644 online-compiler/java_files/tobing_gmail_com/.gitignore create mode 100644 online-compiler/java_files/tobing_gmail_com/HelloWorld.java create mode 100644 online-compiler/java_files/tobing_gmail_com/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/user/.gitignore create mode 100644 online-compiler/java_files/user/HelloWorld.java create mode 100644 online-compiler/java_files/user/JUnitHelloWorldTest.java create mode 100644 online-compiler/java_files/user2_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/user2_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/user2_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/user2_gmail_com/TipeData.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/Angka.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/Angka.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitAngkaTest.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitAngkaTest.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitOrderCaseTest.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitOrderCaseTest.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitTipeDataTest.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/JUnitTipeDataTest.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/Order.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/Order.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/OrderCase.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/OrderCase.java create mode 100644 online-compiler/java_files/userbaru_gmail_com/TipeData.class create mode 100644 online-compiler/java_files/userbaru_gmail_com/TipeData.java create mode 100644 online-compiler/lib/FileCreator.py create mode 100644 online-compiler/lib/FileUploader.py create mode 100644 online-compiler/lib/__pycache__/FileCreator.cpython-310.pyc create mode 100644 online-compiler/lib/__pycache__/FileCreator.cpython-311.pyc create mode 100644 online-compiler/lib/__pycache__/FileCreator.cpython-312.pyc create mode 100644 online-compiler/lib/__pycache__/FileCreator.cpython-39.pyc create mode 100644 online-compiler/lib/__pycache__/FileUploader.cpython-310.pyc create mode 100644 online-compiler/lib/__pycache__/FileUploader.cpython-311.pyc create mode 100644 online-compiler/lib/__pycache__/FileUploader.cpython-312.pyc create mode 100644 online-compiler/lib/__pycache__/FileUploader.cpython-39.pyc create mode 100644 online-compiler/lib/__pycache__/java_runner.cpython-310.pyc create mode 100644 online-compiler/lib/__pycache__/java_runner.cpython-311.pyc create mode 100644 online-compiler/lib/__pycache__/java_runner.cpython-312.pyc create mode 100644 online-compiler/lib/__pycache__/java_runner.cpython-39.pyc create mode 100644 online-compiler/lib/java_runner.py create mode 100644 online-compiler/manage.py create mode 100644 online-compiler/onlinecompiler/__init__.py create mode 100644 online-compiler/onlinecompiler/__pycache__/__init__.cpython-310.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/__init__.cpython-311.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/__init__.cpython-312.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/__init__.cpython-313.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/__init__.cpython-39.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/settings.cpython-310.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/settings.cpython-311.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/settings.cpython-312.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/settings.cpython-313.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/settings.cpython-39.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/urls.cpython-310.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/urls.cpython-311.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/urls.cpython-312.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/urls.cpython-313.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/urls.cpython-39.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/wsgi.cpython-310.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/wsgi.cpython-311.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/wsgi.cpython-312.pyc create mode 100644 online-compiler/onlinecompiler/__pycache__/wsgi.cpython-39.pyc create mode 100644 online-compiler/onlinecompiler/asgi.py create mode 100644 online-compiler/onlinecompiler/settings.py create mode 100644 online-compiler/onlinecompiler/urls.py create mode 100644 online-compiler/onlinecompiler/wsgi.py create mode 100644 online-compiler/python create mode 100644 online-compiler/requirements.txt diff --git a/Penilaian-Esai/.editorconfig b/Penilaian-Esai/.editorconfig new file mode 100644 index 0000000..1671c9b --- /dev/null +++ b/Penilaian-Esai/.editorconfig @@ -0,0 +1,18 @@ +root = true + +[*] +charset = utf-8 +end_of_line = lf +insert_final_newline = true +indent_style = space +indent_size = 4 +trim_trailing_whitespace = true + +[*.md] +trim_trailing_whitespace = false + +[*.{yml,yaml}] +indent_size = 2 + +[docker-compose.yml] +indent_size = 4 diff --git a/Penilaian-Esai/.gitattributes b/Penilaian-Esai/.gitattributes new file mode 100644 index 0000000..510d996 --- /dev/null +++ b/Penilaian-Esai/.gitattributes @@ -0,0 +1,10 @@ +* text=auto + +*.blade.php diff=html +*.css diff=css +*.html diff=html +*.md diff=markdown +*.php diff=php + +/.github export-ignore +CHANGELOG.md export-ignore diff --git a/Penilaian-Esai/.gitignore b/Penilaian-Esai/.gitignore new file mode 100644 index 0000000..bc67a66 --- /dev/null +++ b/Penilaian-Esai/.gitignore @@ -0,0 +1,14 @@ +/node_modules +/public/hot +/public/storage +/storage/*.key +/vendor +.env +.env.backup +.phpunit.result.cache +Homestead.json +Homestead.yaml +npm-debug.log +yarn-error.log +/.idea +/.vscode diff --git a/Penilaian-Esai/.styleci.yml b/Penilaian-Esai/.styleci.yml new file mode 100644 index 0000000..79f63b4 --- /dev/null +++ b/Penilaian-Esai/.styleci.yml @@ -0,0 +1,12 @@ +php: + preset: laravel + disabled: + - no_unused_imports + finder: + not-name: + - index.php +js: + finder: + not-name: + - webpack.mix.js +css: true diff --git a/Penilaian-Esai/README.md b/Penilaian-Esai/README.md new file mode 100644 index 0000000..069eea7 --- /dev/null +++ b/Penilaian-Esai/README.md @@ -0,0 +1,18 @@ +## First initialize project + +1. Run the following command to clone the project + `git clone https://github.com/rsakml/Penilaian-Esai.git` + +2. Run the following command to update the laravel package. + `composer update` + +3. Run the following command to copy the env.example file into .env + `cp .env.example .env` + +4. Run the following command to generate key + `php artisan key:generate` + +5. Import database ke MySQL database. Sesuaikan nama database pada MySQL dengan yang ada pada project Laravel, file .env. + +6. Then run laravel on another port, this case using port = 8001 + `Penilaian-Esai>php artisan serve –-port=8001` \ No newline at end of file diff --git a/Penilaian-Esai/app/Console/Kernel.php b/Penilaian-Esai/app/Console/Kernel.php new file mode 100644 index 0000000..d8bc1d2 --- /dev/null +++ b/Penilaian-Esai/app/Console/Kernel.php @@ -0,0 +1,32 @@ +command('inspire')->hourly(); + } + + /** + * Register the commands for the application. + * + * @return void + */ + protected function commands() + { + $this->load(__DIR__.'/Commands'); + + require base_path('routes/console.php'); + } +} diff --git a/Penilaian-Esai/app/Exceptions/Handler.php b/Penilaian-Esai/app/Exceptions/Handler.php new file mode 100644 index 0000000..82a37e4 --- /dev/null +++ b/Penilaian-Esai/app/Exceptions/Handler.php @@ -0,0 +1,50 @@ +, \Psr\Log\LogLevel::*> + */ + protected $levels = [ + // + ]; + + /** + * A list of the exception types that are not reported. + * + * @var array> + */ + protected $dontReport = [ + // + ]; + + /** + * A list of the inputs that are never flashed to the session on validation exceptions. + * + * @var array + */ + protected $dontFlash = [ + 'current_password', + 'password', + 'password_confirmation', + ]; + + /** + * Register the exception handling callbacks for the application. + * + * @return void + */ + public function register() + { + $this->reportable(function (Throwable $e) { + // + }); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/BadgeSettingAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/BadgeSettingAPIController.php new file mode 100644 index 0000000..313859a --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/BadgeSettingAPIController.php @@ -0,0 +1,131 @@ +badgeSettingRepository = $badgeSettingRepo; + } + + /** + * Display a listing of the BadgeSetting. + * GET|HEAD /badgeSettings + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $badgeSettings = $this->badgeSettingRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($badgeSettings->toArray(), 'Badge Settings retrieved successfully'); + } + + /** + * Store a newly created BadgeSetting in storage. + * POST /badgeSettings + * + * @param CreateBadgeSettingAPIRequest $request + * + * @return Response + */ + public function store(CreateBadgeSettingAPIRequest $request) + { + $input = $request->all(); + + $badgeSetting = $this->badgeSettingRepository->create($input); + + return $this->sendResponse($badgeSetting->toArray(), 'Badge Setting saved successfully'); + } + + /** + * Display the specified BadgeSetting. + * GET|HEAD /badgeSettings/{id} + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + /** @var BadgeSetting $badgeSetting */ + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + return $this->sendError('Badge Setting not found'); + } + + return $this->sendResponse($badgeSetting->toArray(), 'Badge Setting retrieved successfully'); + } + + /** + * Update the specified BadgeSetting in storage. + * PUT/PATCH /badgeSettings/{id} + * + * @param int $id + * @param UpdateBadgeSettingAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateBadgeSettingAPIRequest $request) + { + $input = $request->all(); + + /** @var BadgeSetting $badgeSetting */ + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + return $this->sendError('Badge Setting not found'); + } + + $badgeSetting = $this->badgeSettingRepository->update($input, $id); + + return $this->sendResponse($badgeSetting->toArray(), 'BadgeSetting updated successfully'); + } + + /** + * Remove the specified BadgeSetting from storage. + * DELETE /badgeSettings/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var BadgeSetting $badgeSetting */ + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + return $this->sendError('Badge Setting not found'); + } + + $badgeSetting->delete(); + + return $this->sendSuccess('Badge Setting deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/ContentAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/ContentAPIController.php new file mode 100644 index 0000000..10006da --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/ContentAPIController.php @@ -0,0 +1,131 @@ +contentRepository = $contentRepo; + } + + /** + * Display a listing of the Content. + * GET|HEAD /contents + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $contents = $this->contentRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($contents->toArray(), 'Contents retrieved successfully'); + } + + /** + * Store a newly created Content in storage. + * POST /contents + * + * @param CreateContentAPIRequest $request + * + * @return Response + */ + public function store(CreateContentAPIRequest $request) + { + $input = $request->all(); + + $content = $this->contentRepository->create($input); + + return $this->sendResponse($content->toArray(), 'Content saved successfully'); + } + + /** + * Display the specified Content. + * GET|HEAD /contents/{id} + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + /** @var Content $content */ + $content = $this->contentRepository->find($id); + + if (empty($content)) { + return $this->sendError('Content not found'); + } + + return $this->sendResponse($content->toArray(), 'Content retrieved successfully'); + } + + /** + * Update the specified Content in storage. + * PUT/PATCH /contents/{id} + * + * @param int $id + * @param UpdateContentAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateContentAPIRequest $request) + { + $input = $request->all(); + + /** @var Content $content */ + $content = $this->contentRepository->find($id); + + if (empty($content)) { + return $this->sendError('Content not found'); + } + + $content = $this->contentRepository->update($input, $id); + + return $this->sendResponse($content->toArray(), 'Content updated successfully'); + } + + /** + * Remove the specified Content from storage. + * DELETE /contents/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var Content $content */ + $content = $this->contentRepository->find($id); + + if (empty($content)) { + return $this->sendError('Content not found'); + } + + $content->delete(); + + return $this->sendSuccess('Content deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/CourseAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/CourseAPIController.php new file mode 100644 index 0000000..1a1dc40 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/CourseAPIController.php @@ -0,0 +1,131 @@ +courseRepository = $courseRepo; + } + + /** + * Display a listing of the Course. + * GET|HEAD /courses + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $courses = $this->courseRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($courses->toArray(), 'Courses retrieved successfully'); + } + + /** + * Store a newly created Course in storage. + * POST /courses + * + * @param CreateCourseAPIRequest $request + * + * @return Response + */ + public function store(CreateCourseAPIRequest $request) + { + $input = $request->all(); + + $course = $this->courseRepository->create($input); + + return $this->sendResponse($course->toArray(), 'Course saved successfully'); + } + + /** + * Display the specified Course. + * GET|HEAD /courses/{id} + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + /** @var Course $course */ + $course = $this->courseRepository->find($id); + + if (empty($course)) { + return $this->sendError('Course not found'); + } + + return $this->sendResponse($course->toArray(), 'Course retrieved successfully'); + } + + /** + * Update the specified Course in storage. + * PUT/PATCH /courses/{id} + * + * @param int $id + * @param UpdateCourseAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateCourseAPIRequest $request) + { + $input = $request->all(); + + /** @var Course $course */ + $course = $this->courseRepository->find($id); + + if (empty($course)) { + return $this->sendError('Course not found'); + } + + $course = $this->courseRepository->update($input, $id); + + return $this->sendResponse($course->toArray(), 'Course updated successfully'); + } + + /** + * Remove the specified Course from storage. + * DELETE /courses/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var Course $course */ + $course = $this->courseRepository->find($id); + + if (empty($course)) { + return $this->sendError('Course not found'); + } + + $course->delete(); + + return $this->sendSuccess('Course deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/DashboardAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/DashboardAPIController.php new file mode 100644 index 0000000..025a24a --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/DashboardAPIController.php @@ -0,0 +1,31 @@ +groupBy('question_id') + // ->with(["question"])->get(); + + $summ = TotalScore::select(DB::raw('question_id, count(*) as total')) + ->groupBy('question_id') + ->with(["question"])->get(); + + return Response([ + "chart_data" => [ + "questions" => $summ, + ] + ]); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/QuestionAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/QuestionAPIController.php new file mode 100644 index 0000000..5f37090 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/QuestionAPIController.php @@ -0,0 +1,166 @@ +questionRepository = $questionRepo; + } + + /** + * Display a listing of the Question. + * GET|HEAD /questions + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $questions = $this->questionRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($questions->toArray(), 'Questions retrieved successfully'); + } + + public function getQuestionAnswer($content_id){ + $qa = Question::where("content_id", $content_id)->with("answers")->get(); + return $this->sendResponse([ + ...$qa->toArray(), + ], "success"); + } + + public function checkAnswer(Request $request){ + dd('masuk'); + //if(Auth::check()){ + $score = 0; + $data = json_decode($request->getContent(), true); + foreach ($data["answer_ids"] as $ans){ + $answer = Answer::find($ans); + $is_right = (bool) $answer->is_right; + if($is_right){ + $get_score = $answer->question->score; + $score+=$get_score; + } + } + + $user_score = UserScore::where("user_id", $data["user_id"]); + //if($user_score->count() == 0){ + UserScore::create(["user_id"=> $data["user_id"], "content_id" => $data["content_id"], "score" => $score ]); + //} + return $this->sendResponse(["score"=>$score], "success"); + //} + + } + /** + * Store a newly created Question in storage. + * POST /questions + * + * @param CreateQuestionAPIRequest $request + * + * @return Response + */ + public function store(CreateQuestionAPIRequest $request) + { + $input = $request->all(); + + $question = $this->questionRepository->create($input); + + return $this->sendResponse($question->toArray(), 'Question saved successfully'); + } + + /** + * Display the specified Question. + * GET|HEAD /questions/{id} + * + * @param int $id + * + * @return Response + */ + // public function show($id) + // { + // /** @var Question $question */ + // $question = $this->questionRepository->find($id); + // dd([$id,$question]); + + // if (empty($question)) { + // return $this->sendError('Question not found'); + // } + + // return $this->sendResponse($question->toArray(), 'Question retrieved successfully'); + // } + + /** + * Update the specified Question in storage. + * PUT/PATCH /questions/{id} + * + * @param int $id + * @param UpdateQuestionAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateQuestionAPIRequest $request) + { + $input = $request->all(); + + /** @var Question $question */ + $question = $this->questionRepository->find($id); + + if (empty($question)) { + return $this->sendError('Question not found'); + } + + $question = $this->questionRepository->update($input, $id); + + return $this->sendResponse($question->toArray(), 'Question updated successfully'); + } + + /** + * Remove the specified Question from storage. + * DELETE /questions/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var Question $question */ + $question = $this->questionRepository->find($id); + + if (empty($question)) { + return $this->sendError('Question not found'); + } + + $question->delete(); + + return $this->sendSuccess('Question deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/RoleAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/RoleAPIController.php new file mode 100644 index 0000000..8b6216d --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/RoleAPIController.php @@ -0,0 +1,131 @@ +roleRepository = $roleRepo; + } + + /** + * Display a listing of the Role. + * GET|HEAD /roles + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $roles = $this->roleRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($roles->toArray(), 'Roles retrieved successfully'); + } + + /** + * Store a newly created Role in storage. + * POST /roles + * + * @param CreateRoleAPIRequest $request + * + * @return Response + */ + public function store(CreateRoleAPIRequest $request) + { + $input = $request->all(); + + $role = $this->roleRepository->create($input); + + return $this->sendResponse($role->toArray(), 'Role saved successfully'); + } + + /** + * Display the specified Role. + * GET|HEAD /roles/{id} + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + /** @var Role $role */ + $role = $this->roleRepository->find($id); + + if (empty($role)) { + return $this->sendError('Role not found'); + } + + return $this->sendResponse($role->toArray(), 'Role retrieved successfully'); + } + + /** + * Update the specified Role in storage. + * PUT/PATCH /roles/{id} + * + * @param int $id + * @param UpdateRoleAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateRoleAPIRequest $request) + { + $input = $request->all(); + + /** @var Role $role */ + $role = $this->roleRepository->find($id); + + if (empty($role)) { + return $this->sendError('Role not found'); + } + + $role = $this->roleRepository->update($input, $id); + + return $this->sendResponse($role->toArray(), 'Role updated successfully'); + } + + /** + * Remove the specified Role from storage. + * DELETE /roles/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var Role $role */ + $role = $this->roleRepository->find($id); + + if (empty($role)) { + return $this->sendError('Role not found'); + } + + $role->delete(); + + return $this->sendSuccess('Role deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/API/lessonAPIController.php b/Penilaian-Esai/app/Http/Controllers/API/lessonAPIController.php new file mode 100644 index 0000000..129f2aa --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/API/lessonAPIController.php @@ -0,0 +1,131 @@ +lessonRepository = $lessonRepo; + } + + /** + * Display a listing of the lesson. + * GET|HEAD /lessons + * + * @param Request $request + * @return Response + */ + public function index(Request $request) + { + $lessons = $this->lessonRepository->all( + $request->except(['skip', 'limit']), + $request->get('skip'), + $request->get('limit') + ); + + return $this->sendResponse($lessons->toArray(), 'Lessons retrieved successfully'); + } + + /** + * Store a newly created lesson in storage. + * POST /lessons + * + * @param CreateLessonAPIRequest $request + * + * @return Response + */ + public function store(CreateLessonAPIRequest $request) + { + $input = $request->all(); + + $lesson = $this->lessonRepository->create($input); + + return $this->sendResponse($lesson->toArray(), 'Lesson saved successfully'); + } + + /** + * Display the specified lesson. + * GET|HEAD /lessons/{id} + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + /** @var lesson $lesson */ + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + return $this->sendError('Lesson not found'); + } + + return $this->sendResponse($lesson->toArray(), 'Lesson retrieved successfully'); + } + + /** + * Update the specified lesson in storage. + * PUT/PATCH /lessons/{id} + * + * @param int $id + * @param UpdateLessonAPIRequest $request + * + * @return Response + */ + public function update($id, UpdateLessonAPIRequest $request) + { + $input = $request->all(); + + /** @var lesson $lesson */ + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + return $this->sendError('Lesson not found'); + } + + $lesson = $this->lessonRepository->update($input, $id); + + return $this->sendResponse($lesson->toArray(), 'lesson updated successfully'); + } + + /** + * Remove the specified lesson from storage. + * DELETE /lessons/{id} + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + /** @var lesson $lesson */ + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + return $this->sendError('Lesson not found'); + } + + $lesson->delete(); + + return $this->sendSuccess('Lesson deleted successfully'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/BadgeSettingController.php b/Penilaian-Esai/app/Http/Controllers/Admin/BadgeSettingController.php new file mode 100644 index 0000000..2e92796 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/BadgeSettingController.php @@ -0,0 +1,182 @@ +badgeSettingRepository = $badgeSettingRepo; + } + + /** + * Display a listing of the BadgeSetting. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $badgeSettings = $this->badgeSettingRepository->paginate(10); + + return view('admin.badge_settings.index') + ->with('badgeSettings', $badgeSettings); + } + + /** + * Show the form for creating a new BadgeSetting. + * + * @return Response + */ + public function create() + { + return view('admin.badge_settings.create'); + } + + /** + * Store a newly created BadgeSetting in storage. + * + * @param CreateBadgeSettingRequest $request + * + * @return Response + */ + public function store(CreateBadgeSettingRequest $request) + { + $input = $request->all(); + + $badgeSetting = $this->badgeSettingRepository->create($input); + + // $path = $badgeSetting->file('file')->store('image_upload', 'assets/images'); + + if ($image = $request->file('file')) { + $destinationPath = 'image_upload/'; + $profileImage = date('YmdHis') . "." . $image->getClientOriginalExtension(); + $image->move($destinationPath, $profileImage); + $input['file'] = "$profileImage"; + } + + BadgeSetting::create($input); + + // Product::create($request->all()); + + Flash::success('Badge Setting saved successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } + + /** + * Display the specified BadgeSetting. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + return view('admin.badge_settings.show')->with('badgeSetting', $badgeSetting); + } + + /** + * Show the form for editing the specified BadgeSetting. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + return view('admin.badge_settings.edit')->with('badgeSetting', $badgeSetting); + } + + /** + * Update the specified BadgeSetting in storage. + * + * @param int $id + * @param UpdateBadgeSettingRequest $request + * + * @return Response + */ + public function update($id, UpdateBadgeSettingRequest $request) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + $input = $request->all(); + $badgeSetting = $this->badgeSettingRepository->update($request->all(), $id); + + if ($image = $request->file('file')) { + $destinationPath = 'image_upload/'; + $profileImage = date('YmdHis') . "." . $image->getClientOriginalExtension(); + $image->move($destinationPath, $profileImage); + $input['file'] = "$profileImage"; + } + + $badgeSetting->update($input); + + Flash::success('Badge Setting updated successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } + + /** + * Remove the specified BadgeSetting from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + $this->badgeSettingRepository->delete($id); + + Flash::success('Badge Setting deleted successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/ContentController.php b/Penilaian-Esai/app/Http/Controllers/Admin/ContentController.php new file mode 100644 index 0000000..ce9fde8 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/ContentController.php @@ -0,0 +1,159 @@ +contentRepository = $contentRepo; + } + + /** + * Display a listing of the Content. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $contents = $this->contentRepository->paginate(10); + + return view('admin.contents.index') + ->with('contents', $contents); + } + + /** + * Show the form for creating a new Content. + * + * @return Response + */ + public function create() + { + $lessons = Lesson::all()->pluck("title", "id"); + return view('admin.contents.create', ["lessons" => $lessons]); + } + + /** + * Store a newly created Content in storage. + * + * @param CreateContentRequest $request + * + * @return Response + */ + public function store(CreateContentRequest $request) + { + $input = $request->all(); + + $content = $this->contentRepository->create($input); + + Flash::success('Content saved successfully.'); + + return redirect(route('admin.contents.index')); + } + + /** + * Display the specified Content. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $content = $this->contentRepository->find($id); + + if (empty($content)) { + Flash::error('Content not found'); + + return redirect(route('admin.contents.index')); + } + + return view('admin.contents.show')->with('content', $content); + } + + /** + * Show the form for editing the specified Content. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $content = $this->contentRepository->find($id); + $lessons = Lesson::all()->pluck("title", "id"); + + if (empty($content)) { + Flash::error('Content not found'); + + return redirect(route('admin.contents.index')); + } + + return view('admin.contents.edit')->with('content', $content)->with('lessons', $lessons); + } + + /** + * Update the specified Content in storage. + * + * @param int $id + * @param UpdateContentRequest $request + * + * @return Response + */ + public function update($id, UpdateContentRequest $request) + { + $content = $this->contentRepository->find($id); + + if (empty($content)) { + Flash::error('Content not found'); + + return redirect(route('admin.contents.index')); + } + + $content = $this->contentRepository->update($request->all(), $id); + + Flash::success('Content updated successfully.'); + + return redirect(route('admin.contents.index')); + } + + /** + * Remove the specified Content from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $content = $this->contentRepository->find($id); + + if (empty($content)) { + Flash::error('Content not found'); + + return redirect(route('admin.contents.index')); + } + + $this->contentRepository->delete($id); + + Flash::success('Content deleted successfully.'); + + return redirect(route('admin.contents.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/CourseController.php b/Penilaian-Esai/app/Http/Controllers/Admin/CourseController.php new file mode 100644 index 0000000..d2fc3a8 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/CourseController.php @@ -0,0 +1,157 @@ +courseRepository = $courseRepo; + } + + /** + * Display a listing of the Course. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $courses = $this->courseRepository->paginate(25); + + return view('admin.courses.index') + ->with('courses', $courses); + } + + /** + * Show the form for creating a new Course. + * + * @return Response + */ + public function create() + { + return view('admin.courses.create'); + } + + /** + * Store a newly created Course in storage. + * + * @param CreateCourseRequest $request + * + * @return Response + */ + public function store(CreateCourseRequest $request) + { + $input = $request->all(); + + $course = $this->courseRepository->create($input); + + Flash::success('Course saved successfully.'); + + return redirect(route('admin.courses.index')); + } + + /** + * Display the specified Course. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $course = $this->courseRepository->find($id); + + if (empty($course)) { + Flash::error('Course not found'); + + return redirect(route('admin.courses.index')); + } + + return view('admin.courses.show')->with('course', $course); + } + + /** + * Show the form for editing the specified Course. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $course = $this->courseRepository->find($id); + + if (empty($course)) { + Flash::error('Course not found'); + + return redirect(route('admin.courses.index')); + } + + return view('admin.courses.edit')->with('course', $course); + } + + /** + * Update the specified Course in storage. + * + * @param int $id + * @param UpdateCourseRequest $request + * + * @return Response + */ + public function update($id, UpdateCourseRequest $request) + { + $course = $this->courseRepository->find($id); + + if (empty($course)) { + Flash::error('Course not found'); + + return redirect(route('admin.courses.index')); + } + + $course = $this->courseRepository->update($request->all(), $id); + + Flash::success('Course updated successfully.'); + + return redirect(route('admin.courses.index')); + } + + /** + * Remove the specified Course from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $course = $this->courseRepository->find($id); + + if (empty($course)) { + Flash::error('Course not found'); + + return redirect(route('admin.courses.index')); + } + + $this->courseRepository->delete($id); + + Flash::success('Course deleted successfully.'); + + return redirect(route('admin.courses.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/DashboardController.php b/Penilaian-Esai/app/Http/Controllers/Admin/DashboardController.php new file mode 100644 index 0000000..8219e07 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/DashboardController.php @@ -0,0 +1,255 @@ +middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function index() + { + return view('admin.dashboard.index'); + } + + public function leaderboard() + { + $user_id = User::where('role_id', 2)->get(); + $data = []; + + foreach ($user_id as $user) { + $wondering = WonderingScore::where(["user_id" => $user->id])->sum("score"); + $exploring = UserScore::where("user_id", $user->id)->sum("score"); + $explainKonteks = ExplainingScore::where("user_id", $user->id)->sum("konteks_penjelasan"); + $explainBenar = ExplainingScore::where("user_id", $user->id)->sum("kebenaran"); + $explainKeruntutan = ExplainingScore::where("user_id", $user->id)->sum("keruntutan"); + $final_score = $wondering + $exploring + $explainKonteks + $explainBenar + $explainKeruntutan; + $current_badge = BadgeSetting::where("min", "<=", $final_score)->where("max", ">=", $final_score)->first(); + + $data[] = [ + 'user' => $user, + 'final_score' => $final_score, + 'current_badge' => $current_badge, + ]; + } + + $data = collect($data)->sortByDesc('final_score')->values()->all(); + + if (Auth::user()->role_id == 1) { + return view('admin.dashboard.leaderboard', compact('data')); + } else if (Auth::user()->role_id == 2) { + return view('student_courses.leaderboard_student', compact('data')); + } + } + + public function report($user_id = null) + { + + $users = User::all(); + + if (!empty($user_id)) { + $user_score = UserScore::where(["user_id" => $user_id])->get(); + $take = UserScore::where("user_id", $user_id)->pluck("question_id")->toArray(); + $code_test_score = UserScore::where(["user_id" => $user_id])->whereNotNull("question_id")->get(); + $wondering = WonderingScore::where(["user_id" => $user_id])->sum("score"); + $exploring = UserScore::where("user_id", $user_id)->sum("score"); + $explainKonteks = ExplainingScore::where("user_id", $user_id)->sum("konteks_penjelasan"); + $explainBenar = ExplainingScore::where("user_id", $user_id)->sum("kebenaran"); + $explainKeruntutan = ExplainingScore::where("user_id", $user_id)->sum("keruntutan"); + $final_score = $wondering + $exploring + $explainKonteks + $explainBenar + $explainKeruntutan; + $current_badge = BadgeSetting::where("min", "<=", $final_score)->where("max", ">=", $final_score)->first(); + + return view("admin.dashboard.report", [ + "score" => $user_score, + "current_badge" => $current_badge, + "percentage" => UserScore::getPercentage($user_id), + "finish_code_tests" => $take, + "user_id" => $user_id, + "users" => $users, + "code_score" => $code_test_score, + "final_score" => $final_score + ]); + } + + return view('admin.dashboard.report', ["user_id" => $user_id, 'users' => $users]); + } + + public function penilaian($user_id, $content_id) + { + $user = User::firstwhere('id', $user_id); + $content = Content::where('id', $content_id)->first(); + $read = WonderingScore::where('user_id', $user_id)->where('content_id', $content_id)->first(); + $coding = UserScore::where('user_id', $user_id)->where('content_id', $content_id)->first(); + $question = Question::where('content_id', $content_id)->first(); + $question_id = Question::where('content_id', $content_id)->pluck('id'); + $essay = EssayQuestion::whereIn('question_id', $question_id)->pluck('id'); + $answer = UserAnswer::whereIn('essay_question_id', $essay)->where('user_id', $user_id)->get(); + + $explain_score = ExplainingScore::where('content_id', $content_id)->where('question_id', $question_id)->where('user_id', $user_id)->get(); + $isAccepted = ExplainingScore::where('content_id', $content_id) + ->where('question_id', $question_id) + ->where('user_id', $user_id) + ->get() + ->pluck('is_accepted'); + + + if ($explain_score->count() > 0) { + $total = $explain_score->sum(function ($explain_score) { + return $explain_score->keruntutan + $explain_score->kebenaran + $explain_score->konteks_penjelasan; + }); + + + foreach ($explain_score as $index => $item) { + + // $isAcceptedKonteks = $explain_score[0]->is_accepted; + // $isAcceptedRuntut = $explain_score[1]->is_accepted; + // $isAcceptedKebenaran = $explain_score[2]->is_accepted; + + $convertKonteks = $explain_score[0]->konteks_penjelasan; + $convertRuntut = $explain_score[1]->keruntutan; + $convertKebenaran = $explain_score[2]->kebenaran; + + $id_konteks = $explain_score[0]->id; + $id_runtut = $explain_score[1]->id; + $id_benar = $explain_score[2]->id; + + $konteks = $this->reverseConvert($convertKonteks); + $benar = $this->reverseConvert($convertKebenaran); + $runtut = $this->reverseConvert($convertRuntut); + }; + // dd([$konteks, $benar, $runtut]); + + return view('admin.dashboard.penilaian', compact('user', 'read', 'coding', 'essay', 'answer', 'content', 'question', 'explain_score', 'total', 'konteks', 'runtut', 'benar', 'id_benar', 'id_runtut', 'id_konteks', 'convertKonteks', 'convertRuntut', 'convertKebenaran', 'isAccepted')); + } else { + return view('admin.dashboard.penilaian', compact('user', 'read', 'coding', 'essay', 'answer', 'content', 'question', 'explain_score')); + } + } + + public function reverseConvert($value) + { + switch ($value) { + case 3: + return 1; + case 5: + return 2; + case 10: + return 3; + case 15: + return 4; + case 20: + return 5; + default: + return $value; + } + } + + public function addPenilaian(Request $request) + { + + try { + + $check_explain = ExplainingScore::where('content_id', $request->content_id)->where('question_id', $request->question_id)->where('user_id', $request->user_id); + + if ($check_explain->count() == 0) { + $total_score = TotalScore::create([ + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'score' => $request->tot_score, + 'wondering_score_id' => $request->wondering_id, + 'user_score_id' => $request->exploring_id + ]); + + $explainKonteks = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'konteks_penjelasan' => $request->ikonteks, + 'essay_question_id' => $request->essay_question_konteks, + 'user_answer_id' => $request->user_answer_konteks + ]); + + $explainRuntut = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'keruntutan' => $request->iruntut, + 'essay_question_id' => $request->essay_question_runtut, + 'user_answer_id' => $request->user_answer_runtut + ]); + + $explainBenar = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'kebenaran' => $request->ibenar, + 'essay_question_id' => $request->essay_question_kebenaran, + 'user_answer_id' => $request->user_answer_kebenaran + + ]); + } else { + $check_total = $check_explain->first()->total->id; + + $total_score = TotalScore::findOrFail($check_total); + $total_score->score = $request->tot_score; + $total_score->save(); + + $konteks = ExplainingScore::firstwhere('id', $request->id_konteks); + $konteks->konteks_penjelasan = $request->ikonteks; + $konteks->is_accepted = ($request->acc == 'true'); + $konteks->save(); + + $runtut = ExplainingScore::firstwhere('id', $request->id_runtut); + $runtut->keruntutan = $request->iruntut; + $runtut->is_accepted = ($request->acc == 'true'); + $runtut->save(); + + $benar = ExplainingScore::firstwhere('id', $request->id_benar); + $benar->kebenaran = $request->ibenar; + $benar->is_accepted = ($request->acc == 'true'); + $benar->save(); + } + + return response()->json([ + 'status' => '200', + 'message' => 'Success add user score' + ], 200); + } catch (Exception $err) { + return response()->json([ + 'status' => '500', + 'message' => 'Error add score', + ], 500); + } + } + +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/ExplanationController.php b/Penilaian-Esai/app/Http/Controllers/Admin/ExplanationController.php new file mode 100644 index 0000000..39e4c44 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/ExplanationController.php @@ -0,0 +1,119 @@ +get(); + $title = "summary"; + return view('admin.explain.index', compact('explain', 'title')); + } + + public function showCode() + { + $explain = UserAnswer::paginate(10); + $title = "code"; + return view('admin.explain.index', compact('explain', 'title')); + } + /** + * Show the form for creating a new resource. + * + * @return \Illuminate\Http\Response + */ + public function create() + { + // + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + // + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + $explain = Explains::find($id); + $title = "summary"; + return view('admin.explain.edit', compact('explain', 'title')); + } + + public function editCode($id) + { + $explain = Explains::find($id); + $title = "code"; + return view('admin.explain.edit', compact('explain', 'title')); + } + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $explain = Explains::find($id); + $explain->description = $request->description; + $explain->edited_admin = Auth::id(); + $explain->save(); + + return redirect(route('admin.explaination.index')); + } + + public function updateCode(Request $request, $id) + { + $explain = Explains::find($id); + $explain->description = $request->description; + $explain->edited_admin = Auth::id(); + $explain->save(); + + return redirect(route('admin.code.index.explanation')); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + // + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/LessonController.php b/Penilaian-Esai/app/Http/Controllers/Admin/LessonController.php new file mode 100644 index 0000000..17b541f --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/LessonController.php @@ -0,0 +1,164 @@ +lessonRepository = $lessonRepo; + } + + /** + * Display a listing of the lesson. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $lessons = $this->lessonRepository->paginate(25); + + return view('admin.lessons.index') + ->with('lessons', $lessons); + } + + /** + * Show the form for creating a new lesson. + * + * @return Response + */ + public function create() + { + $courses = Course::all()->pluck("course_name", "id")->toArray(); + $level = Level::all()->pluck("name","id")->toArray(); + Log::debug($courses); + return view('admin.lessons.create', ["courses" => $courses, "level" => $level]); + } + + /** + * Store a newly created lesson in storage. + * + * @param CreatelessonRequest $request + * + * @return Response + */ + public function store(CreateLessonRequest $request) + { + $input = $request->all(); + + $lesson = $this->lessonRepository->create($input); + + Flash::success('Lesson saved successfully.'); + + return redirect(route('admin.lessons.index')); + } + + /** + * Display the specified lesson. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + Flash::error('Lesson not found'); + + return redirect(route('admin.lessons.index')); + } + + return view('admin.lessons.show', compact('lesson')); + } + + /** + * Show the form for editing the specified lesson. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $lesson = $this->lessonRepository->find($id); + $courses = Course::all()->pluck("course_name", "id")->toArray(); + $level = Level::all()->pluck("name","id")->toArray(); + + if (empty($lesson)) { + Flash::error('Lesson not found'); + + return redirect(route('admin.lessons.index')); + } + + return view('admin.lessons.edit', compact('lesson','courses','level')); + } + + /** + * Update the specified lesson in storage. + * + * @param int $id + * @param UpdatelessonRequest $request + * + * @return Response + */ + public function update($id, UpdateLessonRequest $request) + { + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + Flash::error('Lesson not found'); + + return redirect(route('admin.lessons.index')); + } + + $lesson = $this->lessonRepository->update($request->all(), $id); + + Flash::success('Lesson updated successfully.'); + + return redirect(route('admin.lessons.index')); + } + + /** + * Remove the specified lesson from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $lesson = $this->lessonRepository->find($id); + + if (empty($lesson)) { + Flash::error('Lesson not found'); + + return redirect(route('admin.lessons.index')); + } + + $this->lessonRepository->delete($id); + + Flash::success('Lesson deleted successfully.'); + + return redirect(route('admin.lessons.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/LevelController.php b/Penilaian-Esai/app/Http/Controllers/Admin/LevelController.php new file mode 100644 index 0000000..25fa5bf --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/LevelController.php @@ -0,0 +1,112 @@ +pluck("course_name", "id")->toArray(); + return view('admin.level.create',compact('courses')); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $level = Level::create([ + 'name' => $request->name, + 'description' => $request->description, + 'course_id' => $request->course_id, + ]); + + return redirect(route('admin.level.index')); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + // + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + $level = Level::find($id); + $courses = Course::all()->pluck("course_name", "id")->toArray(); + return view('admin.level.edit', compact('level','courses')); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request, $id) + { + $level = Level::find($id); + $level->name = $request->name; + $level->description = $request->description; + $level->course_id = $request->course_id; + $level->save(); + + Flash::success('Level updated successfully.'); + + return redirect(route('admin.level.index')); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy($id) + { + $level = Level::firstwhere('id', $id); + $level->delete(); + + Flash::success('Level delated successfully.'); + + return redirect(route('admin.level.index')); + + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/LevelSettingController.php b/Penilaian-Esai/app/Http/Controllers/Admin/LevelSettingController.php new file mode 100644 index 0000000..2bc2a73 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/LevelSettingController.php @@ -0,0 +1,156 @@ +badgeSettingRepository = $badgeSettingRepo; + } + + /** + * Display a listing of the BadgeSetting. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $badgeSettings = $this->badgeSettingRepository->paginate(10); + + return view('admin.badge_settings.index') + ->with('badgeSettings', $badgeSettings); + } + + /** + * Show the form for creating a new BadgeSetting. + * + * @return Response + */ + public function create() + { + return view('admin.badge_settings.create'); + } + + /** + * Store a newly created BadgeSetting in storage. + * + * @param CreateBadgeSettingRequest $request + * + * @return Response + */ + public function store(CreateBadgeSettingRequest $request) + { + $input = $request->all(); + + $badgeSetting = $this->badgeSettingRepository->create($input); + + Flash::success('Badge Setting saved successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } + + /** + * Display the specified BadgeSetting. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + return view('admin.badge_settings.show')->with('badgeSetting', $badgeSetting); + } + + /** + * Show the form for editing the specified BadgeSetting. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + return view('admin.badge_settings.edit')->with('badgeSetting', $badgeSetting); + } + + /** + * Update the specified BadgeSetting in storage. + * + * @param int $id + * @param UpdateBadgeSettingRequest $request + * + * @return Response + */ + public function update($id, UpdateBadgeSettingRequest $request) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + $badgeSetting = $this->badgeSettingRepository->update($request->all(), $id); + + Flash::success('Badge Setting updated successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } + + /** + * Remove the specified BadgeSetting from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $badgeSetting = $this->badgeSettingRepository->find($id); + + if (empty($badgeSetting)) { + Flash::error('Badge Setting not found'); + + return redirect(route('admin.badgeSettings.index')); + } + + $this->badgeSettingRepository->delete($id); + + Flash::success('Badge Setting deleted successfully.'); + + return redirect(route('admin.badgeSettings.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/QuestionController.php b/Penilaian-Esai/app/Http/Controllers/Admin/QuestionController.php new file mode 100644 index 0000000..41cfb2f --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/QuestionController.php @@ -0,0 +1,274 @@ +questionRepository = $questionRepo; + } + + /** + * Display a listing of the Question. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $questions = $this->questionRepository->paginate(10); + + return view('admin.questions.index') + ->with('questions', $questions); + } + + /** + * Show the form for creating a new Question. + * + * @return Response + */ + public function create() + { + $title = "create"; + $contents = Content::all()->pluck("title", "id"); + return view('admin.questions.create', ["contents" => $contents, "answers" => [], "title" => $title]); + } + + /** + * Store a newly created Question in storage. + * + * @param CreateQuestionRequest $request + * + * @return Response + */ + public function store(Request $request) + { + $input = $request->all(); + $question = $this->questionRepository->create($input); + if ($request['is_essay'] != '1') { + for ($i = 0; $i < 4; $i++) { + $ans = $request["answers_$i"]; + $is_r = @$request["is_right_$i"]; + Answer::create(["question_id" => $question->id, "answer" => $ans, "is_right" => $is_r]); + } + } + + + $essay_question = $request->input('essay_question'); + $key_answer = $request->input('answer_key'); + $key_answer2 = $request->input('answer_key2'); + $key_answer3 = $request->input('answer_key3'); + $key_answer4 = $request->input('answer_key4'); + + foreach ($essay_question as $index => $eques) { + $keys = $key_answer[$index]; + $keys2 = $key_answer2[$index]; + $keys3 = $key_answer3[$index]; + $keys4 = $key_answer4[$index]; + + // $keys = isset($key_answer[$index]) ? $key_answer[$index] : null; + // $keys2 = isset($key_answer2[$index]) ? $key_answer2[$index] : null; + // $keys3 = isset($key_answer3[$index]) ? $key_answer3[$index] : null; + // $keys4 = isset($key_answer4[$index]) ? $key_answer4[$index] : null; + + EssayQuestion::create([ + 'question_id' => $question->id, + 'user_id' => Auth::id(), + 'question' => $eques, + 'answer' => $keys, + 'answer2' => $keys2, + 'answer3' => $keys3, + 'answer4' => $keys4 + ]); + } + + + Flash::success('Question saved successfully.'); + + return redirect(route('admin.questions.index')); + } + + /** + * Display the specified Question. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $question = $this->questionRepository->find($id); + $essay_question = EssayQuestion::where('question_id', $id)->get(); + + if (empty($question)) { + Flash::error('Question not found'); + + return redirect(route('admin.questions.index')); + } + + return view('admin.questions.show')->with('question', $question)->with('essay', $essay_question); + } + + /** + * Show the form for editing the specified Question. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $question = $this->questionRepository->find($id); + + $contents = Content::all()->pluck("title", "id"); + $title = "edit"; + $essay = EssayQuestion::where('question_id', $id)->get(); + if (empty($question)) { + Flash::error('Question not found'); + + return redirect(route('admin.questions.index')); + } + + return view('admin.questions.edit')->with('question', $question)->with("contents", $contents)->with("answers", $question->answers)->with('title', $title)->with('essay', $essay); + } + + /** + * Update the specified Question in storage. + * + * @param int $id + * @param UpdateQuestionRequest $request + * + * @return Response + */ + public function update($id, Request $request) + { + $question = $this->questionRepository->find($id); + + if (empty($question)) { + Flash::error('Question not found'); + + return redirect(route('admin.questions.index')); + } + $question = $this->questionRepository->update($request->all(), $id); + + $answers = $question->answers; + if ($request['is_essay'] != '1') { + if ($answers->count() == 0) { + for ($i = 0; $i < 4; $i++) { + $ans = $request["answers_$i"]; + $is_r = @$request["is_right_$i"]; + + Answer::create(["question_id" => $question->id, "answer" => $ans, "is_right" => $is_r]); + } + } else { + for ($i = 0; $i < 4; $i++) { + $ans = $request["answers_$i"]; + $is_r = @$request["is_right_$i"]; + $id_ans = @$request["answer_id_$i"]; + if (empty($id_ans)) { + Answer::create(["question_id" => $question->id, "answer" => $ans, "is_right" => $is_r]); + } else { + $answ = Answer::find((int)$id_ans); + $answ->update(["question_id" => $question->id, "answer" => $ans, "is_right" => $is_r]); + } + } + } + } else { + $question = $this->questionRepository->update(["is_essay" => 1], $id); + } + + $essay_question = $request->input('essay_question'); + $key_answer = $request->input('answer_key'); + $key_answer2 = $request->input('answer_key2'); + $key_answer3 = $request->input('answer_key3'); + $key_answer4 = $request->input('answer_key4'); + $essay_id = $request->input('essay_id'); + + foreach ($essay_question as $index => $eques) { + $keys = $key_answer[$index]; + $keys2 = $key_answer2[$index]; + $keys3 = $key_answer3[$index]; + $keys4 = $key_answer4[$index]; + $essay = $essay_id[$index]; + + $check_data = EssayQuestion::where('id', $essay); + if ($check_data->count() == 0) { + EssayQuestion::create([ + 'question_id' => $question->id, + 'user_id' => Auth::id(), + 'question' => $eques, + 'answer' => $keys, + 'answer2' => $keys2, + 'answer3' => $keys3, + 'answer4' => $keys4 + ]); + } else { + $data_essay = EssayQuestion::firstwhere('id', $essay); + $data_essay->question = $eques; + $data_essay->answer = $keys; + $data_essay->answer2 = $keys2; + $data_essay->answer3 = $keys3; + $data_essay->answer4 = $keys4; + $data_essay->save(); + } + } + Flash::success('Question updated successfully.'); + Log::debug($request->all()); + + return redirect(route('admin.questions.index')); + } + + /** + * Remove the specified Question from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $question = $this->questionRepository->find($id); + + if (empty($question)) { + Flash::error('Question not found'); + + return redirect(route('admin.questions.index')); + } + $essay = EssayQuestion::where('question_id', $id); + $id_essay = $essay->pluck('id'); + $user_answer = UserAnswer::whereIn('essay_question_id', $id_essay); + $user_score = UserScore::where('question_id', $id); + + $user_score->delete(); + $user_answer->delete(); + $essay->delete(); + $this->questionRepository->delete($id); + + Flash::success('Question deleted successfully.'); + + return redirect(route('admin.questions.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/RoleController.php b/Penilaian-Esai/app/Http/Controllers/Admin/RoleController.php new file mode 100644 index 0000000..7641999 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/RoleController.php @@ -0,0 +1,156 @@ +roleRepository = $roleRepo; + } + + /** + * Display a listing of the Role. + * + * @param Request $request + * + * @return Response + */ + public function index(Request $request) + { + $roles = $this->roleRepository->paginate(10); + + return view('admin.roles.index') + ->with('roles', $roles); + } + + /** + * Show the form for creating a new Role. + * + * @return Response + */ + public function create() + { + return view('admin.roles.create'); + } + + /** + * Store a newly created Role in storage. + * + * @param CreateRoleRequest $request + * + * @return Response + */ + public function store(CreateRoleRequest $request) + { + $input = $request->all(); + + $role = $this->roleRepository->create($input); + + Flash::success('Role saved successfully.'); + + return redirect(route('admin.roles.index')); + } + + /** + * Display the specified Role. + * + * @param int $id + * + * @return Response + */ + public function show($id) + { + $role = $this->roleRepository->find($id); + + if (empty($role)) { + Flash::error('Role not found'); + + return redirect(route('admin.roles.index')); + } + + return view('admin.roles.show')->with('role', $role); + } + + /** + * Show the form for editing the specified Role. + * + * @param int $id + * + * @return Response + */ + public function edit($id) + { + $role = $this->roleRepository->find($id); + + if (empty($role)) { + Flash::error('Role not found'); + + return redirect(route('admin.roles.index')); + } + + return view('admin.roles.edit')->with('role', $role); + } + + /** + * Update the specified Role in storage. + * + * @param int $id + * @param UpdateRoleRequest $request + * + * @return Response + */ + public function update($id, UpdateRoleRequest $request) + { + $role = $this->roleRepository->find($id); + + if (empty($role)) { + Flash::error('Role not found'); + + return redirect(route('admin.roles.index')); + } + + $role = $this->roleRepository->update($request->all(), $id); + + Flash::success('Role updated successfully.'); + + return redirect(route('admin.roles.index')); + } + + /** + * Remove the specified Role from storage. + * + * @param int $id + * + * @throws \Exception + * + * @return Response + */ + public function destroy($id) + { + $role = $this->roleRepository->find($id); + + if (empty($role)) { + Flash::error('Role not found'); + + return redirect(route('admin.roles.index')); + } + + $this->roleRepository->delete($id); + + Flash::success('Role deleted successfully.'); + + return redirect(route('admin.roles.index')); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Admin/UserController.php b/Penilaian-Esai/app/Http/Controllers/Admin/UserController.php new file mode 100644 index 0000000..e7c9d52 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Admin/UserController.php @@ -0,0 +1,129 @@ +pluck('role', 'id'); + $code = "create"; + + return view('admin.users.create', compact('roles','code')); + } + + /** + * Store a newly created resource in storage. + * + * @param \Illuminate\Http\Request $request + * @return \Illuminate\Http\Response + */ + public function store(Request $request) + { + $user = User::create($request->only('name','email', 'role_id','class') + ['password' => bcrypt($request->password)]); + return redirect()->route('admin.users.index'); + } + + /** + * Display the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function show($id) + { + $user = User::find($id); + $roles = Role::all()->pluck("role", "id")->toArray(); + // if (empty($lesson)) { + // Flash::error('Lesson not found'); + // + // return redirect(route('admin.lessons.index')); + // } + return view('admin.users.show')->with('user', $user)->with("roles", $roles); + } + + /** + * Show the form for editing the specified resource. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function edit($id) + { + + $user = User::find($id); + $roles = Role::all()->pluck("role", "id")->toArray(); + $code = "edit"; + // if (empty($lesson)) { + // Flash::error('Lesson not found'); + // + // return redirect(route('admin.lessons.index')); + // } + return view('admin.users.edit')->with('user', $user)->with("roles", $roles)->with("code", $code); + } + + /** + * Update the specified resource in storage. + * + * @param \Illuminate\Http\Request $request + * @param int $id + * @return \Illuminate\Http\Response + */ + public function update(Request $request,User $user) + { + $user->update($request->only('name','email', 'role_id','class') + ['password' => bcrypt($request->password)]); + return redirect()->route('admin.users.index'); + } + + /** + * Remove the specified resource from storage. + * + * @param int $id + * @return \Illuminate\Http\Response + */ + public function destroy(Request $data, $id) + { + + User::find($id)->delete([ + 'name' => $data->name, + 'email' => $data->email, + 'password' => $data->password, + 'role_id' => $data->role_id, + 'class' => $data->class, + ]); + return redirect()->route('admin.users.index')->with(['message'=> 'Successfully deleted!!']); + } +} + // $post =User::where('id', $id)->first(); + // + // if ($post != null) { + // $post->delete(); + // return redirect()->route('admin.users.index')->with(['message'=> 'Successfully deleted!!']); + // } + // + // return redirect()->route('admin.users.index')->with(['message'=> 'Wrong ID!!']); + // + // } diff --git a/Penilaian-Esai/app/Http/Controllers/ApiController.php b/Penilaian-Esai/app/Http/Controllers/ApiController.php new file mode 100644 index 0000000..02eaeff --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/ApiController.php @@ -0,0 +1,122 @@ +only('name', 'email', 'password'); + $validator = Validator::make($data, [ + 'name' => 'required|string', + 'email' => 'required|email|unique:users', + 'password' => 'required|string|min:6|max:50' + ]); + + //Send failed response if request is not valid + if ($validator->fails()) { + return response()->json(['error' => $validator->messages()], 200); + } + + //Request is valid, create new user + $user = User::create([ + 'name' => $request->name, + 'email' => $request->email, + 'password' => bcrypt($request->password) + ]); + + //User created, return success response + return response()->json([ + 'success' => true, + 'message' => 'User created successfully', + 'data' => $user + ], Response::HTTP_OK); + } + + public function authenticate(Request $request) + { + $credentials = $request->only('email', 'password'); + Log::debug($request->all()); + //valid credential + $validator = Validator::make($credentials, [ + 'email' => 'required|email', + 'password' => 'required|string|min:6|max:50' + ]); + + //Send failed response if request is not valid + if ($validator->fails()) { + return response()->json(['error' => $validator->messages()], 200); + } + + //Request is validated + //Crean token + try { + if (! $token = JWTAuth::attempt($credentials)) { + return response()->json([ + 'success' => false, + 'message' => 'Login credentials are invalid.', + ], 400); + } + } catch (JWTException $e) { + return $credentials; + return response()->json([ + 'success' => false, + 'message' => 'Could not create token.', + ], 500); + } + + //Token created, return with success response and jwt token + return response()->json([ + 'success' => true, + 'token' => $token, + ]); + } + + public function logout(Request $request) + { + //valid credential + $validator = Validator::make($request->only('token'), [ + 'token' => 'required' + ]); + + //Send failed response if request is not valid + if ($validator->fails()) { + return response()->json(['error' => $validator->messages()], 200); + } + + //Request is validated, do logout + try { + JWTAuth::invalidate($request->token); + + return response()->json([ + 'success' => true, + 'message' => 'User has been logged out' + ]); + } catch (JWTException $exception) { + return response()->json([ + 'success' => false, + 'message' => 'Sorry, user cannot be logged out' + ], Response::HTTP_INTERNAL_SERVER_ERROR); + } + } + + public function get_user(Request $request) + { + $this->validate($request, [ + 'token' => 'required' + ]); + + $user = JWTAuth::authenticate($request->token); + + return response()->json(['user' => $user]); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/AppBaseController.php b/Penilaian-Esai/app/Http/Controllers/AppBaseController.php new file mode 100644 index 0000000..1108a7f --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/AppBaseController.php @@ -0,0 +1,38 @@ + true, + 'message' => $message + ], 200); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Auth/ConfirmPasswordController.php b/Penilaian-Esai/app/Http/Controllers/Auth/ConfirmPasswordController.php new file mode 100644 index 0000000..138c1f0 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Auth/ConfirmPasswordController.php @@ -0,0 +1,40 @@ +middleware('auth'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Auth/ForgotPasswordController.php b/Penilaian-Esai/app/Http/Controllers/Auth/ForgotPasswordController.php new file mode 100644 index 0000000..465c39c --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Auth/ForgotPasswordController.php @@ -0,0 +1,22 @@ +middleware('guest')->except('logout'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Auth/RegisterController.php b/Penilaian-Esai/app/Http/Controllers/Auth/RegisterController.php new file mode 100644 index 0000000..9381530 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Auth/RegisterController.php @@ -0,0 +1,77 @@ +middleware('guest'); + } + + /** + * Get a validator for an incoming registration request. + * + * @param array $data + * @return \Illuminate\Contracts\Validation\Validator + */ + protected function validator(array $data) + { + return Validator::make($data, [ + 'name' => ['required', 'string', 'max:255'], + 'email' => ['required', 'string', 'email', 'max:255', 'unique:users'], + 'password' => ['required', 'string', 'min:8', 'confirmed'], + 'class' => ['required','integer'] + ]); + } + + /** + * Create a new user instance after a valid registration. + * + * @param array $data + * @return \App\Models\User + */ + + protected function create(array $data) + { + return User::create([ + 'name' => $data['name'], + 'email' => $data['email'], + 'password' => Hash::make($data['password']), + 'role_id' => '2', + 'class' => $data['class'], + ]); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Auth/ResetPasswordController.php b/Penilaian-Esai/app/Http/Controllers/Auth/ResetPasswordController.php new file mode 100644 index 0000000..b1726a3 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Auth/ResetPasswordController.php @@ -0,0 +1,30 @@ +middleware('auth'); + $this->middleware('signed')->only('verify'); + $this->middleware('throttle:6,1')->only('verify', 'resend'); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/CodeTestController.php b/Penilaian-Esai/app/Http/Controllers/CodeTestController.php new file mode 100644 index 0000000..5e9cbc2 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/CodeTestController.php @@ -0,0 +1,264 @@ +where("question_id", $course_id); + $explain = Explains::where("user_id", Auth::id())->where('question_id', $course_id)->get(); + // $data_essay = UserAnswer::where('user_id', Auth::id()) + // $level = Level::firstwhere('id',$request->level_id); + // dd([Auth::id(), $course_id, $explain]); + $essay = EssayQuestion::where('question_id', $course_id)->get(); + $duration = ""; + + $user_score = $score->first(); + $err_logs = ErrorCodeLog::where("user_id", Auth::id())->where("question_id", $course_id)->get(); + $exer_logs = ExerciseCodeLog::where("user_id", Auth::id())->where("question_id", $course_id)->orderBy('id', 'DESC')->get(); + + if ($user_score) { + $a = Carbon::parse($user_score->started_at); + $b = Carbon::parse($user_score->ended_at); + $duration = $b->diff($a)->format('%Hh %Im %Ss'); // Menghitung durasi pengerjaan soal + } + + $isFinish = false; + if ($score->count() > 0) { + $isFinish = true; // Menentukan apakah pengguna telah menyelesaikan soal + } + + return view("student_courses.code_test", [ + "question" => $question, + 'score' => $score->sum('score'), //Menghitung total skor + 'is_finish' => $isFinish, // Menyatakan apakah pengguna telah menyelesaikan soal + 'user_score' => $user_score, + 'duration' => $duration, + 'error_logs' => $err_logs, // Mengirimkan log kesalahan ke tampilan + 'exercise_logs' => $exer_logs, // Mengirimkan log latihan ke tampilan + 'explain' => $explain, // Mengirimkan penjelasan ke tampilan + 'essay' => $essay // Mengirimkan pertanyaan esai ke tampilan + ]); + } + + public function codeTestSubmit(Request $request) + { + DB::beginTransaction(); + try { + // Mendapatkan model skor pengguna berdasarkan ID pengguna dan ID soal + $model = UserScore::where("user_id", $request->get("user_id"))->where("question_id", $request->get("question_id")); + $question = Question::find($request->get("question_id")); + $check_explain = Explains::where("user_id", $request->get("user_id"))->where('question_id', $request->get("question_id")); + Log::debug($model->count()); + + // Jika skor lebih dari 0, lakukan proses penyimpanan + if ($request->score > 0) { + if ($model->count() == 0) { + // Jika belum ada skor, buat entri baru + UserScore::create( + [ + "user_id" => $request->get("user_id"), + "question_id" => $request->get("question_id"), + "content_id" => $request->get("content_id"), + "score" => $request->get('score') == 10 ? $question->score : 0, + "started_at" => $request->get("started_at"), + "ended_at" => $request->get("ended_at"), + "on_timer" => $request->get("on_timer"), + "level_id" => $request->get('level_id') + ] + ); + } else { + // Jika sudah ada skor, update entri yang ada + $check = UserScore::where("user_id", $request->get("user_id"))->where("question_id", $request->get("question_id"))->first(); + $user_score = UserScore::firstwhere('id', $check->id); + // $user_score->score = $request->get('score'); + $user_score->score = $request->get('score') == 10 ? $question->score : 0; + $user_score->save(); + } + + // Memproses jawaban esai + // Mengambil Input dari Pengguna: + $jawaban = $request->input('answer'); + $pertanyaanId = $request->input('essay_id'); + + $nilai = []; + foreach ($pertanyaanId as $key => $id_essay) { + $answer = $jawaban[$key]; // user answere + $essayAnswer = EssayQuestion::find($id_essay)->answer; + $essayAnswer2 = EssayQuestion::find($id_essay)->answer2; + $essayAnswer3 = EssayQuestion::find($id_essay)->answer3; + $essayAnswer4 = EssayQuestion::find($id_essay)->answer4; + $check_data = UserAnswer::where('user_id', Auth::id())->where('essay_question_id', $id_essay); + + // Menyimpan atau memperbarui jawaban pengguna + if ($check_data->count() == 0) { + UserAnswer::create([ + 'user_id' => Auth::id(), + 'essay_question_id' => $id_essay, + 'answer' => $answer + ]); + } else { + $check_rubrik = ExplainingScore::where('user_id', Auth::id())->where('user_answer_id', $check_data->first()->id)->count(); + if ($check_rubrik == 0) { + $data_explain = UserAnswer::firstwhere('id', $check_data->first()->id); + $data_explain->answer = $answer; + $data_explain->save(); + } + } + + + // Memanggil API untuk mengoreksi jawaban esai + try { + $response = Http::asForm()->post(env("GENERATE_GRADE_URL", "http://127.0.0.1:8000/compiler/generate/grade"), [ + 'esay_answer' => $essayAnswer, + 'esay_answer2' => $essayAnswer2, + 'esay_answer3' => $essayAnswer3, + 'esay_answer4' => $essayAnswer4, + 'user_answer' => $answer, + ]); + $data = $response->json(); // $data['output'] | 0 - 1 // Mengambil hasil koreksi + // $nilai[] = $this->convertNilai($data['output']); + $nilai[] = $data['output']; + } catch (Exception $err) { + return response()->json([ + 'status' => '500', + 'message' => 'Error add score', + ], 500); + } + } + + // Mengambil Skor Penjelasan, Wondering, dan Skor Pengguna: + $check_explain = ExplainingScore::where('content_id', $request->content_id)->where('question_id', $request->question_id)->where('user_id', $request->user_id); + $wondering = WonderingScore::where('content_id', $request->content_id)->where('user_id', $request->user_id)->first(); + $user_score = UserScore::where('content_id', $request->content_id)->where('user_id', $request->user_id)->where('question_id', $request->question_id)->first(); + //Menghitung Total Skor: + $tot_score = $wondering->score + $user_score->score + $nilai[0] + $nilai[1] + $nilai[2]; + + if ($check_explain->count() == 0) { + // Membuat entri total skor dan skor penjelasan + $total_score = TotalScore::create([ + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'score' => $tot_score, + 'wondering_score_id' => $wondering->id, + 'user_score_id' => $user_score->id + ]); + + $konteksAnswer = UserAnswer::where('user_id', $request->user_id)->where('essay_question_id', $request->essay_id[0])->first(); + $explainKonteks = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'konteks_penjelasan' => $nilai[0], + 'is_accepted' => false, + 'essay_question_id' => $request->essay_id[0], + 'user_answer_id' => $konteksAnswer->id + ]); + + $runtutAnswer = UserAnswer::where('user_id', $request->user_id)->where('essay_question_id', $request->essay_id[1])->first(); + $explainRuntut = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'keruntutan' => $nilai[1], + 'is_accepted' => false, + 'essay_question_id' => $request->essay_id[1], + 'user_answer_id' => $runtutAnswer->id + + ]); + + $benarAnswer = UserAnswer::where('user_id', $request->user_id)->where('essay_question_id', $request->essay_id[2])->first(); + $explainBenar = ExplainingScore::create([ + 'total_score_id' => $total_score->id, + 'content_id' => $request->content_id, + 'user_id' => $request->user_id, + 'question_id' => $request->question_id, + 'kebenaran' => $nilai[2], + 'is_accepted' => false, + 'essay_question_id' => $request->essay_id[2], + 'user_answer_id' => $benarAnswer->id + ]); + + } else { + $check_total = $check_explain->first()->total->id; + + $check_explain = ExplainingScore::where('content_id', $request->content_id)->where('question_id', $request->question_id)->where('user_id', $request->user_id); + + $total_score = TotalScore::firstwhere('id', $check_total); + $total_score->score = $tot_score; + $total_score->save(); + + $konteks = ExplainingScore::firstwhere('id', $check_explain->get()[0]->id); + $konteks->konteks_penjelasan = $nilai[0]; + $konteks->save(); + + $runtut = ExplainingScore::firstwhere('id', $check_explain->get()[1]->id); + $runtut->keruntutan = $nilai[1]; + $runtut->save(); + + $benar = ExplainingScore::firstwhere('id', $check_explain->get()[2]->id); + $benar->kebenaran = $nilai[2]; + $benar->save(); + } + DB::commit(); + + return response()->json([ + 'status' => '200', + 'message' => 'Success add user score', + 'data' => $data + ], 200); + } else { + return response()->json([ + 'status' => '500', + 'message' => 'Error add user', + ], 500); + } + } catch (Exception $err) { + DB::rollBack(); + return response()->json([ + 'status' => '500', + 'message' => 'Error add score', + ], 500); + } + } + + private function convertNilai($value) + { + if ($value > 0 && $value <= 0.2) { + return 3; + } else if ($value > 0.2 && $value <= 0.4) { + return 5; + } else if ($value > 0.4 && $value <= 0.6) { + return 10; + } else if ($value > 0.6 && $value <= 0.8) { + return 15; + } else if ($value > 0.8 && $value <= 1.0) { + return 20; + } + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/Controller.php b/Penilaian-Esai/app/Http/Controllers/Controller.php new file mode 100644 index 0000000..a0a2a8a --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/Controller.php @@ -0,0 +1,13 @@ +middleware("auth"); + } + + +} diff --git a/Penilaian-Esai/app/Http/Controllers/ErrorCodeLogController.php b/Penilaian-Esai/app/Http/Controllers/ErrorCodeLogController.php new file mode 100644 index 0000000..e760267 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/ErrorCodeLogController.php @@ -0,0 +1,28 @@ +get("user_id"); + $question = $request->get("question_id"); + $err = $request->get("error_message"); + + $model = ErrorCodeLog::create([ + "user_id" => $user_id, + "question_id" => $question, + "error_message" => $err, + "total_count" => 1 + ]); + + return response($model); + } +} \ No newline at end of file diff --git a/Penilaian-Esai/app/Http/Controllers/ExerciseCodeLogController.php b/Penilaian-Esai/app/Http/Controllers/ExerciseCodeLogController.php new file mode 100644 index 0000000..74f88d3 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/ExerciseCodeLogController.php @@ -0,0 +1,26 @@ +get("user_id"); + $question = $request->get("question_id"); + $message = $request->get("message_content"); + $is_error = $request->get("is_error"); + + $model = ExerciseCodeLog::create([ + "user_id" => $user_id, + "question_id" => $question, + "message" => $message, + "total_count" => 1, + "is_error" => $is_error + ]); + + return response($model); + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/ExplainingController.php b/Penilaian-Esai/app/Http/Controllers/ExplainingController.php new file mode 100644 index 0000000..99e246f --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/ExplainingController.php @@ -0,0 +1,137 @@ +get(); + $title = "summary"; + $ownership = Explains::where('user_id', Auth::id()); + return view('student_courses.explain', compact('explain', 'title')); + } + + public function showCode(){ + $explain = UserAnswer::where('user_id', Auth::id())->paginate(10); + $title = "code"; + return view('student_courses.explain', compact('explain', 'title')); + } + + public function create(Request $request, $level_id){ + DB::beginTransaction(); + + try{ + $explain = Explains::create([ + 'description' => $request->explanation, + 'level_id' => $level_id, + 'user_id' => Auth::user()->id + ]); + + DB::commit(); + + return response()->json([ + 'status' => '200', + 'message' => 'Success add explaination', + 'data' => $explain + ],200); + }catch(Exception $err){ + DB::rollBack(); + + return response()->json([ + 'status' => '500', + 'error' => $err->getMessage(), + ], 500); + } + + } + + public function edit($id){ + $explain = Explains::find($id); + $title = 1; + return view('student_courses.explain_edit', compact('explain','title')); + } + + public function editCode($id){ + $explain = Explains::find($id); + $title = 2; + return view('student_courses.explain_edit', compact('explain','title')); + } + + public function editEssay($id){ + $user_answer = UserAnswer::find($id); + return view('student_courses.essay_edit', compact('user_answer')); + } + + public function updateEssay(Request $request, $id){ + $user_answer= UserAnswer::find($id); + $user_answer->answer = $request->answer; + $user_answer->save(); + + return redirect(route('student_course.show.explain.code')); + } + + public function update(Request $request ,$id, $title){ + $explain = Explains::find($id); + $explain->description = $request->description; + $explain->edited_admin = 0; + $explain->save(); + + if($title == 1){ + return redirect(route('student_course.show.explain')); + } else{ + return redirect(route('student_course.show.explain.code')); + } + } + + public function tableExplain(){ + $explain = Explains::all(); + if (request()->ajax()) { + return Datatables::of($explain) + ->addIndexColumn() + ->addColumn('name', function ($explain) { + $image = + ' +
+
' . $explain->users->name . '
+
'; + + return $image; + }) + ->addColumn('level', function ($explain) { + $image = + ' +
+
' . $explain->level->name . '
+
'; + + return $image; + }) + ->addColumn('action', function ($ekspedisi) { + // if($explain->users->id == Auth::id()){ + $button = + ' +
+
+
edit-ekspedisi + + + +
+
+
+ '; + return $button; + // } + }) + ->rawColumns(['action', 'name','level']) + ->make(true); + } + } +} diff --git a/Penilaian-Esai/app/Http/Controllers/HomeController.php b/Penilaian-Esai/app/Http/Controllers/HomeController.php new file mode 100644 index 0000000..e4cb839 --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/HomeController.php @@ -0,0 +1,35 @@ +middleware('auth'); + } + + /** + * Show the application dashboard. + * + * @return \Illuminate\Contracts\Support\Renderable + */ + public function index() + { + $courses = Course::all(); + $takeCourseIds = StudentCourse::where(["user_id" => Auth::user()->id])->pluck("course_id")->toArray(); + + return view('home', ['courses' => $courses, "take_ids" => $takeCourseIds]); + } +} \ No newline at end of file diff --git a/Penilaian-Esai/app/Http/Controllers/StudentCourseController.php b/Penilaian-Esai/app/Http/Controllers/StudentCourseController.php new file mode 100644 index 0000000..920e29d --- /dev/null +++ b/Penilaian-Esai/app/Http/Controllers/StudentCourseController.php @@ -0,0 +1,267 @@ +middleware('auth'); + } + + public function index() + { + if (Auth::check()) { + $user_id = Auth::user()->id; + $student_courses = Course::select(["courses.id", "courses.course_name", "courses.description"]) + ->join("student_courses", "courses.id", "=", "student_courses.course_id") + ->where("student_courses.user_id", $user_id)->get(); + return view("student_courses.index", ["studentCourses" => $student_courses]); + } + } + + public function detail($course_id) + { + $course = Course::find($course_id); + $total_score = UserScore::where("user_id", Auth::id())->sum("score"); + $current_badge = BadgeSetting::all(); +$fullbadge = BadgeSetting::all(); + $getBadge = "(SELECT badge_settings.name FROM badge_settings WHERE badge_settings.min <= 'total_score' and badge_settings.max >= 'total_score' LIMIT 1)"; + + $getBadgeFile = "(SELECT badge_settings.file FROM badge_settings WHERE badge_settings.min <= 'total_score' and badge_settings.max >= 'total_score' LIMIT 1)"; + $leader_board = UserScore::select(DB::raw("user_id, SUM(score) as total_score, $getBadge as badge_name, $getBadgeFile as file"))->groupBy("user_id")->orderBy("total_score", "DESC")->get(); + + $question = Question::where("is_essay", "1")->pluck("id"); + + $lboard = []; + foreach ($leader_board as $key => $lead) { + $answeredQues = UserScore::where("user_id", $lead->user_id)->whereIn("question_id", $question)->count(); + $percentage = number_format((float)$answeredQues / $question->count() * 100, 1, '.', ''); + + $badge = BadgeSetting::where("min", "<=", $lead->total_score)->where("max", ">=", $lead->total_score)->first(); + + $lboard[$key]['user'] = User::find($lead->user_id)->name; + $lboard[$key]['total_score'] = $lead->total_score; + $lboard[$key]['percentage'] = $percentage; + $lboard[$key]['badge_name'] = $badge->name; + $lboard[$key]['file'] = $badge->file; + $lboard[$key]['answered_question'] = $answeredQues; + $lboard[$key]['code_questions'] = $question->count(); + } + + return view("student_courses.detail", [ + "course" => $course, + "total_score" => $total_score, + "current_badge" => $current_badge, + "leader_board" => $lboard + ]); + } + public function takeCourse(Request $request) + { + if (Auth::check()) { + $user_id = Auth::user()->id; + $check_course = StudentCourse::where(["user_id" => $user_id, "course_id" => $request["course_id"]]); + if ($check_course->count() == 0) { + $student_course = StudentCourse::create(["user_id" => $user_id, "course_id" => $request["course_id"]]); + if ($student_course->save()) { + session()->flash('msg_error1', 'You take it success'); + return redirect()->back(); + } + } else { + session()->flash('msg_error', 'You already take it'); + return redirect()->back(); + } + } + } + + public function my_course($course_id , $level_id, $content_id = null) + { + if($content_id == 1){ + $check = WonderingScore::where('user_id', Auth::id())->where('content_id', $content_id); + if($check->count()==0){ + WonderingScore::create([ + 'user_id'=>Auth::id(), + 'content_id' => $content_id, + 'score'=>10, + ]); + } + } + $course = Course::find($course_id); + $level = Level::find($level_id); + $contents = $content_id != null ? Content::find($content_id) : $level->lessons[0]->contents->first(); + // $user_score = UserScore::where(["content_id" => $content_id == null ? $contents->id : $content_id, "user_id" => Auth::id()])->first(); + $user_score = TotalScore::where(["content_id" => $content_id == null ? $contents->id : $content_id, "user_id" => Auth::id()])->first(); + + $wondering = WonderingScore::where(["user_id" => Auth::id()])->sum("score"); + $exploring = UserScore::where("user_id", Auth::id())->sum("score"); + $explainKonteks = ExplainingScore::where("user_id",Auth::id())->sum("konteks_penjelasan"); + $explainBenar = ExplainingScore::where("user_id", Auth::id())->sum("kebenaran"); + $explainKeruntutan = ExplainingScore::where("user_id", Auth::id())->sum("keruntutan"); + $final_score = $wondering + $exploring + $explainKonteks + $explainBenar + $explainKeruntutan; + $current_badge = BadgeSetting::where("min", "<=", $final_score)->where("max", ">=", $final_score)->first(); + + $active_lesson = $content_id != null ? Content::find($content_id)->lesson : $level->lessons->first(); + $questions = Question::where(["is_essay" => "0", "content_id" => $content_id])->get(); + $code_test = Question::where(["is_essay" => "1", "content_id" => $content_id])->get(); + $take = UserScore::where("user_id", Auth::id())->pluck("question_id")->toArray(); + + $check_read = WonderingScore::where(["user_id" => Auth::id()])->where('content_id', $content_id)->count(); + + $is_last = 0; + $check_explain = 0; + if($content_id != null){ + $last_lesson = Lesson::where('level_id', $level_id)->orderBy('posisition', 'Desc')->first(); + $content = Content::where('lesson_id', $last_lesson->id)->pluck('id')->toArray(); + $last_question = Question::whereIn('content_id', $content)->pluck('id')->toArray(); + + $last_content = max($content); + $history_question = UserScore::where('user_id', Auth::id())->whereIn('content_id', $content)->pluck('question_id')->toArray(); + $check_explain = Explains::where("user_id", Auth::id())->where('level_id', $level_id)->where('code', 0)->count(); + $check_question = array_diff($last_question, $history_question); + if(empty($check_question) && $last_content == $content_id){ + $is_last = 1; + } + } + + // $tanya = Question::where('content_id', 7)->pluck('id')->toArray(); + + // $check = UserScore::where('user_id', Auth::user()->id)->where('content_id', 7)->orderBy('question_id', 'asc')->pluck('question_id')->toArray(); + // $different = array_diff($tanya, $check); + // if(empty($different)){ + // $pass = 1; + // } else{ + // $pass =0; + // } + // dd([$tanya, $check, $pass]); + //active_lesson untuk melihat course yang dibuka saat ini + return view("student_courses.my_course", [ + "level" => $level, + "course" => $course, + "content" => $contents, + "score" => $user_score, + "final_score" => $final_score, + "active_lesson" => $active_lesson, + "active_content" => $contents, + "current_badge" => $current_badge, + "questions" => $questions, + "code_tests" => $code_test, + "percentage" => UserScore::getPercentage(), + "finish_code_tests" => $take, + "is_last" => $is_last, + "check_explain" => $check_explain, + "check_read" => $check_read + ]); + } + + public function report() + { + $user_score = UserScore::where(["user_id" => Auth::id()])->get(); + $take = UserScore::where("user_id", Auth::id())->pluck("question_id")->toArray(); + $code_test_score = UserScore::where(["user_id" => Auth::id()])->whereNotNull("question_id")->get(); + $wondering = WonderingScore::where(["user_id" => Auth::id()])->sum("score"); + $exploring = UserScore::where("user_id", Auth::id())->sum("score"); + $explainKonteks = ExplainingScore::where("user_id",Auth::id())->sum("konteks_penjelasan"); + $explainBenar = ExplainingScore::where("user_id", Auth::id())->sum("kebenaran"); + $explainKeruntutan = ExplainingScore::where("user_id", Auth::id())->sum("keruntutan"); + $final_score = $wondering + $exploring + $explainKonteks + $explainBenar + $explainKeruntutan; + $current_badge = BadgeSetting::where("min", "<=", $final_score)->where("max", ">=", $final_score)->first(); + + // $his_error = ExerciseCodeLog::where() + // $his_success = ExerciseCodeLog::where + + return view("student_courses.report", [ + "score" => $user_score, + "final_score" => $final_score, + "current_badge" => $current_badge, + "percentage" => UserScore::getPercentage(), + "finish_code_tests" => $take, + "code_score" => $code_test_score, + ]); + } + + public function detailReport($question_id){ + $user_id = Auth::id(); + $question = Question::find($question_id); + // $score = UserScore::where("user_id", Auth::id())->where("question_id", $question_id)->first(); + $score = TotalScore::where("user_id", Auth::id())->where("question_id", $question_id)->first(); + $wondering = WonderingScore::where(["user_id" => Auth::id()])->sum("score"); + $exploring = UserScore::where("user_id", Auth::id())->sum("score"); + $explainKonteks = ExplainingScore::where("user_id",Auth::id())->sum("konteks_penjelasan"); + $explainBenar = ExplainingScore::where("user_id", Auth::id())->sum("kebenaran"); + $explainKeruntutan = ExplainingScore::where("user_id", Auth::id())->sum("keruntutan"); + $final_score = $wondering + $exploring + $explainKonteks + $explainBenar + $explainKeruntutan; + $exercise_logs = ExerciseCodeLog::where("user_id", Auth::id())->where("question_id", $question_id)->orderBy('id','DESC')->get(); + + $essay = EssayQuestion::where('question_id', $question_id)->pluck('id'); + $explain = UserAnswer::whereIn('essay_question_id', $essay)->where('user_id', $user_id)->get(); + $title = "code"; + + return view("student_courses.detail_report", compact('exercise_logs', 'score', 'question', 'explain', 'title', 'final_score')); + + } + + public function level($course_id){ + $level = Level::where('course_id', $course_id)->get(); + $l = Level::firstwhere('id',2); + //isi level 1 + $level_down = $l->id - 1; + $lessons1 = Lesson::where('level_id', $level_down)->pluck('id'); + $content1 = Content::whereIn('lesson_id', $lessons1)->pluck('id'); + $question1 = Question::whereIn('content_id', $content1)->pluck('id')->toArray(); + + + $check = UserScore::where('user_id', Auth::user()->id)->where('level_id', $level_down)->orderBy('question_id', 'asc')->pluck('question_id')->toArray(); + + return view("student_courses.level", compact('level', 'course_id')); + } + + public function readScore(Request $request){ + try{ + + $content_id = $request->input('content_id'); + $check = WonderingScore::where('user_id', Auth::id())->where('content_id', $content_id); + if($check->count() == 0){ + WonderingScore::create([ + 'user_id' => Auth::id(), + 'content_id' => $content_id, + 'score' => 10, + ]); + } + + return response()->json([ + 'status' => '200', + 'message' => 'Success add score', + ],200); + + } catch(Exception $err){ + return response()->json([ + 'status' => '500', + 'message' => 'Error add score', + ],500); + } + } +} diff --git a/Penilaian-Esai/app/Http/Kernel.php b/Penilaian-Esai/app/Http/Kernel.php new file mode 100644 index 0000000..88afe73 --- /dev/null +++ b/Penilaian-Esai/app/Http/Kernel.php @@ -0,0 +1,72 @@ + + */ + protected $middleware = [ + // \App\Http\Middleware\TrustHosts::class, + \App\Http\Middleware\TrustProxies::class, + \Illuminate\Http\Middleware\HandleCors::class, + \App\Http\Middleware\PreventRequestsDuringMaintenance::class, + \Illuminate\Foundation\Http\Middleware\ValidatePostSize::class, + \App\Http\Middleware\TrimStrings::class, + \Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull::class, + ]; + + /** + * The application's route middleware groups. + * + * @var array> + */ + protected $middlewareGroups = [ + 'web' => [ + \App\Http\Middleware\EncryptCookies::class, + \Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse::class, + \Illuminate\Session\Middleware\StartSession::class, + \Illuminate\View\Middleware\ShareErrorsFromSession::class, + \App\Http\Middleware\VerifyCsrfToken::class, + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + 'api' => [ + // \Laravel\Sanctum\Http\Middleware\EnsureFrontendRequestsAreStateful::class, + 'throttle:api', + \Illuminate\Routing\Middleware\SubstituteBindings::class, + ], + + ]; + + /** + * The application's route middleware. + * + * These middleware may be assigned to groups or used individually. + * + * @var array + */ + protected $routeMiddleware = [ + 'auth' => \App\Http\Middleware\Authenticate::class, + 'auth.basic' => \Illuminate\Auth\Middleware\AuthenticateWithBasicAuth::class, + 'auth.session' => \Illuminate\Session\Middleware\AuthenticateSession::class, + 'cache.headers' => \Illuminate\Http\Middleware\SetCacheHeaders::class, + 'can' => \Illuminate\Auth\Middleware\Authorize::class, + 'guest' => \App\Http\Middleware\RedirectIfAuthenticated::class, + 'password.confirm' => \Illuminate\Auth\Middleware\RequirePassword::class, + 'signed' => \Illuminate\Routing\Middleware\ValidateSignature::class, + 'throttle' => \Illuminate\Routing\Middleware\ThrottleRequests::class, + 'verified' => \Illuminate\Auth\Middleware\EnsureEmailIsVerified::class, + "admin" => \App\Http\Middleware\IsAdmin::class, + 'jwt.verify' => \App\Http\Middleware\JwtMiddleware::class, + 'jwt.auth' => Tymon\JWTAuth\Middleware\GetUserFromToken::class, + 'jwt.refresh' => Tymon\JWTAuth\Middleware\RefreshToken::class, + ]; +} diff --git a/Penilaian-Esai/app/Http/Middleware/Authenticate.php b/Penilaian-Esai/app/Http/Middleware/Authenticate.php new file mode 100644 index 0000000..704089a --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/Authenticate.php @@ -0,0 +1,21 @@ +expectsJson()) { + return route('login'); + } + } +} diff --git a/Penilaian-Esai/app/Http/Middleware/EncryptCookies.php b/Penilaian-Esai/app/Http/Middleware/EncryptCookies.php new file mode 100644 index 0000000..867695b --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/EncryptCookies.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/Penilaian-Esai/app/Http/Middleware/IsAdmin.php b/Penilaian-Esai/app/Http/Middleware/IsAdmin.php new file mode 100644 index 0000000..87a87ce --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/IsAdmin.php @@ -0,0 +1,25 @@ +role_id == 1) { + return $next($request); + } + return redirect('/')->with('error','You have not admin access'); + } +} diff --git a/Penilaian-Esai/app/Http/Middleware/JwtMiddleware.php b/Penilaian-Esai/app/Http/Middleware/JwtMiddleware.php new file mode 100644 index 0000000..32f5a22 --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/JwtMiddleware.php @@ -0,0 +1,35 @@ +authenticate(); + } catch (Exception $e) { + if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenInvalidException){ + return response()->json(['status' => 'Token is Invalid']); + }else if ($e instanceof \Tymon\JWTAuth\Exceptions\TokenExpiredException){ + return response()->json(['status' => 'Token is Expired']); + }else{ + return response()->json(['status' => 'Authorization Token not found']); + } + } + return $next($request); + } +} diff --git a/Penilaian-Esai/app/Http/Middleware/PreventRequestsDuringMaintenance.php b/Penilaian-Esai/app/Http/Middleware/PreventRequestsDuringMaintenance.php new file mode 100644 index 0000000..74cbd9a --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/PreventRequestsDuringMaintenance.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/Penilaian-Esai/app/Http/Middleware/RedirectIfAuthenticated.php b/Penilaian-Esai/app/Http/Middleware/RedirectIfAuthenticated.php new file mode 100644 index 0000000..a2813a0 --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/RedirectIfAuthenticated.php @@ -0,0 +1,32 @@ +check()) { + return redirect(RouteServiceProvider::HOME); + } + } + + return $next($request); + } +} diff --git a/Penilaian-Esai/app/Http/Middleware/TrimStrings.php b/Penilaian-Esai/app/Http/Middleware/TrimStrings.php new file mode 100644 index 0000000..88cadca --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/TrimStrings.php @@ -0,0 +1,19 @@ + + */ + protected $except = [ + 'current_password', + 'password', + 'password_confirmation', + ]; +} diff --git a/Penilaian-Esai/app/Http/Middleware/TrustHosts.php b/Penilaian-Esai/app/Http/Middleware/TrustHosts.php new file mode 100644 index 0000000..7186414 --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/TrustHosts.php @@ -0,0 +1,20 @@ + + */ + public function hosts() + { + return [ + $this->allSubdomainsOfApplicationUrl(), + ]; + } +} diff --git a/Penilaian-Esai/app/Http/Middleware/TrustProxies.php b/Penilaian-Esai/app/Http/Middleware/TrustProxies.php new file mode 100644 index 0000000..3391630 --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/TrustProxies.php @@ -0,0 +1,28 @@ +|string|null + */ + protected $proxies; + + /** + * The headers that should be used to detect proxies. + * + * @var int + */ + protected $headers = + Request::HEADER_X_FORWARDED_FOR | + Request::HEADER_X_FORWARDED_HOST | + Request::HEADER_X_FORWARDED_PORT | + Request::HEADER_X_FORWARDED_PROTO | + Request::HEADER_X_FORWARDED_AWS_ELB; +} diff --git a/Penilaian-Esai/app/Http/Middleware/VerifyCsrfToken.php b/Penilaian-Esai/app/Http/Middleware/VerifyCsrfToken.php new file mode 100644 index 0000000..9e86521 --- /dev/null +++ b/Penilaian-Esai/app/Http/Middleware/VerifyCsrfToken.php @@ -0,0 +1,17 @@ + + */ + protected $except = [ + // + ]; +} diff --git a/Penilaian-Esai/app/Http/Requests/API/CreateBadgeSettingAPIRequest.php b/Penilaian-Esai/app/Http/Requests/API/CreateBadgeSettingAPIRequest.php new file mode 100644 index 0000000..cf87678 --- /dev/null +++ b/Penilaian-Esai/app/Http/Requests/API/CreateBadgeSettingAPIRequest.php @@ -0,0 +1,29 @@ +belongsTo(Question::class); + } +} diff --git a/Penilaian-Esai/app/Models/BadgeSetting.php b/Penilaian-Esai/app/Models/BadgeSetting.php new file mode 100644 index 0000000..d8e03b3 --- /dev/null +++ b/Penilaian-Esai/app/Models/BadgeSetting.php @@ -0,0 +1,57 @@ + 'integer', + 'name' => 'string', + 'file' => 'string', + 'min' => 'integer', + 'max' => 'integer' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = [ + + ]; + + +} diff --git a/Penilaian-Esai/app/Models/Content.php b/Penilaian-Esai/app/Models/Content.php new file mode 100644 index 0000000..ff0ebaa --- /dev/null +++ b/Penilaian-Esai/app/Models/Content.php @@ -0,0 +1,82 @@ + 'integer', + 'title' => 'string', + 'lesson_id' => 'integer', + 'description' => 'string', + 'url_video' => 'string', + 'published' => 'integer' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = []; + + /** + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + **/ + public function lesson() + { + return $this->belongsTo(\App\Models\Lesson::class, 'lesson_id'); + } + + public function questions() + { + return $this->hasMany(Question::class); + } + + public function wondering(){ + return $this->hasMany(WonderingScore::class); + } + + public function explainingscore(){ + return $this->hasMany(ExplainingScore::class); + } +} diff --git a/Penilaian-Esai/app/Models/Course.php b/Penilaian-Esai/app/Models/Course.php new file mode 100644 index 0000000..d4db3de --- /dev/null +++ b/Penilaian-Esai/app/Models/Course.php @@ -0,0 +1,70 @@ + 'integer', + 'course_name' => 'string', + 'description' => 'string', + 'image' => 'string', + 'published' => 'integer' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = [ + + ]; + + public function lessons(){ + return $this->hasMany(Lesson::class); + } + + public function student_courses(){ + return $this->hasMany(StudentCourse::class); + } + + public function level(){ + return $this->hasMany(Level::class); + } + + +} diff --git a/Penilaian-Esai/app/Models/ErrorCodeLog.php b/Penilaian-Esai/app/Models/ErrorCodeLog.php new file mode 100644 index 0000000..784dd33 --- /dev/null +++ b/Penilaian-Esai/app/Models/ErrorCodeLog.php @@ -0,0 +1,18 @@ +belongsTo(\App\Models\Question::class, 'question_id'); + } +} diff --git a/Penilaian-Esai/app/Models/EssayQuestion.php b/Penilaian-Esai/app/Models/EssayQuestion.php new file mode 100644 index 0000000..cc51bb5 --- /dev/null +++ b/Penilaian-Esai/app/Models/EssayQuestion.php @@ -0,0 +1,42 @@ +belongsTo(\App\Models\Question::class, 'question_id'); + } + + public function user() + { + return $this->belongsTo(\App\Models\User::class, 'user_id'); + } + + public function userAnswer(){ + return $this->hasMany(UserAnswer::class); + } + + public function explainingscore(){ + return $this->hasMany(ExplainingScore::class); + } +} diff --git a/Penilaian-Esai/app/Models/ExerciseCodeLog.php b/Penilaian-Esai/app/Models/ExerciseCodeLog.php new file mode 100644 index 0000000..8edbce6 --- /dev/null +++ b/Penilaian-Esai/app/Models/ExerciseCodeLog.php @@ -0,0 +1,25 @@ +belongsTo(\App\Models\Question::class, 'question_id'); + } +} diff --git a/Penilaian-Esai/app/Models/ExplainingScore.php b/Penilaian-Esai/app/Models/ExplainingScore.php new file mode 100644 index 0000000..ed4c671 --- /dev/null +++ b/Penilaian-Esai/app/Models/ExplainingScore.php @@ -0,0 +1,50 @@ +belongsTo(\App\Models\User::class, 'user_id'); + } + + public function content() + { + return $this->belongsTo(\App\Models\Content::class, 'content_id'); + } + + public function essay() + { + return $this->belongsTo(\App\Models\EssayQuestion::class, 'essay_question_id'); + } + + public function answer() + { + return $this->belongsTo(\App\Models\UserAnswer::class, 'user_answer_id'); + } + + public function total() + { + return $this->belongsTo(\App\Models\TotalScore::class, 'total_score_id'); + } + +} diff --git a/Penilaian-Esai/app/Models/Explains.php b/Penilaian-Esai/app/Models/Explains.php new file mode 100644 index 0000000..83b1513 --- /dev/null +++ b/Penilaian-Esai/app/Models/Explains.php @@ -0,0 +1,32 @@ +belongsTo(\App\Models\Level::class, 'level_id'); + } + + public function users(){ + return $this->belongsTo(\App\Models\User::class, 'user_id'); + } + + public function question(){ + return $this->belongsTo(\App\Models\Question::class, 'question_id'); + } +} diff --git a/Penilaian-Esai/app/Models/Lesson.php b/Penilaian-Esai/app/Models/Lesson.php new file mode 100644 index 0000000..36201ae --- /dev/null +++ b/Penilaian-Esai/app/Models/Lesson.php @@ -0,0 +1,76 @@ + 'integer', + 'title' => 'string', + 'description' => 'string', + 'course_id' => 'integer', + 'posisition' => 'integer', + 'published' => 'integer', + 'level_id' => 'integer' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = []; + + /** + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + **/ + public function course() + { + return $this->belongsTo(\App\Models\Course::class, 'course_id'); + } + + public function contents(){ + return $this->hasMany(Content::class); + } + + public function level(){ + return $this->belongsTo(\App\Models\Level::class, 'level_id'); + } +} diff --git a/Penilaian-Esai/app/Models/Level.php b/Penilaian-Esai/app/Models/Level.php new file mode 100644 index 0000000..938bc77 --- /dev/null +++ b/Penilaian-Esai/app/Models/Level.php @@ -0,0 +1,31 @@ +hasMany(Lesson::class); + } + + public function Explains(){ + return $this->hasMany(Explains::class); + } + + public function course() + { + return $this->belongsTo(\App\Models\Course::class, 'course_id'); + } +} diff --git a/Penilaian-Esai/app/Models/Question.php b/Penilaian-Esai/app/Models/Question.php new file mode 100644 index 0000000..af2bd33 --- /dev/null +++ b/Penilaian-Esai/app/Models/Question.php @@ -0,0 +1,88 @@ + 'integer', + 'content_id' => 'integer', + 'question' => 'string', + 'question_name' => 'string', + 'image' => 'string', + 'score' => 'integer', + 'is_essay' => 'integer' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = []; + + /** + * @return \Illuminate\Database\Eloquent\Relations\BelongsTo + **/ + public function content() + { + return $this->belongsTo(\App\Models\Content::class, 'content_id'); + } + + public function answers() + { + return $this->hasMany(\App\Models\Answer::class); + } + + public function explains(){ + return $this->hasMany(Explains::class); + } + + public function essay(){ + return $this->hasMany(EssayQuestion::class); + } + public function total(){ + return $this->hasMany(TotalScore::class); + } +} diff --git a/Penilaian-Esai/app/Models/Role.php b/Penilaian-Esai/app/Models/Role.php new file mode 100644 index 0000000..5d80462 --- /dev/null +++ b/Penilaian-Esai/app/Models/Role.php @@ -0,0 +1,47 @@ + 'integer', + 'role' => 'string' + ]; + + /** + * Validation rules + * + * @var array + */ + public static $rules = []; + + +} diff --git a/Penilaian-Esai/app/Models/StudentCourse.php b/Penilaian-Esai/app/Models/StudentCourse.php new file mode 100644 index 0000000..d2ee3a8 --- /dev/null +++ b/Penilaian-Esai/app/Models/StudentCourse.php @@ -0,0 +1,20 @@ +hasOne(Course::class); + } + + +} diff --git a/Penilaian-Esai/app/Models/TotalScore.php b/Penilaian-Esai/app/Models/TotalScore.php new file mode 100644 index 0000000..8eb5b00 --- /dev/null +++ b/Penilaian-Esai/app/Models/TotalScore.php @@ -0,0 +1,25 @@ +belongsTo(\App\Models\Question::class, 'question_id'); + } +} diff --git a/Penilaian-Esai/app/Models/User.php b/Penilaian-Esai/app/Models/User.php new file mode 100644 index 0000000..908ba52 --- /dev/null +++ b/Penilaian-Esai/app/Models/User.php @@ -0,0 +1,84 @@ + + */ + protected $fillable = [ + 'name', + 'email', + 'password', + 'role_id', + 'class' + ]; + + /** + * The attributes that should be hidden for serialization. + * + * @var array + */ + protected $hidden = [ + 'password', + 'remember_token', + ]; + + /** + * The attributes that should be cast. + * + * @var array + */ + protected $casts = [ + 'email_verified_at' => 'datetime', + ]; + + public function getJWTIdentifier() + { + return $this->getKey(); + } + public function getJWTCustomClaims() + { + return []; + } + + public function role() + { + return $this->belongsTo(Role::class); + } + + public function roles(){ + return $this->hasMany(Role::class); + } + + public function Explains(){ + return $this->hasMany(Explains::class); + } + + public function essay(){ + return $this->hasMany(EssayQuestion::class); + } + + public function userAnswer(){ + return $this->hasMany(UserAnswer::class); + } + + public function wondering(){ + return $this->hasMany(WonderingScore::class); + } + public function explainingscore(){ + return $this->hasMany(ExplainingScore::class); + } +} diff --git a/Penilaian-Esai/app/Models/UserAnswer.php b/Penilaian-Esai/app/Models/UserAnswer.php new file mode 100644 index 0000000..c913f39 --- /dev/null +++ b/Penilaian-Esai/app/Models/UserAnswer.php @@ -0,0 +1,34 @@ +belongsTo(\App\Models\EssayQuestion::class, 'essay_question_id'); + } + + public function user() + { + return $this->belongsTo(\App\Models\User::class, 'user_id'); + } + + public function explainingscore(){ + return $this->hasMany(ExplainingScore::class); + } +} diff --git a/Penilaian-Esai/app/Models/UserCodeTestScore.php b/Penilaian-Esai/app/Models/UserCodeTestScore.php new file mode 100644 index 0000000..241ab13 --- /dev/null +++ b/Penilaian-Esai/app/Models/UserCodeTestScore.php @@ -0,0 +1,16 @@ +sum("score"); + return $score; + } + + public function user() + { + return $this->belongsTo(User::class); + } + + public static function getPercentage($user_id = null) + { + $user = !empty($user_id) ? $user_id : Auth::id(); + + $question = Question::where("is_essay", "1")->pluck("id"); + $answeredQues = UserScore::where("user_id", $user)->whereIn("question_id", $question); + + return number_format((float)$answeredQues->count() / $question->count() * 100, 1, '.', ''); + } +} \ No newline at end of file diff --git a/Penilaian-Esai/app/Models/WonderingScore.php b/Penilaian-Esai/app/Models/WonderingScore.php new file mode 100644 index 0000000..a2f2971 --- /dev/null +++ b/Penilaian-Esai/app/Models/WonderingScore.php @@ -0,0 +1,27 @@ +belongsTo(\App\Models\User::class, 'user_id'); + } + + public function content() + { + return $this->belongsTo(\App\Models\Content::class, 'content_id'); + } +} diff --git a/Penilaian-Esai/app/Providers/AppServiceProvider.php b/Penilaian-Esai/app/Providers/AppServiceProvider.php new file mode 100644 index 0000000..ee8ca5b --- /dev/null +++ b/Penilaian-Esai/app/Providers/AppServiceProvider.php @@ -0,0 +1,28 @@ + + */ + protected $policies = [ + // 'App\Models\Model' => 'App\Policies\ModelPolicy', + ]; + + /** + * Register any authentication / authorization services. + * + * @return void + */ + public function boot() + { + $this->registerPolicies(); + + // + } +} diff --git a/Penilaian-Esai/app/Providers/BroadcastServiceProvider.php b/Penilaian-Esai/app/Providers/BroadcastServiceProvider.php new file mode 100644 index 0000000..395c518 --- /dev/null +++ b/Penilaian-Esai/app/Providers/BroadcastServiceProvider.php @@ -0,0 +1,21 @@ +> + */ + protected $listen = [ + Registered::class => [ + SendEmailVerificationNotification::class, + ], + ]; + + /** + * Register any events for your application. + * + * @return void + */ + public function boot() + { + // + } + + /** + * Determine if events and listeners should be automatically discovered. + * + * @return bool + */ + public function shouldDiscoverEvents() + { + return false; + } +} diff --git a/Penilaian-Esai/app/Providers/RouteServiceProvider.php b/Penilaian-Esai/app/Providers/RouteServiceProvider.php new file mode 100644 index 0000000..1d9865b --- /dev/null +++ b/Penilaian-Esai/app/Providers/RouteServiceProvider.php @@ -0,0 +1,52 @@ +configureRateLimiting(); + + $this->routes(function () { + Route::middleware('api') + ->prefix('api') + ->group(base_path('routes/api.php')); + + Route::middleware('web') + ->group(base_path('routes/web.php')); + }); + } + + /** + * Configure the rate limiters for the application. + * + * @return void + */ + protected function configureRateLimiting() + { + RateLimiter::for('api', function (Request $request) { + return Limit::perMinute(60)->by($request->user()?->id ?: $request->ip()); + }); + } +} diff --git a/Penilaian-Esai/app/Repositories/BadgeSettingRepository.php b/Penilaian-Esai/app/Repositories/BadgeSettingRepository.php new file mode 100644 index 0000000..6795da6 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/BadgeSettingRepository.php @@ -0,0 +1,40 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return BadgeSetting::class; + } +} diff --git a/Penilaian-Esai/app/Repositories/BaseRepository.php b/Penilaian-Esai/app/Repositories/BaseRepository.php new file mode 100644 index 0000000..8fb1beb --- /dev/null +++ b/Penilaian-Esai/app/Repositories/BaseRepository.php @@ -0,0 +1,193 @@ +app = $app; + $this->makeModel(); + } + + /** + * Get searchable fields array + * + * @return array + */ + abstract public function getFieldsSearchable(); + + /** + * Configure the Model + * + * @return string + */ + abstract public function model(); + + /** + * Make Model instance + * + * @throws \Exception + * + * @return Model + */ + public function makeModel() + { + $model = $this->app->make($this->model()); + + if (!$model instanceof Model) { + throw new \Exception("Class {$this->model()} must be an instance of Illuminate\\Database\\Eloquent\\Model"); + } + + return $this->model = $model; + } + + /** + * Paginate records for scaffold. + * + * @param int $perPage + * @param array $columns + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator + */ + public function paginate($perPage, $columns = ['*']) + { + $query = $this->allQuery(); + + return $query->paginate($perPage, $columns); + } + + /** + * Build a query for retrieving all records. + * + * @param array $search + * @param int|null $skip + * @param int|null $limit + * @return \Illuminate\Database\Eloquent\Builder + */ + public function allQuery($search = [], $skip = null, $limit = null) + { + $query = $this->model->newQuery(); + + if (count($search)) { + foreach($search as $key => $value) { + if (in_array($key, $this->getFieldsSearchable())) { + $query->where($key, $value); + } + } + } + + if (!is_null($skip)) { + $query->skip($skip); + } + + if (!is_null($limit)) { + $query->limit($limit); + } + + return $query; + } + + /** + * Retrieve all records with given filter criteria + * + * @param array $search + * @param int|null $skip + * @param int|null $limit + * @param array $columns + * + * @return \Illuminate\Contracts\Pagination\LengthAwarePaginator|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection + */ + public function all($search = [], $skip = null, $limit = null, $columns = ['*']) + { + $query = $this->allQuery($search, $skip, $limit); + + return $query->get($columns); + } + + /** + * Create model record + * + * @param array $input + * + * @return Model + */ + public function create($input) + { + $model = $this->model->newInstance($input); + + $model->save(); + + return $model; + } + + /** + * Find model record for given id + * + * @param int $id + * @param array $columns + * + * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|Model|null + */ + public function find($id, $columns = ['*']) + { + $query = $this->model->newQuery(); + + return $query->find($id, $columns); + } + + /** + * Update model record for given id + * + * @param array $input + * @param int $id + * + * @return \Illuminate\Database\Eloquent\Builder|\Illuminate\Database\Eloquent\Builder[]|\Illuminate\Database\Eloquent\Collection|Model + */ + public function update($input, $id) + { + $query = $this->model->newQuery(); + + $model = $query->findOrFail($id); + + $model->fill($input); + + $model->save(); + + return $model; + } + + /** + * @param int $id + * + * @throws \Exception + * + * @return bool|mixed|null + */ + public function delete($id) + { + $query = $this->model->newQuery(); + + $model = $query->findOrFail($id); + + return $model->delete(); + } +} diff --git a/Penilaian-Esai/app/Repositories/ContentRepository.php b/Penilaian-Esai/app/Repositories/ContentRepository.php new file mode 100644 index 0000000..4e79779 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/ContentRepository.php @@ -0,0 +1,41 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return Content::class; + } +} diff --git a/Penilaian-Esai/app/Repositories/CourseRepository.php b/Penilaian-Esai/app/Repositories/CourseRepository.php new file mode 100644 index 0000000..4bf3878 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/CourseRepository.php @@ -0,0 +1,40 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return Course::class; + } +} diff --git a/Penilaian-Esai/app/Repositories/LessonRepository.php b/Penilaian-Esai/app/Repositories/LessonRepository.php new file mode 100644 index 0000000..e66eea0 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/LessonRepository.php @@ -0,0 +1,40 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return Lesson::class; + } +} diff --git a/Penilaian-Esai/app/Repositories/QuestionRepository.php b/Penilaian-Esai/app/Repositories/QuestionRepository.php new file mode 100644 index 0000000..a0650d9 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/QuestionRepository.php @@ -0,0 +1,45 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return Question::class; + } +} diff --git a/Penilaian-Esai/app/Repositories/RoleRepository.php b/Penilaian-Esai/app/Repositories/RoleRepository.php new file mode 100644 index 0000000..d429506 --- /dev/null +++ b/Penilaian-Esai/app/Repositories/RoleRepository.php @@ -0,0 +1,40 @@ +fieldSearchable; + } + + /** + * Configure the Model + **/ + public function model() + { + return Role::class; + } +} diff --git a/Penilaian-Esai/artisan b/Penilaian-Esai/artisan new file mode 100644 index 0000000..67a3329 --- /dev/null +++ b/Penilaian-Esai/artisan @@ -0,0 +1,53 @@ +#!/usr/bin/env php +make(Illuminate\Contracts\Console\Kernel::class); + +$status = $kernel->handle( + $input = new Symfony\Component\Console\Input\ArgvInput, + new Symfony\Component\Console\Output\ConsoleOutput +); + +/* +|-------------------------------------------------------------------------- +| Shutdown The Application +|-------------------------------------------------------------------------- +| +| Once Artisan has finished running, we will fire off the shutdown events +| so that any final work may be done by the application before we shut +| down the process. This is the last thing to happen to the request. +| +*/ + +$kernel->terminate($input, $status); + +exit($status); diff --git a/Penilaian-Esai/bootstrap/app.php b/Penilaian-Esai/bootstrap/app.php new file mode 100644 index 0000000..037e17d --- /dev/null +++ b/Penilaian-Esai/bootstrap/app.php @@ -0,0 +1,55 @@ +singleton( + Illuminate\Contracts\Http\Kernel::class, + App\Http\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Console\Kernel::class, + App\Console\Kernel::class +); + +$app->singleton( + Illuminate\Contracts\Debug\ExceptionHandler::class, + App\Exceptions\Handler::class +); + +/* +|-------------------------------------------------------------------------- +| Return The Application +|-------------------------------------------------------------------------- +| +| This script returns the application instance. The instance is given to +| the calling script so we can separate the building of the instances +| from the actual running of the application and sending responses. +| +*/ + +return $app; diff --git a/Penilaian-Esai/bootstrap/cache/.gitignore b/Penilaian-Esai/bootstrap/cache/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/bootstrap/cache/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/composer.json b/Penilaian-Esai/composer.json new file mode 100644 index 0000000..deddc57 --- /dev/null +++ b/Penilaian-Esai/composer.json @@ -0,0 +1,68 @@ +{ + "name": "laravel/laravel", + "type": "project", + "description": "The Laravel Framework.", + "keywords": ["framework", "laravel"], + "license": "MIT", + "require": { + "php": "^8.0.2", + "doctrine/dbal": "^3.3", + "guzzlehttp/guzzle": "^7.2", + "infyomlabs/adminlte-templates": "^4.0", + "infyomlabs/generator-builder": "^1.0", + "infyomlabs/laravel-generator": "^4.0", + "infyomlabs/stisla-templates": "^4.0", + "laravel/framework": "^9.11", + "laravel/sanctum": "^2.14.1", + "laravel/tinker": "^2.7", + "tymon/jwt-auth": "^1.0", + "yajra/laravel-datatables": "9.0" + }, + "require-dev": { + "fakerphp/faker": "^1.9.1", + "laravel/sail": "^1.0.1", + "mockery/mockery": "^1.4.4", + "nunomaduro/collision": "^6.1", + "phpunit/phpunit": "^9.5.10", + "spatie/laravel-ignition": "^1.0" + }, + "autoload": { + "psr-4": { + "App\\": "app/", + "Database\\Factories\\": "database/factories/", + "Database\\Seeders\\": "database/seeders/" + } + }, + "autoload-dev": { + "psr-4": { + "Tests\\": "tests/" + } + }, + "scripts": { + "post-autoload-dump": [ + "Illuminate\\Foundation\\ComposerScripts::postAutoloadDump", + "@php artisan package:discover --ansi" + ], + "post-update-cmd": [ + "@php artisan vendor:publish --tag=laravel-assets --ansi --force" + ], + "post-root-package-install": [ + "@php -r \"file_exists('.env') || copy('.env.example', '.env');\"" + ], + "post-create-project-cmd": [ + "@php artisan key:generate --ansi" + ] + }, + "extra": { + "laravel": { + "dont-discover": [] + } + }, + "config": { + "optimize-autoloader": true, + "preferred-install": "dist", + "sort-packages": true + }, + "minimum-stability": "dev", + "prefer-stable": true +} diff --git a/Penilaian-Esai/composer.lock b/Penilaian-Esai/composer.lock new file mode 100644 index 0000000..e017faf --- /dev/null +++ b/Penilaian-Esai/composer.lock @@ -0,0 +1,10088 @@ +{ + "_readme": [ + "This file locks the dependencies of your project to a known state", + "Read more about it at https://getcomposer.org/doc/01-basic-usage.md#installing-dependencies", + "This file is @generated automatically" + ], + "content-hash": "4b88a193a8069b2e4bece4fec4764b48", + "packages": [ + { + "name": "brick/math", + "version": "0.11.0", + "source": { + "type": "git", + "url": "https://github.com/brick/math.git", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/brick/math/zipball/0ad82ce168c82ba30d1c01ec86116ab52f589478", + "reference": "0ad82ce168c82ba30d1c01ec86116ab52f589478", + "shasum": "" + }, + "require": { + "php": "^8.0" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.2", + "phpunit/phpunit": "^9.0", + "vimeo/psalm": "5.0.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Brick\\Math\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Arbitrary-precision arithmetic library", + "keywords": [ + "Arbitrary-precision", + "BigInteger", + "BigRational", + "arithmetic", + "bigdecimal", + "bignum", + "brick", + "math" + ], + "support": { + "issues": "https://github.com/brick/math/issues", + "source": "https://github.com/brick/math/tree/0.11.0" + }, + "funding": [ + { + "url": "https://github.com/BenMorel", + "type": "github" + } + ], + "time": "2023-01-15T23:15:59+00:00" + }, + { + "name": "carbonphp/carbon-doctrine-types", + "version": "2.1.0", + "source": { + "type": "git", + "url": "https://github.com/CarbonPHP/carbon-doctrine-types.git", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/CarbonPHP/carbon-doctrine-types/zipball/99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "reference": "99f76ffa36cce3b70a4a6abce41dba15ca2e84cb", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0" + }, + "conflict": { + "doctrine/dbal": "<3.7.0 || >=4.0.0" + }, + "require-dev": { + "doctrine/dbal": "^3.7.0", + "nesbot/carbon": "^2.71.0 || ^3.0.0", + "phpunit/phpunit": "^10.3" + }, + "type": "library", + "autoload": { + "psr-4": { + "Carbon\\Doctrine\\": "src/Carbon/Doctrine/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "KyleKatarn", + "email": "kylekatarnls@gmail.com" + } + ], + "description": "Types to use Carbon in Doctrine", + "keywords": [ + "carbon", + "date", + "datetime", + "doctrine", + "time" + ], + "support": { + "issues": "https://github.com/CarbonPHP/carbon-doctrine-types/issues", + "source": "https://github.com/CarbonPHP/carbon-doctrine-types/tree/2.1.0" + }, + "funding": [ + { + "url": "https://github.com/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon", + "type": "open_collective" + }, + { + "url": "https://tidelift.com/funding/github/packagist/nesbot/carbon", + "type": "tidelift" + } + ], + "time": "2023-12-11T17:09:12+00:00" + }, + { + "name": "dflydev/dot-access-data", + "version": "v3.0.2", + "source": { + "type": "git", + "url": "https://github.com/dflydev/dflydev-dot-access-data.git", + "reference": "f41715465d65213d644d3141a6a93081be5d3549" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dflydev/dflydev-dot-access-data/zipball/f41715465d65213d644d3141a6a93081be5d3549", + "reference": "f41715465d65213d644d3141a6a93081be5d3549", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^0.12.42", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.3", + "scrutinizer/ocular": "1.6.0", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Dflydev\\DotAccessData\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Dragonfly Development Inc.", + "email": "info@dflydev.com", + "homepage": "http://dflydev.com" + }, + { + "name": "Beau Simensen", + "email": "beau@dflydev.com", + "homepage": "http://beausimensen.com" + }, + { + "name": "Carlos Frutos", + "email": "carlos@kiwing.it", + "homepage": "https://github.com/cfrutos" + }, + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com" + } + ], + "description": "Given a deep data structure, access data by dot notation.", + "homepage": "https://github.com/dflydev/dflydev-dot-access-data", + "keywords": [ + "access", + "data", + "dot", + "notation" + ], + "support": { + "issues": "https://github.com/dflydev/dflydev-dot-access-data/issues", + "source": "https://github.com/dflydev/dflydev-dot-access-data/tree/v3.0.2" + }, + "time": "2022-10-27T11:44:00+00:00" + }, + { + "name": "doctrine/cache", + "version": "2.2.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/cache.git", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/cache/zipball/1ca8f21980e770095a31456042471a57bc4c68fb", + "reference": "1ca8f21980e770095a31456042471a57bc4c68fb", + "shasum": "" + }, + "require": { + "php": "~7.1 || ^8.0" + }, + "conflict": { + "doctrine/common": ">2.2,<2.4" + }, + "require-dev": { + "cache/integration-tests": "dev-master", + "doctrine/coding-standard": "^9", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psr/cache": "^1.0 || ^2.0 || ^3.0", + "symfony/cache": "^4.4 || ^5.4 || ^6", + "symfony/var-exporter": "^4.4 || ^5.4 || ^6" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Cache\\": "lib/Doctrine/Common/Cache" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Cache library is a popular cache implementation that supports many different drivers such as redis, memcache, apc, mongodb and others.", + "homepage": "https://www.doctrine-project.org/projects/cache.html", + "keywords": [ + "abstraction", + "apcu", + "cache", + "caching", + "couchdb", + "memcached", + "php", + "redis", + "xcache" + ], + "support": { + "issues": "https://github.com/doctrine/cache/issues", + "source": "https://github.com/doctrine/cache/tree/2.2.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fcache", + "type": "tidelift" + } + ], + "time": "2022-05-20T20:07:39+00:00" + }, + { + "name": "doctrine/dbal", + "version": "3.7.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/dbal.git", + "reference": "0ac3c270590e54910715e9a1a044cc368df282b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/dbal/zipball/0ac3c270590e54910715e9a1a044cc368df282b2", + "reference": "0ac3c270590e54910715e9a1a044cc368df282b2", + "shasum": "" + }, + "require": { + "composer-runtime-api": "^2", + "doctrine/cache": "^1.11|^2.0", + "doctrine/deprecations": "^0.5.3|^1", + "doctrine/event-manager": "^1|^2", + "php": "^7.4 || ^8.0", + "psr/cache": "^1|^2|^3", + "psr/log": "^1|^2|^3" + }, + "require-dev": { + "doctrine/coding-standard": "12.0.0", + "fig/log-test": "^1", + "jetbrains/phpstorm-stubs": "2023.1", + "phpstan/phpstan": "1.10.42", + "phpstan/phpstan-strict-rules": "^1.5", + "phpunit/phpunit": "9.6.13", + "psalm/plugin-phpunit": "0.18.4", + "slevomat/coding-standard": "8.13.1", + "squizlabs/php_codesniffer": "3.7.2", + "symfony/cache": "^5.4|^6.0", + "symfony/console": "^4.4|^5.4|^6.0", + "vimeo/psalm": "4.30.0" + }, + "suggest": { + "symfony/console": "For helpful console commands such as SQL execution and import of files." + }, + "bin": [ + "bin/doctrine-dbal" + ], + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\DBAL\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + } + ], + "description": "Powerful PHP database abstraction layer (DBAL) with many features for database schema introspection and management.", + "homepage": "https://www.doctrine-project.org/projects/dbal.html", + "keywords": [ + "abstraction", + "database", + "db2", + "dbal", + "mariadb", + "mssql", + "mysql", + "oci8", + "oracle", + "pdo", + "pgsql", + "postgresql", + "queryobject", + "sasql", + "sql", + "sqlite", + "sqlserver", + "sqlsrv" + ], + "support": { + "issues": "https://github.com/doctrine/dbal/issues", + "source": "https://github.com/doctrine/dbal/tree/3.7.2" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fdbal", + "type": "tidelift" + } + ], + "time": "2023-11-19T08:06:58+00:00" + }, + { + "name": "doctrine/deprecations", + "version": "1.1.2", + "source": { + "type": "git", + "url": "https://github.com/doctrine/deprecations.git", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/deprecations/zipball/4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "reference": "4f2d4f2836e7ec4e7a8625e75c6aa916004db931", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^9", + "phpstan/phpstan": "1.4.10 || 1.10.15", + "phpstan/phpstan-phpunit": "^1.0", + "phpunit/phpunit": "^7.5 || ^8.5 || ^9.5", + "psalm/plugin-phpunit": "0.18.4", + "psr/log": "^1 || ^2 || ^3", + "vimeo/psalm": "4.30.0 || 5.12.0" + }, + "suggest": { + "psr/log": "Allows logging deprecations via PSR-3 logger implementation" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Deprecations\\": "lib/Doctrine/Deprecations" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A small layer on top of trigger_error(E_USER_DEPRECATED) or PSR-3 logging with options to disable all deprecations or selectively for packages.", + "homepage": "https://www.doctrine-project.org/", + "support": { + "issues": "https://github.com/doctrine/deprecations/issues", + "source": "https://github.com/doctrine/deprecations/tree/1.1.2" + }, + "time": "2023-09-27T20:04:15+00:00" + }, + { + "name": "doctrine/event-manager", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/event-manager.git", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/event-manager/zipball/750671534e0241a7c50ea5b43f67e23eb5c96f32", + "reference": "750671534e0241a7c50ea5b43f67e23eb5c96f32", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "conflict": { + "doctrine/common": "<2.9" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.8.8", + "phpunit/phpunit": "^9.5", + "vimeo/psalm": "^4.28" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + }, + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com" + } + ], + "description": "The Doctrine Event Manager is a simple PHP event system that was built to be used with the various Doctrine projects.", + "homepage": "https://www.doctrine-project.org/projects/event-manager.html", + "keywords": [ + "event", + "event dispatcher", + "event manager", + "event system", + "events" + ], + "support": { + "issues": "https://github.com/doctrine/event-manager/issues", + "source": "https://github.com/doctrine/event-manager/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Fevent-manager", + "type": "tidelift" + } + ], + "time": "2022-10-12T20:59:15+00:00" + }, + { + "name": "doctrine/inflector", + "version": "2.0.8", + "source": { + "type": "git", + "url": "https://github.com/doctrine/inflector.git", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/inflector/zipball/f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "reference": "f9301a5b2fb1216b2b08f02ba04dc45423db6bff", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "require-dev": { + "doctrine/coding-standard": "^11.0", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-phpunit": "^1.1", + "phpstan/phpstan-strict-rules": "^1.3", + "phpunit/phpunit": "^8.5 || ^9.5", + "vimeo/psalm": "^4.25 || ^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Inflector\\": "lib/Doctrine/Inflector" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Benjamin Eberlei", + "email": "kontakt@beberlei.de" + }, + { + "name": "Jonathan Wage", + "email": "jonwage@gmail.com" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Inflector is a small library that can perform string manipulations with regard to upper/lowercase and singular/plural forms of words.", + "homepage": "https://www.doctrine-project.org/projects/inflector.html", + "keywords": [ + "inflection", + "inflector", + "lowercase", + "manipulation", + "php", + "plural", + "singular", + "strings", + "uppercase", + "words" + ], + "support": { + "issues": "https://github.com/doctrine/inflector/issues", + "source": "https://github.com/doctrine/inflector/tree/2.0.8" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finflector", + "type": "tidelift" + } + ], + "time": "2023-06-16T13:40:37+00:00" + }, + { + "name": "doctrine/lexer", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/lexer.git", + "reference": "84a527db05647743d50373e0ec53a152f2cde568" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/lexer/zipball/84a527db05647743d50373e0ec53a152f2cde568", + "reference": "84a527db05647743d50373e0ec53a152f2cde568", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^10", + "phpstan/phpstan": "^1.9", + "phpunit/phpunit": "^9.5", + "psalm/plugin-phpunit": "^0.18.3", + "vimeo/psalm": "^5.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Common\\Lexer\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Guilherme Blanco", + "email": "guilhermeblanco@gmail.com" + }, + { + "name": "Roman Borschel", + "email": "roman@code-factory.org" + }, + { + "name": "Johannes Schmitt", + "email": "schmittjoh@gmail.com" + } + ], + "description": "PHP Doctrine Lexer parser library that can be used in Top-Down, Recursive Descent Parsers.", + "homepage": "https://www.doctrine-project.org/projects/lexer.html", + "keywords": [ + "annotations", + "docblock", + "lexer", + "parser", + "php" + ], + "support": { + "issues": "https://github.com/doctrine/lexer/issues", + "source": "https://github.com/doctrine/lexer/tree/3.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Flexer", + "type": "tidelift" + } + ], + "time": "2022-12-15T16:57:16+00:00" + }, + { + "name": "dragonmantank/cron-expression", + "version": "v3.3.3", + "source": { + "type": "git", + "url": "https://github.com/dragonmantank/cron-expression.git", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/dragonmantank/cron-expression/zipball/adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "reference": "adfb1f505deb6384dc8b39804c5065dd3c8c8c0a", + "shasum": "" + }, + "require": { + "php": "^7.2|^8.0", + "webmozart/assert": "^1.0" + }, + "replace": { + "mtdowling/cron-expression": "^1.0" + }, + "require-dev": { + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^1.0", + "phpstan/phpstan-webmozart-assert": "^1.0", + "phpunit/phpunit": "^7.0|^8.0|^9.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Cron\\": "src/Cron/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Chris Tankersley", + "email": "chris@ctankersley.com", + "homepage": "https://github.com/dragonmantank" + } + ], + "description": "CRON for PHP: Calculate the next or previous run date and determine if a CRON expression is due", + "keywords": [ + "cron", + "schedule" + ], + "support": { + "issues": "https://github.com/dragonmantank/cron-expression/issues", + "source": "https://github.com/dragonmantank/cron-expression/tree/v3.3.3" + }, + "funding": [ + { + "url": "https://github.com/dragonmantank", + "type": "github" + } + ], + "time": "2023-08-10T19:36:49+00:00" + }, + { + "name": "egulias/email-validator", + "version": "4.0.2", + "source": { + "type": "git", + "url": "https://github.com/egulias/EmailValidator.git", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/egulias/EmailValidator/zipball/ebaaf5be6c0286928352e054f2d5125608e5405e", + "reference": "ebaaf5be6c0286928352e054f2d5125608e5405e", + "shasum": "" + }, + "require": { + "doctrine/lexer": "^2.0 || ^3.0", + "php": ">=8.1", + "symfony/polyfill-intl-idn": "^1.26" + }, + "require-dev": { + "phpunit/phpunit": "^10.2", + "vimeo/psalm": "^5.12" + }, + "suggest": { + "ext-intl": "PHP Internationalization Libraries are required to use the SpoofChecking validation" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Egulias\\EmailValidator\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Eduardo Gulias Davis" + } + ], + "description": "A library for validating emails against several RFCs", + "homepage": "https://github.com/egulias/EmailValidator", + "keywords": [ + "email", + "emailvalidation", + "emailvalidator", + "validation", + "validator" + ], + "support": { + "issues": "https://github.com/egulias/EmailValidator/issues", + "source": "https://github.com/egulias/EmailValidator/tree/4.0.2" + }, + "funding": [ + { + "url": "https://github.com/egulias", + "type": "github" + } + ], + "time": "2023-10-06T06:47:41+00:00" + }, + { + "name": "fruitcake/php-cors", + "version": "v1.3.0", + "source": { + "type": "git", + "url": "https://github.com/fruitcake/php-cors.git", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/fruitcake/php-cors/zipball/3d158f36e7875e2f040f37bc0573956240a5a38b", + "reference": "3d158f36e7875e2f040f37bc0573956240a5a38b", + "shasum": "" + }, + "require": { + "php": "^7.4|^8.0", + "symfony/http-foundation": "^4.4|^5.4|^6|^7" + }, + "require-dev": { + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9", + "squizlabs/php_codesniffer": "^3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "Fruitcake\\Cors\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fruitcake", + "homepage": "https://fruitcake.nl" + }, + { + "name": "Barryvdh", + "email": "barryvdh@gmail.com" + } + ], + "description": "Cross-origin resource sharing library for the Symfony HttpFoundation", + "homepage": "https://github.com/fruitcake/php-cors", + "keywords": [ + "cors", + "laravel", + "symfony" + ], + "support": { + "issues": "https://github.com/fruitcake/php-cors/issues", + "source": "https://github.com/fruitcake/php-cors/tree/v1.3.0" + }, + "funding": [ + { + "url": "https://fruitcake.nl", + "type": "custom" + }, + { + "url": "https://github.com/barryvdh", + "type": "github" + } + ], + "time": "2023-10-12T05:21:21+00:00" + }, + { + "name": "graham-campbell/result-type", + "version": "v1.1.2", + "source": { + "type": "git", + "url": "https://github.com/GrahamCampbell/Result-Type.git", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/GrahamCampbell/Result-Type/zipball/fbd48bce38f73f8a4ec8583362e732e4095e5862", + "reference": "fbd48bce38f73f8a4ec8583362e732e4095e5862", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "GrahamCampbell\\ResultType\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "An Implementation Of The Result Type", + "keywords": [ + "Graham Campbell", + "GrahamCampbell", + "Result Type", + "Result-Type", + "result" + ], + "support": { + "issues": "https://github.com/GrahamCampbell/Result-Type/issues", + "source": "https://github.com/GrahamCampbell/Result-Type/tree/v1.1.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/graham-campbell/result-type", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:16:48+00:00" + }, + { + "name": "guzzlehttp/guzzle", + "version": "7.8.1", + "source": { + "type": "git", + "url": "https://github.com/guzzle/guzzle.git", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/guzzle/zipball/41042bc7ab002487b876a0683fc8dce04ddce104", + "reference": "41042bc7ab002487b876a0683fc8dce04ddce104", + "shasum": "" + }, + "require": { + "ext-json": "*", + "guzzlehttp/promises": "^1.5.3 || ^2.0.1", + "guzzlehttp/psr7": "^1.9.1 || ^2.5.1", + "php": "^7.2.5 || ^8.0", + "psr/http-client": "^1.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "provide": { + "psr/http-client-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-curl": "*", + "php-http/client-integration-tests": "dev-master#2c025848417c1135031fdf9c728ee53d0a7ceaee as 3.0.999", + "php-http/message-factory": "^1.1", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "psr/log": "^1.1 || ^2.0 || ^3.0" + }, + "suggest": { + "ext-curl": "Required for CURL handler support", + "ext-intl": "Required for Internationalized Domain Name (IDN) support", + "psr/log": "Required for using the Log middleware" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions_include.php" + ], + "psr-4": { + "GuzzleHttp\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Jeremy Lindblom", + "email": "jeremeamia@gmail.com", + "homepage": "https://github.com/jeremeamia" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle is a PHP HTTP client library", + "keywords": [ + "client", + "curl", + "framework", + "http", + "http client", + "psr-18", + "psr-7", + "rest", + "web service" + ], + "support": { + "issues": "https://github.com/guzzle/guzzle/issues", + "source": "https://github.com/guzzle/guzzle/tree/7.8.1" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/guzzle", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:35:24+00:00" + }, + { + "name": "guzzlehttp/promises", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/promises.git", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/promises/zipball/bbff78d96034045e58e13dedd6ad91b5d1253223", + "reference": "bbff78d96034045e58e13dedd6ad91b5d1253223", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Promise\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + } + ], + "description": "Guzzle promises library", + "keywords": [ + "promise" + ], + "support": { + "issues": "https://github.com/guzzle/promises/issues", + "source": "https://github.com/guzzle/promises/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/promises", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:19:20+00:00" + }, + { + "name": "guzzlehttp/psr7", + "version": "2.6.2", + "source": { + "type": "git", + "url": "https://github.com/guzzle/psr7.git", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/psr7/zipball/45b30f99ac27b5ca93cb4831afe16285f57b8221", + "reference": "45b30f99ac27b5ca93cb4831afe16285f57b8221", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "psr/http-factory": "^1.0", + "psr/http-message": "^1.1 || ^2.0", + "ralouphie/getallheaders": "^3.0" + }, + "provide": { + "psr/http-factory-implementation": "1.0", + "psr/http-message-implementation": "1.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "http-interop/http-factory-tests": "^0.9", + "phpunit/phpunit": "^8.5.36 || ^9.6.15" + }, + "suggest": { + "laminas/laminas-httphandlerrunner": "Emit PSR-7 responses" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\Psr7\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://github.com/sagikazarmark" + }, + { + "name": "Tobias Schultze", + "email": "webmaster@tubo-world.de", + "homepage": "https://github.com/Tobion" + }, + { + "name": "Márk Sági-Kazár", + "email": "mark.sagikazar@gmail.com", + "homepage": "https://sagikazarmark.hu" + } + ], + "description": "PSR-7 message implementation that also provides common utility methods", + "keywords": [ + "http", + "message", + "psr-7", + "request", + "response", + "stream", + "uri", + "url" + ], + "support": { + "issues": "https://github.com/guzzle/psr7/issues", + "source": "https://github.com/guzzle/psr7/tree/2.6.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/psr7", + "type": "tidelift" + } + ], + "time": "2023-12-03T20:05:35+00:00" + }, + { + "name": "guzzlehttp/uri-template", + "version": "v1.0.3", + "source": { + "type": "git", + "url": "https://github.com/guzzle/uri-template.git", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/guzzle/uri-template/zipball/ecea8feef63bd4fef1f037ecb288386999ecc11c", + "reference": "ecea8feef63bd4fef1f037ecb288386999ecc11c", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.36 || ^9.6.15", + "uri-template/tests": "1.0.0" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": false + } + }, + "autoload": { + "psr-4": { + "GuzzleHttp\\UriTemplate\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Michael Dowling", + "email": "mtdowling@gmail.com", + "homepage": "https://github.com/mtdowling" + }, + { + "name": "George Mponos", + "email": "gmponos@gmail.com", + "homepage": "https://github.com/gmponos" + }, + { + "name": "Tobias Nyholm", + "email": "tobias.nyholm@gmail.com", + "homepage": "https://github.com/Nyholm" + } + ], + "description": "A polyfill class for uri_template of PHP", + "keywords": [ + "guzzlehttp", + "uri-template" + ], + "support": { + "issues": "https://github.com/guzzle/uri-template/issues", + "source": "https://github.com/guzzle/uri-template/tree/v1.0.3" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://github.com/Nyholm", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/guzzlehttp/uri-template", + "type": "tidelift" + } + ], + "time": "2023-12-03T19:50:20+00:00" + }, + { + "name": "infyomlabs/adminlte-templates", + "version": "v4.0.2", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/adminlte-templates.git", + "reference": "deed005232c4db249f5f59a8be707709777d4b60" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/adminlte-templates/zipball/deed005232c4db249f5f59a8be707709777d4b60", + "reference": "deed005232c4db249f5f59a8be707709777d4b60", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0", + "infyomlabs/laravel-ui-adminlte": "^4.0", + "php": "^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "\\InfyOm\\AdminLTETemplates\\AdminLTETemplatesServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InfyOm\\AdminLTETemplates\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "AdminLTE templates for InfyOm Laravel Generator", + "keywords": [ + "AdminLTE", + "bootstrap", + "generator", + "infyom", + "laravel", + "templates" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/adminlte-templates/issues", + "source": "https://github.com/InfyOmLabs/adminlte-templates/tree/v4.0.2" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "time": "2022-06-23T13:10:16+00:00" + }, + { + "name": "infyomlabs/generator-builder", + "version": "v1.0.0", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/generator-builder.git", + "reference": "7ae76cd061caff7ba31f9ec871626cbfcd040251" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/generator-builder/zipball/7ae76cd061caff7ba31f9ec871626cbfcd040251", + "reference": "7ae76cd061caff7ba31f9ec871626cbfcd040251", + "shasum": "" + }, + "require": { + "illuminate/support": ">=5.0", + "php": ">=5.5.9" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "\\InfyOm\\GeneratorBuilder\\GeneratorBuilderServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InfyOm\\GeneratorBuilder\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "InfyOm Laravel Generator GUI Builder", + "keywords": [ + "api", + "builder", + "crud", + "generator", + "gui", + "interface", + "laravel", + "view" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/generator-builder/issues", + "source": "https://github.com/InfyOmLabs/generator-builder/tree/v1.0.0" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "time": "2022-02-22T06:28:37+00:00" + }, + { + "name": "infyomlabs/laravel-generator", + "version": "v4.2.2", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/laravel-generator.git", + "reference": "51527ad4d940bd7804a9f776cb1940a931033ab8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/laravel-generator/zipball/51527ad4d940bd7804a9f776cb1940a931033ab8", + "reference": "51527ad4d940bd7804a9f776cb1940a931033ab8", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.0", + "illuminate/support": "^9.0", + "laracasts/flash": "^3.2", + "laravelcollective/html": "^6.3", + "php": "^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.4.4", + "phpunit/phpunit": "^9.5.10" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "\\InfyOm\\Generator\\InfyOmGeneratorServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "InfyOm\\Generator\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "InfyOm Laravel Generator", + "keywords": [ + "api", + "crud", + "generator", + "laravel", + "migration", + "model", + "repository", + "request", + "swagger", + "test", + "view" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/laravel-generator/issues", + "source": "https://github.com/InfyOmLabs/laravel-generator/tree/v4.2.2" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "time": "2022-06-29T04:55:26+00:00" + }, + { + "name": "infyomlabs/laravel-generator-helpers", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/laravel-generator-helpers.git", + "reference": "89a83f334a8cfa16bbbad2c60218c9e66536cf9a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/laravel-generator-helpers/zipball/89a83f334a8cfa16bbbad2c60218c9e66536cf9a", + "reference": "89a83f334a8cfa16bbbad2c60218c9e66536cf9a", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0", + "php": "^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "InfyOm\\GeneratorHelpers\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "Helper functions for laravel generator packages", + "support": { + "issues": "https://github.com/InfyOmLabs/laravel-generator-helpers/issues", + "source": "https://github.com/InfyOmLabs/laravel-generator-helpers/tree/v4.0.0" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "time": "2022-02-22T10:02:37+00:00" + }, + { + "name": "infyomlabs/laravel-ui-adminlte", + "version": "v4.0.1", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/laravel-ui-adminlte.git", + "reference": "a5064e165e66547a326987d6d1e8de626f2c9b15" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/laravel-ui-adminlte/zipball/a5064e165e66547a326987d6d1e8de626f2c9b15", + "reference": "a5064e165e66547a326987d6d1e8de626f2c9b15", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0", + "infyomlabs/laravel-generator-helpers": "^4.0", + "laravel/ui": "^3.0", + "php": "^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "InfyOm\\AdminLTEPreset\\AdminLTEPresetServiceProvider", + "InfyOm\\AdminLTEPreset\\FortifyAdminLTEPresetServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InfyOm\\AdminLTEPreset\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "Laravel frontend preset for AdminLTE Theme", + "keywords": [ + "AdminLTE", + "laravel", + "preset" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/laravel-ui-adminlte/issues", + "source": "https://github.com/InfyOmLabs/laravel-ui-adminlte/tree/v4.0.1" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "time": "2022-06-29T05:12:51+00:00" + }, + { + "name": "infyomlabs/laravel-ui-stisla", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/laravel-ui-stisla.git", + "reference": "28da57056701b06efa3f36ca6cf900cd5e1ca89a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/laravel-ui-stisla/zipball/28da57056701b06efa3f36ca6cf900cd5e1ca89a", + "reference": "28da57056701b06efa3f36ca6cf900cd5e1ca89a", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0", + "infyomlabs/laravel-generator-helpers": "^4.0", + "laravel/ui": "^3.0", + "php": "^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "InfyOm\\StislaPreset\\StislaPresetServiceProvider", + "InfyOm\\StislaPreset\\FortifyStislaPresetServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InfyOm\\StislaPreset\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "Laravel frontend preset for Stisla Theme", + "keywords": [ + "laravel", + "preset", + "stisla" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/laravel-ui-stisla/issues", + "source": "https://github.com/InfyOmLabs/laravel-ui-stisla/tree/v4.0.0" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "abandoned": true, + "time": "2022-02-25T05:48:13+00:00" + }, + { + "name": "infyomlabs/stisla-templates", + "version": "v4.0.0", + "source": { + "type": "git", + "url": "https://github.com/InfyOmLabs/stisla-templates.git", + "reference": "cd9e726067eff9cbebfa28c910ef96ebd9c41fe8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/InfyOmLabs/stisla-templates/zipball/cd9e726067eff9cbebfa28c910ef96ebd9c41fe8", + "reference": "cd9e726067eff9cbebfa28c910ef96ebd9c41fe8", + "shasum": "" + }, + "require": { + "illuminate/support": "^9.0", + "infyomlabs/laravel-ui-stisla": "^4.0", + "php": "^8.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "\\InfyOm\\StislaTemplates\\StislaTemplatesServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "InfyOm\\StislaTemplates\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Mitul Golakiya", + "email": "me@mitul.me" + } + ], + "description": "Stisla templates for InfyOm Laravel Generator", + "keywords": [ + "bootstrap", + "generator", + "infyom", + "laravel", + "stisla", + "stisla-ui", + "templates" + ], + "support": { + "issues": "https://github.com/InfyOmLabs/stisla-templates/issues", + "source": "https://github.com/InfyOmLabs/stisla-templates/tree/v4.0.0" + }, + "funding": [ + { + "url": "https://opencollective.com/infyomlabs", + "type": "opencollective" + } + ], + "abandoned": true, + "time": "2022-02-25T05:56:32+00:00" + }, + { + "name": "laracasts/flash", + "version": "3.2.2", + "source": { + "type": "git", + "url": "https://github.com/laracasts/flash.git", + "reference": "6330bc3c027d3c03188b41c58133016f8226b8fb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laracasts/flash/zipball/6330bc3c027d3c03188b41c58133016f8226b8fb", + "reference": "6330bc3c027d3c03188b41c58133016f8226b8fb", + "shasum": "" + }, + "require": { + "illuminate/support": "~5.0|^6.0|^7.0|^8.0|^9.0|^10.0", + "php": ">=5.4.0" + }, + "require-dev": { + "mockery/mockery": "dev-master", + "phpunit/phpunit": "^6.1|^9.5.10" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Laracasts\\Flash\\FlashServiceProvider" + ], + "aliases": { + "Flash": "Laracasts\\Flash\\Flash" + } + } + }, + "autoload": { + "files": [ + "src/Laracasts/Flash/functions.php" + ], + "psr-0": { + "Laracasts\\Flash": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jeffrey Way", + "email": "jeffrey@laracasts.com" + } + ], + "description": "Easy flash notifications", + "support": { + "source": "https://github.com/laracasts/flash/tree/3.2.2" + }, + "time": "2023-01-30T20:31:40+00:00" + }, + { + "name": "laravel/framework", + "version": "v9.52.16", + "source": { + "type": "git", + "url": "https://github.com/laravel/framework.git", + "reference": "082345d76fc6a55b649572efe10b11b03e279d24" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/framework/zipball/082345d76fc6a55b649572efe10b11b03e279d24", + "reference": "082345d76fc6a55b649572efe10b11b03e279d24", + "shasum": "" + }, + "require": { + "brick/math": "^0.9.3|^0.10.2|^0.11", + "doctrine/inflector": "^2.0.5", + "dragonmantank/cron-expression": "^3.3.2", + "egulias/email-validator": "^3.2.1|^4.0", + "ext-ctype": "*", + "ext-filter": "*", + "ext-hash": "*", + "ext-mbstring": "*", + "ext-openssl": "*", + "ext-session": "*", + "ext-tokenizer": "*", + "fruitcake/php-cors": "^1.2", + "guzzlehttp/uri-template": "^1.0", + "laravel/serializable-closure": "^1.2.2", + "league/commonmark": "^2.2.1", + "league/flysystem": "^3.8.0", + "monolog/monolog": "^2.0", + "nesbot/carbon": "^2.62.1", + "nunomaduro/termwind": "^1.13", + "php": "^8.0.2", + "psr/container": "^1.1.1|^2.0.1", + "psr/log": "^1.0|^2.0|^3.0", + "psr/simple-cache": "^1.0|^2.0|^3.0", + "ramsey/uuid": "^4.7", + "symfony/console": "^6.0.9", + "symfony/error-handler": "^6.0", + "symfony/finder": "^6.0", + "symfony/http-foundation": "^6.0", + "symfony/http-kernel": "^6.0", + "symfony/mailer": "^6.0", + "symfony/mime": "^6.0", + "symfony/process": "^6.0", + "symfony/routing": "^6.0", + "symfony/uid": "^6.0", + "symfony/var-dumper": "^6.0", + "tijsverkoyen/css-to-inline-styles": "^2.2.5", + "vlucas/phpdotenv": "^5.4.1", + "voku/portable-ascii": "^2.0" + }, + "conflict": { + "tightenco/collect": "<5.5.33" + }, + "provide": { + "psr/container-implementation": "1.1|2.0", + "psr/simple-cache-implementation": "1.0|2.0|3.0" + }, + "replace": { + "illuminate/auth": "self.version", + "illuminate/broadcasting": "self.version", + "illuminate/bus": "self.version", + "illuminate/cache": "self.version", + "illuminate/collections": "self.version", + "illuminate/conditionable": "self.version", + "illuminate/config": "self.version", + "illuminate/console": "self.version", + "illuminate/container": "self.version", + "illuminate/contracts": "self.version", + "illuminate/cookie": "self.version", + "illuminate/database": "self.version", + "illuminate/encryption": "self.version", + "illuminate/events": "self.version", + "illuminate/filesystem": "self.version", + "illuminate/hashing": "self.version", + "illuminate/http": "self.version", + "illuminate/log": "self.version", + "illuminate/macroable": "self.version", + "illuminate/mail": "self.version", + "illuminate/notifications": "self.version", + "illuminate/pagination": "self.version", + "illuminate/pipeline": "self.version", + "illuminate/queue": "self.version", + "illuminate/redis": "self.version", + "illuminate/routing": "self.version", + "illuminate/session": "self.version", + "illuminate/support": "self.version", + "illuminate/testing": "self.version", + "illuminate/translation": "self.version", + "illuminate/validation": "self.version", + "illuminate/view": "self.version" + }, + "require-dev": { + "ably/ably-php": "^1.0", + "aws/aws-sdk-php": "^3.235.5", + "doctrine/dbal": "^2.13.3|^3.1.4", + "ext-gmp": "*", + "fakerphp/faker": "^1.21", + "guzzlehttp/guzzle": "^7.5", + "league/flysystem-aws-s3-v3": "^3.0", + "league/flysystem-ftp": "^3.0", + "league/flysystem-path-prefixing": "^3.3", + "league/flysystem-read-only": "^3.3", + "league/flysystem-sftp-v3": "^3.0", + "mockery/mockery": "^1.5.1", + "orchestra/testbench-core": "^7.24", + "pda/pheanstalk": "^4.0", + "phpstan/phpdoc-parser": "^1.15", + "phpstan/phpstan": "^1.4.7", + "phpunit/phpunit": "^9.5.8", + "predis/predis": "^1.1.9|^2.0.2", + "symfony/cache": "^6.0", + "symfony/http-client": "^6.0" + }, + "suggest": { + "ably/ably-php": "Required to use the Ably broadcast driver (^1.0).", + "aws/aws-sdk-php": "Required to use the SQS queue driver, DynamoDb failed job storage, and SES mail driver (^3.235.5).", + "brianium/paratest": "Required to run tests in parallel (^6.0).", + "doctrine/dbal": "Required to rename columns and drop SQLite columns (^2.13.3|^3.1.4).", + "ext-apcu": "Required to use the APC cache driver.", + "ext-fileinfo": "Required to use the Filesystem class.", + "ext-ftp": "Required to use the Flysystem FTP driver.", + "ext-gd": "Required to use Illuminate\\Http\\Testing\\FileFactory::image().", + "ext-memcached": "Required to use the memcache cache driver.", + "ext-pcntl": "Required to use all features of the queue worker and console signal trapping.", + "ext-pdo": "Required to use all database features.", + "ext-posix": "Required to use all features of the queue worker.", + "ext-redis": "Required to use the Redis cache and queue drivers (^4.0|^5.0).", + "fakerphp/faker": "Required to use the eloquent factory builder (^1.9.1).", + "filp/whoops": "Required for friendly error pages in development (^2.14.3).", + "guzzlehttp/guzzle": "Required to use the HTTP Client and the ping methods on schedules (^7.5).", + "laravel/tinker": "Required to use the tinker console command (^2.0).", + "league/flysystem-aws-s3-v3": "Required to use the Flysystem S3 driver (^3.0).", + "league/flysystem-ftp": "Required to use the Flysystem FTP driver (^3.0).", + "league/flysystem-path-prefixing": "Required to use the scoped driver (^3.3).", + "league/flysystem-read-only": "Required to use read-only disks (^3.3)", + "league/flysystem-sftp-v3": "Required to use the Flysystem SFTP driver (^3.0).", + "mockery/mockery": "Required to use mocking (^1.5.1).", + "nyholm/psr7": "Required to use PSR-7 bridging features (^1.2).", + "pda/pheanstalk": "Required to use the beanstalk queue driver (^4.0).", + "phpunit/phpunit": "Required to use assertions and run tests (^9.5.8).", + "predis/predis": "Required to use the predis connector (^1.1.9|^2.0.2).", + "psr/http-message": "Required to allow Storage::put to accept a StreamInterface (^1.0).", + "pusher/pusher-php-server": "Required to use the Pusher broadcast driver (^6.0|^7.0).", + "symfony/cache": "Required to PSR-6 cache bridge (^6.0).", + "symfony/filesystem": "Required to enable support for relative symbolic links (^6.0).", + "symfony/http-client": "Required to enable support for the Symfony API mail transports (^6.0).", + "symfony/mailgun-mailer": "Required to enable support for the Mailgun mail transport (^6.0).", + "symfony/postmark-mailer": "Required to enable support for the Postmark mail transport (^6.0).", + "symfony/psr-http-message-bridge": "Required to use PSR-7 bridging features (^2.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.x-dev" + } + }, + "autoload": { + "files": [ + "src/Illuminate/Collections/helpers.php", + "src/Illuminate/Events/functions.php", + "src/Illuminate/Foundation/helpers.php", + "src/Illuminate/Support/helpers.php" + ], + "psr-4": { + "Illuminate\\": "src/Illuminate/", + "Illuminate\\Support\\": [ + "src/Illuminate/Macroable/", + "src/Illuminate/Collections/", + "src/Illuminate/Conditionable/" + ] + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "The Laravel Framework.", + "homepage": "https://laravel.com", + "keywords": [ + "framework", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/framework/issues", + "source": "https://github.com/laravel/framework" + }, + "time": "2023-10-03T13:02:30+00:00" + }, + { + "name": "laravel/sanctum", + "version": "v2.15.1", + "source": { + "type": "git", + "url": "https://github.com/laravel/sanctum.git", + "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sanctum/zipball/31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", + "reference": "31fbe6f85aee080c4dc2f9b03dc6dd5d0ee72473", + "shasum": "" + }, + "require": { + "ext-json": "*", + "illuminate/console": "^6.9|^7.0|^8.0|^9.0", + "illuminate/contracts": "^6.9|^7.0|^8.0|^9.0", + "illuminate/database": "^6.9|^7.0|^8.0|^9.0", + "illuminate/support": "^6.9|^7.0|^8.0|^9.0", + "php": "^7.2|^8.0" + }, + "require-dev": { + "mockery/mockery": "^1.0", + "orchestra/testbench": "^4.0|^5.0|^6.0|^7.0", + "phpunit/phpunit": "^8.0|^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sanctum\\SanctumServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sanctum\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel Sanctum provides a featherweight authentication system for SPAs and simple APIs.", + "keywords": [ + "auth", + "laravel", + "sanctum" + ], + "support": { + "issues": "https://github.com/laravel/sanctum/issues", + "source": "https://github.com/laravel/sanctum" + }, + "time": "2022-04-08T13:39:49+00:00" + }, + { + "name": "laravel/serializable-closure", + "version": "v1.3.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/serializable-closure.git", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/serializable-closure/zipball/3dbf8a8e914634c48d389c1234552666b3d43754", + "reference": "3dbf8a8e914634c48d389c1234552666b3d43754", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "nesbot/carbon": "^2.61", + "pestphp/pest": "^1.21.3", + "phpstan/phpstan": "^1.8.2", + "symfony/var-dumper": "^5.4.11" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + } + }, + "autoload": { + "psr-4": { + "Laravel\\SerializableClosure\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + }, + { + "name": "Nuno Maduro", + "email": "nuno@laravel.com" + } + ], + "description": "Laravel Serializable Closure provides an easy and secure way to serialize closures in PHP.", + "keywords": [ + "closure", + "laravel", + "serializable" + ], + "support": { + "issues": "https://github.com/laravel/serializable-closure/issues", + "source": "https://github.com/laravel/serializable-closure" + }, + "time": "2023-11-08T14:08:06+00:00" + }, + { + "name": "laravel/tinker", + "version": "v2.8.2", + "source": { + "type": "git", + "url": "https://github.com/laravel/tinker.git", + "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/tinker/zipball/b936d415b252b499e8c3b1f795cd4fc20f57e1f3", + "reference": "b936d415b252b499e8c3b1f795cd4fc20f57e1f3", + "shasum": "" + }, + "require": { + "illuminate/console": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/contracts": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0", + "php": "^7.2.5|^8.0", + "psy/psysh": "^0.10.4|^0.11.1", + "symfony/var-dumper": "^4.3.4|^5.0|^6.0" + }, + "require-dev": { + "mockery/mockery": "~1.3.3|^1.4.2", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^8.5.8|^9.3.3" + }, + "suggest": { + "illuminate/database": "The Illuminate Database package (^6.0|^7.0|^8.0|^9.0|^10.0)." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Tinker\\TinkerServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Tinker\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Powerful REPL for the Laravel framework.", + "keywords": [ + "REPL", + "Tinker", + "laravel", + "psysh" + ], + "support": { + "issues": "https://github.com/laravel/tinker/issues", + "source": "https://github.com/laravel/tinker/tree/v2.8.2" + }, + "time": "2023-08-15T14:27:00+00:00" + }, + { + "name": "laravel/ui", + "version": "v3.4.6", + "source": { + "type": "git", + "url": "https://github.com/laravel/ui.git", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/ui/zipball/65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "reference": "65ec5c03f7fee2c8ecae785795b829a15be48c2c", + "shasum": "" + }, + "require": { + "illuminate/console": "^8.42|^9.0", + "illuminate/filesystem": "^8.42|^9.0", + "illuminate/support": "^8.82|^9.0", + "illuminate/validation": "^8.42|^9.0", + "php": "^7.3|^8.0" + }, + "require-dev": { + "orchestra/testbench": "^6.23|^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Ui\\UiServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Ui\\": "src/", + "Illuminate\\Foundation\\Auth\\": "auth-backend/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Laravel UI utilities and presets.", + "keywords": [ + "laravel", + "ui" + ], + "support": { + "source": "https://github.com/laravel/ui/tree/v3.4.6" + }, + "time": "2022-05-20T13:38:08+00:00" + }, + { + "name": "laravelcollective/html", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/LaravelCollective/html.git", + "reference": "64ddfdcaeeb8d332bd98bef442bef81e39c3910b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/LaravelCollective/html/zipball/64ddfdcaeeb8d332bd98bef442bef81e39c3910b", + "reference": "64ddfdcaeeb8d332bd98bef442bef81e39c3910b", + "shasum": "" + }, + "require": { + "illuminate/http": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/routing": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/session": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/support": "^6.0|^7.0|^8.0|^9.0|^10.0", + "illuminate/view": "^6.0|^7.0|^8.0|^9.0|^10.0", + "php": ">=7.2.5" + }, + "require-dev": { + "illuminate/database": "^6.0|^7.0|^8.0|^9.0|^10.0", + "mockery/mockery": "~1.0", + "phpunit/phpunit": "~8.5|^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "6.x-dev" + }, + "laravel": { + "providers": [ + "Collective\\Html\\HtmlServiceProvider" + ], + "aliases": { + "Form": "Collective\\Html\\FormFacade", + "Html": "Collective\\Html\\HtmlFacade" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Collective\\Html\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Adam Engebretson", + "email": "adam@laravelcollective.com" + }, + { + "name": "Taylor Otwell", + "email": "taylorotwell@gmail.com" + } + ], + "description": "HTML and Form Builders for the Laravel Framework", + "homepage": "https://laravelcollective.com", + "support": { + "issues": "https://github.com/LaravelCollective/html/issues", + "source": "https://github.com/LaravelCollective/html" + }, + "abandoned": "spatie/laravel-html", + "time": "2023-04-25T02:46:11+00:00" + }, + { + "name": "lcobucci/clock", + "version": "2.3.0", + "source": { + "type": "git", + "url": "https://github.com/lcobucci/clock.git", + "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lcobucci/clock/zipball/c7aadcd6fd97ed9e199114269c0be3f335e38876", + "reference": "c7aadcd6fd97ed9e199114269c0be3f335e38876", + "shasum": "" + }, + "require": { + "php": "~8.1.0 || ~8.2.0", + "stella-maris/clock": "^0.1.7" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "infection/infection": "^0.26", + "lcobucci/coding-standard": "^9.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-deprecation-rules": "^1.1.1", + "phpstan/phpstan-phpunit": "^1.3.2", + "phpstan/phpstan-strict-rules": "^1.4.4", + "phpunit/phpunit": "^9.5.27" + }, + "type": "library", + "autoload": { + "psr-4": { + "Lcobucci\\Clock\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com" + } + ], + "description": "Yet another clock abstraction", + "support": { + "issues": "https://github.com/lcobucci/clock/issues", + "source": "https://github.com/lcobucci/clock/tree/2.3.0" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], + "time": "2022-12-19T14:38:11+00:00" + }, + { + "name": "lcobucci/jwt", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/lcobucci/jwt.git", + "reference": "55564265fddf810504110bd68ca311932324b0e9" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/lcobucci/jwt/zipball/55564265fddf810504110bd68ca311932324b0e9", + "reference": "55564265fddf810504110bd68ca311932324b0e9", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "ext-openssl": "*", + "lcobucci/clock": "^2.0", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "infection/infection": "^0.20", + "lcobucci/coding-standard": "^6.0", + "mikey179/vfsstream": "^1.6", + "phpbench/phpbench": "^0.17", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12", + "phpstan/phpstan-deprecation-rules": "^0.12", + "phpstan/phpstan-phpunit": "^0.12", + "phpstan/phpstan-strict-rules": "^0.12", + "phpunit/php-invoker": "^3.1", + "phpunit/phpunit": "^9.4" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "psr-4": { + "Lcobucci\\JWT\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Luís Cobucci", + "email": "lcobucci@gmail.com", + "role": "Developer" + } + ], + "description": "A simple library to work with JSON Web Token and JSON Web Signature", + "keywords": [ + "JWS", + "jwt" + ], + "support": { + "issues": "https://github.com/lcobucci/jwt/issues", + "source": "https://github.com/lcobucci/jwt/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/lcobucci", + "type": "github" + }, + { + "url": "https://www.patreon.com/lcobucci", + "type": "patreon" + } + ], + "time": "2021-09-28T19:18:28+00:00" + }, + { + "name": "league/commonmark", + "version": "2.4.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/commonmark.git", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/commonmark/zipball/3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "reference": "3669d6d5f7a47a93c08ddff335e6d945481a1dd5", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "league/config": "^1.1.1", + "php": "^7.4 || ^8.0", + "psr/event-dispatcher": "^1.0", + "symfony/deprecation-contracts": "^2.1 || ^3.0", + "symfony/polyfill-php80": "^1.16" + }, + "require-dev": { + "cebe/markdown": "^1.0", + "commonmark/cmark": "0.30.0", + "commonmark/commonmark.js": "0.30.0", + "composer/package-versions-deprecated": "^1.8", + "embed/embed": "^4.4", + "erusev/parsedown": "^1.0", + "ext-json": "*", + "github/gfm": "0.29.0", + "michelf/php-markdown": "^1.4 || ^2.0", + "nyholm/psr7": "^1.5", + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.21", + "scrutinizer/ocular": "^1.8.1", + "symfony/finder": "^5.3 | ^6.0", + "symfony/yaml": "^2.3 | ^3.0 | ^4.0 | ^5.0 | ^6.0", + "unleashedtech/php-coding-standard": "^3.1.1", + "vimeo/psalm": "^4.24.0 || ^5.0.0" + }, + "suggest": { + "symfony/yaml": "v2.3+ required if using the Front Matter extension" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.5-dev" + } + }, + "autoload": { + "psr-4": { + "League\\CommonMark\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Highly-extensible PHP Markdown parser which fully supports the CommonMark spec and GitHub-Flavored Markdown (GFM)", + "homepage": "https://commonmark.thephpleague.com", + "keywords": [ + "commonmark", + "flavored", + "gfm", + "github", + "github-flavored", + "markdown", + "md", + "parser" + ], + "support": { + "docs": "https://commonmark.thephpleague.com/", + "forum": "https://github.com/thephpleague/commonmark/discussions", + "issues": "https://github.com/thephpleague/commonmark/issues", + "rss": "https://github.com/thephpleague/commonmark/releases.atom", + "source": "https://github.com/thephpleague/commonmark" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/commonmark", + "type": "tidelift" + } + ], + "time": "2023-08-30T16:55:00+00:00" + }, + { + "name": "league/config", + "version": "v1.2.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/config.git", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/config/zipball/754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "reference": "754b3604fb2984c71f4af4a9cbe7b57f346ec1f3", + "shasum": "" + }, + "require": { + "dflydev/dot-access-data": "^3.0.1", + "nette/schema": "^1.2", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "phpstan/phpstan": "^1.8.2", + "phpunit/phpunit": "^9.5.5", + "scrutinizer/ocular": "^1.8.1", + "unleashedtech/php-coding-standard": "^3.1", + "vimeo/psalm": "^4.7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.2-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Config\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Colin O'Dell", + "email": "colinodell@gmail.com", + "homepage": "https://www.colinodell.com", + "role": "Lead Developer" + } + ], + "description": "Define configuration arrays with strict schemas and access values with dot notation", + "homepage": "https://config.thephpleague.com", + "keywords": [ + "array", + "config", + "configuration", + "dot", + "dot-access", + "nested", + "schema" + ], + "support": { + "docs": "https://config.thephpleague.com/", + "issues": "https://github.com/thephpleague/config/issues", + "rss": "https://github.com/thephpleague/config/releases.atom", + "source": "https://github.com/thephpleague/config" + }, + "funding": [ + { + "url": "https://www.colinodell.com/sponsor", + "type": "custom" + }, + { + "url": "https://www.paypal.me/colinpodell/10.00", + "type": "custom" + }, + { + "url": "https://github.com/colinodell", + "type": "github" + } + ], + "time": "2022-12-11T20:36:23+00:00" + }, + { + "name": "league/flysystem", + "version": "3.23.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem.git", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem/zipball/d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", + "reference": "d4ad81e2b67396e33dc9d7e54ec74ccf73151dcc", + "shasum": "" + }, + "require": { + "league/flysystem-local": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "conflict": { + "async-aws/core": "<1.19.0", + "async-aws/s3": "<1.14.0", + "aws/aws-sdk-php": "3.209.31 || 3.210.0", + "guzzlehttp/guzzle": "<7.0", + "guzzlehttp/ringphp": "<1.1.1", + "phpseclib/phpseclib": "3.0.15", + "symfony/http-client": "<5.2" + }, + "require-dev": { + "async-aws/s3": "^1.5 || ^2.0", + "async-aws/simple-s3": "^1.1 || ^2.0", + "aws/aws-sdk-php": "^3.220.0", + "composer/semver": "^3.0", + "ext-fileinfo": "*", + "ext-ftp": "*", + "ext-zip": "*", + "friendsofphp/php-cs-fixer": "^3.5", + "google/cloud-storage": "^1.23", + "microsoft/azure-storage-blob": "^1.1", + "phpseclib/phpseclib": "^3.0.34", + "phpstan/phpstan": "^1.10", + "phpunit/phpunit": "^9.5.11|^10.0", + "sabre/dav": "^4.3.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "File storage abstraction for PHP", + "keywords": [ + "WebDAV", + "aws", + "cloud", + "file", + "files", + "filesystem", + "filesystems", + "ftp", + "s3", + "sftp", + "storage" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem/issues", + "source": "https://github.com/thephpleague/flysystem/tree/3.23.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-12-04T10:16:17+00:00" + }, + { + "name": "league/flysystem-local", + "version": "3.23.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/flysystem-local.git", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/flysystem-local/zipball/5cf046ba5f059460e86a997c504dd781a39a109b", + "reference": "5cf046ba5f059460e86a997c504dd781a39a109b", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "league/flysystem": "^3.0.0", + "league/mime-type-detection": "^1.0.0", + "php": "^8.0.2" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\Flysystem\\Local\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Local filesystem adapter for Flysystem.", + "keywords": [ + "Flysystem", + "file", + "files", + "filesystem", + "local" + ], + "support": { + "issues": "https://github.com/thephpleague/flysystem-local/issues", + "source": "https://github.com/thephpleague/flysystem-local/tree/3.23.0" + }, + "funding": [ + { + "url": "https://ecologi.com/frankdejonge", + "type": "custom" + }, + { + "url": "https://github.com/frankdejonge", + "type": "github" + } + ], + "time": "2023-12-04T10:14:46+00:00" + }, + { + "name": "league/fractal", + "version": "0.20.1", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/fractal.git", + "reference": "8b9d39b67624db9195c06f9c1ffd0355151eaf62" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/fractal/zipball/8b9d39b67624db9195c06f9c1ffd0355151eaf62", + "reference": "8b9d39b67624db9195c06f9c1ffd0355151eaf62", + "shasum": "" + }, + "require": { + "php": ">=7.4" + }, + "require-dev": { + "doctrine/orm": "^2.5", + "illuminate/contracts": "~5.0", + "mockery/mockery": "^1.3", + "pagerfanta/pagerfanta": "~1.0.0", + "phpstan/phpstan": "^1.4", + "phpunit/phpunit": "^9.5", + "squizlabs/php_codesniffer": "~3.4", + "vimeo/psalm": "^4.22", + "zendframework/zend-paginator": "~2.3" + }, + "suggest": { + "illuminate/pagination": "The Illuminate Pagination component.", + "pagerfanta/pagerfanta": "Pagerfanta Paginator", + "zendframework/zend-paginator": "Zend Framework Paginator" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "0.20.x-dev" + } + }, + "autoload": { + "psr-4": { + "League\\Fractal\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Phil Sturgeon", + "email": "me@philsturgeon.uk", + "homepage": "http://philsturgeon.uk/", + "role": "Developer" + } + ], + "description": "Handle the output of complex data structures ready for API output.", + "homepage": "http://fractal.thephpleague.com/", + "keywords": [ + "api", + "json", + "league", + "rest" + ], + "support": { + "issues": "https://github.com/thephpleague/fractal/issues", + "source": "https://github.com/thephpleague/fractal/tree/0.20.1" + }, + "time": "2022-04-11T12:47:17+00:00" + }, + { + "name": "league/mime-type-detection", + "version": "1.14.0", + "source": { + "type": "git", + "url": "https://github.com/thephpleague/mime-type-detection.git", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/thephpleague/mime-type-detection/zipball/b6a5854368533df0295c5761a0253656a2e52d9e", + "reference": "b6a5854368533df0295c5761a0253656a2e52d9e", + "shasum": "" + }, + "require": { + "ext-fileinfo": "*", + "php": "^7.4 || ^8.0" + }, + "require-dev": { + "friendsofphp/php-cs-fixer": "^3.2", + "phpstan/phpstan": "^0.12.68", + "phpunit/phpunit": "^8.5.8 || ^9.3 || ^10.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "League\\MimeTypeDetection\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Frank de Jonge", + "email": "info@frankdejonge.nl" + } + ], + "description": "Mime-type detection for Flysystem", + "support": { + "issues": "https://github.com/thephpleague/mime-type-detection/issues", + "source": "https://github.com/thephpleague/mime-type-detection/tree/1.14.0" + }, + "funding": [ + { + "url": "https://github.com/frankdejonge", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/league/flysystem", + "type": "tidelift" + } + ], + "time": "2023-10-17T14:13:20+00:00" + }, + { + "name": "monolog/monolog", + "version": "2.9.2", + "source": { + "type": "git", + "url": "https://github.com/Seldaek/monolog.git", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/Seldaek/monolog/zipball/437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "reference": "437cb3628f4cf6042cc10ae97fc2b8472e48ca1f", + "shasum": "" + }, + "require": { + "php": ">=7.2", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "provide": { + "psr/log-implementation": "1.0.0 || 2.0.0 || 3.0.0" + }, + "require-dev": { + "aws/aws-sdk-php": "^2.4.9 || ^3.0", + "doctrine/couchdb": "~1.0@dev", + "elasticsearch/elasticsearch": "^7 || ^8", + "ext-json": "*", + "graylog2/gelf-php": "^1.4.2 || ^2@dev", + "guzzlehttp/guzzle": "^7.4", + "guzzlehttp/psr7": "^2.2", + "mongodb/mongodb": "^1.8", + "php-amqplib/php-amqplib": "~2.4 || ^3", + "phpspec/prophecy": "^1.15", + "phpstan/phpstan": "^0.12.91", + "phpunit/phpunit": "^8.5.14", + "predis/predis": "^1.1 || ^2.0", + "rollbar/rollbar": "^1.3 || ^2 || ^3", + "ruflin/elastica": "^7", + "swiftmailer/swiftmailer": "^5.3|^6.0", + "symfony/mailer": "^5.4 || ^6", + "symfony/mime": "^5.4 || ^6" + }, + "suggest": { + "aws/aws-sdk-php": "Allow sending log messages to AWS services like DynamoDB", + "doctrine/couchdb": "Allow sending log messages to a CouchDB server", + "elasticsearch/elasticsearch": "Allow sending log messages to an Elasticsearch server via official client", + "ext-amqp": "Allow sending log messages to an AMQP server (1.0+ required)", + "ext-curl": "Required to send log messages using the IFTTTHandler, the LogglyHandler, the SendGridHandler, the SlackWebhookHandler or the TelegramBotHandler", + "ext-mbstring": "Allow to work properly with unicode symbols", + "ext-mongodb": "Allow sending log messages to a MongoDB server (via driver)", + "ext-openssl": "Required to send log messages using SSL", + "ext-sockets": "Allow sending log messages to a Syslog server (via UDP driver)", + "graylog2/gelf-php": "Allow sending log messages to a GrayLog2 server", + "mongodb/mongodb": "Allow sending log messages to a MongoDB server (via library)", + "php-amqplib/php-amqplib": "Allow sending log messages to an AMQP server using php-amqplib", + "rollbar/rollbar": "Allow sending log messages to Rollbar", + "ruflin/elastica": "Allow sending log messages to an Elastic Search server" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "2.x-dev" + } + }, + "autoload": { + "psr-4": { + "Monolog\\": "src/Monolog" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Jordi Boggiano", + "email": "j.boggiano@seld.be", + "homepage": "https://seld.be" + } + ], + "description": "Sends your logs to files, sockets, inboxes, databases and various web services", + "homepage": "https://github.com/Seldaek/monolog", + "keywords": [ + "log", + "logging", + "psr-3" + ], + "support": { + "issues": "https://github.com/Seldaek/monolog/issues", + "source": "https://github.com/Seldaek/monolog/tree/2.9.2" + }, + "funding": [ + { + "url": "https://github.com/Seldaek", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/monolog/monolog", + "type": "tidelift" + } + ], + "time": "2023-10-27T15:25:26+00:00" + }, + { + "name": "namshi/jose", + "version": "7.2.3", + "source": { + "type": "git", + "url": "https://github.com/namshi/jose.git", + "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/namshi/jose/zipball/89a24d7eb3040e285dd5925fcad992378b82bcff", + "reference": "89a24d7eb3040e285dd5925fcad992378b82bcff", + "shasum": "" + }, + "require": { + "ext-date": "*", + "ext-hash": "*", + "ext-json": "*", + "ext-pcre": "*", + "ext-spl": "*", + "php": ">=5.5", + "symfony/polyfill-php56": "^1.0" + }, + "require-dev": { + "phpseclib/phpseclib": "^2.0", + "phpunit/phpunit": "^4.5|^5.0", + "satooshi/php-coveralls": "^1.0" + }, + "suggest": { + "ext-openssl": "Allows to use OpenSSL as crypto engine.", + "phpseclib/phpseclib": "Allows to use Phpseclib as crypto engine, use version ^2.0." + }, + "type": "library", + "autoload": { + "psr-4": { + "Namshi\\JOSE\\": "src/Namshi/JOSE/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Alessandro Nadalin", + "email": "alessandro.nadalin@gmail.com" + }, + { + "name": "Alessandro Cinelli (cirpo)", + "email": "alessandro.cinelli@gmail.com" + } + ], + "description": "JSON Object Signing and Encryption library for PHP.", + "keywords": [ + "JSON Web Signature", + "JSON Web Token", + "JWS", + "json", + "jwt", + "token" + ], + "support": { + "issues": "https://github.com/namshi/jose/issues", + "source": "https://github.com/namshi/jose/tree/master" + }, + "time": "2016-12-05T07:27:31+00:00" + }, + { + "name": "nesbot/carbon", + "version": "2.72.1", + "source": { + "type": "git", + "url": "https://github.com/briannesbitt/Carbon.git", + "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/briannesbitt/Carbon/zipball/2b3b3db0a2d0556a177392ff1a3bf5608fa09f78", + "reference": "2b3b3db0a2d0556a177392ff1a3bf5608fa09f78", + "shasum": "" + }, + "require": { + "carbonphp/carbon-doctrine-types": "*", + "ext-json": "*", + "php": "^7.1.8 || ^8.0", + "psr/clock": "^1.0", + "symfony/polyfill-mbstring": "^1.0", + "symfony/polyfill-php80": "^1.16", + "symfony/translation": "^3.4 || ^4.0 || ^5.0 || ^6.0" + }, + "provide": { + "psr/clock-implementation": "1.0" + }, + "require-dev": { + "doctrine/dbal": "^2.0 || ^3.1.4 || ^4.0", + "doctrine/orm": "^2.7 || ^3.0", + "friendsofphp/php-cs-fixer": "^3.0", + "kylekatarnls/multi-tester": "^2.0", + "ondrejmirtes/better-reflection": "*", + "phpmd/phpmd": "^2.9", + "phpstan/extension-installer": "^1.0", + "phpstan/phpstan": "^0.12.99 || ^1.7.14", + "phpunit/php-file-iterator": "^2.0.5 || ^3.0.6", + "phpunit/phpunit": "^7.5.20 || ^8.5.26 || ^9.5.20", + "squizlabs/php_codesniffer": "^3.4" + }, + "bin": [ + "bin/carbon" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-3.x": "3.x-dev", + "dev-master": "2.x-dev" + }, + "laravel": { + "providers": [ + "Carbon\\Laravel\\ServiceProvider" + ] + }, + "phpstan": { + "includes": [ + "extension.neon" + ] + } + }, + "autoload": { + "psr-4": { + "Carbon\\": "src/Carbon/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Brian Nesbitt", + "email": "brian@nesbot.com", + "homepage": "https://markido.com" + }, + { + "name": "kylekatarnls", + "homepage": "https://github.com/kylekatarnls" + } + ], + "description": "An API extension for DateTime that supports 281 different languages.", + "homepage": "https://carbon.nesbot.com", + "keywords": [ + "date", + "datetime", + "time" + ], + "support": { + "docs": "https://carbon.nesbot.com/docs", + "issues": "https://github.com/briannesbitt/Carbon/issues", + "source": "https://github.com/briannesbitt/Carbon" + }, + "funding": [ + { + "url": "https://github.com/sponsors/kylekatarnls", + "type": "github" + }, + { + "url": "https://opencollective.com/Carbon#sponsor", + "type": "opencollective" + }, + { + "url": "https://tidelift.com/subscription/pkg/packagist-nesbot-carbon?utm_source=packagist-nesbot-carbon&utm_medium=referral&utm_campaign=readme", + "type": "tidelift" + } + ], + "time": "2023-12-08T23:47:49+00:00" + }, + { + "name": "nette/schema", + "version": "v1.2.5", + "source": { + "type": "git", + "url": "https://github.com/nette/schema.git", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/schema/zipball/0462f0166e823aad657c9224d0f849ecac1ba10a", + "reference": "0462f0166e823aad657c9224d0f849ecac1ba10a", + "shasum": "" + }, + "require": { + "nette/utils": "^2.5.7 || ^3.1.5 || ^4.0", + "php": "7.1 - 8.3" + }, + "require-dev": { + "nette/tester": "^2.3 || ^2.4", + "phpstan/phpstan-nette": "^1.0", + "tracy/tracy": "^2.7" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "📠Nette Schema: validating data structures against a given Schema.", + "homepage": "https://nette.org", + "keywords": [ + "config", + "nette" + ], + "support": { + "issues": "https://github.com/nette/schema/issues", + "source": "https://github.com/nette/schema/tree/v1.2.5" + }, + "time": "2023-10-05T20:37:59+00:00" + }, + { + "name": "nette/utils", + "version": "v4.0.3", + "source": { + "type": "git", + "url": "https://github.com/nette/utils.git", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nette/utils/zipball/a9d127dd6a203ce6d255b2e2db49759f7506e015", + "reference": "a9d127dd6a203ce6d255b2e2db49759f7506e015", + "shasum": "" + }, + "require": { + "php": ">=8.0 <8.4" + }, + "conflict": { + "nette/finder": "<3", + "nette/schema": "<1.2.2" + }, + "require-dev": { + "jetbrains/phpstorm-attributes": "dev-master", + "nette/tester": "^2.5", + "phpstan/phpstan": "^1.0", + "tracy/tracy": "^2.9" + }, + "suggest": { + "ext-gd": "to use Image", + "ext-iconv": "to use Strings::webalize(), toAscii(), chr() and reverse()", + "ext-intl": "to use Strings::webalize(), toAscii(), normalize() and compare()", + "ext-json": "to use Nette\\Utils\\Json", + "ext-mbstring": "to use Strings::lower() etc...", + "ext-tokenizer": "to use Nette\\Utils\\Reflection::getUseStatements()" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause", + "GPL-2.0-only", + "GPL-3.0-only" + ], + "authors": [ + { + "name": "David Grudl", + "homepage": "https://davidgrudl.com" + }, + { + "name": "Nette Community", + "homepage": "https://nette.org/contributors" + } + ], + "description": "🛠 Nette Utils: lightweight utilities for string & array manipulation, image handling, safe JSON encoding/decoding, validation, slug or strong password generating etc.", + "homepage": "https://nette.org", + "keywords": [ + "array", + "core", + "datetime", + "images", + "json", + "nette", + "paginator", + "password", + "slugify", + "string", + "unicode", + "utf-8", + "utility", + "validation" + ], + "support": { + "issues": "https://github.com/nette/utils/issues", + "source": "https://github.com/nette/utils/tree/v4.0.3" + }, + "time": "2023-10-29T21:02:13+00:00" + }, + { + "name": "nikic/php-parser", + "version": "v4.18.0", + "source": { + "type": "git", + "url": "https://github.com/nikic/PHP-Parser.git", + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nikic/PHP-Parser/zipball/1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "reference": "1bcbb2179f97633e98bbbc87044ee2611c7d7999", + "shasum": "" + }, + "require": { + "ext-tokenizer": "*", + "php": ">=7.0" + }, + "require-dev": { + "ircmaxell/php-yacc": "^0.0.7", + "phpunit/phpunit": "^6.5 || ^7.0 || ^8.0 || ^9.0" + }, + "bin": [ + "bin/php-parse" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpParser\\": "lib/PhpParser" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Nikita Popov" + } + ], + "description": "A PHP parser written in PHP", + "keywords": [ + "parser", + "php" + ], + "support": { + "issues": "https://github.com/nikic/PHP-Parser/issues", + "source": "https://github.com/nikic/PHP-Parser/tree/v4.18.0" + }, + "time": "2023-12-10T21:03:43+00:00" + }, + { + "name": "nunomaduro/termwind", + "version": "v1.15.1", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/termwind.git", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/termwind/zipball/8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "reference": "8ab0b32c8caa4a2e09700ea32925441385e4a5dc", + "shasum": "" + }, + "require": { + "ext-mbstring": "*", + "php": "^8.0", + "symfony/console": "^5.3.0|^6.0.0" + }, + "require-dev": { + "ergebnis/phpstan-rules": "^1.0.", + "illuminate/console": "^8.0|^9.0", + "illuminate/support": "^8.0|^9.0", + "laravel/pint": "^1.0.0", + "pestphp/pest": "^1.21.0", + "pestphp/pest-plugin-mock": "^1.0", + "phpstan/phpstan": "^1.4.6", + "phpstan/phpstan-strict-rules": "^1.1.0", + "symfony/var-dumper": "^5.2.7|^6.0.0", + "thecodingmachine/phpstan-strict-rules": "^1.0.0" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Termwind\\Laravel\\TermwindServiceProvider" + ] + } + }, + "autoload": { + "files": [ + "src/Functions.php" + ], + "psr-4": { + "Termwind\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Its like Tailwind CSS, but for the console.", + "keywords": [ + "cli", + "console", + "css", + "package", + "php", + "style" + ], + "support": { + "issues": "https://github.com/nunomaduro/termwind/issues", + "source": "https://github.com/nunomaduro/termwind/tree/v1.15.1" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://github.com/xiCO2k", + "type": "github" + } + ], + "time": "2023-02-08T01:06:31+00:00" + }, + { + "name": "phpoption/phpoption", + "version": "1.9.2", + "source": { + "type": "git", + "url": "https://github.com/schmittjoh/php-option.git", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/schmittjoh/php-option/zipball/80735db690fe4fc5c76dfa7f9b770634285fa820", + "reference": "80735db690fe4fc5c76dfa7f9b770634285fa820", + "shasum": "" + }, + "require": { + "php": "^7.2.5 || ^8.0" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "1.9-dev" + } + }, + "autoload": { + "psr-4": { + "PhpOption\\": "src/PhpOption/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "Apache-2.0" + ], + "authors": [ + { + "name": "Johannes M. Schmitt", + "email": "schmittjoh@gmail.com", + "homepage": "https://github.com/schmittjoh" + }, + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + } + ], + "description": "Option Type for PHP", + "keywords": [ + "language", + "option", + "php", + "type" + ], + "support": { + "issues": "https://github.com/schmittjoh/php-option/issues", + "source": "https://github.com/schmittjoh/php-option/tree/1.9.2" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpoption/phpoption", + "type": "tidelift" + } + ], + "time": "2023-11-12T21:59:55+00:00" + }, + { + "name": "psr/cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/cache.git", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/cache/zipball/aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "reference": "aa5030cfa5405eccfdcb1083ce040c2cb8d253bf", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Cache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for caching libraries", + "keywords": [ + "cache", + "psr", + "psr-6" + ], + "support": { + "source": "https://github.com/php-fig/cache/tree/3.0.0" + }, + "time": "2021-02-03T23:26:27+00:00" + }, + { + "name": "psr/clock", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/clock.git", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/clock/zipball/e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "reference": "e41a24703d4560fd0acb709162f73b8adfc3aa0d", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Psr\\Clock\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for reading the clock.", + "homepage": "https://github.com/php-fig/clock", + "keywords": [ + "clock", + "now", + "psr", + "psr-20", + "time" + ], + "support": { + "issues": "https://github.com/php-fig/clock/issues", + "source": "https://github.com/php-fig/clock/tree/1.0.0" + }, + "time": "2022-11-25T14:36:26+00:00" + }, + { + "name": "psr/container", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/container.git", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/container/zipball/c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "reference": "c71ecc56dfe541dbd90c5360474fbc405f8d5963", + "shasum": "" + }, + "require": { + "php": ">=7.4.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Container\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common Container Interface (PHP FIG PSR-11)", + "homepage": "https://github.com/php-fig/container", + "keywords": [ + "PSR-11", + "container", + "container-interface", + "container-interop", + "psr" + ], + "support": { + "issues": "https://github.com/php-fig/container/issues", + "source": "https://github.com/php-fig/container/tree/2.0.2" + }, + "time": "2021-11-05T16:47:00+00:00" + }, + { + "name": "psr/event-dispatcher", + "version": "1.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/event-dispatcher.git", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/event-dispatcher/zipball/dbefd12671e8a14ec7f180cab83036ed26714bb0", + "reference": "dbefd12671e8a14ec7f180cab83036ed26714bb0", + "shasum": "" + }, + "require": { + "php": ">=7.2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\EventDispatcher\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "http://www.php-fig.org/" + } + ], + "description": "Standard interfaces for event handling.", + "keywords": [ + "events", + "psr", + "psr-14" + ], + "support": { + "issues": "https://github.com/php-fig/event-dispatcher/issues", + "source": "https://github.com/php-fig/event-dispatcher/tree/1.0.0" + }, + "time": "2019-01-08T18:20:26+00:00" + }, + { + "name": "psr/http-client", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-client.git", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-client/zipball/bb5906edc1c324c9a05aa0873d40117941e5fa90", + "reference": "bb5906edc1c324c9a05aa0873d40117941e5fa90", + "shasum": "" + }, + "require": { + "php": "^7.0 || ^8.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Client\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP clients", + "homepage": "https://github.com/php-fig/http-client", + "keywords": [ + "http", + "http-client", + "psr", + "psr-18" + ], + "support": { + "source": "https://github.com/php-fig/http-client" + }, + "time": "2023-09-23T14:17:50+00:00" + }, + { + "name": "psr/http-factory", + "version": "1.0.2", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-factory.git", + "reference": "e616d01114759c4c489f93b099585439f795fe35" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-factory/zipball/e616d01114759c4c489f93b099585439f795fe35", + "reference": "e616d01114759c4c489f93b099585439f795fe35", + "shasum": "" + }, + "require": { + "php": ">=7.0.0", + "psr/http-message": "^1.0 || ^2.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for PSR-7 HTTP message factories", + "keywords": [ + "factory", + "http", + "message", + "psr", + "psr-17", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-factory/tree/1.0.2" + }, + "time": "2023-04-10T20:10:41+00:00" + }, + { + "name": "psr/http-message", + "version": "2.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/http-message.git", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/http-message/zipball/402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "reference": "402d35bcb92c70c026d1a6a9883f06b2ead23d71", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Http\\Message\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for HTTP messages", + "homepage": "https://github.com/php-fig/http-message", + "keywords": [ + "http", + "http-message", + "psr", + "psr-7", + "request", + "response" + ], + "support": { + "source": "https://github.com/php-fig/http-message/tree/2.0" + }, + "time": "2023-04-04T09:54:51+00:00" + }, + { + "name": "psr/log", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/log.git", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/log/zipball/fe5ea303b0887d5caefd3d431c3e61ad47037001", + "reference": "fe5ea303b0887d5caefd3d431c3e61ad47037001", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\Log\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interface for logging libraries", + "homepage": "https://github.com/php-fig/log", + "keywords": [ + "log", + "psr", + "psr-3" + ], + "support": { + "source": "https://github.com/php-fig/log/tree/3.0.0" + }, + "time": "2021-07-14T16:46:02+00:00" + }, + { + "name": "psr/simple-cache", + "version": "3.0.0", + "source": { + "type": "git", + "url": "https://github.com/php-fig/simple-cache.git", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/php-fig/simple-cache/zipball/764e0b3939f5ca87cb904f570ef9be2d78a07865", + "reference": "764e0b3939f5ca87cb904f570ef9be2d78a07865", + "shasum": "" + }, + "require": { + "php": ">=8.0.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0.x-dev" + } + }, + "autoload": { + "psr-4": { + "Psr\\SimpleCache\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "PHP-FIG", + "homepage": "https://www.php-fig.org/" + } + ], + "description": "Common interfaces for simple caching", + "keywords": [ + "cache", + "caching", + "psr", + "psr-16", + "simple-cache" + ], + "support": { + "source": "https://github.com/php-fig/simple-cache/tree/3.0.0" + }, + "time": "2021-10-29T13:26:27+00:00" + }, + { + "name": "psy/psysh", + "version": "v0.11.22", + "source": { + "type": "git", + "url": "https://github.com/bobthecow/psysh.git", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/bobthecow/psysh/zipball/128fa1b608be651999ed9789c95e6e2a31b5802b", + "reference": "128fa1b608be651999ed9789c95e6e2a31b5802b", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-tokenizer": "*", + "nikic/php-parser": "^4.0 || ^3.1", + "php": "^8.0 || ^7.0.8", + "symfony/console": "^6.0 || ^5.0 || ^4.0 || ^3.4", + "symfony/var-dumper": "^6.0 || ^5.0 || ^4.0 || ^3.4" + }, + "conflict": { + "symfony/console": "4.4.37 || 5.3.14 || 5.3.15 || 5.4.3 || 5.4.4 || 6.0.3 || 6.0.4" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.2" + }, + "suggest": { + "ext-pcntl": "Enabling the PCNTL extension makes PsySH a lot happier :)", + "ext-pdo-sqlite": "The doc command requires SQLite to work.", + "ext-posix": "If you have PCNTL, you'll want the POSIX extension as well.", + "ext-readline": "Enables support for arrow-key history navigation, and showing and manipulating command history." + }, + "bin": [ + "bin/psysh" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-0.11": "0.11.x-dev" + }, + "bamarni-bin": { + "bin-links": false, + "forward-command": false + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Psy\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Justin Hileman", + "email": "justin@justinhileman.info", + "homepage": "http://justinhileman.com" + } + ], + "description": "An interactive shell for modern PHP.", + "homepage": "http://psysh.org", + "keywords": [ + "REPL", + "console", + "interactive", + "shell" + ], + "support": { + "issues": "https://github.com/bobthecow/psysh/issues", + "source": "https://github.com/bobthecow/psysh/tree/v0.11.22" + }, + "time": "2023-10-14T21:56:36+00:00" + }, + { + "name": "ralouphie/getallheaders", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/ralouphie/getallheaders.git", + "reference": "120b605dfeb996808c31b6477290a714d356e822" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ralouphie/getallheaders/zipball/120b605dfeb996808c31b6477290a714d356e822", + "reference": "120b605dfeb996808c31b6477290a714d356e822", + "shasum": "" + }, + "require": { + "php": ">=5.6" + }, + "require-dev": { + "php-coveralls/php-coveralls": "^2.1", + "phpunit/phpunit": "^5 || ^6.5" + }, + "type": "library", + "autoload": { + "files": [ + "src/getallheaders.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ralph Khattar", + "email": "ralph.khattar@gmail.com" + } + ], + "description": "A polyfill for getallheaders.", + "support": { + "issues": "https://github.com/ralouphie/getallheaders/issues", + "source": "https://github.com/ralouphie/getallheaders/tree/develop" + }, + "time": "2019-03-08T08:55:37+00:00" + }, + { + "name": "ramsey/collection", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/ramsey/collection.git", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/collection/zipball/a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "reference": "a4b48764bfbb8f3a6a4d1aeb1a35bb5e9ecac4a5", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "captainhook/plugin-composer": "^5.3", + "ergebnis/composer-normalize": "^2.28.3", + "fakerphp/faker": "^1.21", + "hamcrest/hamcrest-php": "^2.0", + "jangregor/phpstan-prophecy": "^1.0", + "mockery/mockery": "^1.5", + "php-parallel-lint/php-console-highlighter": "^1.0", + "php-parallel-lint/php-parallel-lint": "^1.3", + "phpcsstandards/phpcsutils": "^1.0.0-rc1", + "phpspec/prophecy-phpunit": "^2.0", + "phpstan/extension-installer": "^1.2", + "phpstan/phpstan": "^1.9", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5", + "psalm/plugin-mockery": "^1.1", + "psalm/plugin-phpunit": "^0.18.4", + "ramsey/coding-standard": "^2.0.3", + "ramsey/conventional-commits": "^1.3", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + }, + "ramsey/conventional-commits": { + "configFile": "conventional-commits.json" + } + }, + "autoload": { + "psr-4": { + "Ramsey\\Collection\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ben Ramsey", + "email": "ben@benramsey.com", + "homepage": "https://benramsey.com" + } + ], + "description": "A PHP library for representing and manipulating collections.", + "keywords": [ + "array", + "collection", + "hash", + "map", + "queue", + "set" + ], + "support": { + "issues": "https://github.com/ramsey/collection/issues", + "source": "https://github.com/ramsey/collection/tree/2.0.0" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/collection", + "type": "tidelift" + } + ], + "time": "2022-12-31T21:50:55+00:00" + }, + { + "name": "ramsey/uuid", + "version": "4.7.5", + "source": { + "type": "git", + "url": "https://github.com/ramsey/uuid.git", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/ramsey/uuid/zipball/5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "reference": "5f0df49ae5ad6efb7afa69e6bfab4e5b1e080d8e", + "shasum": "" + }, + "require": { + "brick/math": "^0.8.8 || ^0.9 || ^0.10 || ^0.11", + "ext-json": "*", + "php": "^8.0", + "ramsey/collection": "^1.2 || ^2.0" + }, + "replace": { + "rhumsaa/uuid": "self.version" + }, + "require-dev": { + "captainhook/captainhook": "^5.10", + "captainhook/plugin-composer": "^5.3", + "dealerdirect/phpcodesniffer-composer-installer": "^0.7.0", + "doctrine/annotations": "^1.8", + "ergebnis/composer-normalize": "^2.15", + "mockery/mockery": "^1.3", + "paragonie/random-lib": "^2", + "php-mock/php-mock": "^2.2", + "php-mock/php-mock-mockery": "^1.3", + "php-parallel-lint/php-parallel-lint": "^1.1", + "phpbench/phpbench": "^1.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan": "^1.8", + "phpstan/phpstan-mockery": "^1.1", + "phpstan/phpstan-phpunit": "^1.1", + "phpunit/phpunit": "^8.5 || ^9", + "ramsey/composer-repl": "^1.4", + "slevomat/coding-standard": "^8.4", + "squizlabs/php_codesniffer": "^3.5", + "vimeo/psalm": "^4.9" + }, + "suggest": { + "ext-bcmath": "Enables faster math with arbitrary-precision integers using BCMath.", + "ext-gmp": "Enables faster math with arbitrary-precision integers using GMP.", + "ext-uuid": "Enables the use of PeclUuidTimeGenerator and PeclUuidRandomGenerator.", + "paragonie/random-lib": "Provides RandomLib for use with the RandomLibAdapter", + "ramsey/uuid-doctrine": "Allows the use of Ramsey\\Uuid\\Uuid as Doctrine field type." + }, + "type": "library", + "extra": { + "captainhook": { + "force-install": true + } + }, + "autoload": { + "files": [ + "src/functions.php" + ], + "psr-4": { + "Ramsey\\Uuid\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "A PHP library for generating and working with universally unique identifiers (UUIDs).", + "keywords": [ + "guid", + "identifier", + "uuid" + ], + "support": { + "issues": "https://github.com/ramsey/uuid/issues", + "source": "https://github.com/ramsey/uuid/tree/4.7.5" + }, + "funding": [ + { + "url": "https://github.com/ramsey", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/ramsey/uuid", + "type": "tidelift" + } + ], + "time": "2023-11-08T05:53:05+00:00" + }, + { + "name": "stella-maris/clock", + "version": "0.1.7", + "source": { + "type": "git", + "url": "https://github.com/stella-maris-solutions/clock.git", + "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/stella-maris-solutions/clock/zipball/fa23ce16019289a18bb3446fdecd45befcdd94f8", + "reference": "fa23ce16019289a18bb3446fdecd45befcdd94f8", + "shasum": "" + }, + "require": { + "php": "^7.0|^8.0", + "psr/clock": "^1.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "StellaMaris\\Clock\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Andreas Heigl", + "role": "Maintainer" + } + ], + "description": "A pre-release of the proposed PSR-20 Clock-Interface", + "homepage": "https://gitlab.com/stella-maris/clock", + "keywords": [ + "clock", + "datetime", + "point in time", + "psr20" + ], + "support": { + "source": "https://github.com/stella-maris-solutions/clock/tree/0.1.7" + }, + "time": "2022-11-25T16:15:06+00:00" + }, + { + "name": "symfony/console", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/console.git", + "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/console/zipball/a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "reference": "a550a7c99daeedef3f9d23fb82e3531525ff11fd", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/string": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/dotenv": "<5.4", + "symfony/event-dispatcher": "<5.4", + "symfony/lock": "<5.4", + "symfony/process": "<5.4" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/lock": "^5.4|^6.0|^7.0", + "symfony/messenger": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Console\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Eases the creation of beautiful and testable command line interfaces", + "homepage": "https://symfony.com", + "keywords": [ + "cli", + "command-line", + "console", + "terminal" + ], + "support": { + "source": "https://github.com/symfony/console/tree/v6.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-30T10:54:28+00:00" + }, + { + "name": "symfony/css-selector", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/css-selector.git", + "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/css-selector/zipball/d036c6c0d0b09e24a14a35f8292146a658f986e4", + "reference": "d036c6c0d0b09e24a14a35f8292146a658f986e4", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\CssSelector\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Jean-François Simon", + "email": "jeanfrancois.simon@sensiolabs.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Converts CSS selectors to XPath expressions", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/css-selector/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T08:40:20+00:00" + }, + { + "name": "symfony/deprecation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/deprecation-contracts.git", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/deprecation-contracts/zipball/7c3aff79d10325257a001fcf92d991f24fc967cf", + "reference": "7c3aff79d10325257a001fcf92d991f24fc967cf", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "files": [ + "function.php" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "A generic function and convention to trigger deprecation notices", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/deprecation-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/error-handler", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/error-handler.git", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/error-handler/zipball/c873490a1c97b3a0a4838afc36ff36c112d02788", + "reference": "c873490a1c97b3a0a4838afc36ff36c112d02788", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "conflict": { + "symfony/deprecation-contracts": "<2.5", + "symfony/http-kernel": "<6.4" + }, + "require-dev": { + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/http-kernel": "^6.4|^7.0", + "symfony/serializer": "^5.4|^6.0|^7.0" + }, + "bin": [ + "Resources/bin/patch-type-declarations" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\ErrorHandler\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to manage errors and ease debugging PHP code", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/error-handler/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-18T09:43:34+00:00" + }, + { + "name": "symfony/event-dispatcher", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher.git", + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher/zipball/d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "reference": "d76d2632cfc2206eecb5ad2b26cd5934082941b6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/event-dispatcher-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/dependency-injection": "<5.4", + "symfony/service-contracts": "<2.5" + }, + "provide": { + "psr/event-dispatcher-implementation": "1.0", + "symfony/event-dispatcher-implementation": "2.0|3.0" + }, + "require-dev": { + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/stopwatch": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\EventDispatcher\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools that allow your application components to communicate with each other by dispatching events and listening to them", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/event-dispatcher/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-27T06:52:43+00:00" + }, + { + "name": "symfony/event-dispatcher-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/event-dispatcher-contracts.git", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/event-dispatcher-contracts/zipball/a76aed96a42d2b521153fb382d418e30d18b59df", + "reference": "a76aed96a42d2b521153fb382d418e30d18b59df", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/event-dispatcher": "^1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\EventDispatcher\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to dispatching event", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/event-dispatcher-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-05-23T14:45:45+00:00" + }, + { + "name": "symfony/finder", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/finder.git", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/finder/zipball/11d736e97f116ac375a81f96e662911a34cd50ce", + "reference": "11d736e97f116ac375a81f96e662911a34cd50ce", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "require-dev": { + "symfony/filesystem": "^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Finder\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Finds files and directories via an intuitive fluent interface", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/finder/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T17:30:12+00:00" + }, + { + "name": "symfony/http-foundation", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-foundation.git", + "reference": "44a6d39a9cc11e154547d882d5aac1e014440771" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-foundation/zipball/44a6d39a9cc11e154547d882d5aac1e014440771", + "reference": "44a6d39a9cc11e154547d882d5aac1e014440771", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.1", + "symfony/polyfill-php83": "^1.27" + }, + "conflict": { + "symfony/cache": "<6.3" + }, + "require-dev": { + "doctrine/dbal": "^2.13.1|^3|^4", + "predis/predis": "^1.1|^2.0", + "symfony/cache": "^6.3|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-kernel": "^5.4.12|^6.0.12|^6.1.4|^7.0", + "symfony/mime": "^5.4|^6.0|^7.0", + "symfony/rate-limiter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpFoundation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Defines an object-oriented layer for the HTTP specification", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-foundation/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-20T16:41:16+00:00" + }, + { + "name": "symfony/http-kernel", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/http-kernel.git", + "reference": "2953274c16a229b3933ef73a6898e18388e12e1b" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/http-kernel/zipball/2953274c16a229b3933ef73a6898e18388e12e1b", + "reference": "2953274c16a229b3933ef73a6898e18388e12e1b", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/log": "^1|^2|^3", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/error-handler": "^6.4|^7.0", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^6.4|^7.0", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/browser-kit": "<5.4", + "symfony/cache": "<5.4", + "symfony/config": "<6.1", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<6.4", + "symfony/doctrine-bridge": "<5.4", + "symfony/form": "<5.4", + "symfony/http-client": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/mailer": "<5.4", + "symfony/messenger": "<5.4", + "symfony/translation": "<5.4", + "symfony/translation-contracts": "<2.5", + "symfony/twig-bridge": "<5.4", + "symfony/validator": "<6.4", + "symfony/var-dumper": "<6.3", + "twig/twig": "<2.13" + }, + "provide": { + "psr/log-implementation": "1.0|2.0|3.0" + }, + "require-dev": { + "psr/cache": "^1.0|^2.0|^3.0", + "symfony/browser-kit": "^5.4|^6.0|^7.0", + "symfony/clock": "^6.2|^7.0", + "symfony/config": "^6.1|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/css-selector": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^6.4|^7.0", + "symfony/dom-crawler": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4.5|^6.0.5|^7.0", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3|^7.0", + "symfony/stopwatch": "^5.4|^6.0|^7.0", + "symfony/translation": "^5.4|^6.0|^7.0", + "symfony/translation-contracts": "^2.5|^3", + "symfony/uid": "^5.4|^6.0|^7.0", + "symfony/validator": "^6.4|^7.0", + "symfony/var-exporter": "^6.2|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\HttpKernel\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides a structured process for converting a Request into a Response", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/http-kernel/tree/v6.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-01T17:02:02+00:00" + }, + { + "name": "symfony/mailer", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/mailer.git", + "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mailer/zipball/ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", + "reference": "ca8dcf8892cdc5b4358ecf2528429bb5e706f7ba", + "shasum": "" + }, + "require": { + "egulias/email-validator": "^2.1.10|^3|^4", + "php": ">=8.1", + "psr/event-dispatcher": "^1", + "psr/log": "^1|^2|^3", + "symfony/event-dispatcher": "^5.4|^6.0|^7.0", + "symfony/mime": "^6.2|^7.0", + "symfony/service-contracts": "^2.5|^3" + }, + "conflict": { + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/messenger": "<6.2", + "symfony/mime": "<6.2", + "symfony/twig-bridge": "<6.2.1" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/messenger": "^6.2|^7.0", + "symfony/twig-bridge": "^6.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mailer\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Helps sending emails", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/mailer/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-12T18:02:22+00:00" + }, + { + "name": "symfony/mime", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/mime.git", + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/mime/zipball/ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "reference": "ca4f58b2ef4baa8f6cecbeca2573f88cd577d205", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-intl-idn": "^1.10", + "symfony/polyfill-mbstring": "^1.0" + }, + "conflict": { + "egulias/email-validator": "~3.0.0", + "phpdocumentor/reflection-docblock": "<3.2.2", + "phpdocumentor/type-resolver": "<1.4.0", + "symfony/mailer": "<5.4", + "symfony/serializer": "<6.3.2" + }, + "require-dev": { + "egulias/email-validator": "^2.1.10|^3.1|^4", + "league/html-to-markdown": "^5.0", + "phpdocumentor/reflection-docblock": "^3.0|^4.0|^5.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/property-access": "^5.4|^6.0|^7.0", + "symfony/property-info": "^5.4|^6.0|^7.0", + "symfony/serializer": "^6.3.2|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Mime\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Allows manipulating MIME messages", + "homepage": "https://symfony.com", + "keywords": [ + "mime", + "mime-type" + ], + "support": { + "source": "https://github.com/symfony/mime/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-17T11:49:05+00:00" + }, + { + "name": "symfony/polyfill-ctype", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-ctype.git", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-ctype/zipball/ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "reference": "ea208ce43cbb04af6867b4fdddb1bdbf84cc28cb", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-ctype": "*" + }, + "suggest": { + "ext-ctype": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Ctype\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Gert de Pagter", + "email": "BackEndTea@gmail.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for ctype functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "ctype", + "polyfill", + "portable" + ], + "support": { + "source": "https://github.com/symfony/polyfill-ctype/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-intl-grapheme", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-grapheme.git", + "reference": "875e90aeea2777b6f135677f618529449334a612" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-grapheme/zipball/875e90aeea2777b6f135677f618529449334a612", + "reference": "875e90aeea2777b6f135677f618529449334a612", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Grapheme\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's grapheme_* functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "grapheme", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-grapheme/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-intl-idn", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-idn.git", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-idn/zipball/ecaafce9f77234a6a449d29e49267ba10499116d", + "reference": "ecaafce9f77234a6a449d29e49267ba10499116d", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-intl-normalizer": "^1.10", + "symfony/polyfill-php72": "^1.10" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Idn\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Laurent Bassin", + "email": "laurent@bassin.info" + }, + { + "name": "Trevor Rowbotham", + "email": "trevor.rowbotham@pm.me" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's idn_to_ascii and idn_to_utf8 functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "idn", + "intl", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-idn/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:30:37+00:00" + }, + { + "name": "symfony/polyfill-intl-normalizer", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-intl-normalizer.git", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-intl-normalizer/zipball/8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "reference": "8c4ad05dd0120b6a53c1ca374dca2ad0a1c4ed92", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "suggest": { + "ext-intl": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Intl\\Normalizer\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for intl's Normalizer class and related functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "intl", + "normalizer", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-intl-normalizer/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-mbstring", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-mbstring.git", + "reference": "42292d99c55abe617799667f454222c54c60e229" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-mbstring/zipball/42292d99c55abe617799667f454222c54c60e229", + "reference": "42292d99c55abe617799667f454222c54c60e229", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-mbstring": "*" + }, + "suggest": { + "ext-mbstring": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Mbstring\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for the Mbstring extension", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "mbstring", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-mbstring/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-28T09:04:16+00:00" + }, + { + "name": "symfony/polyfill-php56", + "version": "v1.20.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php56.git", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php56/zipball/54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "reference": "54b8cd7e6c1643d78d011f3be89f3ef1f9f4c675", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "metapackage", + "extra": { + "branch-alias": { + "dev-main": "1.20-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 5.6+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php56/tree/v1.20.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2020-10-23T14:02:19+00:00" + }, + { + "name": "symfony/polyfill-php72", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php72.git", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php72/zipball/70f4aebd92afca2f865444d30a4d2151c13c3179", + "reference": "70f4aebd92afca2f865444d30a4d2151c13c3179", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php72\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 7.2+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php72/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php80", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php80.git", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php80/zipball/6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "reference": "6caa57379c4aec19c0a12a38b59b26487dcfe4b5", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php80\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Ion Bazan", + "email": "ion.bazan@gmail.com" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.0+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php80/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/polyfill-php83", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-php83.git", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-php83/zipball/b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "reference": "b0f46ebbeeeda3e9d2faebdfbf4b4eae9b59fa11", + "shasum": "" + }, + "require": { + "php": ">=7.1", + "symfony/polyfill-php80": "^1.14" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Php83\\": "" + }, + "classmap": [ + "Resources/stubs" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill backporting some PHP 8.3+ features to lower PHP versions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "shim" + ], + "support": { + "source": "https://github.com/symfony/polyfill-php83/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-08-16T06:22:46+00:00" + }, + { + "name": "symfony/polyfill-uuid", + "version": "v1.28.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/polyfill-uuid.git", + "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/polyfill-uuid/zipball/9c44518a5aff8da565c8a55dbe85d2769e6f630e", + "reference": "9c44518a5aff8da565c8a55dbe85d2769e6f630e", + "shasum": "" + }, + "require": { + "php": ">=7.1" + }, + "provide": { + "ext-uuid": "*" + }, + "suggest": { + "ext-uuid": "For best performance" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.28-dev" + }, + "thanks": { + "name": "symfony/polyfill", + "url": "https://github.com/symfony/polyfill" + } + }, + "autoload": { + "files": [ + "bootstrap.php" + ], + "psr-4": { + "Symfony\\Polyfill\\Uuid\\": "" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Symfony polyfill for uuid functions", + "homepage": "https://symfony.com", + "keywords": [ + "compatibility", + "polyfill", + "portable", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/polyfill-uuid/tree/v1.28.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-01-26T09:26:14+00:00" + }, + { + "name": "symfony/process", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/process.git", + "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/process/zipball/191703b1566d97a5425dc969e4350d32b8ef17aa", + "reference": "191703b1566d97a5425dc969e4350d32b8ef17aa", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Process\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Executes commands in sub-processes", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/process/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-17T21:06:49+00:00" + }, + { + "name": "symfony/routing", + "version": "v6.4.1", + "source": { + "type": "git", + "url": "https://github.com/symfony/routing.git", + "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/routing/zipball/0c95c164fdba18b12523b75e64199ca3503e6d40", + "reference": "0c95c164fdba18b12523b75e64199ca3503e6d40", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3" + }, + "conflict": { + "doctrine/annotations": "<1.12", + "symfony/config": "<6.2", + "symfony/dependency-injection": "<5.4", + "symfony/yaml": "<5.4" + }, + "require-dev": { + "doctrine/annotations": "^1.12|^2", + "psr/log": "^1|^2|^3", + "symfony/config": "^6.2|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/expression-language": "^5.4|^6.0|^7.0", + "symfony/http-foundation": "^5.4|^6.0|^7.0", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Routing\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Maps an HTTP request to a set of configuration variables", + "homepage": "https://symfony.com", + "keywords": [ + "router", + "routing", + "uri", + "url" + ], + "support": { + "source": "https://github.com/symfony/routing/tree/v6.4.1" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-12-01T14:54:37+00:00" + }, + { + "name": "symfony/service-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/service-contracts.git", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/service-contracts/zipball/b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "reference": "b3313c2dbffaf71c8de2934e2ea56ed2291a3838", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "psr/container": "^2.0" + }, + "conflict": { + "ext-psr": "<1.1|>=2" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Service\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to writing services", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/service-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-30T20:28:31+00:00" + }, + { + "name": "symfony/string", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/string.git", + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/string/zipball/b45fcf399ea9c3af543a92edf7172ba21174d809", + "reference": "b45fcf399ea9c3af543a92edf7172ba21174d809", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-ctype": "~1.8", + "symfony/polyfill-intl-grapheme": "~1.0", + "symfony/polyfill-intl-normalizer": "~1.0", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/translation-contracts": "<2.5" + }, + "require-dev": { + "symfony/error-handler": "^5.4|^6.0|^7.0", + "symfony/http-client": "^5.4|^6.0|^7.0", + "symfony/intl": "^6.2|^7.0", + "symfony/translation-contracts": "^2.5|^3.0", + "symfony/var-exporter": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\String\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to strings and deals with bytes, UTF-8 code points and grapheme clusters in a unified way", + "homepage": "https://symfony.com", + "keywords": [ + "grapheme", + "i18n", + "string", + "unicode", + "utf-8", + "utf8" + ], + "support": { + "source": "https://github.com/symfony/string/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-28T20:41:49+00:00" + }, + { + "name": "symfony/translation", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation.git", + "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation/zipball/b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", + "reference": "b1035dbc2a344b21f8fa8ac451c7ecec4ea45f37", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0", + "symfony/translation-contracts": "^2.5|^3.0" + }, + "conflict": { + "symfony/config": "<5.4", + "symfony/console": "<5.4", + "symfony/dependency-injection": "<5.4", + "symfony/http-client-contracts": "<2.5", + "symfony/http-kernel": "<5.4", + "symfony/service-contracts": "<2.5", + "symfony/twig-bundle": "<5.4", + "symfony/yaml": "<5.4" + }, + "provide": { + "symfony/translation-implementation": "2.3|3.0" + }, + "require-dev": { + "nikic/php-parser": "^4.13", + "psr/log": "^1|^2|^3", + "symfony/config": "^5.4|^6.0|^7.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/dependency-injection": "^5.4|^6.0|^7.0", + "symfony/finder": "^5.4|^6.0|^7.0", + "symfony/http-client-contracts": "^2.5|^3.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/intl": "^5.4|^6.0|^7.0", + "symfony/polyfill-intl-icu": "^1.21", + "symfony/routing": "^5.4|^6.0|^7.0", + "symfony/service-contracts": "^2.5|^3", + "symfony/yaml": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "files": [ + "Resources/functions.php" + ], + "psr-4": { + "Symfony\\Component\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides tools to internationalize your application", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/translation/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-29T08:14:36+00:00" + }, + { + "name": "symfony/translation-contracts", + "version": "v3.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/translation-contracts.git", + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/translation-contracts/zipball/dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "reference": "dee0c6e5b4c07ce851b462530088e64b255ac9c5", + "shasum": "" + }, + "require": { + "php": ">=8.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "3.4-dev" + }, + "thanks": { + "name": "symfony/contracts", + "url": "https://github.com/symfony/contracts" + } + }, + "autoload": { + "psr-4": { + "Symfony\\Contracts\\Translation\\": "" + }, + "exclude-from-classmap": [ + "/Test/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Generic abstractions related to translation", + "homepage": "https://symfony.com", + "keywords": [ + "abstractions", + "contracts", + "decoupling", + "interfaces", + "interoperability", + "standards" + ], + "support": { + "source": "https://github.com/symfony/translation-contracts/tree/v3.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-07-25T15:08:44+00:00" + }, + { + "name": "symfony/uid", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/uid.git", + "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/uid/zipball/8092dd1b1a41372110d06374f99ee62f7f0b9a92", + "reference": "8092dd1b1a41372110d06374f99ee62f7f0b9a92", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/polyfill-uuid": "^1.15" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0" + }, + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Uid\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Grégoire Pineau", + "email": "lyrixx@lyrixx.info" + }, + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides an object-oriented API to generate and represent UIDs", + "homepage": "https://symfony.com", + "keywords": [ + "UID", + "ulid", + "uuid" + ], + "support": { + "source": "https://github.com/symfony/uid/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-10-31T08:18:17+00:00" + }, + { + "name": "symfony/var-dumper", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/var-dumper.git", + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/var-dumper/zipball/c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "reference": "c40f7d17e91d8b407582ed51a2bbf83c52c367f6", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-mbstring": "~1.0" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "ext-iconv": "*", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/error-handler": "^6.3|^7.0", + "symfony/http-kernel": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "symfony/uid": "^5.4|^6.0|^7.0", + "twig/twig": "^2.13|^3.0.4" + }, + "bin": [ + "Resources/bin/var-dump-server" + ], + "type": "library", + "autoload": { + "files": [ + "Resources/functions/dump.php" + ], + "psr-4": { + "Symfony\\Component\\VarDumper\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nicolas Grekas", + "email": "p@tchwork.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Provides mechanisms for walking through any arbitrary PHP variable", + "homepage": "https://symfony.com", + "keywords": [ + "debug", + "dump" + ], + "support": { + "source": "https://github.com/symfony/var-dumper/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-09T08:28:32+00:00" + }, + { + "name": "tijsverkoyen/css-to-inline-styles", + "version": "v2.2.7", + "source": { + "type": "git", + "url": "https://github.com/tijsverkoyen/CssToInlineStyles.git", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tijsverkoyen/CssToInlineStyles/zipball/83ee6f38df0a63106a9e4536e3060458b74ccedb", + "reference": "83ee6f38df0a63106a9e4536e3060458b74ccedb", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "php": "^5.5 || ^7.0 || ^8.0", + "symfony/css-selector": "^2.7 || ^3.0 || ^4.0 || ^5.0 || ^6.0 || ^7.0" + }, + "require-dev": { + "phpunit/phpunit": "^4.8.35 || ^5.7 || ^6.0 || ^7.5 || ^8.5.21 || ^9.5.10" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.2.x-dev" + } + }, + "autoload": { + "psr-4": { + "TijsVerkoyen\\CssToInlineStyles\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Tijs Verkoyen", + "email": "css_to_inline_styles@verkoyen.eu", + "role": "Developer" + } + ], + "description": "CssToInlineStyles is a class that enables you to convert HTML-pages/files into HTML-pages/files with inline styles. This is very useful when you're sending emails.", + "homepage": "https://github.com/tijsverkoyen/CssToInlineStyles", + "support": { + "issues": "https://github.com/tijsverkoyen/CssToInlineStyles/issues", + "source": "https://github.com/tijsverkoyen/CssToInlineStyles/tree/v2.2.7" + }, + "time": "2023-12-08T13:03:43+00:00" + }, + { + "name": "tymon/jwt-auth", + "version": "dev-develop", + "source": { + "type": "git", + "url": "https://github.com/tymondesigns/jwt-auth.git", + "reference": "014be8d493d228d14bbc291b24e835d330c092a0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/tymondesigns/jwt-auth/zipball/014be8d493d228d14bbc291b24e835d330c092a0", + "reference": "014be8d493d228d14bbc291b24e835d330c092a0", + "shasum": "" + }, + "require": { + "illuminate/auth": "^5.2|^6|^7|^8|^9", + "illuminate/contracts": "^5.2|^6|^7|^8|^9", + "illuminate/http": "^5.2|^6|^7|^8|^9", + "illuminate/support": "^5.2|^6|^7|^8|^9", + "lcobucci/jwt": "^3.4|^4.0", + "namshi/jose": "^7.0", + "nesbot/carbon": "^1.0|^2.0", + "php": "^7.4|^8.0" + }, + "require-dev": { + "illuminate/console": "^5.2|^6|^7|^8|^9", + "illuminate/database": "^5.2|^6|^7|^8|^9", + "illuminate/routing": "^5.2|^6|^7|^8|^9", + "mockery/mockery": ">=0.9.9", + "phpunit/phpunit": "^8.5|^9.4", + "yoast/phpunit-polyfills": "^0.2.0" + }, + "default-branch": true, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "1.0-dev" + }, + "laravel": { + "aliases": { + "JWTAuth": "Tymon\\JWTAuth\\Facades\\JWTAuth", + "JWTFactory": "Tymon\\JWTAuth\\Facades\\JWTFactory" + }, + "providers": [ + "Tymon\\JWTAuth\\Providers\\LaravelServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Tymon\\JWTAuth\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Sean Tymon", + "email": "tymon148@gmail.com", + "homepage": "https://tymon.xyz", + "role": "Developer" + } + ], + "description": "JSON Web Token Authentication for Laravel and Lumen", + "homepage": "https://github.com/tymondesigns/jwt-auth", + "keywords": [ + "Authentication", + "JSON Web Token", + "auth", + "jwt", + "laravel" + ], + "support": { + "issues": "https://github.com/tymondesigns/jwt-auth/issues", + "source": "https://github.com/tymondesigns/jwt-auth" + }, + "funding": [ + { + "url": "https://www.patreon.com/seantymon", + "type": "patreon" + } + ], + "time": "2022-04-27T08:53:50+00:00" + }, + { + "name": "vlucas/phpdotenv", + "version": "v5.6.0", + "source": { + "type": "git", + "url": "https://github.com/vlucas/phpdotenv.git", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/vlucas/phpdotenv/zipball/2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "reference": "2cf9fb6054c2bb1d59d1f3817706ecdb9d2934c4", + "shasum": "" + }, + "require": { + "ext-pcre": "*", + "graham-campbell/result-type": "^1.1.2", + "php": "^7.2.5 || ^8.0", + "phpoption/phpoption": "^1.9.2", + "symfony/polyfill-ctype": "^1.24", + "symfony/polyfill-mbstring": "^1.24", + "symfony/polyfill-php80": "^1.24" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.8.2", + "ext-filter": "*", + "phpunit/phpunit": "^8.5.34 || ^9.6.13 || ^10.4.2" + }, + "suggest": { + "ext-filter": "Required to use the boolean validator." + }, + "type": "library", + "extra": { + "bamarni-bin": { + "bin-links": true, + "forward-command": true + }, + "branch-alias": { + "dev-master": "5.6-dev" + } + }, + "autoload": { + "psr-4": { + "Dotenv\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Graham Campbell", + "email": "hello@gjcampbell.co.uk", + "homepage": "https://github.com/GrahamCampbell" + }, + { + "name": "Vance Lucas", + "email": "vance@vancelucas.com", + "homepage": "https://github.com/vlucas" + } + ], + "description": "Loads environment variables from `.env` to `getenv()`, `$_ENV` and `$_SERVER` automagically.", + "keywords": [ + "dotenv", + "env", + "environment" + ], + "support": { + "issues": "https://github.com/vlucas/phpdotenv/issues", + "source": "https://github.com/vlucas/phpdotenv/tree/v5.6.0" + }, + "funding": [ + { + "url": "https://github.com/GrahamCampbell", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/vlucas/phpdotenv", + "type": "tidelift" + } + ], + "time": "2023-11-12T22:43:29+00:00" + }, + { + "name": "voku/portable-ascii", + "version": "2.0.1", + "source": { + "type": "git", + "url": "https://github.com/voku/portable-ascii.git", + "reference": "b56450eed252f6801410d810c8e1727224ae0743" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/voku/portable-ascii/zipball/b56450eed252f6801410d810c8e1727224ae0743", + "reference": "b56450eed252f6801410d810c8e1727224ae0743", + "shasum": "" + }, + "require": { + "php": ">=7.0.0" + }, + "require-dev": { + "phpunit/phpunit": "~6.0 || ~7.0 || ~9.0" + }, + "suggest": { + "ext-intl": "Use Intl for transliterator_transliterate() support" + }, + "type": "library", + "autoload": { + "psr-4": { + "voku\\": "src/voku/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Lars Moelleken", + "homepage": "http://www.moelleken.org/" + } + ], + "description": "Portable ASCII library - performance optimized (ascii) string functions for php.", + "homepage": "https://github.com/voku/portable-ascii", + "keywords": [ + "ascii", + "clean", + "php" + ], + "support": { + "issues": "https://github.com/voku/portable-ascii/issues", + "source": "https://github.com/voku/portable-ascii/tree/2.0.1" + }, + "funding": [ + { + "url": "https://www.paypal.me/moelleken", + "type": "custom" + }, + { + "url": "https://github.com/voku", + "type": "github" + }, + { + "url": "https://opencollective.com/portable-ascii", + "type": "open_collective" + }, + { + "url": "https://www.patreon.com/voku", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/voku/portable-ascii", + "type": "tidelift" + } + ], + "time": "2022-03-08T17:03:00+00:00" + }, + { + "name": "webmozart/assert", + "version": "1.11.0", + "source": { + "type": "git", + "url": "https://github.com/webmozarts/assert.git", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/webmozarts/assert/zipball/11cb2199493b2f8a3b53e7f19068fc6aac760991", + "reference": "11cb2199493b2f8a3b53e7f19068fc6aac760991", + "shasum": "" + }, + "require": { + "ext-ctype": "*", + "php": "^7.2 || ^8.0" + }, + "conflict": { + "phpstan/phpstan": "<0.12.20", + "vimeo/psalm": "<4.6.1 || 4.6.2" + }, + "require-dev": { + "phpunit/phpunit": "^8.5.13" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.10-dev" + } + }, + "autoload": { + "psr-4": { + "Webmozart\\Assert\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Assertions to validate method input/output with nice error messages.", + "keywords": [ + "assert", + "check", + "validate" + ], + "support": { + "issues": "https://github.com/webmozarts/assert/issues", + "source": "https://github.com/webmozarts/assert/tree/1.11.0" + }, + "time": "2022-06-03T18:03:27+00:00" + }, + { + "name": "yajra/laravel-datatables", + "version": "v9.0.0", + "source": { + "type": "git", + "url": "https://github.com/yajra/datatables.git", + "reference": "f16d4c701418d4f60a81e5452933b15b312dde90" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/datatables/zipball/f16d4c701418d4f60a81e5452933b15b312dde90", + "reference": "f16d4c701418d4f60a81e5452933b15b312dde90", + "shasum": "" + }, + "require": { + "php": "^8.0.2", + "yajra/laravel-datatables-buttons": "9.*", + "yajra/laravel-datatables-editor": "1.*", + "yajra/laravel-datatables-fractal": "9.*", + "yajra/laravel-datatables-html": "9.*", + "yajra/laravel-datatables-oracle": "10.*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.0-dev" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "Laravel DataTables Complete Package.", + "keywords": [ + "datatables", + "jquery", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/datatables/issues", + "source": "https://github.com/yajra/datatables/tree/v9.0.0" + }, + "time": "2022-05-07T16:41:24+00:00" + }, + { + "name": "yajra/laravel-datatables-buttons", + "version": "v9.1.4", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables-buttons.git", + "reference": "afc40285b09b0960180b17b96c5429b4be772143" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables-buttons/zipball/afc40285b09b0960180b17b96c5429b4be772143", + "reference": "afc40285b09b0960180b17b96c5429b4be772143", + "shasum": "" + }, + "require": { + "illuminate/console": "*", + "php": "^8.0.2", + "yajra/laravel-datatables-html": "9.*", + "yajra/laravel-datatables-oracle": "10.*" + }, + "require-dev": { + "barryvdh/laravel-snappy": "^1.0", + "maatwebsite/excel": "^3.1.40", + "nunomaduro/larastan": "2.1.*", + "orchestra/testbench": "^7.3", + "rap2hpoutre/fast-excel": "^3.2" + }, + "suggest": { + "barryvdh/laravel-snappy": "Allows exporting of dataTable to PDF using the print view.", + "dompdf/dompdf": "Allows exporting of dataTable to PDF using the DomPDF.", + "maatwebsite/excel": "Exporting of dataTables (excel, csv and PDF) using maatwebsite package.", + "rap2hpoutre/fast-excel": "Faster exporting of dataTables using fast-excel package." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.0-dev" + }, + "laravel": { + "providers": [ + "Yajra\\DataTables\\ButtonsServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Yajra\\DataTables\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "Laravel DataTables Buttons Plugin.", + "keywords": [ + "buttons", + "datatables", + "jquery", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/laravel-datatables-buttons/issues", + "source": "https://github.com/yajra/laravel-datatables-buttons/tree/v9.1.4" + }, + "funding": [ + { + "url": "https://www.paypal.me/yajra", + "type": "custom" + }, + { + "url": "https://github.com/yajra", + "type": "github" + }, + { + "url": "https://www.patreon.com/yajra", + "type": "patreon" + } + ], + "time": "2023-02-20T06:11:01+00:00" + }, + { + "name": "yajra/laravel-datatables-editor", + "version": "v1.25.4", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables-editor.git", + "reference": "23962356700d6b31f49bb119665b13e87303e13f" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables-editor/zipball/23962356700d6b31f49bb119665b13e87303e13f", + "reference": "23962356700d6b31f49bb119665b13e87303e13f", + "shasum": "" + }, + "require": { + "illuminate/console": "*", + "illuminate/database": "*", + "illuminate/http": "*", + "illuminate/validation": "*", + "php": ">=7.0" + }, + "require-dev": { + "orchestra/testbench": "~3.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + }, + "laravel": { + "providers": [ + "Yajra\\DataTables\\EditorServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Yajra\\DataTables\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "Laravel DataTables Editor plugin for Laravel 5.5+.", + "keywords": [ + "JS", + "datatables", + "editor", + "html", + "jquery", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/laravel-datatables-editor/issues", + "source": "https://github.com/yajra/laravel-datatables-editor/tree/v1.25.4" + }, + "funding": [ + { + "url": "https://www.paypal.me/yajra", + "type": "custom" + }, + { + "url": "https://github.com/yajra", + "type": "github" + }, + { + "url": "https://www.patreon.com/yajra", + "type": "patreon" + } + ], + "time": "2023-02-21T06:57:59+00:00" + }, + { + "name": "yajra/laravel-datatables-fractal", + "version": "v9.1.0", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables-fractal.git", + "reference": "4b313041247108650c9ce5deb678defb7e00e794" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables-fractal/zipball/4b313041247108650c9ce5deb678defb7e00e794", + "reference": "4b313041247108650c9ce5deb678defb7e00e794", + "shasum": "" + }, + "require": { + "league/fractal": "^0.20.1", + "php": ">=8.0.2", + "yajra/laravel-datatables-oracle": "^10.0" + }, + "require-dev": { + "nunomaduro/larastan": "^2.1", + "orchestra/testbench": "^7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.0-dev" + }, + "laravel": { + "providers": [ + "Yajra\\DataTables\\FractalServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Yajra\\DataTables\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "Laravel DataTables Fractal Plugin.", + "keywords": [ + "api", + "datatables", + "fractal", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/laravel-datatables-fractal/issues", + "source": "https://github.com/yajra/laravel-datatables-fractal/tree/v9.1.0" + }, + "time": "2022-06-20T01:43:31+00:00" + }, + { + "name": "yajra/laravel-datatables-html", + "version": "v9.4.0", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables-html.git", + "reference": "cec3e77746ff68f6f51e22250061b59d4ec1311c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables-html/zipball/cec3e77746ff68f6f51e22250061b59d4ec1311c", + "reference": "cec3e77746ff68f6f51e22250061b59d4ec1311c", + "shasum": "" + }, + "require": { + "ext-json": "*", + "laravelcollective/html": "^6.3.0", + "php": "^8.0.2", + "yajra/laravel-datatables-oracle": "^10.0" + }, + "require-dev": { + "nunomaduro/larastan": "^2.1", + "orchestra/testbench": "^7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.0-dev" + }, + "laravel": { + "providers": [ + "Yajra\\DataTables\\HtmlServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Yajra\\DataTables\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "Laravel DataTables HTML builder plugin for Laravel 5.4+.", + "keywords": [ + "JS", + "datatables", + "html", + "jquery", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/laravel-datatables-html/issues", + "source": "https://github.com/yajra/laravel-datatables-html/tree/v9.4.0" + }, + "funding": [ + { + "url": "https://www.paypal.me/yajra", + "type": "custom" + }, + { + "url": "https://github.com/yajra", + "type": "github" + }, + { + "url": "https://www.patreon.com/yajra", + "type": "patreon" + } + ], + "time": "2023-02-20T07:44:43+00:00" + }, + { + "name": "yajra/laravel-datatables-oracle", + "version": "v10.11.2", + "source": { + "type": "git", + "url": "https://github.com/yajra/laravel-datatables.git", + "reference": "22e6ddad629a22b5e7959b27828c28cbb21ca763" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/yajra/laravel-datatables/zipball/22e6ddad629a22b5e7959b27828c28cbb21ca763", + "reference": "22e6ddad629a22b5e7959b27828c28cbb21ca763", + "shasum": "" + }, + "require": { + "illuminate/database": "^9|^10", + "illuminate/filesystem": "^9|^10", + "illuminate/http": "^9|^10", + "illuminate/support": "^9|^10", + "illuminate/view": "^9|^10", + "php": "^8.0.2" + }, + "require-dev": { + "algolia/algoliasearch-client-php": "^3.4", + "laravel/scout": "^10.5", + "meilisearch/meilisearch-php": "^1.4", + "nunomaduro/larastan": "^2.4", + "orchestra/testbench": "^8", + "yajra/laravel-datatables-html": "^9.3.4|^10" + }, + "suggest": { + "yajra/laravel-datatables-buttons": "Plugin for server-side exporting of dataTables.", + "yajra/laravel-datatables-editor": "Plugin to use DataTables Editor (requires a license).", + "yajra/laravel-datatables-export": "Plugin for server-side exporting using livewire and queue worker.", + "yajra/laravel-datatables-fractal": "Plugin for server-side response using Fractal.", + "yajra/laravel-datatables-html": "Plugin for server-side HTML builder of dataTables." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "10.x-dev" + }, + "laravel": { + "providers": [ + "Yajra\\DataTables\\DataTablesServiceProvider" + ], + "aliases": { + "DataTables": "Yajra\\DataTables\\Facades\\DataTables" + } + } + }, + "autoload": { + "files": [ + "src/helper.php" + ], + "psr-4": { + "Yajra\\DataTables\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Arjay Angeles", + "email": "aqangeles@gmail.com" + } + ], + "description": "jQuery DataTables API for Laravel 4|5|6|7|8|9|10", + "keywords": [ + "datatables", + "jquery", + "laravel" + ], + "support": { + "issues": "https://github.com/yajra/laravel-datatables/issues", + "source": "https://github.com/yajra/laravel-datatables/tree/v10.11.2" + }, + "funding": [ + { + "url": "https://github.com/sponsors/yajra", + "type": "github" + } + ], + "time": "2023-12-12T13:39:55+00:00" + } + ], + "packages-dev": [ + { + "name": "doctrine/instantiator", + "version": "2.0.0", + "source": { + "type": "git", + "url": "https://github.com/doctrine/instantiator.git", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/doctrine/instantiator/zipball/c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "reference": "c6222283fa3f4ac679f8b9ced9a4e23f163e80d0", + "shasum": "" + }, + "require": { + "php": "^8.1" + }, + "require-dev": { + "doctrine/coding-standard": "^11", + "ext-pdo": "*", + "ext-phar": "*", + "phpbench/phpbench": "^1.2", + "phpstan/phpstan": "^1.9.4", + "phpstan/phpstan-phpunit": "^1.3", + "phpunit/phpunit": "^9.5.27", + "vimeo/psalm": "^5.4" + }, + "type": "library", + "autoload": { + "psr-4": { + "Doctrine\\Instantiator\\": "src/Doctrine/Instantiator/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Marco Pivetta", + "email": "ocramius@gmail.com", + "homepage": "https://ocramius.github.io/" + } + ], + "description": "A small, lightweight utility to instantiate objects in PHP without invoking their constructors", + "homepage": "https://www.doctrine-project.org/projects/instantiator.html", + "keywords": [ + "constructor", + "instantiate" + ], + "support": { + "issues": "https://github.com/doctrine/instantiator/issues", + "source": "https://github.com/doctrine/instantiator/tree/2.0.0" + }, + "funding": [ + { + "url": "https://www.doctrine-project.org/sponsorship.html", + "type": "custom" + }, + { + "url": "https://www.patreon.com/phpdoctrine", + "type": "patreon" + }, + { + "url": "https://tidelift.com/funding/github/packagist/doctrine%2Finstantiator", + "type": "tidelift" + } + ], + "time": "2022-12-30T00:23:10+00:00" + }, + { + "name": "fakerphp/faker", + "version": "v1.23.0", + "source": { + "type": "git", + "url": "https://github.com/FakerPHP/Faker.git", + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/FakerPHP/Faker/zipball/e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "reference": "e3daa170d00fde61ea7719ef47bb09bb8f1d9b01", + "shasum": "" + }, + "require": { + "php": "^7.4 || ^8.0", + "psr/container": "^1.0 || ^2.0", + "symfony/deprecation-contracts": "^2.2 || ^3.0" + }, + "conflict": { + "fzaninotto/faker": "*" + }, + "require-dev": { + "bamarni/composer-bin-plugin": "^1.4.1", + "doctrine/persistence": "^1.3 || ^2.0", + "ext-intl": "*", + "phpunit/phpunit": "^9.5.26", + "symfony/phpunit-bridge": "^5.4.16" + }, + "suggest": { + "doctrine/orm": "Required to use Faker\\ORM\\Doctrine", + "ext-curl": "Required by Faker\\Provider\\Image to download images.", + "ext-dom": "Required by Faker\\Provider\\HtmlLorem for generating random HTML.", + "ext-iconv": "Required by Faker\\Provider\\ru_RU\\Text::realText() for generating real Russian text.", + "ext-mbstring": "Required for multibyte Unicode string functionality." + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "v1.21-dev" + } + }, + "autoload": { + "psr-4": { + "Faker\\": "src/Faker/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "François Zaninotto" + } + ], + "description": "Faker is a PHP library that generates fake data for you.", + "keywords": [ + "data", + "faker", + "fixtures" + ], + "support": { + "issues": "https://github.com/FakerPHP/Faker/issues", + "source": "https://github.com/FakerPHP/Faker/tree/v1.23.0" + }, + "time": "2023-06-12T08:44:38+00:00" + }, + { + "name": "filp/whoops", + "version": "2.15.4", + "source": { + "type": "git", + "url": "https://github.com/filp/whoops.git", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/filp/whoops/zipball/a139776fa3f5985a50b509f2a02ff0f709d2a546", + "reference": "a139776fa3f5985a50b509f2a02ff0f709d2a546", + "shasum": "" + }, + "require": { + "php": "^5.5.9 || ^7.0 || ^8.0", + "psr/log": "^1.0.1 || ^2.0 || ^3.0" + }, + "require-dev": { + "mockery/mockery": "^0.9 || ^1.0", + "phpunit/phpunit": "^4.8.36 || ^5.7.27 || ^6.5.14 || ^7.5.20 || ^8.5.8 || ^9.3.3", + "symfony/var-dumper": "^2.6 || ^3.0 || ^4.0 || ^5.0" + }, + "suggest": { + "symfony/var-dumper": "Pretty print complex values better with var-dumper available", + "whoops/soap": "Formats errors as SOAP responses" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.7-dev" + } + }, + "autoload": { + "psr-4": { + "Whoops\\": "src/Whoops/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Filipe Dobreira", + "homepage": "https://github.com/filp", + "role": "Developer" + } + ], + "description": "php error handling for cool kids", + "homepage": "https://filp.github.io/whoops/", + "keywords": [ + "error", + "exception", + "handling", + "library", + "throwable", + "whoops" + ], + "support": { + "issues": "https://github.com/filp/whoops/issues", + "source": "https://github.com/filp/whoops/tree/2.15.4" + }, + "funding": [ + { + "url": "https://github.com/denis-sokolov", + "type": "github" + } + ], + "time": "2023-11-03T12:00:00+00:00" + }, + { + "name": "hamcrest/hamcrest-php", + "version": "v2.0.1", + "source": { + "type": "git", + "url": "https://github.com/hamcrest/hamcrest-php.git", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/hamcrest/hamcrest-php/zipball/8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "reference": "8c3d0a3f6af734494ad8f6fbbee0ba92422859f3", + "shasum": "" + }, + "require": { + "php": "^5.3|^7.0|^8.0" + }, + "replace": { + "cordoval/hamcrest-php": "*", + "davedevelopment/hamcrest-php": "*", + "kodova/hamcrest-php": "*" + }, + "require-dev": { + "phpunit/php-file-iterator": "^1.4 || ^2.0", + "phpunit/phpunit": "^4.8.36 || ^5.7 || ^6.5 || ^7.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.1-dev" + } + }, + "autoload": { + "classmap": [ + "hamcrest" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "description": "This is the PHP port of Hamcrest Matchers", + "keywords": [ + "test" + ], + "support": { + "issues": "https://github.com/hamcrest/hamcrest-php/issues", + "source": "https://github.com/hamcrest/hamcrest-php/tree/v2.0.1" + }, + "time": "2020-07-09T08:09:16+00:00" + }, + { + "name": "laravel/sail", + "version": "v1.26.3", + "source": { + "type": "git", + "url": "https://github.com/laravel/sail.git", + "reference": "fa1ad5fbb03686dfc752bfd1861d86091cc1c32d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/laravel/sail/zipball/fa1ad5fbb03686dfc752bfd1861d86091cc1c32d", + "reference": "fa1ad5fbb03686dfc752bfd1861d86091cc1c32d", + "shasum": "" + }, + "require": { + "illuminate/console": "^9.0|^10.0|^11.0", + "illuminate/contracts": "^9.0|^10.0|^11.0", + "illuminate/support": "^9.0|^10.0|^11.0", + "php": "^8.0", + "symfony/yaml": "^6.0|^7.0" + }, + "require-dev": { + "orchestra/testbench": "^7.0|^8.0|^9.0", + "phpstan/phpstan": "^1.10" + }, + "bin": [ + "bin/sail" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.x-dev" + }, + "laravel": { + "providers": [ + "Laravel\\Sail\\SailServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "Laravel\\Sail\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Taylor Otwell", + "email": "taylor@laravel.com" + } + ], + "description": "Docker files for running a basic Laravel application.", + "keywords": [ + "docker", + "laravel" + ], + "support": { + "issues": "https://github.com/laravel/sail/issues", + "source": "https://github.com/laravel/sail" + }, + "time": "2023-12-02T18:26:39+00:00" + }, + { + "name": "mockery/mockery", + "version": "1.6.7", + "source": { + "type": "git", + "url": "https://github.com/mockery/mockery.git", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/mockery/mockery/zipball/0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "reference": "0cc058854b3195ba21dc6b1f7b1f60f4ef3a9c06", + "shasum": "" + }, + "require": { + "hamcrest/hamcrest-php": "^2.0.1", + "lib-pcre": ">=7.0", + "php": ">=7.3" + }, + "conflict": { + "phpunit/phpunit": "<8.0" + }, + "require-dev": { + "phpunit/phpunit": "^8.5 || ^9.6.10", + "symplify/easy-coding-standard": "^12.0.8" + }, + "type": "library", + "autoload": { + "files": [ + "library/helpers.php", + "library/Mockery.php" + ], + "psr-4": { + "Mockery\\": "library/Mockery" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Pádraic Brady", + "email": "padraic.brady@gmail.com", + "homepage": "https://github.com/padraic", + "role": "Author" + }, + { + "name": "Dave Marshall", + "email": "dave.marshall@atstsolutions.co.uk", + "homepage": "https://davedevelopment.co.uk", + "role": "Developer" + }, + { + "name": "Nathanael Esayeas", + "email": "nathanael.esayeas@protonmail.com", + "homepage": "https://github.com/ghostwriter", + "role": "Lead Developer" + } + ], + "description": "Mockery is a simple yet flexible PHP mock object framework", + "homepage": "https://github.com/mockery/mockery", + "keywords": [ + "BDD", + "TDD", + "library", + "mock", + "mock objects", + "mockery", + "stub", + "test", + "test double", + "testing" + ], + "support": { + "docs": "https://docs.mockery.io/", + "issues": "https://github.com/mockery/mockery/issues", + "rss": "https://github.com/mockery/mockery/releases.atom", + "security": "https://github.com/mockery/mockery/security/advisories", + "source": "https://github.com/mockery/mockery" + }, + "time": "2023-12-10T02:24:34+00:00" + }, + { + "name": "myclabs/deep-copy", + "version": "1.11.1", + "source": { + "type": "git", + "url": "https://github.com/myclabs/DeepCopy.git", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/myclabs/DeepCopy/zipball/7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "reference": "7284c22080590fb39f2ffa3e9057f10a4ddd0e0c", + "shasum": "" + }, + "require": { + "php": "^7.1 || ^8.0" + }, + "conflict": { + "doctrine/collections": "<1.6.8", + "doctrine/common": "<2.13.3 || >=3,<3.2.2" + }, + "require-dev": { + "doctrine/collections": "^1.6.8", + "doctrine/common": "^2.13.3 || ^3.2.2", + "phpunit/phpunit": "^7.5.20 || ^8.5.23 || ^9.5.13" + }, + "type": "library", + "autoload": { + "files": [ + "src/DeepCopy/deep_copy.php" + ], + "psr-4": { + "DeepCopy\\": "src/DeepCopy/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Create deep copies (clones) of your objects", + "keywords": [ + "clone", + "copy", + "duplicate", + "object", + "object graph" + ], + "support": { + "issues": "https://github.com/myclabs/DeepCopy/issues", + "source": "https://github.com/myclabs/DeepCopy/tree/1.11.1" + }, + "funding": [ + { + "url": "https://tidelift.com/funding/github/packagist/myclabs/deep-copy", + "type": "tidelift" + } + ], + "time": "2023-03-08T13:26:56+00:00" + }, + { + "name": "nunomaduro/collision", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/nunomaduro/collision.git", + "reference": "f05978827b9343cba381ca05b8c7deee346b6015" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/nunomaduro/collision/zipball/f05978827b9343cba381ca05b8c7deee346b6015", + "reference": "f05978827b9343cba381ca05b8c7deee346b6015", + "shasum": "" + }, + "require": { + "filp/whoops": "^2.14.5", + "php": "^8.0.0", + "symfony/console": "^6.0.2" + }, + "require-dev": { + "brianium/paratest": "^6.4.1", + "laravel/framework": "^9.26.1", + "laravel/pint": "^1.1.1", + "nunomaduro/larastan": "^1.0.3", + "nunomaduro/mock-final-classes": "^1.1.0", + "orchestra/testbench": "^7.7", + "phpunit/phpunit": "^9.5.23", + "spatie/ignition": "^1.4.1" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-develop": "6.x-dev" + }, + "laravel": { + "providers": [ + "NunoMaduro\\Collision\\Adapters\\Laravel\\CollisionServiceProvider" + ] + } + }, + "autoload": { + "psr-4": { + "NunoMaduro\\Collision\\": "src/" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Nuno Maduro", + "email": "enunomaduro@gmail.com" + } + ], + "description": "Cli error handling for console/command-line PHP applications.", + "keywords": [ + "artisan", + "cli", + "command-line", + "console", + "error", + "handling", + "laravel", + "laravel-zero", + "php", + "symfony" + ], + "support": { + "issues": "https://github.com/nunomaduro/collision/issues", + "source": "https://github.com/nunomaduro/collision" + }, + "funding": [ + { + "url": "https://www.paypal.com/paypalme/enunomaduro", + "type": "custom" + }, + { + "url": "https://github.com/nunomaduro", + "type": "github" + }, + { + "url": "https://www.patreon.com/nunomaduro", + "type": "patreon" + } + ], + "time": "2023-01-03T12:54:54+00:00" + }, + { + "name": "phar-io/manifest", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/phar-io/manifest.git", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/manifest/zipball/97803eca37d319dfa7826cc2437fc020857acb53", + "reference": "97803eca37d319dfa7826cc2437fc020857acb53", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-phar": "*", + "ext-xmlwriter": "*", + "phar-io/version": "^3.0.1", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0.x-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Component for reading phar.io manifest information from a PHP Archive (PHAR)", + "support": { + "issues": "https://github.com/phar-io/manifest/issues", + "source": "https://github.com/phar-io/manifest/tree/2.0.3" + }, + "time": "2021-07-20T11:28:43+00:00" + }, + { + "name": "phar-io/version", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/phar-io/version.git", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/phar-io/version/zipball/4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "reference": "4f7fd7836c6f332bb2933569e566a0d6c4cbed74", + "shasum": "" + }, + "require": { + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + }, + { + "name": "Sebastian Heuer", + "email": "sebastian@phpeople.de", + "role": "Developer" + }, + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "Developer" + } + ], + "description": "Library for handling version information and constraints", + "support": { + "issues": "https://github.com/phar-io/version/issues", + "source": "https://github.com/phar-io/version/tree/3.2.1" + }, + "time": "2022-02-21T01:04:05+00:00" + }, + { + "name": "phpunit/php-code-coverage", + "version": "9.2.29", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-code-coverage.git", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-code-coverage/zipball/6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "reference": "6a3a87ac2bbe33b25042753df8195ba4aa534c76", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-libxml": "*", + "ext-xmlwriter": "*", + "nikic/php-parser": "^4.15", + "php": ">=7.3", + "phpunit/php-file-iterator": "^3.0.3", + "phpunit/php-text-template": "^2.0.2", + "sebastian/code-unit-reverse-lookup": "^2.0.2", + "sebastian/complexity": "^2.0", + "sebastian/environment": "^5.1.2", + "sebastian/lines-of-code": "^1.0.3", + "sebastian/version": "^3.0.1", + "theseer/tokenizer": "^1.2.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcov": "PHP extension that provides line coverage", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that provides collection, processing, and rendering functionality for PHP code coverage information.", + "homepage": "https://github.com/sebastianbergmann/php-code-coverage", + "keywords": [ + "coverage", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-code-coverage/issues", + "security": "https://github.com/sebastianbergmann/php-code-coverage/security/policy", + "source": "https://github.com/sebastianbergmann/php-code-coverage/tree/9.2.29" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-09-19T04:57:46+00:00" + }, + { + "name": "phpunit/php-file-iterator", + "version": "3.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-file-iterator.git", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-file-iterator/zipball/cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "reference": "cf1c2e7c203ac650e352f4cc675a7021e7d1b3cf", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "FilterIterator implementation that filters files based on a list of suffixes.", + "homepage": "https://github.com/sebastianbergmann/php-file-iterator/", + "keywords": [ + "filesystem", + "iterator" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-file-iterator/issues", + "source": "https://github.com/sebastianbergmann/php-file-iterator/tree/3.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2021-12-02T12:48:52+00:00" + }, + { + "name": "phpunit/php-invoker", + "version": "3.1.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-invoker.git", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-invoker/zipball/5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "reference": "5a10147d0aaf65b58940a0b72f71c9ac0423cc67", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "ext-pcntl": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-pcntl": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Invoke callables with a timeout", + "homepage": "https://github.com/sebastianbergmann/php-invoker/", + "keywords": [ + "process" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-invoker/issues", + "source": "https://github.com/sebastianbergmann/php-invoker/tree/3.1.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:58:55+00:00" + }, + { + "name": "phpunit/php-text-template", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-text-template.git", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-text-template/zipball/5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "reference": "5da5f67fc95621df9ff4c4e5a84d6a8a2acf7c28", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Simple template engine.", + "homepage": "https://github.com/sebastianbergmann/php-text-template/", + "keywords": [ + "template" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-text-template/issues", + "source": "https://github.com/sebastianbergmann/php-text-template/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T05:33:50+00:00" + }, + { + "name": "phpunit/php-timer", + "version": "5.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/php-timer.git", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/php-timer/zipball/5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "reference": "5a63ce20ed1b5bf577850e2c4e87f4aa902afbd2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Utility class for timing", + "homepage": "https://github.com/sebastianbergmann/php-timer/", + "keywords": [ + "timer" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/php-timer/issues", + "source": "https://github.com/sebastianbergmann/php-timer/tree/5.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:16:10+00:00" + }, + { + "name": "phpunit/phpunit", + "version": "9.6.15", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/phpunit.git", + "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/phpunit/zipball/05017b80304e0eb3f31d90194a563fd53a6021f1", + "reference": "05017b80304e0eb3f31d90194a563fd53a6021f1", + "shasum": "" + }, + "require": { + "doctrine/instantiator": "^1.3.1 || ^2", + "ext-dom": "*", + "ext-json": "*", + "ext-libxml": "*", + "ext-mbstring": "*", + "ext-xml": "*", + "ext-xmlwriter": "*", + "myclabs/deep-copy": "^1.10.1", + "phar-io/manifest": "^2.0.3", + "phar-io/version": "^3.0.2", + "php": ">=7.3", + "phpunit/php-code-coverage": "^9.2.28", + "phpunit/php-file-iterator": "^3.0.5", + "phpunit/php-invoker": "^3.1.1", + "phpunit/php-text-template": "^2.0.3", + "phpunit/php-timer": "^5.0.2", + "sebastian/cli-parser": "^1.0.1", + "sebastian/code-unit": "^1.0.6", + "sebastian/comparator": "^4.0.8", + "sebastian/diff": "^4.0.3", + "sebastian/environment": "^5.1.3", + "sebastian/exporter": "^4.0.5", + "sebastian/global-state": "^5.0.1", + "sebastian/object-enumerator": "^4.0.3", + "sebastian/resource-operations": "^3.0.3", + "sebastian/type": "^3.2", + "sebastian/version": "^3.0.2" + }, + "suggest": { + "ext-soap": "To be able to generate mocks based on WSDL files", + "ext-xdebug": "PHP extension that provides line coverage as well as branch and path coverage" + }, + "bin": [ + "phpunit" + ], + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "9.6-dev" + } + }, + "autoload": { + "files": [ + "src/Framework/Assert/Functions.php" + ], + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "The PHP Unit Testing framework.", + "homepage": "https://phpunit.de/", + "keywords": [ + "phpunit", + "testing", + "xunit" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/phpunit/issues", + "security": "https://github.com/sebastianbergmann/phpunit/security/policy", + "source": "https://github.com/sebastianbergmann/phpunit/tree/9.6.15" + }, + "funding": [ + { + "url": "https://phpunit.de/sponsors.html", + "type": "custom" + }, + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/phpunit/phpunit", + "type": "tidelift" + } + ], + "time": "2023-12-01T16:55:19+00:00" + }, + { + "name": "sebastian/cli-parser", + "version": "1.0.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/cli-parser.git", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/cli-parser/zipball/442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "reference": "442e7c7e687e42adc03470c7b668bc4b2402c0b2", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for parsing CLI options", + "homepage": "https://github.com/sebastianbergmann/cli-parser", + "support": { + "issues": "https://github.com/sebastianbergmann/cli-parser/issues", + "source": "https://github.com/sebastianbergmann/cli-parser/tree/1.0.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:08:49+00:00" + }, + { + "name": "sebastian/code-unit", + "version": "1.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit.git", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit/zipball/1fc9f64c0927627ef78ba436c9b17d967e68e120", + "reference": "1fc9f64c0927627ef78ba436c9b17d967e68e120", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the PHP code units", + "homepage": "https://github.com/sebastianbergmann/code-unit", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit/issues", + "source": "https://github.com/sebastianbergmann/code-unit/tree/1.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:08:54+00:00" + }, + { + "name": "sebastian/code-unit-reverse-lookup", + "version": "2.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/code-unit-reverse-lookup.git", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/code-unit-reverse-lookup/zipball/ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "reference": "ac91f01ccec49fb77bdc6fd1e548bc70f7faa3e5", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Looks up which function or method a line of code belongs to", + "homepage": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/", + "support": { + "issues": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/issues", + "source": "https://github.com/sebastianbergmann/code-unit-reverse-lookup/tree/2.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T05:30:19+00:00" + }, + { + "name": "sebastian/comparator", + "version": "4.0.8", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/comparator.git", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/comparator/zipball/fa0f136dd2334583309d32b62544682ee972b51a", + "reference": "fa0f136dd2334583309d32b62544682ee972b51a", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/diff": "^4.0", + "sebastian/exporter": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@2bepublished.at" + } + ], + "description": "Provides the functionality to compare PHP values for equality", + "homepage": "https://github.com/sebastianbergmann/comparator", + "keywords": [ + "comparator", + "compare", + "equality" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/comparator/issues", + "source": "https://github.com/sebastianbergmann/comparator/tree/4.0.8" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T12:41:17+00:00" + }, + { + "name": "sebastian/complexity", + "version": "2.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/complexity.git", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/complexity/zipball/739b35e53379900cc9ac327b2147867b8b6efd88", + "reference": "739b35e53379900cc9ac327b2147867b8b6efd88", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.7", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for calculating the complexity of PHP code units", + "homepage": "https://github.com/sebastianbergmann/complexity", + "support": { + "issues": "https://github.com/sebastianbergmann/complexity/issues", + "source": "https://github.com/sebastianbergmann/complexity/tree/2.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T15:52:27+00:00" + }, + { + "name": "sebastian/diff", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/diff.git", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/diff/zipball/74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "reference": "74be17022044ebaaecfdf0c5cd504fc9cd5a7131", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3", + "symfony/process": "^4.2 || ^5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Kore Nordmann", + "email": "mail@kore-nordmann.de" + } + ], + "description": "Diff implementation", + "homepage": "https://github.com/sebastianbergmann/diff", + "keywords": [ + "diff", + "udiff", + "unidiff", + "unified diff" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/diff/issues", + "source": "https://github.com/sebastianbergmann/diff/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-05-07T05:35:17+00:00" + }, + { + "name": "sebastian/environment", + "version": "5.1.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/environment.git", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/environment/zipball/830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "reference": "830c43a844f1f8d5b7a1f6d6076b784454d8b7ed", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-posix": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.1-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides functionality to handle HHVM/PHP environments", + "homepage": "http://www.github.com/sebastianbergmann/environment", + "keywords": [ + "Xdebug", + "environment", + "hhvm" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/environment/issues", + "source": "https://github.com/sebastianbergmann/environment/tree/5.1.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:03:51+00:00" + }, + { + "name": "sebastian/exporter", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/exporter.git", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/exporter/zipball/ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "reference": "ac230ed27f0f98f597c8a2b6eb7ac563af5e5b9d", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-mbstring": "*", + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Volker Dusch", + "email": "github@wallbash.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + }, + { + "name": "Bernhard Schussek", + "email": "bschussek@gmail.com" + } + ], + "description": "Provides the functionality to export PHP variables for visualization", + "homepage": "https://www.github.com/sebastianbergmann/exporter", + "keywords": [ + "export", + "exporter" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/exporter/issues", + "source": "https://github.com/sebastianbergmann/exporter/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2022-09-14T06:03:37+00:00" + }, + { + "name": "sebastian/global-state", + "version": "5.0.6", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/global-state.git", + "reference": "bde739e7565280bda77be70044ac1047bc007e34" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/global-state/zipball/bde739e7565280bda77be70044ac1047bc007e34", + "reference": "bde739e7565280bda77be70044ac1047bc007e34", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "ext-dom": "*", + "phpunit/phpunit": "^9.3" + }, + "suggest": { + "ext-uopz": "*" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "5.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Snapshotting of global state", + "homepage": "http://www.github.com/sebastianbergmann/global-state", + "keywords": [ + "global state" + ], + "support": { + "issues": "https://github.com/sebastianbergmann/global-state/issues", + "source": "https://github.com/sebastianbergmann/global-state/tree/5.0.6" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-08-02T09:26:13+00:00" + }, + { + "name": "sebastian/lines-of-code", + "version": "1.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/lines-of-code.git", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/lines-of-code/zipball/c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "reference": "c1c2e997aa3146983ed888ad08b15470a2e22ecc", + "shasum": "" + }, + "require": { + "nikic/php-parser": "^4.6", + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "1.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library for counting the lines of code in PHP source code", + "homepage": "https://github.com/sebastianbergmann/lines-of-code", + "support": { + "issues": "https://github.com/sebastianbergmann/lines-of-code/issues", + "source": "https://github.com/sebastianbergmann/lines-of-code/tree/1.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-11-28T06:42:11+00:00" + }, + { + "name": "sebastian/object-enumerator", + "version": "4.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-enumerator.git", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-enumerator/zipball/5c9eeac41b290a3712d88851518825ad78f45c71", + "reference": "5c9eeac41b290a3712d88851518825ad78f45c71", + "shasum": "" + }, + "require": { + "php": ">=7.3", + "sebastian/object-reflector": "^2.0", + "sebastian/recursion-context": "^4.0" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Traverses array structures and object graphs to enumerate all referenced objects", + "homepage": "https://github.com/sebastianbergmann/object-enumerator/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-enumerator/issues", + "source": "https://github.com/sebastianbergmann/object-enumerator/tree/4.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:12:34+00:00" + }, + { + "name": "sebastian/object-reflector", + "version": "2.0.4", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/object-reflector.git", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/object-reflector/zipball/b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "reference": "b4f479ebdbf63ac605d183ece17d8d7fe49c15c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "2.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Allows reflection of object attributes, including inherited and non-public ones", + "homepage": "https://github.com/sebastianbergmann/object-reflector/", + "support": { + "issues": "https://github.com/sebastianbergmann/object-reflector/issues", + "source": "https://github.com/sebastianbergmann/object-reflector/tree/2.0.4" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-10-26T13:14:26+00:00" + }, + { + "name": "sebastian/recursion-context", + "version": "4.0.5", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/recursion-context.git", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/recursion-context/zipball/e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "reference": "e75bd0f07204fec2a0af9b0f3cfe97d05f92efc1", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "4.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + }, + { + "name": "Jeff Welch", + "email": "whatthejeff@gmail.com" + }, + { + "name": "Adam Harvey", + "email": "aharvey@php.net" + } + ], + "description": "Provides functionality to recursively process PHP variables", + "homepage": "https://github.com/sebastianbergmann/recursion-context", + "support": { + "issues": "https://github.com/sebastianbergmann/recursion-context/issues", + "source": "https://github.com/sebastianbergmann/recursion-context/tree/4.0.5" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:07:39+00:00" + }, + { + "name": "sebastian/resource-operations", + "version": "3.0.3", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/resource-operations.git", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/resource-operations/zipball/0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "reference": "0f4443cb3a1d92ce809899753bc0d5d5a8dd19a8", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de" + } + ], + "description": "Provides a list of PHP built-in functions that operate on resources", + "homepage": "https://www.github.com/sebastianbergmann/resource-operations", + "support": { + "issues": "https://github.com/sebastianbergmann/resource-operations/issues", + "source": "https://github.com/sebastianbergmann/resource-operations/tree/3.0.3" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:45:17+00:00" + }, + { + "name": "sebastian/type", + "version": "3.2.1", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/type.git", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/type/zipball/75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "reference": "75e2c2a32f5e0b3aef905b9ed0b179b953b3d7c7", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "require-dev": { + "phpunit/phpunit": "^9.5" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.2-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Collection of value objects that represent the types of the PHP type system", + "homepage": "https://github.com/sebastianbergmann/type", + "support": { + "issues": "https://github.com/sebastianbergmann/type/issues", + "source": "https://github.com/sebastianbergmann/type/tree/3.2.1" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2023-02-03T06:13:03+00:00" + }, + { + "name": "sebastian/version", + "version": "3.0.2", + "source": { + "type": "git", + "url": "https://github.com/sebastianbergmann/version.git", + "reference": "c6c1022351a901512170118436c764e473f6de8c" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/sebastianbergmann/version/zipball/c6c1022351a901512170118436c764e473f6de8c", + "reference": "c6c1022351a901512170118436c764e473f6de8c", + "shasum": "" + }, + "require": { + "php": ">=7.3" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-master": "3.0-dev" + } + }, + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Sebastian Bergmann", + "email": "sebastian@phpunit.de", + "role": "lead" + } + ], + "description": "Library that helps with managing the version number of Git-hosted PHP projects", + "homepage": "https://github.com/sebastianbergmann/version", + "support": { + "issues": "https://github.com/sebastianbergmann/version/issues", + "source": "https://github.com/sebastianbergmann/version/tree/3.0.2" + }, + "funding": [ + { + "url": "https://github.com/sebastianbergmann", + "type": "github" + } + ], + "time": "2020-09-28T06:39:44+00:00" + }, + { + "name": "spatie/backtrace", + "version": "1.5.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/backtrace.git", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/backtrace/zipball/483f76a82964a0431aa836b6ed0edde0c248e3ab", + "reference": "483f76a82964a0431aa836b6ed0edde0c248e3ab", + "shasum": "" + }, + "require": { + "php": "^7.3|^8.0" + }, + "require-dev": { + "ext-json": "*", + "phpunit/phpunit": "^9.3", + "spatie/phpunit-snapshot-assertions": "^4.2", + "symfony/var-dumper": "^5.1" + }, + "type": "library", + "autoload": { + "psr-4": { + "Spatie\\Backtrace\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Freek Van de Herten", + "email": "freek@spatie.be", + "homepage": "https://spatie.be", + "role": "Developer" + } + ], + "description": "A better backtrace", + "homepage": "https://github.com/spatie/backtrace", + "keywords": [ + "Backtrace", + "spatie" + ], + "support": { + "source": "https://github.com/spatie/backtrace/tree/1.5.3" + }, + "funding": [ + { + "url": "https://github.com/sponsors/spatie", + "type": "github" + }, + { + "url": "https://spatie.be/open-source/support-us", + "type": "other" + } + ], + "time": "2023-06-28T12:59:17+00:00" + }, + { + "name": "spatie/flare-client-php", + "version": "1.4.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/flare-client-php.git", + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/flare-client-php/zipball/5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", + "reference": "5db2fdd743c3ede33f2a5367d89ec1a7c9c1d1ec", + "shasum": "" + }, + "require": { + "illuminate/pipeline": "^8.0|^9.0|^10.0|^11.0", + "nesbot/carbon": "^2.62.1", + "php": "^8.0", + "spatie/backtrace": "^1.5.2", + "symfony/http-foundation": "^5.2|^6.0|^7.0", + "symfony/mime": "^5.2|^6.0|^7.0", + "symfony/process": "^5.2|^6.0|^7.0", + "symfony/var-dumper": "^5.2|^6.0|^7.0" + }, + "require-dev": { + "dms/phpunit-arraysubset-asserts": "^0.5.0", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/phpunit-snapshot-assertions": "^4.0|^5.0" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.3.x-dev" + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\FlareClient\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "description": "Send PHP errors to Flare", + "homepage": "https://github.com/spatie/flare-client-php", + "keywords": [ + "exception", + "flare", + "reporting", + "spatie" + ], + "support": { + "issues": "https://github.com/spatie/flare-client-php/issues", + "source": "https://github.com/spatie/flare-client-php/tree/1.4.3" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2023-10-17T15:54:07+00:00" + }, + { + "name": "spatie/ignition", + "version": "1.11.3", + "source": { + "type": "git", + "url": "https://github.com/spatie/ignition.git", + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/ignition/zipball/3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", + "reference": "3d886de644ff7a5b42e4d27c1e1f67c8b5f00044", + "shasum": "" + }, + "require": { + "ext-json": "*", + "ext-mbstring": "*", + "php": "^8.0", + "spatie/backtrace": "^1.5.3", + "spatie/flare-client-php": "^1.4.0", + "symfony/console": "^5.4|^6.0|^7.0", + "symfony/var-dumper": "^5.4|^6.0|^7.0" + }, + "require-dev": { + "illuminate/cache": "^9.52|^10.0|^11.0", + "mockery/mockery": "^1.4", + "pestphp/pest": "^1.20|^2.0", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "psr/simple-cache-implementation": "*", + "symfony/cache": "^5.4|^6.0|^7.0", + "symfony/process": "^5.4|^6.0|^7.0", + "vlucas/phpdotenv": "^5.5" + }, + "suggest": { + "openai-php/client": "Require get solutions from OpenAI", + "simple-cache-implementation": "To cache solutions from OpenAI" + }, + "type": "library", + "extra": { + "branch-alias": { + "dev-main": "1.5.x-dev" + } + }, + "autoload": { + "psr-4": { + "Spatie\\Ignition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for PHP applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/ignition/issues", + "source": "https://github.com/spatie/ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2023-10-18T14:09:40+00:00" + }, + { + "name": "spatie/laravel-ignition", + "version": "1.6.4", + "source": { + "type": "git", + "url": "https://github.com/spatie/laravel-ignition.git", + "reference": "1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/spatie/laravel-ignition/zipball/1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc", + "reference": "1a2b4bd3d48c72526c0ba417687e5c56b5cf49bc", + "shasum": "" + }, + "require": { + "ext-curl": "*", + "ext-json": "*", + "ext-mbstring": "*", + "illuminate/support": "^8.77|^9.27", + "monolog/monolog": "^2.3", + "php": "^8.0", + "spatie/flare-client-php": "^1.0.1", + "spatie/ignition": "^1.4.1", + "symfony/console": "^5.0|^6.0", + "symfony/var-dumper": "^5.0|^6.0" + }, + "require-dev": { + "filp/whoops": "^2.14", + "livewire/livewire": "^2.8|dev-develop", + "mockery/mockery": "^1.4", + "nunomaduro/larastan": "^1.0", + "orchestra/testbench": "^6.23|^7.0", + "pestphp/pest": "^1.20", + "phpstan/extension-installer": "^1.1", + "phpstan/phpstan-deprecation-rules": "^1.0", + "phpstan/phpstan-phpunit": "^1.0", + "spatie/laravel-ray": "^1.27" + }, + "type": "library", + "extra": { + "laravel": { + "providers": [ + "Spatie\\LaravelIgnition\\IgnitionServiceProvider" + ], + "aliases": { + "Flare": "Spatie\\LaravelIgnition\\Facades\\Flare" + } + } + }, + "autoload": { + "files": [ + "src/helpers.php" + ], + "psr-4": { + "Spatie\\LaravelIgnition\\": "src" + } + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Spatie", + "email": "info@spatie.be", + "role": "Developer" + } + ], + "description": "A beautiful error page for Laravel applications.", + "homepage": "https://flareapp.io/ignition", + "keywords": [ + "error", + "flare", + "laravel", + "page" + ], + "support": { + "docs": "https://flareapp.io/docs/ignition-for-laravel/introduction", + "forum": "https://twitter.com/flareappio", + "issues": "https://github.com/spatie/laravel-ignition/issues", + "source": "https://github.com/spatie/laravel-ignition" + }, + "funding": [ + { + "url": "https://github.com/spatie", + "type": "github" + } + ], + "time": "2023-01-03T19:28:04+00:00" + }, + { + "name": "symfony/yaml", + "version": "v6.4.0", + "source": { + "type": "git", + "url": "https://github.com/symfony/yaml.git", + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/symfony/yaml/zipball/4f9237a1bb42455d609e6687d2613dde5b41a587", + "reference": "4f9237a1bb42455d609e6687d2613dde5b41a587", + "shasum": "" + }, + "require": { + "php": ">=8.1", + "symfony/deprecation-contracts": "^2.5|^3", + "symfony/polyfill-ctype": "^1.8" + }, + "conflict": { + "symfony/console": "<5.4" + }, + "require-dev": { + "symfony/console": "^5.4|^6.0|^7.0" + }, + "bin": [ + "Resources/bin/yaml-lint" + ], + "type": "library", + "autoload": { + "psr-4": { + "Symfony\\Component\\Yaml\\": "" + }, + "exclude-from-classmap": [ + "/Tests/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "MIT" + ], + "authors": [ + { + "name": "Fabien Potencier", + "email": "fabien@symfony.com" + }, + { + "name": "Symfony Community", + "homepage": "https://symfony.com/contributors" + } + ], + "description": "Loads and dumps YAML files", + "homepage": "https://symfony.com", + "support": { + "source": "https://github.com/symfony/yaml/tree/v6.4.0" + }, + "funding": [ + { + "url": "https://symfony.com/sponsor", + "type": "custom" + }, + { + "url": "https://github.com/fabpot", + "type": "github" + }, + { + "url": "https://tidelift.com/funding/github/packagist/symfony/symfony", + "type": "tidelift" + } + ], + "time": "2023-11-06T11:00:25+00:00" + }, + { + "name": "theseer/tokenizer", + "version": "1.2.2", + "source": { + "type": "git", + "url": "https://github.com/theseer/tokenizer.git", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96" + }, + "dist": { + "type": "zip", + "url": "https://api.github.com/repos/theseer/tokenizer/zipball/b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "reference": "b2ad5003ca10d4ee50a12da31de12a5774ba6b96", + "shasum": "" + }, + "require": { + "ext-dom": "*", + "ext-tokenizer": "*", + "ext-xmlwriter": "*", + "php": "^7.2 || ^8.0" + }, + "type": "library", + "autoload": { + "classmap": [ + "src/" + ] + }, + "notification-url": "https://packagist.org/downloads/", + "license": [ + "BSD-3-Clause" + ], + "authors": [ + { + "name": "Arne Blankerts", + "email": "arne@blankerts.de", + "role": "Developer" + } + ], + "description": "A small library for converting tokenized PHP source code into XML and potentially other formats", + "support": { + "issues": "https://github.com/theseer/tokenizer/issues", + "source": "https://github.com/theseer/tokenizer/tree/1.2.2" + }, + "funding": [ + { + "url": "https://github.com/theseer", + "type": "github" + } + ], + "time": "2023-11-20T00:12:19+00:00" + } + ], + "aliases": [], + "minimum-stability": "dev", + "stability-flags": [], + "prefer-stable": true, + "prefer-lowest": false, + "platform": { + "php": "^8.0.2" + }, + "platform-dev": [], + "plugin-api-version": "2.3.0" +} diff --git a/Penilaian-Esai/config/app.php b/Penilaian-Esai/config/app.php new file mode 100644 index 0000000..504e31d --- /dev/null +++ b/Penilaian-Esai/config/app.php @@ -0,0 +1,224 @@ + env('APP_NAME', 'Laravel'), + + /* + |-------------------------------------------------------------------------- + | Application Environment + |-------------------------------------------------------------------------- + | + | This value determines the "environment" your application is currently + | running in. This may determine how you prefer to configure various + | services the application utilizes. Set this in your ".env" file. + | + */ + + 'env' => env('APP_ENV', 'production'), + + /* + |-------------------------------------------------------------------------- + | Application Debug Mode + |-------------------------------------------------------------------------- + | + | When your application is in debug mode, detailed error messages with + | stack traces will be shown on every error that occurs within your + | application. If disabled, a simple generic error page is shown. + | + */ + + 'debug' => (bool) env('APP_DEBUG', false), + + /* + |-------------------------------------------------------------------------- + | Application URL + |-------------------------------------------------------------------------- + | + | This URL is used by the console to properly generate URLs when using + | the Artisan command line tool. You should set this to the root of + | your application so that it is used when running Artisan tasks. + | + */ + + 'url' => env('APP_URL', 'http://localhost'), + + 'asset_url' => env('ASSET_URL'), + + 'python_api' => env('BASE_URL', 'http://127.0.0.1:8000/compiler/run'), + 'generate_grade_api' => env('GENERATE_GRADE', 'http://127.0.0.1:8000/compiler/generate/grade'), + + /* + |-------------------------------------------------------------------------- + | Application Timezone + |-------------------------------------------------------------------------- + | + | Here you may specify the default timezone for your application, which + | will be used by the PHP date and date-time functions. We have gone + | ahead and set this to a sensible default for you out of the box. + | + */ + + 'timezone' => 'UTC', + + /* + |-------------------------------------------------------------------------- + | Application Locale Configuration + |-------------------------------------------------------------------------- + | + | The application locale determines the default locale that will be used + | by the translation service provider. You are free to set this value + | to any of the locales which will be supported by the application. + | + */ + + 'locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Application Fallback Locale + |-------------------------------------------------------------------------- + | + | The fallback locale determines the locale to use when the current one + | is not available. You may change the value to correspond to any of + | the language folders that are provided through your application. + | + */ + + 'fallback_locale' => 'en', + + /* + |-------------------------------------------------------------------------- + | Faker Locale + |-------------------------------------------------------------------------- + | + | This locale will be used by the Faker PHP library when generating fake + | data for your database seeds. For example, this will be used to get + | localized telephone numbers, street address information and more. + | + */ + + 'faker_locale' => 'en_US', + + /* + |-------------------------------------------------------------------------- + | Encryption Key + |-------------------------------------------------------------------------- + | + | This key is used by the Illuminate encrypter service and should be set + | to a random, 32 character string, otherwise these encrypted strings + | will not be safe. Please do this before deploying an application! + | + */ + + 'key' => env('APP_KEY'), + + 'cipher' => 'AES-256-CBC', + + /* + |-------------------------------------------------------------------------- + | Maintenance Mode Driver + |-------------------------------------------------------------------------- + | + | These configuration options determine the driver used to determine and + | manage Laravel's "maintenance mode" status. The "cache" driver will + | allow maintenance mode to be controlled across multiple machines. + | + | Supported drivers: "file", "cache" + | + */ + + 'maintenance' => [ + 'driver' => 'file', + // 'store' => 'redis', + ], + + /* + |-------------------------------------------------------------------------- + | Autoloaded Service Providers + |-------------------------------------------------------------------------- + | + | The service providers listed here will be automatically loaded on the + | request to your application. Feel free to add your own services to + | this array to grant expanded functionality to your applications. + | + */ + + 'providers' => [ + + /* + * Laravel Framework Service Providers... + */ + Illuminate\Auth\AuthServiceProvider::class, + Illuminate\Broadcasting\BroadcastServiceProvider::class, + Illuminate\Bus\BusServiceProvider::class, + Illuminate\Cache\CacheServiceProvider::class, + Illuminate\Foundation\Providers\ConsoleSupportServiceProvider::class, + Illuminate\Cookie\CookieServiceProvider::class, + Illuminate\Database\DatabaseServiceProvider::class, + Illuminate\Encryption\EncryptionServiceProvider::class, + Illuminate\Filesystem\FilesystemServiceProvider::class, + Illuminate\Foundation\Providers\FoundationServiceProvider::class, + Illuminate\Hashing\HashServiceProvider::class, + Illuminate\Mail\MailServiceProvider::class, + Illuminate\Notifications\NotificationServiceProvider::class, + Illuminate\Pagination\PaginationServiceProvider::class, + Illuminate\Pipeline\PipelineServiceProvider::class, + Illuminate\Queue\QueueServiceProvider::class, + Illuminate\Redis\RedisServiceProvider::class, + Illuminate\Auth\Passwords\PasswordResetServiceProvider::class, + Illuminate\Session\SessionServiceProvider::class, + Illuminate\Translation\TranslationServiceProvider::class, + Illuminate\Validation\ValidationServiceProvider::class, + Illuminate\View\ViewServiceProvider::class, + + /* + * Package Service Providers... + */ + + /* + * Application Service Providers... + */ + App\Providers\AppServiceProvider::class, + App\Providers\AuthServiceProvider::class, + // App\Providers\BroadcastServiceProvider::class, + App\Providers\EventServiceProvider::class, + App\Providers\RouteServiceProvider::class, + InfyOm\GeneratorBuilder\GeneratorBuilderServiceProvider::class, + Tymon\JWTAuth\Providers\LaravelServiceProvider::class, + Yajra\DataTables\DataTablesServiceProvider::class, + ], + + /* + |-------------------------------------------------------------------------- + | Class Aliases + |-------------------------------------------------------------------------- + | + | This array of class aliases will be registered when this application + | is started. However, feel free to register as many as you wish as + | the aliases are "lazy" loaded so they don't hinder performance. + | + */ + + 'aliases' => Facade::defaultAliases()->merge([ + // 'ExampleClass' => App\Example\ExampleClass::class, + 'JWTAuth' => Tymon\JWTAuth\Facades\JWTAuth::class, + 'JWTFactory' => Tymon\JWTAuth\Facades\JWTFactory::class, + ])->toArray(), + 'key' => env('APP_KEY', 'base64:oa+jYm0jCM4aoI06sImtVLcqcYTH+G4T/zM35i5t3QA='), + 'cipher' => 'AES-256-CBC', + +]; diff --git a/Penilaian-Esai/config/auth.php b/Penilaian-Esai/config/auth.php new file mode 100644 index 0000000..d8c6cee --- /dev/null +++ b/Penilaian-Esai/config/auth.php @@ -0,0 +1,111 @@ + [ + 'guard' => 'web', + 'passwords' => 'users', + ], + + /* + |-------------------------------------------------------------------------- + | Authentication Guards + |-------------------------------------------------------------------------- + | + | Next, you may define every authentication guard for your application. + | Of course, a great default configuration has been defined for you + | here which uses session storage and the Eloquent user provider. + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | Supported: "session" + | + */ + + 'guards' => [ + 'web' => [ + 'driver' => 'session', + 'provider' => 'users', + ], + ], + + /* + |-------------------------------------------------------------------------- + | User Providers + |-------------------------------------------------------------------------- + | + | All authentication drivers have a user provider. This defines how the + | users are actually retrieved out of your database or other storage + | mechanisms used by this application to persist your user's data. + | + | If you have multiple user tables or models you may configure multiple + | sources which represent each model / table. These sources may then + | be assigned to any extra authentication guards you have defined. + | + | Supported: "database", "eloquent" + | + */ + + 'providers' => [ + 'users' => [ + 'driver' => 'eloquent', + 'model' => App\Models\User::class, + ], + + // 'users' => [ + // 'driver' => 'database', + // 'table' => 'users', + // ], + ], + + /* + |-------------------------------------------------------------------------- + | Resetting Passwords + |-------------------------------------------------------------------------- + | + | You may specify multiple password reset configurations if you have more + | than one user table or model in the application and you want to have + | separate password reset settings based on the specific user types. + | + | The expire time is the number of minutes that each reset token will be + | considered valid. This security feature keeps tokens short-lived so + | they have less time to be guessed. You may change this as needed. + | + */ + + 'passwords' => [ + 'users' => [ + 'provider' => 'users', + 'table' => 'password_resets', + 'expire' => 60, + 'throttle' => 60, + ], + ], + + /* + |-------------------------------------------------------------------------- + | Password Confirmation Timeout + |-------------------------------------------------------------------------- + | + | Here you may define the amount of seconds before a password confirmation + | times out and the user is prompted to re-enter their password via the + | confirmation screen. By default, the timeout lasts for three hours. + | + */ + + 'password_timeout' => 10800, + +]; diff --git a/Penilaian-Esai/config/broadcasting.php b/Penilaian-Esai/config/broadcasting.php new file mode 100644 index 0000000..67fcbbd --- /dev/null +++ b/Penilaian-Esai/config/broadcasting.php @@ -0,0 +1,67 @@ + env('BROADCAST_DRIVER', 'null'), + + /* + |-------------------------------------------------------------------------- + | Broadcast Connections + |-------------------------------------------------------------------------- + | + | Here you may define all of the broadcast connections that will be used + | to broadcast events to other systems or over websockets. Samples of + | each available type of connection are provided inside this array. + | + */ + + 'connections' => [ + + 'pusher' => [ + 'driver' => 'pusher', + 'key' => env('PUSHER_APP_KEY'), + 'secret' => env('PUSHER_APP_SECRET'), + 'app_id' => env('PUSHER_APP_ID'), + 'options' => [ + 'cluster' => env('PUSHER_APP_CLUSTER'), + 'useTLS' => true, + ], + 'client_options' => [ + // Guzzle client options: https://docs.guzzlephp.org/en/stable/request-options.html + ], + ], + + 'ably' => [ + 'driver' => 'ably', + 'key' => env('ABLY_KEY'), + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + ], + + 'log' => [ + 'driver' => 'log', + ], + + 'null' => [ + 'driver' => 'null', + ], + + ], + +]; diff --git a/Penilaian-Esai/config/cache.php b/Penilaian-Esai/config/cache.php new file mode 100644 index 0000000..33bb295 --- /dev/null +++ b/Penilaian-Esai/config/cache.php @@ -0,0 +1,110 @@ + env('CACHE_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Cache Stores + |-------------------------------------------------------------------------- + | + | Here you may define all of the cache "stores" for your application as + | well as their drivers. You may even define multiple stores for the + | same cache driver to group types of items stored in your caches. + | + | Supported drivers: "apc", "array", "database", "file", + | "memcached", "redis", "dynamodb", "octane", "null" + | + */ + + 'stores' => [ + + 'apc' => [ + 'driver' => 'apc', + ], + + 'array' => [ + 'driver' => 'array', + 'serialize' => false, + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'cache', + 'connection' => null, + 'lock_connection' => null, + ], + + 'file' => [ + 'driver' => 'file', + 'path' => storage_path('framework/cache/data'), + ], + + 'memcached' => [ + 'driver' => 'memcached', + 'persistent_id' => env('MEMCACHED_PERSISTENT_ID'), + 'sasl' => [ + env('MEMCACHED_USERNAME'), + env('MEMCACHED_PASSWORD'), + ], + 'options' => [ + // Memcached::OPT_CONNECT_TIMEOUT => 2000, + ], + 'servers' => [ + [ + 'host' => env('MEMCACHED_HOST', '127.0.0.1'), + 'port' => env('MEMCACHED_PORT', 11211), + 'weight' => 100, + ], + ], + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'cache', + 'lock_connection' => 'default', + ], + + 'dynamodb' => [ + 'driver' => 'dynamodb', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'table' => env('DYNAMODB_CACHE_TABLE', 'cache'), + 'endpoint' => env('DYNAMODB_ENDPOINT'), + ], + + 'octane' => [ + 'driver' => 'octane', + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Cache Key Prefix + |-------------------------------------------------------------------------- + | + | When utilizing the APC, database, memcached, Redis, or DynamoDB cache + | stores there might be other applications using the same cache. For + | that reason, you may prefix every cache key to avoid collisions. + | + */ + + 'prefix' => env('CACHE_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_cache_'), + +]; diff --git a/Penilaian-Esai/config/cors.php b/Penilaian-Esai/config/cors.php new file mode 100644 index 0000000..8a39e6d --- /dev/null +++ b/Penilaian-Esai/config/cors.php @@ -0,0 +1,34 @@ + ['api/*', 'sanctum/csrf-cookie'], + + 'allowed_methods' => ['*'], + + 'allowed_origins' => ['*'], + + 'allowed_origins_patterns' => [], + + 'allowed_headers' => ['*'], + + 'exposed_headers' => [], + + 'max_age' => 0, + + 'supports_credentials' => false, + +]; diff --git a/Penilaian-Esai/config/database.php b/Penilaian-Esai/config/database.php new file mode 100644 index 0000000..137ad18 --- /dev/null +++ b/Penilaian-Esai/config/database.php @@ -0,0 +1,151 @@ + env('DB_CONNECTION', 'mysql'), + + /* + |-------------------------------------------------------------------------- + | Database Connections + |-------------------------------------------------------------------------- + | + | Here are each of the database connections setup for your application. + | Of course, examples of configuring each database platform that is + | supported by Laravel is shown below to make development simple. + | + | + | All database work in Laravel is done through the PHP PDO facilities + | so make sure you have the driver for your particular database of + | choice installed on your machine before you begin development. + | + */ + + 'connections' => [ + + 'sqlite' => [ + 'driver' => 'sqlite', + 'url' => env('DATABASE_URL'), + 'database' => env('DB_DATABASE', database_path('database.sqlite')), + 'prefix' => '', + 'foreign_key_constraints' => env('DB_FOREIGN_KEYS', true), + ], + + 'mysql' => [ + 'driver' => 'mysql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '3306'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'unix_socket' => env('DB_SOCKET', ''), + 'charset' => 'utf8mb4', + 'collation' => 'utf8mb4_unicode_ci', + 'prefix' => '', + 'prefix_indexes' => true, + 'strict' => true, + 'engine' => null, + 'options' => extension_loaded('pdo_mysql') ? array_filter([ + PDO::MYSQL_ATTR_SSL_CA => env('MYSQL_ATTR_SSL_CA'), + ]) : [], + ], + + 'pgsql' => [ + 'driver' => 'pgsql', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', '127.0.0.1'), + 'port' => env('DB_PORT', '5432'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + 'search_path' => 'public', + 'sslmode' => 'prefer', + ], + + 'sqlsrv' => [ + 'driver' => 'sqlsrv', + 'url' => env('DATABASE_URL'), + 'host' => env('DB_HOST', 'localhost'), + 'port' => env('DB_PORT', '1433'), + 'database' => env('DB_DATABASE', 'forge'), + 'username' => env('DB_USERNAME', 'forge'), + 'password' => env('DB_PASSWORD', ''), + 'charset' => 'utf8', + 'prefix' => '', + 'prefix_indexes' => true, + // 'encrypt' => env('DB_ENCRYPT', 'yes'), + // 'trust_server_certificate' => env('DB_TRUST_SERVER_CERTIFICATE', 'false'), + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Migration Repository Table + |-------------------------------------------------------------------------- + | + | This table keeps track of all the migrations that have already run for + | your application. Using this information, we can determine which of + | the migrations on disk haven't actually been run in the database. + | + */ + + 'migrations' => 'migrations', + + /* + |-------------------------------------------------------------------------- + | Redis Databases + |-------------------------------------------------------------------------- + | + | Redis is an open source, fast, and advanced key-value store that also + | provides a richer body of commands than a typical key-value system + | such as APC or Memcached. Laravel makes it easy to dig right in. + | + */ + + 'redis' => [ + + 'client' => env('REDIS_CLIENT', 'phpredis'), + + 'options' => [ + 'cluster' => env('REDIS_CLUSTER', 'redis'), + 'prefix' => env('REDIS_PREFIX', Str::slug(env('APP_NAME', 'laravel'), '_').'_database_'), + ], + + 'default' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_DB', '0'), + ], + + 'cache' => [ + 'url' => env('REDIS_URL'), + 'host' => env('REDIS_HOST', '127.0.0.1'), + 'username' => env('REDIS_USERNAME'), + 'password' => env('REDIS_PASSWORD'), + 'port' => env('REDIS_PORT', '6379'), + 'database' => env('REDIS_CACHE_DB', '1'), + ], + + ], + +]; diff --git a/Penilaian-Esai/config/datatables.php b/Penilaian-Esai/config/datatables.php new file mode 100644 index 0000000..b6ed653 --- /dev/null +++ b/Penilaian-Esai/config/datatables.php @@ -0,0 +1,127 @@ + [ + /* + * Smart search will enclose search keyword with wildcard string "%keyword%". + * SQL: column LIKE "%keyword%" + */ + 'smart' => true, + + /* + * Multi-term search will explode search keyword using spaces resulting into multiple term search. + */ + 'multi_term' => true, + + /* + * Case insensitive will search the keyword in lower case format. + * SQL: LOWER(column) LIKE LOWER(keyword) + */ + 'case_insensitive' => true, + + /* + * Wild card will add "%" in between every characters of the keyword. + * SQL: column LIKE "%k%e%y%w%o%r%d%" + */ + 'use_wildcards' => false, + + /* + * Perform a search which starts with the given keyword. + * SQL: column LIKE "keyword%" + */ + 'starts_with' => false, + ], + + /* + * DataTables internal index id response column name. + */ + 'index_column' => 'DT_RowIndex', + + /* + * List of available builders for DataTables. + * This is where you can register your custom dataTables builder. + */ + 'engines' => [ + 'eloquent' => Yajra\DataTables\EloquentDataTable::class, + 'query' => Yajra\DataTables\QueryDataTable::class, + 'collection' => Yajra\DataTables\CollectionDataTable::class, + 'resource' => Yajra\DataTables\ApiResourceDataTable::class, + ], + + /* + * DataTables accepted builder to engine mapping. + * This is where you can override which engine a builder should use + * Note, only change this if you know what you are doing! + */ + 'builders' => [ + //Illuminate\Database\Eloquent\Relations\Relation::class => 'eloquent', + //Illuminate\Database\Eloquent\Builder::class => 'eloquent', + //Illuminate\Database\Query\Builder::class => 'query', + //Illuminate\Support\Collection::class => 'collection', + ], + + /* + * Nulls last sql pattern for PostgreSQL & Oracle. + * For MySQL, use 'CASE WHEN :column IS NULL THEN 1 ELSE 0 END, :column :direction' + */ + 'nulls_last_sql' => ':column :direction NULLS LAST', + + /* + * User friendly message to be displayed on user if error occurs. + * Possible values: + * null - The exception message will be used on error response. + * 'throw' - Throws a \Yajra\DataTables\Exceptions\Exception. Use your custom error handler if needed. + * 'custom message' - Any friendly message to be displayed to the user. You can also use translation key. + */ + 'error' => env('DATATABLES_ERROR', null), + + /* + * Default columns definition of dataTable utility functions. + */ + 'columns' => [ + /* + * List of columns hidden/removed on json response. + */ + 'excess' => ['rn', 'row_num'], + + /* + * List of columns to be escaped. If set to *, all columns are escape. + * Note: You can set the value to empty array to disable XSS protection. + */ + 'escape' => '*', + + /* + * List of columns that are allowed to display html content. + * Note: Adding columns to list will make us available to XSS attacks. + */ + 'raw' => ['action'], + + /* + * List of columns are forbidden from being searched/sorted. + */ + 'blacklist' => ['password', 'remember_token'], + + /* + * List of columns that are only allowed fo search/sort. + * If set to *, all columns are allowed. + */ + 'whitelist' => '*', + ], + + /* + * JsonResponse header and options config. + */ + 'json' => [ + 'header' => [], + 'options' => 0, + ], + + /* + * Default condition to determine if a parameter is a callback or not. + * Callbacks needs to start by those terms, or they will be cast to string. + */ + 'callback' => ['$', '$.', 'function'], +]; diff --git a/Penilaian-Esai/config/filesystems.php b/Penilaian-Esai/config/filesystems.php new file mode 100644 index 0000000..e9d9dbd --- /dev/null +++ b/Penilaian-Esai/config/filesystems.php @@ -0,0 +1,76 @@ + env('FILESYSTEM_DISK', 'local'), + + /* + |-------------------------------------------------------------------------- + | Filesystem Disks + |-------------------------------------------------------------------------- + | + | Here you may configure as many filesystem "disks" as you wish, and you + | may even configure multiple disks of the same driver. Defaults have + | been set up for each driver as an example of the required values. + | + | Supported Drivers: "local", "ftp", "sftp", "s3" + | + */ + + 'disks' => [ + + 'local' => [ + 'driver' => 'local', + 'root' => storage_path('app'), + 'throw' => false, + ], + + 'public' => [ + 'driver' => 'local', + 'root' => storage_path('app/public'), + 'url' => env('APP_URL').'/storage', + 'visibility' => 'public', + 'throw' => false, + ], + + 's3' => [ + 'driver' => 's3', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION'), + 'bucket' => env('AWS_BUCKET'), + 'url' => env('AWS_URL'), + 'endpoint' => env('AWS_ENDPOINT'), + 'use_path_style_endpoint' => env('AWS_USE_PATH_STYLE_ENDPOINT', false), + 'throw' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Symbolic Links + |-------------------------------------------------------------------------- + | + | Here you may configure the symbolic links that will be created when the + | `storage:link` Artisan command is executed. The array keys should be + | the locations of the links and the values should be their targets. + | + */ + + 'links' => [ + public_path('storage') => storage_path('app/public'), + ], + +]; diff --git a/Penilaian-Esai/config/hashing.php b/Penilaian-Esai/config/hashing.php new file mode 100644 index 0000000..bcd3be4 --- /dev/null +++ b/Penilaian-Esai/config/hashing.php @@ -0,0 +1,52 @@ + 'bcrypt', + + /* + |-------------------------------------------------------------------------- + | Bcrypt Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Bcrypt algorithm. This will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'bcrypt' => [ + 'rounds' => env('BCRYPT_ROUNDS', 10), + ], + + /* + |-------------------------------------------------------------------------- + | Argon Options + |-------------------------------------------------------------------------- + | + | Here you may specify the configuration options that should be used when + | passwords are hashed using the Argon algorithm. These will allow you + | to control the amount of time it takes to hash the given password. + | + */ + + 'argon' => [ + 'memory' => 65536, + 'threads' => 1, + 'time' => 4, + ], + +]; diff --git a/Penilaian-Esai/config/infyom/generator_builder.php b/Penilaian-Esai/config/infyom/generator_builder.php new file mode 100644 index 0000000..a410965 --- /dev/null +++ b/Penilaian-Esai/config/infyom/generator_builder.php @@ -0,0 +1,13 @@ + [ + + 'builder' => 'generator-builder::builder', + + 'field-template' => 'generator-builder::field-template', + + 'relation-field-template' => 'generator-builder::relation-field-template', + ], +]; diff --git a/Penilaian-Esai/config/infyom/laravel_generator.php b/Penilaian-Esai/config/infyom/laravel_generator.php new file mode 100644 index 0000000..8ccc226 --- /dev/null +++ b/Penilaian-Esai/config/infyom/laravel_generator.php @@ -0,0 +1,224 @@ + [ + + 'migration' => database_path('migrations/'), + + 'model' => app_path('Models/'), + + 'datatables' => app_path('DataTables/'), + + 'repository' => app_path('Repositories/'), + + 'routes' => base_path('routes/web.php'), + + 'api_routes' => base_path('routes/api.php'), + + 'request' => app_path('Http/Requests/'), + + 'api_request' => app_path('Http/Requests/API/'), + + 'controller' => app_path('Http/Controllers/'), + + 'api_controller' => app_path('Http/Controllers/API/'), + + 'api_resource' => app_path('Http/Resources/'), + + 'repository_test' => base_path('tests/Repositories/'), + + 'api_test' => base_path('tests/APIs/'), + + 'tests' => base_path('tests/'), + + 'views' => resource_path('views/'), + + 'schema_files' => resource_path('model_schemas/'), + + 'templates_dir' => resource_path('infyom/infyom-generator-templates/'), + + 'seeder' => database_path('seeders/'), + + 'database_seeder' => database_path('seeders/DatabaseSeeder.php'), + + 'factory' => database_path('factories/'), + + 'view_provider' => app_path('Providers/ViewServiceProvider.php'), + ], + + /* + |-------------------------------------------------------------------------- + | Namespaces + |-------------------------------------------------------------------------- + | + */ + + 'namespace' => [ + + 'model' => 'App\Models', + + 'datatables' => 'App\DataTables', + + 'repository' => 'App\Repositories', + + 'controller' => 'App\Http\Controllers', + + 'api_controller' => 'App\Http\Controllers\API', + + 'api_resource' => 'App\Http\Resources', + + 'request' => 'App\Http\Requests', + + 'api_request' => 'App\Http\Requests\API', + + 'seeder' => 'Database\Seeders', + + 'factory' => 'Database\Factories', + + 'repository_test' => 'Tests\Repositories', + + 'api_test' => 'Tests\APIs', + + 'tests' => 'Tests', + ], + + /* + |-------------------------------------------------------------------------- + | Templates + |-------------------------------------------------------------------------- + | + */ + + 'templates' => 'stisla-templates', + + /* + |-------------------------------------------------------------------------- + | Model extend class + |-------------------------------------------------------------------------- + | + */ + + 'model_extend_class' => 'Eloquent', + + /* + |-------------------------------------------------------------------------- + | API routes prefix & version + |-------------------------------------------------------------------------- + | + */ + + 'api_prefix' => 'api', + + 'api_version' => 'v1', + + /* + |-------------------------------------------------------------------------- + | Options + |-------------------------------------------------------------------------- + | + */ + + 'options' => [ + + 'softDelete' => true, + + 'save_schema_file' => true, + + 'localized' => false, + + 'tables_searchable_default' => false, + + 'repository_pattern' => true, + + 'resources' => false, + + 'excluded_fields' => ['id'], // Array of columns that doesn't required while creating module + ], + + /* + |-------------------------------------------------------------------------- + | Prefixes + |-------------------------------------------------------------------------- + | + */ + + 'prefixes' => [ + + 'route' => '', // using admin will create route('admin.?.index') type routes + + 'path' => '', + + 'view' => '', // using backend will create return view('backend.?.index') type the backend views directory + + 'public' => '', + ], + + /* + |-------------------------------------------------------------------------- + | Add-Ons + |-------------------------------------------------------------------------- + | + */ + + 'add_on' => [ + + 'swagger' => false, + + 'tests' => true, + + 'datatables' => false, + + 'menu' => [ + + 'enabled' => true, + + 'menu_file' => 'layouts/menu.blade.php', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Timestamp Fields + |-------------------------------------------------------------------------- + | + */ + + 'timestamps' => [ + + 'enabled' => true, + + 'created_at' => 'created_at', + + 'updated_at' => 'updated_at', + + 'deleted_at' => 'deleted_at', + ], + + /* + |-------------------------------------------------------------------------- + | Save model files to `App/Models` when use `--prefix`. see #208 + |-------------------------------------------------------------------------- + | + */ + 'ignore_model_prefix' => false, + + /* + |-------------------------------------------------------------------------- + | Specify custom doctrine mappings as per your need + |-------------------------------------------------------------------------- + | + */ + 'from_table' => [ + + 'doctrine_mappings' => [], + ], + +]; diff --git a/Penilaian-Esai/config/jwt.php b/Penilaian-Esai/config/jwt.php new file mode 100644 index 0000000..f83234d --- /dev/null +++ b/Penilaian-Esai/config/jwt.php @@ -0,0 +1,301 @@ + + * + * For the full copyright and license information, please view the LICENSE + * file that was distributed with this source code. + */ + +return [ + + /* + |-------------------------------------------------------------------------- + | JWT Authentication Secret + |-------------------------------------------------------------------------- + | + | Don't forget to set this in your .env file, as it will be used to sign + | your tokens. A helper command is provided for this: + | `php artisan jwt:secret` + | + | Note: This will be used for Symmetric algorithms only (HMAC), + | since RSA and ECDSA use a private/public key combo (See below). + | + */ + + 'secret' => env('JWT_SECRET'), + + /* + |-------------------------------------------------------------------------- + | JWT Authentication Keys + |-------------------------------------------------------------------------- + | + | The algorithm you are using, will determine whether your tokens are + | signed with a random string (defined in `JWT_SECRET`) or using the + | following public & private keys. + | + | Symmetric Algorithms: + | HS256, HS384 & HS512 will use `JWT_SECRET`. + | + | Asymmetric Algorithms: + | RS256, RS384 & RS512 / ES256, ES384 & ES512 will use the keys below. + | + */ + + 'keys' => [ + + /* + |-------------------------------------------------------------------------- + | Public Key + |-------------------------------------------------------------------------- + | + | A path or resource to your public key. + | + | E.g. 'file://path/to/public/key' + | + */ + + 'public' => env('JWT_PUBLIC_KEY'), + + /* + |-------------------------------------------------------------------------- + | Private Key + |-------------------------------------------------------------------------- + | + | A path or resource to your private key. + | + | E.g. 'file://path/to/private/key' + | + */ + + 'private' => env('JWT_PRIVATE_KEY'), + + /* + |-------------------------------------------------------------------------- + | Passphrase + |-------------------------------------------------------------------------- + | + | The passphrase for your private key. Can be null if none set. + | + */ + + 'passphrase' => env('JWT_PASSPHRASE'), + + ], + + /* + |-------------------------------------------------------------------------- + | JWT time to live + |-------------------------------------------------------------------------- + | + | Specify the length of time (in minutes) that the token will be valid for. + | Defaults to 1 hour. + | + | You can also set this to null, to yield a never expiring token. + | Some people may want this behaviour for e.g. a mobile app. + | This is not particularly recommended, so make sure you have appropriate + | systems in place to revoke the token if necessary. + | Notice: If you set this to null you should remove 'exp' element from 'required_claims' list. + | + */ + + 'ttl' => env('JWT_TTL', 60), + + /* + |-------------------------------------------------------------------------- + | Refresh time to live + |-------------------------------------------------------------------------- + | + | Specify the length of time (in minutes) that the token can be refreshed + | within. I.E. The user can refresh their token within a 2 week window of + | the original token being created until they must re-authenticate. + | Defaults to 2 weeks. + | + | You can also set this to null, to yield an infinite refresh time. + | Some may want this instead of never expiring tokens for e.g. a mobile app. + | This is not particularly recommended, so make sure you have appropriate + | systems in place to revoke the token if necessary. + | + */ + + 'refresh_ttl' => env('JWT_REFRESH_TTL', 20160), + + /* + |-------------------------------------------------------------------------- + | JWT hashing algorithm + |-------------------------------------------------------------------------- + | + | Specify the hashing algorithm that will be used to sign the token. + | + */ + + 'algo' => env('JWT_ALGO', Tymon\JWTAuth\Providers\JWT\Provider::ALGO_HS256), + + /* + |-------------------------------------------------------------------------- + | Required Claims + |-------------------------------------------------------------------------- + | + | Specify the required claims that must exist in any token. + | A TokenInvalidException will be thrown if any of these claims are not + | present in the payload. + | + */ + + 'required_claims' => [ + 'iss', + 'iat', + 'exp', + 'nbf', + 'sub', + 'jti', + ], + + /* + |-------------------------------------------------------------------------- + | Persistent Claims + |-------------------------------------------------------------------------- + | + | Specify the claim keys to be persisted when refreshing a token. + | `sub` and `iat` will automatically be persisted, in + | addition to the these claims. + | + | Note: If a claim does not exist then it will be ignored. + | + */ + + 'persistent_claims' => [ + // 'foo', + // 'bar', + ], + + /* + |-------------------------------------------------------------------------- + | Lock Subject + |-------------------------------------------------------------------------- + | + | This will determine whether a `prv` claim is automatically added to + | the token. The purpose of this is to ensure that if you have multiple + | authentication models e.g. `App\User` & `App\OtherPerson`, then we + | should prevent one authentication request from impersonating another, + | if 2 tokens happen to have the same id across the 2 different models. + | + | Under specific circumstances, you may want to disable this behaviour + | e.g. if you only have one authentication model, then you would save + | a little on token size. + | + */ + + 'lock_subject' => true, + + /* + |-------------------------------------------------------------------------- + | Leeway + |-------------------------------------------------------------------------- + | + | This property gives the jwt timestamp claims some "leeway". + | Meaning that if you have any unavoidable slight clock skew on + | any of your servers then this will afford you some level of cushioning. + | + | This applies to the claims `iat`, `nbf` and `exp`. + | + | Specify in seconds - only if you know you need it. + | + */ + + 'leeway' => env('JWT_LEEWAY', 0), + + /* + |-------------------------------------------------------------------------- + | Blacklist Enabled + |-------------------------------------------------------------------------- + | + | In order to invalidate tokens, you must have the blacklist enabled. + | If you do not want or need this functionality, then set this to false. + | + */ + + 'blacklist_enabled' => env('JWT_BLACKLIST_ENABLED', true), + + /* + | ------------------------------------------------------------------------- + | Blacklist Grace Period + | ------------------------------------------------------------------------- + | + | When multiple concurrent requests are made with the same JWT, + | it is possible that some of them fail, due to token regeneration + | on every request. + | + | Set grace period in seconds to prevent parallel request failure. + | + */ + + 'blacklist_grace_period' => env('JWT_BLACKLIST_GRACE_PERIOD', 0), + + /* + |-------------------------------------------------------------------------- + | Cookies encryption + |-------------------------------------------------------------------------- + | + | By default Laravel encrypt cookies for security reason. + | If you decide to not decrypt cookies, you will have to configure Laravel + | to not encrypt your cookie token by adding its name into the $except + | array available in the middleware "EncryptCookies" provided by Laravel. + | see https://laravel.com/docs/master/responses#cookies-and-encryption + | for details. + | + | Set it to true if you want to decrypt cookies. + | + */ + + 'decrypt_cookies' => false, + + /* + |-------------------------------------------------------------------------- + | Providers + |-------------------------------------------------------------------------- + | + | Specify the various providers used throughout the package. + | + */ + + 'providers' => [ + + /* + |-------------------------------------------------------------------------- + | JWT Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to create and decode the tokens. + | + */ + + 'jwt' => Tymon\JWTAuth\Providers\JWT\Lcobucci::class, + + /* + |-------------------------------------------------------------------------- + | Authentication Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to authenticate users. + | + */ + + 'auth' => Tymon\JWTAuth\Providers\Auth\Illuminate::class, + + /* + |-------------------------------------------------------------------------- + | Storage Provider + |-------------------------------------------------------------------------- + | + | Specify the provider that is used to store tokens in the blacklist. + | + */ + + 'storage' => Tymon\JWTAuth\Providers\Storage\Illuminate::class, + + ], + +]; diff --git a/Penilaian-Esai/config/logging.php b/Penilaian-Esai/config/logging.php new file mode 100644 index 0000000..5aa1dbb --- /dev/null +++ b/Penilaian-Esai/config/logging.php @@ -0,0 +1,122 @@ + env('LOG_CHANNEL', 'stack'), + + /* + |-------------------------------------------------------------------------- + | Deprecations Log Channel + |-------------------------------------------------------------------------- + | + | This option controls the log channel that should be used to log warnings + | regarding deprecated PHP and library features. This allows you to get + | your application ready for upcoming major versions of dependencies. + | + */ + + 'deprecations' => [ + 'channel' => env('LOG_DEPRECATIONS_CHANNEL', 'null'), + 'trace' => false, + ], + + /* + |-------------------------------------------------------------------------- + | Log Channels + |-------------------------------------------------------------------------- + | + | Here you may configure the log channels for your application. Out of + | the box, Laravel uses the Monolog PHP logging library. This gives + | you a variety of powerful log handlers / formatters to utilize. + | + | Available Drivers: "single", "daily", "slack", "syslog", + | "errorlog", "monolog", + | "custom", "stack" + | + */ + + 'channels' => [ + 'stack' => [ + 'driver' => 'stack', + 'channels' => ['single'], + 'ignore_exceptions' => false, + ], + + 'single' => [ + 'driver' => 'single', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'daily' => [ + 'driver' => 'daily', + 'path' => storage_path('logs/laravel.log'), + 'level' => env('LOG_LEVEL', 'debug'), + 'days' => 14, + ], + + 'slack' => [ + 'driver' => 'slack', + 'url' => env('LOG_SLACK_WEBHOOK_URL'), + 'username' => 'Laravel Log', + 'emoji' => ':boom:', + 'level' => env('LOG_LEVEL', 'critical'), + ], + + 'papertrail' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => env('LOG_PAPERTRAIL_HANDLER', SyslogUdpHandler::class), + 'handler_with' => [ + 'host' => env('PAPERTRAIL_URL'), + 'port' => env('PAPERTRAIL_PORT'), + 'connectionString' => 'tls://'.env('PAPERTRAIL_URL').':'.env('PAPERTRAIL_PORT'), + ], + ], + + 'stderr' => [ + 'driver' => 'monolog', + 'level' => env('LOG_LEVEL', 'debug'), + 'handler' => StreamHandler::class, + 'formatter' => env('LOG_STDERR_FORMATTER'), + 'with' => [ + 'stream' => 'php://stderr', + ], + ], + + 'syslog' => [ + 'driver' => 'syslog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'errorlog' => [ + 'driver' => 'errorlog', + 'level' => env('LOG_LEVEL', 'debug'), + ], + + 'null' => [ + 'driver' => 'monolog', + 'handler' => NullHandler::class, + ], + + 'emergency' => [ + 'path' => storage_path('logs/laravel.log'), + ], + ], + +]; diff --git a/Penilaian-Esai/config/mail.php b/Penilaian-Esai/config/mail.php new file mode 100644 index 0000000..534395a --- /dev/null +++ b/Penilaian-Esai/config/mail.php @@ -0,0 +1,118 @@ + env('MAIL_MAILER', 'smtp'), + + /* + |-------------------------------------------------------------------------- + | Mailer Configurations + |-------------------------------------------------------------------------- + | + | Here you may configure all of the mailers used by your application plus + | their respective settings. Several examples have been configured for + | you and you are free to add your own as your application requires. + | + | Laravel supports a variety of mail "transport" drivers to be used while + | sending an e-mail. You will specify which one you are using for your + | mailers below. You are free to add additional mailers as required. + | + | Supported: "smtp", "sendmail", "mailgun", "ses", + | "postmark", "log", "array", "failover" + | + */ + + 'mailers' => [ + 'smtp' => [ + 'transport' => 'smtp', + 'host' => env('MAIL_HOST', 'smtp.mailgun.org'), + 'port' => env('MAIL_PORT', 587), + 'encryption' => env('MAIL_ENCRYPTION', 'tls'), + 'username' => env('MAIL_USERNAME'), + 'password' => env('MAIL_PASSWORD'), + 'timeout' => null, + 'local_domain' => env('MAIL_EHLO_DOMAIN'), + ], + + 'ses' => [ + 'transport' => 'ses', + ], + + 'mailgun' => [ + 'transport' => 'mailgun', + ], + + 'postmark' => [ + 'transport' => 'postmark', + ], + + 'sendmail' => [ + 'transport' => 'sendmail', + 'path' => env('MAIL_SENDMAIL_PATH', '/usr/sbin/sendmail -bs -i'), + ], + + 'log' => [ + 'transport' => 'log', + 'channel' => env('MAIL_LOG_CHANNEL'), + ], + + 'array' => [ + 'transport' => 'array', + ], + + 'failover' => [ + 'transport' => 'failover', + 'mailers' => [ + 'smtp', + 'log', + ], + ], + ], + + /* + |-------------------------------------------------------------------------- + | Global "From" Address + |-------------------------------------------------------------------------- + | + | You may wish for all e-mails sent by your application to be sent from + | the same address. Here, you may specify a name and address that is + | used globally for all e-mails that are sent by your application. + | + */ + + 'from' => [ + 'address' => env('MAIL_FROM_ADDRESS', 'hello@example.com'), + 'name' => env('MAIL_FROM_NAME', 'Example'), + ], + + /* + |-------------------------------------------------------------------------- + | Markdown Mail Settings + |-------------------------------------------------------------------------- + | + | If you are using Markdown based email rendering, you may configure your + | theme and component paths here, allowing you to customize the design + | of the emails. Or, you may simply stick with the Laravel defaults! + | + */ + + 'markdown' => [ + 'theme' => 'default', + + 'paths' => [ + resource_path('views/vendor/mail'), + ], + ], + +]; diff --git a/Penilaian-Esai/config/queue.php b/Penilaian-Esai/config/queue.php new file mode 100644 index 0000000..25ea5a8 --- /dev/null +++ b/Penilaian-Esai/config/queue.php @@ -0,0 +1,93 @@ + env('QUEUE_CONNECTION', 'sync'), + + /* + |-------------------------------------------------------------------------- + | Queue Connections + |-------------------------------------------------------------------------- + | + | Here you may configure the connection information for each server that + | is used by your application. A default configuration has been added + | for each back-end shipped with Laravel. You are free to add more. + | + | Drivers: "sync", "database", "beanstalkd", "sqs", "redis", "null" + | + */ + + 'connections' => [ + + 'sync' => [ + 'driver' => 'sync', + ], + + 'database' => [ + 'driver' => 'database', + 'table' => 'jobs', + 'queue' => 'default', + 'retry_after' => 90, + 'after_commit' => false, + ], + + 'beanstalkd' => [ + 'driver' => 'beanstalkd', + 'host' => 'localhost', + 'queue' => 'default', + 'retry_after' => 90, + 'block_for' => 0, + 'after_commit' => false, + ], + + 'sqs' => [ + 'driver' => 'sqs', + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'prefix' => env('SQS_PREFIX', 'https://sqs.us-east-1.amazonaws.com/your-account-id'), + 'queue' => env('SQS_QUEUE', 'default'), + 'suffix' => env('SQS_SUFFIX'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + 'after_commit' => false, + ], + + 'redis' => [ + 'driver' => 'redis', + 'connection' => 'default', + 'queue' => env('REDIS_QUEUE', 'default'), + 'retry_after' => 90, + 'block_for' => null, + 'after_commit' => false, + ], + + ], + + /* + |-------------------------------------------------------------------------- + | Failed Queue Jobs + |-------------------------------------------------------------------------- + | + | These options configure the behavior of failed queue job logging so you + | can control which database and table are used to store the jobs that + | have failed. You may change them to any database / table you wish. + | + */ + + 'failed' => [ + 'driver' => env('QUEUE_FAILED_DRIVER', 'database-uuids'), + 'database' => env('DB_CONNECTION', 'mysql'), + 'table' => 'failed_jobs', + ], + +]; diff --git a/Penilaian-Esai/config/sanctum.php b/Penilaian-Esai/config/sanctum.php new file mode 100644 index 0000000..529cfdc --- /dev/null +++ b/Penilaian-Esai/config/sanctum.php @@ -0,0 +1,67 @@ + explode(',', env('SANCTUM_STATEFUL_DOMAINS', sprintf( + '%s%s', + 'localhost,localhost:3000,127.0.0.1,127.0.0.1:8000,::1', + Sanctum::currentApplicationUrlWithPort() + ))), + + /* + |-------------------------------------------------------------------------- + | Sanctum Guards + |-------------------------------------------------------------------------- + | + | This array contains the authentication guards that will be checked when + | Sanctum is trying to authenticate a request. If none of these guards + | are able to authenticate the request, Sanctum will use the bearer + | token that's present on an incoming request for authentication. + | + */ + + 'guard' => ['web'], + + /* + |-------------------------------------------------------------------------- + | Expiration Minutes + |-------------------------------------------------------------------------- + | + | This value controls the number of minutes until an issued token will be + | considered expired. If this value is null, personal access tokens do + | not expire. This won't tweak the lifetime of first-party sessions. + | + */ + + 'expiration' => null, + + /* + |-------------------------------------------------------------------------- + | Sanctum Middleware + |-------------------------------------------------------------------------- + | + | When authenticating your first-party SPA with Sanctum you may need to + | customize some of the middleware Sanctum uses while processing the + | request. You may change the middleware listed below as required. + | + */ + + 'middleware' => [ + 'verify_csrf_token' => App\Http\Middleware\VerifyCsrfToken::class, + 'encrypt_cookies' => App\Http\Middleware\EncryptCookies::class, + ], + +]; diff --git a/Penilaian-Esai/config/services.php b/Penilaian-Esai/config/services.php new file mode 100644 index 0000000..0ace530 --- /dev/null +++ b/Penilaian-Esai/config/services.php @@ -0,0 +1,34 @@ + [ + 'domain' => env('MAILGUN_DOMAIN'), + 'secret' => env('MAILGUN_SECRET'), + 'endpoint' => env('MAILGUN_ENDPOINT', 'api.mailgun.net'), + 'scheme' => 'https', + ], + + 'postmark' => [ + 'token' => env('POSTMARK_TOKEN'), + ], + + 'ses' => [ + 'key' => env('AWS_ACCESS_KEY_ID'), + 'secret' => env('AWS_SECRET_ACCESS_KEY'), + 'region' => env('AWS_DEFAULT_REGION', 'us-east-1'), + ], + +]; diff --git a/Penilaian-Esai/config/session.php b/Penilaian-Esai/config/session.php new file mode 100644 index 0000000..8fed97c --- /dev/null +++ b/Penilaian-Esai/config/session.php @@ -0,0 +1,201 @@ + env('SESSION_DRIVER', 'file'), + + /* + |-------------------------------------------------------------------------- + | Session Lifetime + |-------------------------------------------------------------------------- + | + | Here you may specify the number of minutes that you wish the session + | to be allowed to remain idle before it expires. If you want them + | to immediately expire on the browser closing, set that option. + | + */ + + 'lifetime' => env('SESSION_LIFETIME', 120), + + 'expire_on_close' => false, + + /* + |-------------------------------------------------------------------------- + | Session Encryption + |-------------------------------------------------------------------------- + | + | This option allows you to easily specify that all of your session data + | should be encrypted before it is stored. All encryption will be run + | automatically by Laravel and you can use the Session like normal. + | + */ + + 'encrypt' => false, + + /* + |-------------------------------------------------------------------------- + | Session File Location + |-------------------------------------------------------------------------- + | + | When using the native session driver, we need a location where session + | files may be stored. A default has been set for you but a different + | location may be specified. This is only needed for file sessions. + | + */ + + 'files' => storage_path('framework/sessions'), + + /* + |-------------------------------------------------------------------------- + | Session Database Connection + |-------------------------------------------------------------------------- + | + | When using the "database" or "redis" session drivers, you may specify a + | connection that should be used to manage these sessions. This should + | correspond to a connection in your database configuration options. + | + */ + + 'connection' => env('SESSION_CONNECTION'), + + /* + |-------------------------------------------------------------------------- + | Session Database Table + |-------------------------------------------------------------------------- + | + | When using the "database" session driver, you may specify the table we + | should use to manage the sessions. Of course, a sensible default is + | provided for you; however, you are free to change this as needed. + | + */ + + 'table' => 'sessions', + + /* + |-------------------------------------------------------------------------- + | Session Cache Store + |-------------------------------------------------------------------------- + | + | While using one of the framework's cache driven session backends you may + | list a cache store that should be used for these sessions. This value + | must match with one of the application's configured cache "stores". + | + | Affects: "apc", "dynamodb", "memcached", "redis" + | + */ + + 'store' => env('SESSION_STORE'), + + /* + |-------------------------------------------------------------------------- + | Session Sweeping Lottery + |-------------------------------------------------------------------------- + | + | Some session drivers must manually sweep their storage location to get + | rid of old sessions from storage. Here are the chances that it will + | happen on a given request. By default, the odds are 2 out of 100. + | + */ + + 'lottery' => [2, 100], + + /* + |-------------------------------------------------------------------------- + | Session Cookie Name + |-------------------------------------------------------------------------- + | + | Here you may change the name of the cookie used to identify a session + | instance by ID. The name specified here will get used every time a + | new session cookie is created by the framework for every driver. + | + */ + + 'cookie' => env( + 'SESSION_COOKIE', + Str::slug(env('APP_NAME', 'laravel'), '_').'_session' + ), + + /* + |-------------------------------------------------------------------------- + | Session Cookie Path + |-------------------------------------------------------------------------- + | + | The session cookie path determines the path for which the cookie will + | be regarded as available. Typically, this will be the root path of + | your application but you are free to change this when necessary. + | + */ + + 'path' => '/', + + /* + |-------------------------------------------------------------------------- + | Session Cookie Domain + |-------------------------------------------------------------------------- + | + | Here you may change the domain of the cookie used to identify a session + | in your application. This will determine which domains the cookie is + | available to in your application. A sensible default has been set. + | + */ + + 'domain' => env('SESSION_DOMAIN'), + + /* + |-------------------------------------------------------------------------- + | HTTPS Only Cookies + |-------------------------------------------------------------------------- + | + | By setting this option to true, session cookies will only be sent back + | to the server if the browser has a HTTPS connection. This will keep + | the cookie from being sent to you when it can't be done securely. + | + */ + + 'secure' => env('SESSION_SECURE_COOKIE'), + + /* + |-------------------------------------------------------------------------- + | HTTP Access Only + |-------------------------------------------------------------------------- + | + | Setting this value to true will prevent JavaScript from accessing the + | value of the cookie and the cookie will only be accessible through + | the HTTP protocol. You are free to modify this option if needed. + | + */ + + 'http_only' => true, + + /* + |-------------------------------------------------------------------------- + | Same-Site Cookies + |-------------------------------------------------------------------------- + | + | This option determines how your cookies behave when cross-site requests + | take place, and can be used to mitigate CSRF attacks. By default, we + | will set this value to "lax" since this is a secure default value. + | + | Supported: "lax", "strict", "none", null + | + */ + + 'same_site' => 'lax', + +]; diff --git a/Penilaian-Esai/config/view.php b/Penilaian-Esai/config/view.php new file mode 100644 index 0000000..22b8a18 --- /dev/null +++ b/Penilaian-Esai/config/view.php @@ -0,0 +1,36 @@ + [ + resource_path('views'), + ], + + /* + |-------------------------------------------------------------------------- + | Compiled View Path + |-------------------------------------------------------------------------- + | + | This option determines where all the compiled Blade templates will be + | stored for your application. Typically, this is within the storage + | directory. However, as usual, you are free to change this value. + | + */ + + 'compiled' => env( + 'VIEW_COMPILED_PATH', + realpath(storage_path('framework/views')) + ), + +]; diff --git a/Penilaian-Esai/database/.gitignore b/Penilaian-Esai/database/.gitignore new file mode 100644 index 0000000..9b19b93 --- /dev/null +++ b/Penilaian-Esai/database/.gitignore @@ -0,0 +1 @@ +*.sqlite* diff --git a/Penilaian-Esai/database/factories/UserFactory.php b/Penilaian-Esai/database/factories/UserFactory.php new file mode 100644 index 0000000..23b61d2 --- /dev/null +++ b/Penilaian-Esai/database/factories/UserFactory.php @@ -0,0 +1,42 @@ + + */ +class UserFactory extends Factory +{ + /** + * Define the model's default state. + * + * @return array + */ + public function definition() + { + return [ + 'name' => $this->faker->name(), + 'email' => $this->faker->unique()->safeEmail(), + 'email_verified_at' => now(), + 'password' => '$2y$10$92IXUNpkjO0rOQ5byMi.Ye4oKoEa3Ro9llC/.og/at2.uheWG/igi', // password + 'remember_token' => Str::random(10), + ]; + } + + /** + * Indicate that the model's email address should be unverified. + * + * @return static + */ + public function unverified() + { + return $this->state(function (array $attributes) { + return [ + 'email_verified_at' => null, + ]; + }); + } +} diff --git a/Penilaian-Esai/database/migrations/2014_10_12_000000_create_users_table.php b/Penilaian-Esai/database/migrations/2014_10_12_000000_create_users_table.php new file mode 100644 index 0000000..cf6b776 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2014_10_12_000000_create_users_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('name'); + $table->string('email')->unique(); + $table->timestamp('email_verified_at')->nullable(); + $table->string('password'); + $table->rememberToken(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('users'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2014_10_12_100000_create_password_resets_table.php b/Penilaian-Esai/database/migrations/2014_10_12_100000_create_password_resets_table.php new file mode 100644 index 0000000..fcacb80 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2014_10_12_100000_create_password_resets_table.php @@ -0,0 +1,32 @@ +string('email')->index(); + $table->string('token'); + $table->timestamp('created_at')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('password_resets'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2019_08_19_000000_create_failed_jobs_table.php b/Penilaian-Esai/database/migrations/2019_08_19_000000_create_failed_jobs_table.php new file mode 100644 index 0000000..1719198 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2019_08_19_000000_create_failed_jobs_table.php @@ -0,0 +1,36 @@ +id(); + $table->string('uuid')->unique(); + $table->text('connection'); + $table->text('queue'); + $table->longText('payload'); + $table->longText('exception'); + $table->timestamp('failed_at')->useCurrent(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('failed_jobs'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php b/Penilaian-Esai/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php new file mode 100644 index 0000000..fd235f8 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2019_12_14_000001_create_personal_access_tokens_table.php @@ -0,0 +1,36 @@ +id(); + $table->morphs('tokenable'); + $table->string('name'); + $table->string('token', 64)->unique(); + $table->text('abilities')->nullable(); + $table->timestamp('last_used_at')->nullable(); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('personal_access_tokens'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_30_114700_create_roles_table.php b/Penilaian-Esai/database/migrations/2022_05_30_114700_create_roles_table.php new file mode 100644 index 0000000..3e21b07 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_114700_create_roles_table.php @@ -0,0 +1,33 @@ +increments('id'); + $table->string('role'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('roles'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_05_30_115524_create_courses_table.php b/Penilaian-Esai/database/migrations/2022_05_30_115524_create_courses_table.php new file mode 100644 index 0000000..701b413 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_115524_create_courses_table.php @@ -0,0 +1,36 @@ +increments('id'); + $table->string('course_name'); + $table->text('description'); + $table->string('image'); + $table->integer('published'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('courses'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_05_30_120348_create_lessons_table.php b/Penilaian-Esai/database/migrations/2022_05_30_120348_create_lessons_table.php new file mode 100644 index 0000000..be090b0 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_120348_create_lessons_table.php @@ -0,0 +1,38 @@ +increments('id'); + $table->string('title'); + $table->text('description'); + $table->integer("course_id")->unsigned(); + $table->foreign('course_id')->references("id")->on("courses"); + $table->integer('posisition'); + $table->integer('published'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('lessons'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_05_30_141552_create_contents_table.php b/Penilaian-Esai/database/migrations/2022_05_30_141552_create_contents_table.php new file mode 100644 index 0000000..eaab43a --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_141552_create_contents_table.php @@ -0,0 +1,39 @@ +increments('id'); + $table->string('title'); + $table->integer('lesson_id')->unsigned(); + $table->text('description'); + $table->string('url_video'); + $table->integer('published'); + $table->timestamps(); + $table->softDeletes(); + $table->foreign('lesson_id')->references('id')->on('lessons'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('contents'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_05_30_143915_add_role_to_user_column.php b/Penilaian-Esai/database/migrations/2022_05_30_143915_add_role_to_user_column.php new file mode 100644 index 0000000..3f32cb0 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_143915_add_role_to_user_column.php @@ -0,0 +1,34 @@ +integer("role_id")->unsigned()->default(null); + $table->foreign("role_id")->references("id")->on("roles"); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('user_column', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_30_150023_create_questions_table.php b/Penilaian-Esai/database/migrations/2022_05_30_150023_create_questions_table.php new file mode 100644 index 0000000..f3cc2eb --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_150023_create_questions_table.php @@ -0,0 +1,38 @@ +increments('id'); + $table->integer('content_id')->unsigned(); + $table->string('question'); + $table->string('image'); + $table->integer('score'); + $table->timestamps(); + $table->softDeletes(); + $table->foreign('content_id')->references('id')->on('contents'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('questions'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_05_30_180245_create_student_course_table.php b/Penilaian-Esai/database/migrations/2022_05_30_180245_create_student_course_table.php new file mode 100644 index 0000000..303b89b --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_30_180245_create_student_course_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign("user_id")->references("id")->on("users"); + + $table->unsignedInteger("course_id"); + + $table->foreign("course_id")->references("id")->on("courses"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('student_courses'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_31_015033_create_answers_table.php b/Penilaian-Esai/database/migrations/2022_05_31_015033_create_answers_table.php new file mode 100644 index 0000000..1434e4e --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_31_015033_create_answers_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedInteger("question_id")->nullable(); + $table->foreign("question_id")->references("id")->on("questions"); + + $table->string("answer"); + $table->string("is_right"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('answers'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_31_023057_add_nullable_to_answers.php b/Penilaian-Esai/database/migrations/2022_05_31_023057_add_nullable_to_answers.php new file mode 100644 index 0000000..8506680 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_31_023057_add_nullable_to_answers.php @@ -0,0 +1,34 @@ +string("is_right")->nullable()->change(); + + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('answers', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_31_030846_add_null_to_question.php b/Penilaian-Esai/database/migrations/2022_05_31_030846_add_null_to_question.php new file mode 100644 index 0000000..c883f4c --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_31_030846_add_null_to_question.php @@ -0,0 +1,33 @@ +string("image")->nullable()->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('questions', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_31_070600_create_user_scores_table.php b/Penilaian-Esai/database/migrations/2022_05_31_070600_create_user_scores_table.php new file mode 100644 index 0000000..d0882af --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_31_070600_create_user_scores_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedBigInteger("user_id")->nullable(); + $table->foreign("user_id")->references("id")->on("users"); + $table->unsignedInteger("content_id")->nullable(); + $table->foreign("content_id")->references("id")->on("contents"); + $table->integer("score"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_scores'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_05_31_151123_create_badge_settings_table.php b/Penilaian-Esai/database/migrations/2022_05_31_151123_create_badge_settings_table.php new file mode 100644 index 0000000..6392b64 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_05_31_151123_create_badge_settings_table.php @@ -0,0 +1,35 @@ +increments('id'); + $table->text('name'); + $table->integer('min'); + $table->integer('max'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::drop('badge_settings'); + } +} diff --git a/Penilaian-Esai/database/migrations/2022_06_02_055725_change_column_in_contents.php b/Penilaian-Esai/database/migrations/2022_06_02_055725_change_column_in_contents.php new file mode 100644 index 0000000..30ac01d --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_06_02_055725_change_column_in_contents.php @@ -0,0 +1,33 @@ +longText("description")->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('contents', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_06_13_155450_add_column_is_essay_to_question_table.php b/Penilaian-Esai/database/migrations/2022_06_13_155450_add_column_is_essay_to_question_table.php new file mode 100644 index 0000000..1612b88 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_06_13_155450_add_column_is_essay_to_question_table.php @@ -0,0 +1,33 @@ +addColumn("integer", "is_essay")->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('questions', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_06_16_105917_change_column_question_on_question_table.php b/Penilaian-Esai/database/migrations/2022_06_16_105917_change_column_question_on_question_table.php new file mode 100644 index 0000000..14ae6b1 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_06_16_105917_change_column_question_on_question_table.php @@ -0,0 +1,31 @@ +longText("question")->change(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_06_20_121634_create_user_code_test_score_table.php b/Penilaian-Esai/database/migrations/2022_06_20_121634_create_user_code_test_score_table.php new file mode 100644 index 0000000..a6d39fb --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_06_20_121634_create_user_code_test_score_table.php @@ -0,0 +1,37 @@ +id(); + $table->unsignedInteger('question_id'); + $table->foreign("question_id")->references("id")->on("questions"); + $table->unsignedBigInteger("user_id")->nullable(); + $table->foreign("user_id")->references("id")->on("users"); + $table->integer('score')->default(0); + + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_code_test_score'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_06_20_152419_add_question_id_on_user_scores_table.php b/Penilaian-Esai/database/migrations/2022_06_20_152419_add_question_id_on_user_scores_table.php new file mode 100644 index 0000000..c75acd5 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_06_20_152419_add_question_id_on_user_scores_table.php @@ -0,0 +1,32 @@ +addColumn('integer',"question_id")->nullable()->unsigned(); + $table->foreign("question_id")->references('id')->on("questions"); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; diff --git a/Penilaian-Esai/database/migrations/2022_07_19_073038_add_column_timer_to_question_table.php b/Penilaian-Esai/database/migrations/2022_07_19_073038_add_column_timer_to_question_table.php new file mode 100644 index 0000000..6ced4cc --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_07_19_073038_add_column_timer_to_question_table.php @@ -0,0 +1,33 @@ +addColumn("integer", "timer")->default(0); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('questions', function (Blueprint $table) { + // + }); + } +}; \ No newline at end of file diff --git a/Penilaian-Esai/database/migrations/2022_07_25_112343_add_column_start_time_to_user_scores_table.php b/Penilaian-Esai/database/migrations/2022_07_25_112343_add_column_start_time_to_user_scores_table.php new file mode 100644 index 0000000..2637c1c --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_07_25_112343_add_column_start_time_to_user_scores_table.php @@ -0,0 +1,34 @@ +timestamp("started_at")->nullable(true); + $table->timestamp("ended_at")->nullable(true); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('user_scores', function (Blueprint $table) { + // + }); + } +}; \ No newline at end of file diff --git a/Penilaian-Esai/database/migrations/2022_07_25_125721_create_table_code_error_logs.php b/Penilaian-Esai/database/migrations/2022_07_25_125721_create_table_code_error_logs.php new file mode 100644 index 0000000..5d5a308 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_07_25_125721_create_table_code_error_logs.php @@ -0,0 +1,39 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign("user_id")->references("id")->on("users"); + + $table->unsignedInteger("question_id"); + $table->foreign("question_id")->references("id")->on("questions"); + + $table->integer("total_count"); + $table->longText("error_message"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('table_code_error_logs'); + } +}; \ No newline at end of file diff --git a/Penilaian-Esai/database/migrations/2022_07_25_214126_add_column_on_timer_on_code_error_logs.php b/Penilaian-Esai/database/migrations/2022_07_25_214126_add_column_on_timer_on_code_error_logs.php new file mode 100644 index 0000000..f545c0b --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_07_25_214126_add_column_on_timer_on_code_error_logs.php @@ -0,0 +1,31 @@ +string("on_timer")->nullable(true); + // }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; \ No newline at end of file diff --git a/Penilaian-Esai/database/migrations/2022_07_25_220037_add_column_on_timer_on_user_scores_table.php b/Penilaian-Esai/database/migrations/2022_07_25_220037_add_column_on_timer_on_user_scores_table.php new file mode 100644 index 0000000..1aa90ba --- /dev/null +++ b/Penilaian-Esai/database/migrations/2022_07_25_220037_add_column_on_timer_on_user_scores_table.php @@ -0,0 +1,30 @@ +string("on_timer")->nullable(true); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + // + } +}; \ No newline at end of file diff --git a/Penilaian-Esai/database/migrations/2023_02_28_031855_create_levels_table.php b/Penilaian-Esai/database/migrations/2023_02_28_031855_create_levels_table.php new file mode 100644 index 0000000..ff1508c --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_02_28_031855_create_levels_table.php @@ -0,0 +1,34 @@ +increments('id'); + $table->String('name'); + $table->integer("course_id")->unsigned(); + $table->foreign('course_id')->references("id")->on("courses"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('levels'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_02_28_033936_add_level_id_to_lessons.php b/Penilaian-Esai/database/migrations/2023_02_28_033936_add_level_id_to_lessons.php new file mode 100644 index 0000000..4b15f67 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_02_28_033936_add_level_id_to_lessons.php @@ -0,0 +1,33 @@ +integer('level_id')->unsigned(); + $table->foreign('level_id')->references("id")->on("levels"); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('lessons', function (Blueprint $table) { + $table->dropColumn('level_id'); + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_02_28_062544_add_description_to_levels_table.php b/Penilaian-Esai/database/migrations/2023_02_28_062544_add_description_to_levels_table.php new file mode 100644 index 0000000..330ebc1 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_02_28_062544_add_description_to_levels_table.php @@ -0,0 +1,32 @@ +text('description'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('levels', function (Blueprint $table) { + $table->dropColumn('description'); + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_03_10_074326_create_code_history_logs_table.php b/Penilaian-Esai/database/migrations/2023_03_10_074326_create_code_history_logs_table.php new file mode 100644 index 0000000..8448ae2 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_03_10_074326_create_code_history_logs_table.php @@ -0,0 +1,40 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign("user_id")->references("id")->on("users"); + + $table->unsignedInteger("question_id"); + $table->foreign("question_id")->references("id")->on("questions"); + + $table->integer("total_count"); + $table->longText("message"); + $table->integer("is_error")->default(0); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('code_history_logs'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_03_17_071601_create_explains_table.php b/Penilaian-Esai/database/migrations/2023_03_17_071601_create_explains_table.php new file mode 100644 index 0000000..004f16a --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_03_17_071601_create_explains_table.php @@ -0,0 +1,36 @@ +id(); + $table->text('description'); + $table->integer('level_id')->unsigned(); + $table->foreign('level_id')->references('id')->on('levels'); + $table->unsignedBigInteger("user_id"); + $table->foreign("user_id")->references("id")->on("users"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('explains'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_05_18_144701_create_essay_question_table.php b/Penilaian-Esai/database/migrations/2023_05_18_144701_create_essay_question_table.php new file mode 100644 index 0000000..8eca195 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_05_18_144701_create_essay_question_table.php @@ -0,0 +1,37 @@ +id(); + $table->integer("question_id")->unsigned(); + $table->foreign('question_id')->references("id")->on("questions"); + $table->unsignedBigInteger("user_id"); + $table->foreign('user_id')->references("id")->on("users"); + $table->text('question'); + $table->text('answer'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('essay_question'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_05_18_145219_create_user_answer_table.php b/Penilaian-Esai/database/migrations/2023_05_18_145219_create_user_answer_table.php new file mode 100644 index 0000000..b74ae86 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_05_18_145219_create_user_answer_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign('user_id')->references("id")->on("users"); + $table->unsignedBigInteger("essay_question_id"); + $table->foreign('essay_question_id')->references("id")->on("essay_question"); + $table->text('answer'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('user_answer'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_05_23_060818_create_wondering_score_table.php b/Penilaian-Esai/database/migrations/2023_05_23_060818_create_wondering_score_table.php new file mode 100644 index 0000000..9cb9136 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_05_23_060818_create_wondering_score_table.php @@ -0,0 +1,36 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign('user_id')->references("id")->on("users"); + $table->integer('content_id')->unsigned(); + $table->foreign('content_id')->references('id')->on('contents'); + $table->integer("score"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('wondering_score'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_05_23_061330_create_explaining_score_table.php b/Penilaian-Esai/database/migrations/2023_05_23_061330_create_explaining_score_table.php new file mode 100644 index 0000000..f6fdfd2 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_05_23_061330_create_explaining_score_table.php @@ -0,0 +1,43 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign('user_id')->references("id")->on("users"); + $table->integer('content_id')->unsigned(); + $table->foreign('content_id')->references('id')->on('contents'); + $table->integer('konteks_penjelasan'); + $table->integer('keruntutan'); + $table->integer('kebenaran'); + $table->boolean('is_accepted')->default(false); + $table->unsignedBigInteger("essay_question_id"); + $table->foreign('essay_question_id')->references("id")->on("essay_question"); + $table->unsignedBigInteger("user_answer_id"); + $table->foreign('user_answer_id')->references("id")->on("user_answer"); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('explaining_score'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_05_28_125135_create_total_score_table.php b/Penilaian-Esai/database/migrations/2023_05_28_125135_create_total_score_table.php new file mode 100644 index 0000000..661ffbf --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_05_28_125135_create_total_score_table.php @@ -0,0 +1,42 @@ +id(); + $table->unsignedBigInteger("user_id"); + $table->foreign('user_id')->references("id")->on("users"); + $table->integer('content_id')->unsigned(); + $table->foreign('content_id')->references('id')->on('contents'); + $table->integer('question_id')->unsigned(); + $table->foreign('question_id')->references('id')->on('questions'); + $table->integer('score'); + $table->unsignedBigInteger('wondering_score_id'); + $table->foreign('wondering_score_id')->references('id')->on('wondering_score'); + $table->unsignedBigInteger('user_score_id'); + $table->foreign('user_score_id')->references('id')->on('user_scores'); + $table->timestamps(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::dropIfExists('total_score'); + } +}; diff --git a/Penilaian-Esai/database/migrations/2023_06_23_042517_add_class_to_users_table.php b/Penilaian-Esai/database/migrations/2023_06_23_042517_add_class_to_users_table.php new file mode 100644 index 0000000..1e2c240 --- /dev/null +++ b/Penilaian-Esai/database/migrations/2023_06_23_042517_add_class_to_users_table.php @@ -0,0 +1,32 @@ +bigInteger('class')->nullable(); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('users', function (Blueprint $table) { + // + }); + } +}; diff --git a/Penilaian-Esai/database/migrations/2024_03_22_180425_add_additional_answers_to_essay_question_table.php b/Penilaian-Esai/database/migrations/2024_03_22_180425_add_additional_answers_to_essay_question_table.php new file mode 100644 index 0000000..476a66e --- /dev/null +++ b/Penilaian-Esai/database/migrations/2024_03_22_180425_add_additional_answers_to_essay_question_table.php @@ -0,0 +1,35 @@ +text('answer2')->nullable()->after('answer'); + $table->text('answer3')->nullable()->after('answer2'); + $table->text('answer4')->nullable()->after('answer3'); + }); + } + + /** + * Reverse the migrations. + * + * @return void + */ + public function down() + { + Schema::table('essay_question', function (Blueprint $table) { + $table->dropColumn(['answer2', 'answer3', 'answer4']); + }); + } +} + diff --git a/Penilaian-Esai/database/seeders/DatabaseSeeder.php b/Penilaian-Esai/database/seeders/DatabaseSeeder.php new file mode 100644 index 0000000..c1c48a0 --- /dev/null +++ b/Penilaian-Esai/database/seeders/DatabaseSeeder.php @@ -0,0 +1,24 @@ +create(); + + // \App\Models\User::factory()->create([ + // 'name' => 'Test User', + // 'email' => 'test@example.com', + // ]); + } +} diff --git a/Penilaian-Esai/database/seeders/UsersTableSeeder.php b/Penilaian-Esai/database/seeders/UsersTableSeeder.php new file mode 100644 index 0000000..c2887bb --- /dev/null +++ b/Penilaian-Esai/database/seeders/UsersTableSeeder.php @@ -0,0 +1,46 @@ +insert([ + ['id' => 1, 'role' => 'Admin', 'created_at' => now(), 'updated_at' => now()], + ['id' => 2, 'role' => 'Students', 'created_at' => now(), 'updated_at' => now()], + ['id' => 3, 'role' => 'Teacher', 'created_at' => now(), 'updated_at' => now()], + ]); + + DB::table('users')->insert([ + [ + 'name' => 'Admin', + 'email' => 'admin@gmail.com', + 'email_verified_at' => now(), + 'password' => Hash::make('password'), // password + 'role_id' => 1, + 'created_at' => now(), + 'updated_at' => now(), + ], + [ + 'name' => 'Rossa', + 'email' => 'rossa@gmail.com', + 'email_verified_at' => now(), + 'password' => Hash::make('password'), // password + 'role_id' => 2, + 'created_at' => now(), + 'updated_at' => now(), + ], + ]); + } +} diff --git a/Penilaian-Esai/lang/en/auth.php b/Penilaian-Esai/lang/en/auth.php new file mode 100644 index 0000000..6598e2c --- /dev/null +++ b/Penilaian-Esai/lang/en/auth.php @@ -0,0 +1,20 @@ + 'These credentials do not match our records.', + 'password' => 'The provided password is incorrect.', + 'throttle' => 'Too many login attempts. Please try again in :seconds seconds.', + +]; diff --git a/Penilaian-Esai/lang/en/pagination.php b/Penilaian-Esai/lang/en/pagination.php new file mode 100644 index 0000000..d481411 --- /dev/null +++ b/Penilaian-Esai/lang/en/pagination.php @@ -0,0 +1,19 @@ + '« Previous', + 'next' => 'Next »', + +]; diff --git a/Penilaian-Esai/lang/en/passwords.php b/Penilaian-Esai/lang/en/passwords.php new file mode 100644 index 0000000..2345a56 --- /dev/null +++ b/Penilaian-Esai/lang/en/passwords.php @@ -0,0 +1,22 @@ + 'Your password has been reset!', + 'sent' => 'We have emailed your password reset link!', + 'throttled' => 'Please wait before retrying.', + 'token' => 'This password reset token is invalid.', + 'user' => "We can't find a user with that email address.", + +]; diff --git a/Penilaian-Esai/lang/en/validation.php b/Penilaian-Esai/lang/en/validation.php new file mode 100644 index 0000000..724b5ac --- /dev/null +++ b/Penilaian-Esai/lang/en/validation.php @@ -0,0 +1,169 @@ + 'The :attribute must be accepted.', + 'accepted_if' => 'The :attribute must be accepted when :other is :value.', + 'active_url' => 'The :attribute is not a valid URL.', + 'after' => 'The :attribute must be a date after :date.', + 'after_or_equal' => 'The :attribute must be a date after or equal to :date.', + 'alpha' => 'The :attribute must only contain letters.', + 'alpha_dash' => 'The :attribute must only contain letters, numbers, dashes and underscores.', + 'alpha_num' => 'The :attribute must only contain letters and numbers.', + 'array' => 'The :attribute must be an array.', + 'before' => 'The :attribute must be a date before :date.', + 'before_or_equal' => 'The :attribute must be a date before or equal to :date.', + 'between' => [ + 'array' => 'The :attribute must have between :min and :max items.', + 'file' => 'The :attribute must be between :min and :max kilobytes.', + 'numeric' => 'The :attribute must be between :min and :max.', + 'string' => 'The :attribute must be between :min and :max characters.', + ], + 'boolean' => 'The :attribute field must be true or false.', + 'confirmed' => 'The :attribute confirmation does not match.', + 'current_password' => 'The password is incorrect.', + 'date' => 'The :attribute is not a valid date.', + 'date_equals' => 'The :attribute must be a date equal to :date.', + 'date_format' => 'The :attribute does not match the format :format.', + 'declined' => 'The :attribute must be declined.', + 'declined_if' => 'The :attribute must be declined when :other is :value.', + 'different' => 'The :attribute and :other must be different.', + 'digits' => 'The :attribute must be :digits digits.', + 'digits_between' => 'The :attribute must be between :min and :max digits.', + 'dimensions' => 'The :attribute has invalid image dimensions.', + 'distinct' => 'The :attribute field has a duplicate value.', + 'email' => 'The :attribute must be a valid email address.', + 'ends_with' => 'The :attribute must end with one of the following: :values.', + 'enum' => 'The selected :attribute is invalid.', + 'exists' => 'The selected :attribute is invalid.', + 'file' => 'The :attribute must be a file.', + 'filled' => 'The :attribute field must have a value.', + 'gt' => [ + 'array' => 'The :attribute must have more than :value items.', + 'file' => 'The :attribute must be greater than :value kilobytes.', + 'numeric' => 'The :attribute must be greater than :value.', + 'string' => 'The :attribute must be greater than :value characters.', + ], + 'gte' => [ + 'array' => 'The :attribute must have :value items or more.', + 'file' => 'The :attribute must be greater than or equal to :value kilobytes.', + 'numeric' => 'The :attribute must be greater than or equal to :value.', + 'string' => 'The :attribute must be greater than or equal to :value characters.', + ], + 'image' => 'The :attribute must be an image.', + 'in' => 'The selected :attribute is invalid.', + 'in_array' => 'The :attribute field does not exist in :other.', + 'integer' => 'The :attribute must be an integer.', + 'ip' => 'The :attribute must be a valid IP address.', + 'ipv4' => 'The :attribute must be a valid IPv4 address.', + 'ipv6' => 'The :attribute must be a valid IPv6 address.', + 'json' => 'The :attribute must be a valid JSON string.', + 'lt' => [ + 'array' => 'The :attribute must have less than :value items.', + 'file' => 'The :attribute must be less than :value kilobytes.', + 'numeric' => 'The :attribute must be less than :value.', + 'string' => 'The :attribute must be less than :value characters.', + ], + 'lte' => [ + 'array' => 'The :attribute must not have more than :value items.', + 'file' => 'The :attribute must be less than or equal to :value kilobytes.', + 'numeric' => 'The :attribute must be less than or equal to :value.', + 'string' => 'The :attribute must be less than or equal to :value characters.', + ], + 'mac_address' => 'The :attribute must be a valid MAC address.', + 'max' => [ + 'array' => 'The :attribute must not have more than :max items.', + 'file' => 'The :attribute must not be greater than :max kilobytes.', + 'numeric' => 'The :attribute must not be greater than :max.', + 'string' => 'The :attribute must not be greater than :max characters.', + ], + 'mimes' => 'The :attribute must be a file of type: :values.', + 'mimetypes' => 'The :attribute must be a file of type: :values.', + 'min' => [ + 'array' => 'The :attribute must have at least :min items.', + 'file' => 'The :attribute must be at least :min kilobytes.', + 'numeric' => 'The :attribute must be at least :min.', + 'string' => 'The :attribute must be at least :min characters.', + ], + 'multiple_of' => 'The :attribute must be a multiple of :value.', + 'not_in' => 'The selected :attribute is invalid.', + 'not_regex' => 'The :attribute format is invalid.', + 'numeric' => 'The :attribute must be a number.', + 'password' => [ + 'letters' => 'The :attribute must contain at least one letter.', + 'mixed' => 'The :attribute must contain at least one uppercase and one lowercase letter.', + 'numbers' => 'The :attribute must contain at least one number.', + 'symbols' => 'The :attribute must contain at least one symbol.', + 'uncompromised' => 'The given :attribute has appeared in a data leak. Please choose a different :attribute.', + ], + 'present' => 'The :attribute field must be present.', + 'prohibited' => 'The :attribute field is prohibited.', + 'prohibited_if' => 'The :attribute field is prohibited when :other is :value.', + 'prohibited_unless' => 'The :attribute field is prohibited unless :other is in :values.', + 'prohibits' => 'The :attribute field prohibits :other from being present.', + 'regex' => 'The :attribute format is invalid.', + 'required' => 'The :attribute field is required.', + 'required_array_keys' => 'The :attribute field must contain entries for: :values.', + 'required_if' => 'The :attribute field is required when :other is :value.', + 'required_unless' => 'The :attribute field is required unless :other is in :values.', + 'required_with' => 'The :attribute field is required when :values is present.', + 'required_with_all' => 'The :attribute field is required when :values are present.', + 'required_without' => 'The :attribute field is required when :values is not present.', + 'required_without_all' => 'The :attribute field is required when none of :values are present.', + 'same' => 'The :attribute and :other must match.', + 'size' => [ + 'array' => 'The :attribute must contain :size items.', + 'file' => 'The :attribute must be :size kilobytes.', + 'numeric' => 'The :attribute must be :size.', + 'string' => 'The :attribute must be :size characters.', + ], + 'starts_with' => 'The :attribute must start with one of the following: :values.', + 'string' => 'The :attribute must be a string.', + 'timezone' => 'The :attribute must be a valid timezone.', + 'unique' => 'The :attribute has already been taken.', + 'uploaded' => 'The :attribute failed to upload.', + 'url' => 'The :attribute must be a valid URL.', + 'uuid' => 'The :attribute must be a valid UUID.', + + /* + |-------------------------------------------------------------------------- + | Custom Validation Language Lines + |-------------------------------------------------------------------------- + | + | Here you may specify custom validation messages for attributes using the + | convention "attribute.rule" to name the lines. This makes it quick to + | specify a specific custom language line for a given attribute rule. + | + */ + + 'custom' => [ + 'attribute-name' => [ + 'rule-name' => 'custom-message', + ], + ], + + /* + |-------------------------------------------------------------------------- + | Custom Validation Attributes + |-------------------------------------------------------------------------- + | + | The following language lines are used to swap our attribute placeholder + | with something more reader friendly such as "E-Mail Address" instead + | of "email". This simply helps us make our message more expressive. + | + */ + + 'attributes' => [], + +]; diff --git a/Penilaian-Esai/package-lock.json b/Penilaian-Esai/package-lock.json new file mode 100644 index 0000000..cd6b08d --- /dev/null +++ b/Penilaian-Esai/package-lock.json @@ -0,0 +1,20030 @@ +{ + "name": "bajapro_v3", + "lockfileVersion": 2, + "requires": true, + "packages": { + "": { + "dependencies": { + "@fortawesome/fontawesome-free": "^5.13.1", + "bootstrap": "^4.0.0", + "datatables.net-dt": "^1.10.21", + "izitoast": "^1.4.0", + "jquery": "^3.2", + "jquery.nicescroll": "^3.7.6", + "jsrender": "^1.0.5", + "popper.js": "^1.12", + "select2": "^4.0.13", + "sweetalert": "^1.1.3", + "sweetalert2": "^11.10.8", + "vue": "^2.5.17", + "vue-template-compiler": "^2.6.12" + }, + "devDependencies": { + "@popperjs/core": "^2.10.2", + "admin-lte": "3.1.0", + "axios": "^0.25", + "bootstrap": "^4.6.0", + "jquery": "^3.6", + "laravel-mix": "^6.0.6", + "lodash": "^4.17.19", + "popper.js": "^1.16.1", + "postcss": "^8.1.14", + "resolve-url-loader": "^3.1.2", + "sass": "^1.15.2", + "sass-loader": "^8.0.0", + "vue": "^2.6.12", + "vue-loader": "^15.9.8", + "vue-template-compiler": "^2.6.12" + } + }, + "node_modules/@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "dependencies": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "dependencies": { + "@babel/highlight": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", + "dev": true, + "dependencies": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.0", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/core/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/generator/node_modules/@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "dependencies": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-compilation-targets/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-create-regexp-features-plugin": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "peerDependencies": { + "@babel/core": "^7.4.0-0" + } + }, + "node_modules/@babel/helper-define-polyfill-provider/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.17.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", + "dev": true, + "dependencies": { + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "dev": true, + "dependencies": { + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "dependencies": { + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "dependencies": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "dev": true, + "dependencies": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/highlight/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/@babel/highlight/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/@babel/highlight/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/highlight/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/@babel/parser": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==", + "dev": true, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.13.0" + } + }, + "node_modules/@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.12.0" + } + }, + "node_modules/@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", + "dev": true, + "dependencies": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.12.13" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.3" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.10.4" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.8.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.14.5" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "dev": true, + "dependencies": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "dependencies": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "dependencies": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-systemjs": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", + "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", + "dev": true, + "dependencies": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "dev": true, + "dependencies": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/plugin-transform-new-target": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz", + "integrity": "sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg==", + "dev": true, + "dependencies": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-runtime/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.17.12" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "dependencies": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.2", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/preset-env/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "dependencies": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "dev": true, + "dependencies": { + "regenerator-runtime": "^0.13.4" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.18.0", + "@babel/types": "^7.18.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "dev": true, + "dependencies": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true, + "engines": { + "node": ">=0.1.90" + } + }, + "node_modules/@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/@fortawesome/fontawesome-free": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", + "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==", + "hasInstallScript": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "dependencies": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "dependencies": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "node_modules/@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "node_modules/@lgaitan/pace-progress": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@lgaitan/pace-progress/-/pace-progress-1.0.7.tgz", + "integrity": "sha512-GMoTcF6WBpno7a7Iyx7M79os26d5bCDbh7YTZmXZM8YuLR3DDtwo0/CBYddStGD6QIBTieFDz4IAQiO0dAdRGw==", + "dev": true + }, + "node_modules/@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "dependencies": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/@popperjs/core": { + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", + "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/@swc/helpers": { + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.16.tgz", + "integrity": "sha512-xOhhpOruRcroQ0Nb5a5IgP94AJ0DuJnhEfXL+icJ1gn7uls5DXX2mRrlBqmrd0rAj/+/BRU8RB2VN8mA8DuFYQ==", + "dev": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@sweetalert2/theme-bootstrap-4": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-4.0.5.tgz", + "integrity": "sha512-pe5mQ98sgrphNVq6Xe5BsWxsfI1Z8zT9C2oux6+4B6Qt30qYo58Q+bnzRs8pV95O9/URt/QJZyl+R8SabMeW6g==", + "dev": true + }, + "node_modules/@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/@ttskch/select2-bootstrap4-theme": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@ttskch/select2-bootstrap4-theme/-/select2-bootstrap4-theme-1.5.2.tgz", + "integrity": "sha512-gAj8qNy/VYwQDBkACm0USM66kxFai8flX83ayRXPNhzZckEgSqIBB9sM74SCM3ssgeX+ZVy4BifTnLis+KpIyg==", + "dev": true + }, + "node_modules/@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "dependencies": { + "@babel/types": "^7.3.0" + } + }, + "node_modules/@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "dependencies": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "node_modules/@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/clean-css": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.5.tgz", + "integrity": "sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw==", + "dev": true, + "dependencies": { + "@types/node": "*", + "source-map": "^0.6.0" + } + }, + "node_modules/@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "dependencies": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "node_modules/@types/eslint": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", + "dev": true, + "dependencies": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "node_modules/@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "dependencies": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "node_modules/@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "node_modules/@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "dependencies": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "node_modules/@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "dependencies": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "node_modules/@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "dependencies": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "node_modules/@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/imagemin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/imagemin-gifsicle": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz", + "integrity": "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-mozjpeg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz", + "integrity": "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==", + "dev": true, + "dependencies": { + "@types/imagemin": "*" + } + }, + "node_modules/@types/imagemin-svgo": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz", + "integrity": "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==", + "dev": true, + "dependencies": { + "@types/imagemin": "*", + "@types/svgo": "^1" + } + }, + "node_modules/@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "node_modules/@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "node_modules/@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "node_modules/@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", + "dev": true + }, + "node_modules/@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "node_modules/@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "node_modules/@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "node_modules/@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "node_modules/@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "dependencies": { + "@types/express": "*" + } + }, + "node_modules/@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "dependencies": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "node_modules/@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@types/svgo": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", + "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", + "dev": true + }, + "node_modules/@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "dependencies": { + "@types/node": "*" + } + }, + "node_modules/@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "dependencies": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "optionalDependencies": { + "prettier": "^1.18.2 || ^2.0.0" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "dependencies": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "node_modules/@vue/component-compiler-utils/node_modules/postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "dependencies": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/@vue/component-compiler-utils/node_modules/yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + }, + "node_modules/@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "dependencies": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "node_modules/@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "dependencies": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "node_modules/@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "node_modules/@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "dependencies": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "node_modules/@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "dependencies": { + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "node_modules/@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "node_modules/@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "dependencies": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "node_modules/@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "dev": true, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x", + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "dev": true, + "dependencies": { + "envinfo": "^7.7.3" + }, + "peerDependencies": { + "webpack-cli": "4.x.x" + } + }, + "node_modules/@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "dev": true, + "peerDependencies": { + "webpack-cli": "4.x.x" + }, + "peerDependenciesMeta": { + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "node_modules/@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "node_modules/accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "dependencies": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true, + "bin": { + "acorn": "bin/acorn" + }, + "engines": { + "node": ">=0.4.0" + } + }, + "node_modules/acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "peerDependencies": { + "acorn": "^8" + } + }, + "node_modules/adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + }, + "engines": { + "node": ">=8.9" + } + }, + "node_modules/admin-lte": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/admin-lte/-/admin-lte-3.1.0.tgz", + "integrity": "sha512-JkmmkjbGgB5RCPwpaUCEktpZz/Ez/vBdfCNx8J3u8doaRRUUV1/oj4PuIiOV+xrNMt05q87131xoGySr/eA4uA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "@fortawesome/fontawesome-free": "^5.15.3", + "@lgaitan/pace-progress": "^1.0.7", + "@sweetalert2/theme-bootstrap-4": "^4.0.3", + "@ttskch/select2-bootstrap4-theme": "^1.5.2", + "bootstrap": "^4.6.0", + "bootstrap-colorpicker": "^3.2.0", + "bootstrap-slider": "^11.0.2", + "bootstrap-switch": "3.3.4", + "bootstrap4-duallistbox": "^4.0.2", + "bs-custom-file-input": "^1.3.4", + "bs-stepper": "^1.7.0", + "chart.js": "^2.9.4", + "codemirror": "^5.60.0", + "datatables.net": "^1.10.24", + "datatables.net-autofill-bs4": "^2.3.5", + "datatables.net-bs4": "^1.10.24", + "datatables.net-buttons-bs4": "^1.7.0", + "datatables.net-colreorder-bs4": "^1.5.3", + "datatables.net-fixedcolumns-bs4": "^3.3.2", + "datatables.net-fixedheader-bs4": "^3.1.8", + "datatables.net-keytable-bs4": "^2.6.1", + "datatables.net-responsive-bs4": "^2.2.7", + "datatables.net-rowgroup-bs4": "^1.1.2", + "datatables.net-rowreorder-bs4": "^1.2.7", + "datatables.net-scroller-bs4": "^2.0.3", + "datatables.net-searchbuilder-bs4": "^1.0.1", + "datatables.net-searchpanes-bs4": "^1.2.2", + "datatables.net-select-bs4": "^1.3.2", + "daterangepicker": "^3.1.0", + "dropzone": "^5.8.1", + "ekko-lightbox": "^5.3.0", + "fastclick": "^1.0.6", + "filterizr": "^2.2.4", + "flag-icon-css": "^3.5.0", + "flot": "^4.2.2", + "fs-extra": "^9.1.0", + "fullcalendar": "^5.5.1", + "icheck-bootstrap": "^3.0.1", + "inputmask": "^5.0.5", + "ion-rangeslider": "^2.3.1", + "jquery": "^3.6.0", + "jquery-knob-chif": "^1.2.13", + "jquery-mapael": "^2.2.0", + "jquery-mousewheel": "^3.1.13", + "jquery-ui-dist": "^1.12.1", + "jquery-validation": "^1.19.3", + "jqvmap-novulnerability": "^1.5.1", + "jsgrid": "^1.5.3", + "jszip": "^3.6.0", + "moment": "^2.29.1", + "overlayscrollbars": "^1.13.1", + "pdfmake": "^0.1.70", + "popper.js": "^1.16.1", + "raphael": "^2.3.0", + "select2": "^4.0.13", + "sparklines": "^1.3.0", + "summernote": "^0.8.18", + "sweetalert2": "^10.15.6", + "tempusdominus-bootstrap-4": "^5.39.0", + "toastr": "^2.1.4", + "uplot": "^1.6.7" + } + }, + "node_modules/admin-lte/node_modules/fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "dependencies": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/admin-lte/node_modules/sweetalert2": { + "version": "10.16.11", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.16.11.tgz", + "integrity": "sha512-Rdfabv2G89Tr8vmUTb1auWCYYesKBEWnkYPSi7XaiCIW0ZXXGK8Nw1wYKPEMLU6O8gMSMJe5m6MRKqMQsAQy9A==", + "dev": true, + "funding": { + "url": "https://sweetalert2.github.io/#donations" + } + }, + "node_modules/ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "dependencies": { + "ajv": "^8.0.0" + }, + "peerDependencies": { + "ajv": "^8.0.0" + }, + "peerDependenciesMeta": { + "ajv": { + "optional": true + } + } + }, + "node_modules/ajv-formats/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/ajv-formats/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "peerDependencies": { + "ajv": "^6.9.1" + } + }, + "node_modules/ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true, + "engines": [ + "node >= 0.8.0" + ], + "bin": { + "ansi-html": "bin/ansi-html" + } + }, + "node_modules/ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "dependencies": { + "color-convert": "^2.0.1" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/chalk/ansi-styles?sponsor=1" + } + }, + "node_modules/anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "dependencies": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==", + "dev": true + }, + "node_modules/array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "node_modules/array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + } + }, + "node_modules/asn1.js/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "dependencies": { + "object-assign": "^4.1.1", + "util": "0.10.3" + } + }, + "node_modules/assert/node_modules/inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "node_modules/assert/node_modules/util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "dependencies": { + "inherits": "2.0.1" + } + }, + "node_modules/at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true, + "bin": { + "atob": "bin/atob.js" + }, + "engines": { + "node": ">= 4.5.0" + } + }, + "node_modules/autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/autoprefixer" + } + ], + "dependencies": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + }, + "bin": { + "autoprefixer": "bin/autoprefixer" + }, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dev": true, + "dependencies": { + "follow-redirects": "^1.14.7" + } + }, + "node_modules/babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "dependencies": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + }, + "engines": { + "node": ">= 8.9" + }, + "peerDependencies": { + "@babel/core": "^7.0.0", + "webpack": ">=2" + } + }, + "node_modules/babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "dependencies": { + "object.assign": "^4.1.0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "dependencies": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-corejs2/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "dependencies": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "node_modules/base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "node_modules/big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "node_modules/bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "node_modules/body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/body-parser/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/body-parser/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/body-parser/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/bonjour-service": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", + "dev": true, + "dependencies": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.4" + } + }, + "node_modules/boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "node_modules/bootstrap": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", + "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/bootstrap" + }, + "peerDependencies": { + "jquery": "1.9.1 - 3", + "popper.js": "^1.16.1" + } + }, + "node_modules/bootstrap-colorpicker": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.4.0.tgz", + "integrity": "sha512-7vA0hvLrat3ptobEKlT9+6amzBUJcDAoh6hJRQY/AD+5dVZYXXf1ivRfrTwmuwiVLJo9rZwM8YB4lYzp6agzqg==", + "dev": true, + "dependencies": { + "bootstrap": ">=4.0", + "jquery": ">=2.2", + "popper.js": ">=1.10" + } + }, + "node_modules/bootstrap-slider": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/bootstrap-slider/-/bootstrap-slider-11.0.2.tgz", + "integrity": "sha512-CdwS+Z6X79OkLes9RfDgPB9UIY/+81wTkm6ktdSB6hdyiRbjJLFQIjZdnEr55tDyXZfgC7U6yeSXkNN9ZdGqjA==", + "dev": true + }, + "node_modules/bootstrap-switch": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/bootstrap-switch/-/bootstrap-switch-3.3.4.tgz", + "integrity": "sha512-7YQo+Ir6gCUqC36FFp1Zvec5dRF/+obq+1drMtdIMi9Xc84Kx63Evi0kdcp4HfiGsZpiz6IskyYDNlSKcxsL7w==", + "dev": true, + "peerDependencies": { + "bootstrap": "^3.1.1", + "jquery": ">=1.9.0" + } + }, + "node_modules/bootstrap4-duallistbox": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bootstrap4-duallistbox/-/bootstrap4-duallistbox-4.0.2.tgz", + "integrity": "sha512-vQdANVE2NN0HMaZO9qWJy0C7u04uTpAmtUGO3KLq3xAZKCboJweQ437hDTszI6pbYV2olJCGZMbdhvIkBNGeGQ==", + "dev": true + }, + "node_modules/brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "dependencies": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "node_modules/braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "dependencies": { + "fill-range": "^7.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "node_modules/brotli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", + "integrity": "sha512-K0HNa0RRpUpcF8yS4yNSd6vmkrvA+wRd+symIcwhfqGLAi7YgGlKfO4oDYVgiahiLGNviO9uY7Zlb1MCPeTmSA==", + "dev": true, + "dependencies": { + "base64-js": "^1.1.2" + } + }, + "node_modules/browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "dependencies": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "dependencies": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "node_modules/browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "dependencies": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "node_modules/browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "dependencies": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + } + }, + "node_modules/browserify-sign/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/browserify-sign/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "dependencies": { + "pako": "~1.0.5" + } + }, + "node_modules/browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + } + ], + "dependencies": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/bs-custom-file-input": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-custom-file-input/-/bs-custom-file-input-1.3.4.tgz", + "integrity": "sha512-NBsQzTnef3OW1MvdKBbMHAYHssCd613MSeJV7z2McXznWtVMnJCy7Ckyc+PwxV6Pk16cu6YBcYWh/ZE0XWNKCA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/bs-stepper": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/bs-stepper/-/bs-stepper-1.7.0.tgz", + "integrity": "sha512-+DX7UKKgw2GI6ucsSCRd19VHYrxf/8znRCLs1lQVVLxz+h7EqgIOxoHcJ0/QTaaNoR9Cwg78ydo6hXIasyd3LA==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "dependencies": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "node_modules/buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "node_modules/buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "node_modules/builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "node_modules/bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "dependencies": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "node_modules/camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "dependencies": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001344", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", + "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + } + ] + }, + "node_modules/chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/chalk?sponsor=1" + } + }, + "node_modules/charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "dev": true, + "dependencies": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "node_modules/chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "dev": true, + "dependencies": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + } + }, + "node_modules/chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dev": true, + "dependencies": { + "color-name": "^1.0.0" + } + }, + "node_modules/chartjs-color/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/chartjs-color/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://paulmillr.com/funding/" + } + ], + "dependencies": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + }, + "engines": { + "node": ">= 8.10.0" + }, + "optionalDependencies": { + "fsevents": "~2.3.2" + } + }, + "node_modules/chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true, + "engines": { + "node": ">=6.0" + } + }, + "node_modules/cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "node_modules/clean-css": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", + "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 10.0" + } + }, + "node_modules/cli-table3": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", + "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0" + }, + "engines": { + "node": "10.* || >= 12.*" + }, + "optionalDependencies": { + "@colors/colors": "1.5.0" + } + }, + "node_modules/cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "dependencies": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "node_modules/clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "dependencies": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/codemirror": { + "version": "5.65.5", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.5.tgz", + "integrity": "sha512-HNyhvGLnYz5c+kIsB9QKVitiZUevha3ovbIYaQiGzKo7ECSL/elWD9RXt3JgNr0NdnyqE9/Rc/7uLfkJQL638w==", + "dev": true + }, + "node_modules/collect.js": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.33.0.tgz", + "integrity": "sha512-jEFD39H+09JyvjxwwHGX6Z7j+SB4OdXxHWG8Dus5eVQmwngWGNluRBQ2qS92K9MkRH+fjh91u1TGa31LIeBKhQ==", + "dev": true + }, + "node_modules/color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "dependencies": { + "color-name": "~1.1.4" + }, + "engines": { + "node": ">=7.0.0" + } + }, + "node_modules/color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "node_modules/colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "node_modules/colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "node_modules/commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "node_modules/compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", + "dev": true, + "dependencies": { + "arity-n": "^1.0.4" + } + }, + "node_modules/compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "dependencies": { + "mime-db": ">= 1.43.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "dependencies": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/compression/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/compression/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha512-f/ZaH1aLe64qHgTILdldbvyfGiGF4uzeo9IuXUloIOLQzFmIPloy9QbZadNsuVv0j5qbKQvQb/H/UYf2UsKTpw==", + "dev": true, + "dependencies": { + "commander": "^2.9.0" + }, + "bin": { + "concat": "bin/concat" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "node_modules/concat/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true, + "engines": { + "node": ">=0.8" + } + }, + "node_modules/consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "node_modules/console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "node_modules/consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "dependencies": { + "bluebird": "^3.1.1" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "node_modules/content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "dependencies": { + "safe-buffer": "5.2.1" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/content-disposition/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "node_modules/core-js-compat": { + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", + "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.3", + "semver": "7.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/core-js" + } + }, + "node_modules/core-js-compat/node_modules/semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "node_modules/cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "dependencies": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + } + }, + "node_modules/create-ecdh/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "node_modules/create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "dependencies": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "node_modules/cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "dependencies": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "dependencies": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + }, + "engines": { + "node": "*" + } + }, + "node_modules/crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", + "dev": true + }, + "node_modules/css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "node_modules/css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14" + }, + "peerDependencies": { + "postcss": "^8.0.9" + } + }, + "node_modules/css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "dependencies": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.27.0 || ^5.0.0" + } + }, + "node_modules/css-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/css-select/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "dependencies": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true, + "engines": { + "node": ">= 6" + }, + "funding": { + "url": "https://github.com/sponsors/fb55" + } + }, + "node_modules/cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true, + "bin": { + "cssesc": "bin/cssesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/cssnano": { + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.10.tgz", + "integrity": "sha512-ACpnRgDg4m6CZD/+8SgnLcGCgy6DDGdkMbOawwdvVxNietTNLe/MtWcenp6qT0PRt5wzhGl6/cjMWCdhKXC9QA==", + "dev": true, + "dependencies": { + "cssnano-preset-default": "^5.2.10", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/cssnano" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-preset-default": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.10.tgz", + "integrity": "sha512-H8TJRhTjBKVOPltp9vr9El9I+IfYsOMhmXdK0LwdvwJcxYX9oWkY7ctacWusgPWAgQq1vt/WO8v+uqpfLnM7QA==", + "dev": true, + "dependencies": { + "css-declaration-sorter": "^6.2.2", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.5", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.0", + "postcss-normalize-repeat-style": "^5.1.0", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "dependencies": { + "css-tree": "^1.1.2" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "dependencies": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "node_modules/datatables.net": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.12.1.tgz", + "integrity": "sha512-e6XAMUoV41JdQPS/r9YRfRcmTPcCVvyZbWI+xog1Zg+kjVliMQbEkvWK5XFItmi64Cvwg+IqsZbTUJ1KSY3umA==", + "dependencies": { + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-autofill": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-autofill/-/datatables.net-autofill-2.4.0.tgz", + "integrity": "sha512-qUUSXJv5rNx2TrAltq/RP/PK0UC/l5x3FMv9TEzeR4NYh0FCEeNlzdwz7QYWTi0nR+iW126SQbPAvkHVJdLEiA==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-autofill-bs4": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-autofill-bs4/-/datatables.net-autofill-bs4-2.4.0.tgz", + "integrity": "sha512-0NvmQvuxkFLUBe5/iRal+GGlWKMUJT36/jobiTeySaQabbIFqHgOZ6cgLHCKas6zq1x9LCMDI0SL5c19NZ893w==", + "dev": true, + "dependencies": { + "datatables.net-autofill": ">=2.3.7", + "datatables.net-bs4": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-bs4": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.12.1.tgz", + "integrity": "sha512-LBeC8zUNVYyQT7ytC2lYqyXDn+k2kYpqvijC83oOjlcnEtb/8Tduzgquox5FrNKUJPcUrj9r+h5B0TDBbob/Gg==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-buttons": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.7.1.tgz", + "integrity": "sha512-D2OxZeR18jhSx+l0xcfAJzfUH7l3LHCu0e606fV7+v3hMhphOfljjZYLaiRmGiR9lqO/f5xE/w2a+OtG/QMavw==", + "dev": true, + "dependencies": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-buttons-bs4": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/datatables.net-buttons-bs4/-/datatables.net-buttons-bs4-1.7.1.tgz", + "integrity": "sha512-s+fwsgAAWp7mOKwuztPH06kaw2JNAJ71VNTw/TqGQTL6BK9FshweDKZSRIB/ePcc/Psiy8fhNEj3XHxx4OO6BA==", + "dev": true, + "dependencies": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-buttons": "1.7.1", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-colreorder": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder/-/datatables.net-colreorder-1.5.6.tgz", + "integrity": "sha512-TgPEQDIib2K4QsnX/Plk+eMS9ROL4idZvEqo6wvQrvksanERgxzcfwJuev4Yx8GRZ3+BwasXmFvtdSzvjWN3iQ==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-colreorder-bs4": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder-bs4/-/datatables.net-colreorder-bs4-1.5.6.tgz", + "integrity": "sha512-D4BPo/7EcHXPq+eA0NHYemnV2G1lf1VJklgYmWmSap6O1xgU9YhPARj5PgyeB9Sm3bCERoQugwzH2YDddgDe4g==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-colreorder": ">=1.5.4", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-dt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.12.1.tgz", + "integrity": "sha512-HYsHbSYqOqlgsgjKMH/kkCB5455t51GmmtXRxgnDMRbjPLEIKo5CZmAlUe5mdD/RVPRtAUaj5K3SDlkEZ1bUmw==", + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-fixedcolumns": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedcolumns/-/datatables.net-fixedcolumns-3.3.3.tgz", + "integrity": "sha512-xo6MeI2xc/Ufk4ffrpao+OiPo8/GPB8cO80gA6NFgYBVw6eP9pPa2NsV+gSWRVr7d3A8iZC7mUZT5WdtliNHEA==", + "dev": true, + "dependencies": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-fixedcolumns-bs4": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedcolumns-bs4/-/datatables.net-fixedcolumns-bs4-3.3.3.tgz", + "integrity": "sha512-d0dqCYk93wnCT382hW2Y1YMwgJXpTfdTu3Tb+UKQvt7OApxKYuWUFfKde+wHtIhqodswZ1jrMfYmxZHJYAysZQ==", + "dev": true, + "dependencies": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-fixedcolumns": "3.3.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-fixedheader": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedheader/-/datatables.net-fixedheader-3.2.3.tgz", + "integrity": "sha512-z+YOTgKquPqXREiATuH8yAGZcpRRZQW+I2NVu5H/+rnIYO1CJIi63hQD/nnv51J7RaTXSUk1OQtriN/VUs4YMQ==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-fixedheader-bs4": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedheader-bs4/-/datatables.net-fixedheader-bs4-3.2.3.tgz", + "integrity": "sha512-aTvNTcyHPNetwQZzvH7G8uXkE9EtrIOnIz4daHDwq3Uh3QvHcJfQMNLZUHe0PgrEeUXZVEUhrJpoi1je9lVAXw==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-fixedheader": ">=3.2.0", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-keytable": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-keytable/-/datatables.net-keytable-2.7.0.tgz", + "integrity": "sha512-U/+frQ0bSk0VeKuRy2h4FQfrbTYaQHpWLCylcEHYDzDZ9/cR0spHD+mVUJy22oAMvfHa9py73D/e4LD09uxHNg==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-keytable-bs4": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-keytable-bs4/-/datatables.net-keytable-bs4-2.7.0.tgz", + "integrity": "sha512-1Bxw2sPjOVscTr2sZg5AMJ2hJK7921XhK3Mqrz7bO7ZCwpf/u7tna8d3ZeeTy45qp28zAQARE5BLXht5W/tN4g==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-keytable": ">=2.6.4", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-responsive": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.3.0.tgz", + "integrity": "sha512-QA5QsD1sJQRQ7/IFi3rSd33O84f/Augz2KnaehjfuEANtK4KeC9Lbkut5tPuuMcK4jOpQPOOPYTbmfrt+tfh9w==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-responsive-bs4": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs4/-/datatables.net-responsive-bs4-2.3.0.tgz", + "integrity": "sha512-6ZeFeM6PHh3A5BodxUvHU1ipIrMYMbBcOgB3BfXMHxr4maS96RIQdTmXK3owJ5sy88dF68V8fjkquvybS7kwvw==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-responsive": ">=2.2.9", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-rowgroup": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/datatables.net-rowgroup/-/datatables.net-rowgroup-1.2.0.tgz", + "integrity": "sha512-YQWL9Z70/XqBQK5YkBk/BhnmgQ1jux0ntHGpi+PYgeHEzS5lM1/oMoJEKiqIT02mVbUQOUE3z7t6rLSA0JbdvQ==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-rowgroup-bs4": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/datatables.net-rowgroup-bs4/-/datatables.net-rowgroup-bs4-1.2.0.tgz", + "integrity": "sha512-sALXn7+VdMBC1TNWXbHNAiKCUSIwexO2frpxt/RBenJXR6DzmDuHLFaKJPEeeMtPJdBaxN1yc7J/GNwV+188Fw==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-rowgroup": ">=1.1.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-rowreorder": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/datatables.net-rowreorder/-/datatables.net-rowreorder-1.2.8.tgz", + "integrity": "sha512-gFNKMa5DtigbjhSs96ZKT3uICC1z87EuLUIYLVPEXHc7v/WVOiQ3AaRvIQtExORPi/jQzxEoO5wO9UGZ0ldsUQ==", + "dev": true, + "dependencies": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-rowreorder-bs4": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/datatables.net-rowreorder-bs4/-/datatables.net-rowreorder-bs4-1.2.8.tgz", + "integrity": "sha512-9J36fc/Ywdy9o5SkX+ZLMXYwcKGC+wa1RAiNRFywxT3u5nBrLvcDlOnYLBNae5XO1wBr/3jbj9ka/ZWyd9hnVg==", + "dev": true, + "dependencies": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-rowreorder": "1.2.8", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-scroller": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/datatables.net-scroller/-/datatables.net-scroller-2.0.6.tgz", + "integrity": "sha512-isFFxocRU19jrQITvyLzh4zODbYNZtxFtfLlUGyE3x+0Nyq6Hu7JOsWiVPhqf9Jo2I8Yt5MecqICaZ3DEfggZA==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-scroller-bs4": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/datatables.net-scroller-bs4/-/datatables.net-scroller-bs4-2.0.6.tgz", + "integrity": "sha512-RbcwSNOG9Oo2BZI4xzey3ndCglkmEHSW+wIyZAYXcttdqUGyXFx6t7qiGzm+VnAyqZ9aU3oGfJ+nl7QnJeVQTA==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-scroller": ">=2.0.5", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-searchbuilder": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-searchbuilder/-/datatables.net-searchbuilder-1.3.3.tgz", + "integrity": "sha512-EgraZhrLk0RcUjeSiF1yeQa+7eoleQAOz9vhFKuJ5G9n2H+q7JKK3D8bHlNQLwX60pAzXDTD39b4KhFOj0FO4Q==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-searchbuilder-bs4": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-searchbuilder-bs4/-/datatables.net-searchbuilder-bs4-1.3.3.tgz", + "integrity": "sha512-/+Ecw6kzYyDNg9ZtsgopJfssRca6hFxc1qvdrnbsU71dHYjUFvUJOedDJtdmTjyZ3EH/GmxoJR7rCyjcyW2Tew==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-searchbuilder": ">=1.2.2", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-searchpanes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/datatables.net-searchpanes/-/datatables.net-searchpanes-2.0.1.tgz", + "integrity": "sha512-NZ4tj4NNEe8+RxaQVAOEuyCiVWiI0uGke1jXUlCFdrKUq+XecZIauf+Bf3HMeNEL4G/6I7wXqJ9LY6mGpna4zQ==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-searchpanes-bs4": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-searchpanes-bs4/-/datatables.net-searchpanes-bs4-1.4.0.tgz", + "integrity": "sha512-Floxzmw2cQkUQdI7Vv4IWtLqLmwPrmY6MPncbEWq4YvkSeaZW7OHzSmZLLUjMn2P6Huvz59WUVcwL0lSDui6GQ==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.10.25", + "datatables.net-searchpanes": ">=1.3.0", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-select": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.4.0.tgz", + "integrity": "sha512-CWEIpODzKXupZOx5KdPUnX5pDPO0xLrCxezE1MNktolFSz0duMw1w3ae25cEynP+w8wkaXbRfCiyGeBXx1YIvw==", + "dev": true, + "dependencies": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "node_modules/datatables.net-select-bs4": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select-bs4/-/datatables.net-select-bs4-1.4.0.tgz", + "integrity": "sha512-5DWRyKo+YwX+J8CHbvexbipam/7tqZXp0R/1Ayrk7e1YP3jPE0X0XybguxBspifgjD49uu3fDLYyjKFVwpif9Q==", + "dev": true, + "dependencies": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-select": ">=1.3.3", + "jquery": ">=1.7" + } + }, + "node_modules/daterangepicker": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/daterangepicker/-/daterangepicker-3.1.0.tgz", + "integrity": "sha512-DxWXvvPq4srWLCqFugqSV+6CBt/CvQ0dnpXhQ3gl0autcIDAruG1PuGG3gC7yPRNytAD1oU1AcUOzaYhOawhTw==", + "dev": true, + "dependencies": { + "jquery": ">=1.10", + "moment": "^2.9.0" + } + }, + "node_modules/de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "node_modules/debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "dependencies": { + "ms": "2.1.2" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/deep-equal": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", + "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "es-get-iterator": "^1.1.1", + "get-intrinsic": "^1.0.1", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.2", + "is-regex": "^1.1.1", + "isarray": "^2.0.5", + "object-is": "^1.1.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/deep-equal/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "dependencies": { + "execa": "^5.0.0" + }, + "engines": { + "node": ">= 10" + } + }, + "node_modules/define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "dependencies": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true, + "engines": { + "node": ">= 0.8", + "npm": "1.2.8000 || >= 1.4.16" + } + }, + "node_modules/detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "node_modules/dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "dev": true + }, + "node_modules/diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + } + }, + "node_modules/diffie-hellman/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "dependencies": { + "path-type": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "node_modules/dns-packet": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", + "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", + "dev": true, + "dependencies": { + "@leichtgewicht/ip-codec": "^2.0.1" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "funding": { + "url": "https://github.com/cheeriojs/dom-serializer?sponsor=1" + } + }, + "node_modules/dom-serializer/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true, + "engines": { + "node": ">=0.4", + "npm": ">=1.2" + } + }, + "node_modules/domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/fb55" + } + ] + }, + "node_modules/domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "dependencies": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "funding": { + "url": "https://github.com/fb55/domutils?sponsor=1" + } + }, + "node_modules/domutils/node_modules/domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "dependencies": { + "domelementtype": "^2.2.0" + }, + "engines": { + "node": ">= 4" + }, + "funding": { + "url": "https://github.com/fb55/domhandler?sponsor=1" + } + }, + "node_modules/dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "node_modules/dropzone": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", + "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==", + "dev": true + }, + "node_modules/ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "node_modules/ekko-lightbox": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ekko-lightbox/-/ekko-lightbox-5.3.0.tgz", + "integrity": "sha512-mbacwySuVD3Ad6F2hTkjSTvJt59bcVv2l/TmBerp4xZnLak8tPtA4AScUn4DL42c1ksTiAO6sGhJZ52P/1Qgew==", + "dev": true + }, + "node_modules/electron-to-chromium": { + "version": "1.4.141", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.141.tgz", + "integrity": "sha512-mfBcbqc0qc6RlxrsIgLG2wCqkiPAjEezHxGTu7p3dHHFOurH4EjS9rFZndX5axC8264rI1Pcbw8uQP39oZckeA==", + "dev": true + }, + "node_modules/elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "dependencies": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/elliptic/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "node_modules/emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true, + "funding": { + "url": "https://github.com/fb55/entities?sponsor=1" + } + }, + "node_modules/envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true, + "bin": { + "envinfo": "dist/cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "dependencies": { + "is-arrayish": "^0.2.1" + } + }, + "node_modules/es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es-get-iterator/node_modules/isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + }, + "node_modules/es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "node_modules/es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "dev": true, + "hasInstallScript": true, + "dependencies": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + }, + "engines": { + "node": ">=0.10" + } + }, + "node_modules/es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "dependencies": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "node_modules/es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "dependencies": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "node_modules/escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "node_modules/escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "dependencies": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "dependencies": { + "estraverse": "^5.2.0" + }, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esrecurse/node_modules/estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true, + "engines": { + "node": ">=4.0" + } + }, + "node_modules/esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", + "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==", + "dev": true + }, + "node_modules/eve-raphael": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz", + "integrity": "sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==", + "dev": true + }, + "node_modules/eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "node_modules/events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true, + "engines": { + "node": ">=0.8.x" + } + }, + "node_modules/evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "dependencies": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "dependencies": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sindresorhus/execa?sponsor=1" + } + }, + "node_modules/express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "dependencies": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "engines": { + "node": ">= 0.10.0" + } + }, + "node_modules/express/node_modules/array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "node_modules/express/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/express/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/express/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "dependencies": { + "type": "^2.5.0" + } + }, + "node_modules/ext/node_modules/type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true + }, + "node_modules/fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "node_modules/fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "dependencies": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + }, + "engines": { + "node": ">=8.6.0" + } + }, + "node_modules/fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "node_modules/fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==", + "dev": true + }, + "node_modules/fastclick": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz", + "integrity": "sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ==", + "dev": true + }, + "node_modules/fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "node_modules/fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "dependencies": { + "reusify": "^1.0.4" + } + }, + "node_modules/faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "dependencies": { + "websocket-driver": ">=0.5.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/file-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "dependencies": { + "to-regex-range": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/filterizr": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/filterizr/-/filterizr-2.2.4.tgz", + "integrity": "sha512-hqyEdg7RrvJMVFOeF0yysS75HP6jLu0wBSUtSPAc3BysAtHpwcXaPnR1kYp2uZtd3YXyhH6JRfF9+H4SRvrqXg==", + "dev": true, + "dependencies": { + "fast-memoize": "^2.5.1", + "imagesloaded": "^4.1.4" + } + }, + "node_modules/finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/finalhandler/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/finalhandler/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "dependencies": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/avajs/find-cache-dir?sponsor=1" + } + }, + "node_modules/find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "dependencies": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/flag-icon-css": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-3.5.0.tgz", + "integrity": "sha512-pgJnJLrtb0tcDgU1fzGaQXmR8h++nXvILJ+r5SmOXaaL/2pocunQo2a8TAXhjQnBpRLPtZ1KCz/TYpqeNuE2ew==", + "deprecated": "The project has been renamed to flag-icons", + "dev": true + }, + "node_modules/flot": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/flot/-/flot-4.2.2.tgz", + "integrity": "sha512-Strct/A27o0TA25X7Z0pxKhwK4djiP1Kjeqj0tkiqrkRu1qYPqfbp5BYuxEL8CWDNtj85Uc0PnG2E2plo1+VMg==", + "dev": true + }, + "node_modules/follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true, + "funding": [ + { + "type": "individual", + "url": "https://github.com/sponsors/RubenVerborgh" + } + ], + "engines": { + "node": ">=4.0" + }, + "peerDependenciesMeta": { + "debug": { + "optional": true + } + } + }, + "node_modules/fontkit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz", + "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==", + "dev": true, + "dependencies": { + "@swc/helpers": "^0.3.13", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "deep-equal": "^2.0.5", + "dfa": "^1.2.0", + "restructure": "^2.0.1", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.3.1", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "dependencies": { + "is-callable": "^1.1.3" + } + }, + "node_modules/forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true, + "engines": { + "node": "*" + }, + "funding": { + "type": "patreon", + "url": "https://www.patreon.com/infusion" + } + }, + "node_modules/fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "dependencies": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "node_modules/fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "node_modules/fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "hasInstallScript": true, + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/fullcalendar": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/fullcalendar/-/fullcalendar-5.11.0.tgz", + "integrity": "sha512-R3yQMKJtP6jWZ3o9fNB0WUOl6Oi+vus3ciLtt3eva7ISutkMm6nE4lA+xhfTS3OIevxVQOv0O646R6G8o7sMXA==", + "dev": true + }, + "node_modules/function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "node_modules/function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true, + "engines": { + "node": "6.* || 8.* || >= 10.*" + } + }, + "node_modules/get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "dependencies": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + }, + "engines": { + "node": "*" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "dependencies": { + "is-glob": "^4.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "node_modules/globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "dependencies": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "node_modules/growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true + }, + "node_modules/handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "node_modules/has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "dependencies": { + "function-bind": "^1.1.1" + }, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/hash-base/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/hash-base/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "node_modules/hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "node_modules/he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true, + "bin": { + "he": "bin/he" + } + }, + "node_modules/hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "dependencies": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "node_modules/hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "node_modules/html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "node_modules/html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "dependencies": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/html-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "dependencies": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "bin": { + "html-minifier-terser": "cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/html-minifier-terser/node_modules/clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "dependencies": { + "source-map": "~0.6.0" + }, + "engines": { + "node": ">= 4.0" + } + }, + "node_modules/html-minifier-terser/node_modules/commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/html-minifier-terser/node_modules/terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "dependencies": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/html-minifier-terser/node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "dependencies": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "node_modules/http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "node_modules/http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "dependencies": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "node_modules/http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "dependencies": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + }, + "engines": { + "node": ">=8.0.0" + } + }, + "node_modules/http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "dependencies": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + }, + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "@types/express": "^4.17.13" + }, + "peerDependenciesMeta": { + "@types/express": { + "optional": true + } + } + }, + "node_modules/https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "node_modules/human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true, + "engines": { + "node": ">=10.17.0" + } + }, + "node_modules/icheck-bootstrap": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/icheck-bootstrap/-/icheck-bootstrap-3.0.1.tgz", + "integrity": "sha512-Rj3SybdcMcayhsP4IJ+hmCNgCKclaFcs/5zwCuLXH1WMo468NegjhZVxbSNKhEjJjnwc4gKETogUmPYSQ9lEZQ==", + "dev": true + }, + "node_modules/iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "dependencies": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/imagesloaded": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-4.1.4.tgz", + "integrity": "sha512-ltiBVcYpc/TYTF5nolkMNsnREHW+ICvfQ3Yla2Sgr71YFwQ86bDwV9hgpFhFtrGPuwEx5+LqOHIrdXBdoWwwsA==", + "dev": true, + "dependencies": { + "ev-emitter": "^1.0.0" + } + }, + "node_modules/img-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", + "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==", + "dev": true, + "dependencies": { + "loader-utils": "^1.1.0" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "imagemin": "^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0" + } + }, + "node_modules/img-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/img-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "node_modules/immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "node_modules/import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "dependencies": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "dependencies": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + }, + "bin": { + "import-local-fixture": "fixtures/cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "dependencies": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "node_modules/inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "node_modules/inputmask": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/inputmask/-/inputmask-5.0.7.tgz", + "integrity": "sha512-rUxbRDS25KEib+c/Ow+K01oprU/+EK9t9SOPC8ov94/ftULGDqj1zOgRU/Hko6uzoKRMdwCfuhAafJ/Wk2wffQ==", + "dev": true + }, + "node_modules/internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "dependencies": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/ion-rangeslider": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/ion-rangeslider/-/ion-rangeslider-2.3.1.tgz", + "integrity": "sha512-6V+24FD13/feliI485gnRHZYD9Ev64M5NAFTxnVib516ATHa9PlXQrC+nOiPngouRYTCLPJyokAJEi3e1Umi5g==", + "dev": true, + "peerDependencies": { + "jquery": ">=1.8" + } + }, + "node_modules/ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true, + "engines": { + "node": ">= 10" + } + }, + "node_modules/is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "node_modules/is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "dependencies": { + "has-bigints": "^1.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "dependencies": { + "binary-extensions": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "node_modules/is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "dependencies": { + "has": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true, + "bin": { + "is-docker": "cli.js" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "dependencies": { + "is-extglob": "^2.1.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true, + "engines": { + "node": ">=0.12.0" + } + }, + "node_modules/is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "dependencies": { + "isobject": "^3.0.1" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "dependencies": { + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "dependencies": { + "has-symbols": "^1.0.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "dependencies": { + "is-docker": "^2.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "node_modules/isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "node_modules/isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/izitoast": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/izitoast/-/izitoast-1.4.0.tgz", + "integrity": "sha512-Oc1X2wiQtPp39i5VpIjf3GJf5sfCtHKXZ5szx7RareyEeFLUlcEW0FSfBni28+Ul6KNKZRKzhVuWzSP4Xngh0w==" + }, + "node_modules/jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "dependencies": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "engines": { + "node": ">= 10.13.0" + } + }, + "node_modules/jest-worker/node_modules/supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/supports-color?sponsor=1" + } + }, + "node_modules/jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "node_modules/jquery-knob-chif": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/jquery-knob-chif/-/jquery-knob-chif-1.2.13.tgz", + "integrity": "sha512-dveq9MZCr68bRrsziuRusKS+/ciT1yOOHdENOSTcXVRM9MsEyCK/DjqR9nc7V3on41269PFdDE2Fuib8Cw4jAA==", + "dev": true + }, + "node_modules/jquery-mapael": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jquery-mapael/-/jquery-mapael-2.2.0.tgz", + "integrity": "sha512-B5cVcCkfs7Ezia1Zs8bEfVacYD/GvaASyqQeidApR/NJ1C4igcExk9VULVsgLcTPkxohcZrrz5uCaPXvuKeZWw==", + "dev": true, + "dependencies": { + "jquery": "^3.0 || ^2.0 || ^1.0", + "raphael": "^2.2.0 || ^2.1.1" + }, + "optionalDependencies": { + "jquery-mousewheel": "^3.1" + }, + "peerDependencies": { + "jquery": "^3.0 || ^2.0 || ^1.0" + } + }, + "node_modules/jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==", + "dev": true + }, + "node_modules/jquery-ui-dist": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.13.1.tgz", + "integrity": "sha512-Y711Pu4BRVrAlL58KSxX4ail74jaCJZaZcdNDLava+MgZeNwmVWmyYiK7KxyoJu1MB73eSunjJvYDbOuNrOA7w==", + "dev": true, + "dependencies": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "node_modules/jquery-validation": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.4.tgz", + "integrity": "sha512-PcwKcATCR+JL77m9kkWd84NAHAunJP9iasF6IbMxUgl73xDAimxjt5oYFmYHDXBmTZM4rpkXxMNR/jGI5TlSjA==", + "dev": true, + "peerDependencies": { + "jquery": "^1.7 || ^2.0 || ^3.1" + } + }, + "node_modules/jquery.nicescroll": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/jquery.nicescroll/-/jquery.nicescroll-3.7.6.tgz", + "integrity": "sha512-H4XOzQDw/fJIFftYGemNDAr9sz52zr35+JEubsTNGrTAtxQra4qnu6UnOe+avEHVPy8HnyoHgIpvPXedGSCfTw==", + "dependencies": { + "jquery": ">=1.8.3" + } + }, + "node_modules/jqvmap-novulnerability": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/jqvmap-novulnerability/-/jqvmap-novulnerability-1.5.1.tgz", + "integrity": "sha512-O6Jr7AGiut9iNJMelPdy8pH83tNXadOqmhJm5FZy9gtaZ5uuhZK3VNu+YLFuTpXeZI8YXUvlFUYbJJi5XHA+tw==", + "dev": true, + "dependencies": { + "jquery": "^3.4.0" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "node_modules/jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/jsgrid": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/jsgrid/-/jsgrid-1.5.3.tgz", + "integrity": "sha512-/BJgQp7gZe8o/VgNelwXc21jHc9HN+l7WPOkBhC9b9jPXFtOrU9ftNLPVBmKYCNlIulAbGTW8SDJI0mpw7uWxQ==", + "dev": true + }, + "node_modules/json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "node_modules/json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "node_modules/json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true, + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "dependencies": { + "universalify": "^2.0.0" + }, + "optionalDependencies": { + "graceful-fs": "^4.1.6" + } + }, + "node_modules/jsrender": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/jsrender/-/jsrender-1.0.11.tgz", + "integrity": "sha512-1BFRSKCgO8T1o3QB16/CYqnxLVxgIdXnXBmZcyLQOlEwxVfktCHXcC7n2o9lziI//pKEc5QzI92vglvBnoddRw==", + "dependencies": { + "through2": "^3.0.1" + } + }, + "node_modules/jszip": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz", + "integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==", + "dev": true, + "dependencies": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "node_modules/junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/laravel-mix": { + "version": "6.0.43", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.43.tgz", + "integrity": "sha512-SOO+C1aOpVSAUs30DYc6k/e0QJxfyD42aav4IKJtE5UZKw9ROWcVzkVoek2J475jNeNnl7GkoLAC27gejZsQ8g==", + "dev": true, + "dependencies": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@types/babel__core": "^7.1.16", + "@types/clean-css": "^4.2.5", + "@types/imagemin-gifsicle": "^7.0.1", + "@types/imagemin-mozjpeg": "^8.0.1", + "@types/imagemin-optipng": "^5.2.1", + "@types/imagemin-svgo": "^8.0.0", + "autoprefixer": "^10.4.0", + "babel-loader": "^8.2.3", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "clean-css": "^5.2.4", + "cli-table3": "^0.6.0", + "collect.js": "^4.28.5", + "commander": "^7.2.0", + "concat": "^1.0.3", + "css-loader": "^5.2.6", + "cssnano": "^5.0.8", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "html-loader": "^1.3.2", + "imagemin": "^7.0.1", + "img-loader": "^4.0.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "mini-css-extract-plugin": "^1.6.2", + "node-libs-browser": "^2.2.1", + "postcss-load-config": "^3.1.0", + "postcss-loader": "^6.2.0", + "semver": "^7.3.5", + "strip-ansi": "^6.0.0", + "style-loader": "^2.0.0", + "terser": "^5.9.0", + "terser-webpack-plugin": "^5.2.4", + "vue-style-loader": "^4.1.3", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.8.0", + "webpack-notifier": "^1.14.1", + "webpackbar": "^5.0.0-3", + "yargs": "^17.2.1" + }, + "bin": { + "laravel-mix": "bin/cli.js", + "mix": "bin/cli.js" + }, + "engines": { + "node": ">=12.14.0" + }, + "peerDependencies": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "postcss": "^8.3.11", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1" + } + }, + "node_modules/lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "dependencies": { + "immediate": "~3.0.5" + } + }, + "node_modules/lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dev": true, + "dependencies": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/linebreak/node_modules/base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "node_modules/loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true, + "engines": { + "node": ">=6.11.5" + } + }, + "node_modules/loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + }, + "engines": { + "node": ">=8.9.0" + } + }, + "node_modules/locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "dependencies": { + "p-locate": "^4.1.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "node_modules/lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "node_modules/lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "node_modules/lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "node_modules/lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "node_modules/lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "dependencies": { + "tslib": "^2.0.3" + } + }, + "node_modules/lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "dependencies": { + "yallist": "^4.0.0" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "dependencies": { + "semver": "^6.0.0" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/make-dir/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "dependencies": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "node_modules/md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "node_modules/media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/memfs": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", + "dev": true, + "dependencies": { + "fs-monkey": "1.0.3" + }, + "engines": { + "node": ">= 4.0.0" + } + }, + "node_modules/merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "node_modules/merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "dependencies": { + "source-map": "^0.6.1" + } + }, + "node_modules/merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "node_modules/merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true, + "engines": { + "node": ">= 8" + } + }, + "node_modules/methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "dependencies": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + }, + "engines": { + "node": ">=8.6" + } + }, + "node_modules/miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "dependencies": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "bin": { + "miller-rabin": "bin/miller-rabin" + } + }, + "node_modules/miller-rabin/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true, + "bin": { + "mime": "cli.js" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "dependencies": { + "mime-db": "1.52.0" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.4.0 || ^5.0.0" + } + }, + "node_modules/mini-css-extract-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "node_modules/minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "node_modules/minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "dependencies": { + "brace-expansion": "^1.1.7" + }, + "engines": { + "node": "*" + } + }, + "node_modules/minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "node_modules/moment": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", + "dev": true, + "engines": { + "node": "*" + } + }, + "node_modules/moment-timezone": { + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", + "dev": true, + "dependencies": { + "moment": ">= 2.9.0" + }, + "engines": { + "node": "*" + } + }, + "node_modules/ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "node_modules/multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "dependencies": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + }, + "bin": { + "multicast-dns": "cli.js" + } + }, + "node_modules/nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true, + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "node_modules/next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "node_modules/no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "dependencies": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node_modules/node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true, + "engines": { + "node": ">= 6.13.0" + } + }, + "node_modules/node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "dependencies": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node_modules/node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "dependencies": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node_modules/node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "node_modules/normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "dependencies": { + "path-key": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "dependencies": { + "boolbase": "^1.0.0" + }, + "funding": { + "url": "https://github.com/fb55/nth-check?sponsor=1" + } + }, + "node_modules/object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true, + "engines": { + "node": ">= 0.4" + } + }, + "node_modules/object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "node_modules/on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "dependencies": { + "ee-first": "1.1.1" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "dependencies": { + "wrappy": "1" + } + }, + "node_modules/onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "dependencies": { + "mimic-fn": "^2.1.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "dependencies": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + }, + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "node_modules/overlayscrollbars": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-1.13.1.tgz", + "integrity": "sha512-gIQfzgGgu1wy80EB4/6DaJGHMEGmizq27xHIESrzXq0Y/J0Ay1P3DWk6tuVmEPIZH15zaBlxeEJOqdJKmowHCQ==", + "dev": true + }, + "node_modules/p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "dependencies": { + "p-try": "^2.0.0" + }, + "engines": { + "node": ">=6" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "dependencies": { + "p-limit": "^2.2.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "dependencies": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "node_modules/param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "dependencies": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "dependencies": { + "callsites": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "dependencies": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "node_modules/parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "dependencies": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + }, + "engines": { + "node": ">=8" + }, + "funding": { + "url": "https://github.com/sponsors/sindresorhus" + } + }, + "node_modules/parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "dependencies": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "node_modules/path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "node_modules/path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "node_modules/path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "node_modules/path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "dependencies": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + }, + "engines": { + "node": ">=0.12" + } + }, + "node_modules/pdfkit": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.12.3.tgz", + "integrity": "sha512-+qDLgm2yq6WOKcxTb43lDeo3EtMIDQs0CK1RNqhHC9iT6u0KOmgwAClkYh9xFw2ATbmUZzt4f7KMwDCOfPDluA==", + "dev": true, + "dependencies": { + "crypto-js": "^4.0.0", + "fontkit": "^1.8.1", + "linebreak": "^1.0.2", + "png-js": "^1.0.0" + } + }, + "node_modules/pdfmake": { + "version": "0.1.72", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.1.72.tgz", + "integrity": "sha512-xZrPS+Safjf1I8ZYtMoXX83E6C6Pd1zFwa168yNTeeJWHclqf1z9DoYajjlY2uviN7gGyxwVZeou39uSk1oh1g==", + "dev": true, + "dependencies": { + "iconv-lite": "^0.6.2", + "linebreak": "^1.0.2", + "pdfkit": "^0.12.0", + "svg-to-pdfkit": "^0.1.8", + "xmldoc": "^1.1.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/pdfmake/node_modules/iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "dependencies": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + }, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "node_modules/picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true, + "engines": { + "node": ">=8.6" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "dependencies": { + "find-up": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==", + "dev": true + }, + "node_modules/popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "deprecated": "You can find the new Popper v2 at @popperjs/core, this package is dedicated to the legacy v1", + "dev": true, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/popperjs" + } + }, + "node_modules/postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + } + ], + "dependencies": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + }, + "peerDependencies": { + "postcss": "^8.2.2" + } + }, + "node_modules/postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "dependencies": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "dependencies": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + "peerDependencies": { + "postcss": ">=8.0.9", + "ts-node": ">=9.0.0" + }, + "peerDependenciesMeta": { + "postcss": { + "optional": true + }, + "ts-node": { + "optional": true + } + } + }, + "node_modules/postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "dependencies": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "postcss": "^7.0.0 || ^8.0.1", + "webpack": "^5.0.0" + } + }, + "node_modules/postcss-merge-longhand": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz", + "integrity": "sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "dependencies": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "dependencies": { + "icss-utils": "^5.0.0" + }, + "engines": { + "node": "^10 || ^12 || >= 14" + }, + "peerDependencies": { + "postcss": "^8.1.0" + } + }, + "node_modules/postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-positions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", + "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-repeat-style": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", + "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "dependencies": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-ordered-values": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "dev": true, + "dependencies": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "dependencies": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "dependencies": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "dependencies": { + "postcss-selector-parser": "^6.0.5" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "node_modules/prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true, + "optional": true, + "bin": { + "prettier": "bin-prettier.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "url": "https://github.com/prettier/prettier?sponsor=1" + } + }, + "node_modules/pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true, + "engines": { + "node": ">= 0.6.0" + } + }, + "node_modules/process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "node_modules/proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "dependencies": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/proxy-addr/node_modules/ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "node_modules/public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "dependencies": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "node_modules/public-encrypt/node_modules/bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + }, + "node_modules/punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "node_modules/qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "dependencies": { + "side-channel": "^1.0.4" + }, + "engines": { + "node": ">=0.6" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "deprecated": "The querystring API is considered Legacy. new code should use the URLSearchParams API instead.", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true, + "engines": { + "node": ">=0.4.x" + } + }, + "node_modules/queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "dependencies": { + "safe-buffer": "^5.1.0" + } + }, + "node_modules/randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "dependencies": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "node_modules/range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/raphael": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/raphael/-/raphael-2.3.0.tgz", + "integrity": "sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==", + "dev": true, + "dependencies": { + "eve-raphael": "0.5.0" + } + }, + "node_modules/raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "dependencies": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/raw-body/node_modules/bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "dependencies": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + } + }, + "node_modules/readable-stream/node_modules/string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "dependencies": { + "safe-buffer": "~5.1.0" + } + }, + "node_modules/readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "dependencies": { + "picomatch": "^2.2.1" + }, + "engines": { + "node": ">=8.10.0" + } + }, + "node_modules/rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "dependencies": { + "resolve": "^1.9.0" + }, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "node_modules/regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "node_modules/regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "dependencies": { + "@babel/runtime": "^7.8.4" + } + }, + "node_modules/regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "node_modules/regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "dependencies": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "node_modules/regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "dependencies": { + "jsesc": "~0.5.0" + }, + "bin": { + "regjsparser": "bin/parser" + } + }, + "node_modules/regjsparser/node_modules/jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true, + "bin": { + "jsesc": "bin/jsesc" + } + }, + "node_modules/relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "node_modules/resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "dependencies": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + }, + "bin": { + "resolve": "bin/resolve" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "dependencies": { + "resolve-from": "^5.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-cwd/node_modules/resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "deprecated": "https://github.com/lydell/resolve-url#deprecated", + "dev": true + }, + "node_modules/resolve-url-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", + "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", + "dev": true, + "dependencies": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.36", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "dependencies": { + "color-convert": "^1.9.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "dependencies": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/chalk/node_modules/supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "dependencies": { + "color-name": "1.1.3" + } + }, + "node_modules/resolve-url-loader/node_modules/color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "node_modules/resolve-url-loader/node_modules/convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.1.1" + } + }, + "node_modules/resolve-url-loader/node_modules/emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true, + "engines": { + "node": ">= 0.10" + } + }, + "node_modules/resolve-url-loader/node_modules/has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/resolve-url-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/resolve-url-loader/node_modules/loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/resolve-url-loader/node_modules/postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "dev": true, + "dependencies": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + }, + "engines": { + "node": ">=6.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + } + }, + "node_modules/resolve-url-loader/node_modules/supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "dependencies": { + "has-flag": "^3.0.0" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/restructure": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz", + "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg==", + "dev": true + }, + "node_modules/retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true, + "engines": { + "node": ">= 4" + } + }, + "node_modules/reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true, + "engines": { + "iojs": ">=1.0.0", + "node": ">=0.10.0" + } + }, + "node_modules/rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "dependencies": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + } + }, + "node_modules/rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true + }, + "node_modules/rework/node_modules/convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg==", + "dev": true + }, + "node_modules/rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "dependencies": { + "glob": "^7.1.3" + }, + "bin": { + "rimraf": "bin.js" + }, + "funding": { + "url": "https://github.com/sponsors/isaacs" + } + }, + "node_modules/ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "dependencies": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "node_modules/run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ], + "dependencies": { + "queue-microtask": "^1.2.2" + } + }, + "node_modules/safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "node_modules/safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "node_modules/sass": { + "version": "1.52.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", + "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", + "dev": true, + "dependencies": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + }, + "bin": { + "sass": "sass.js" + }, + "engines": { + "node": ">=12.0.0" + } + }, + "node_modules/sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "fibers": ">= 3.1.0", + "node-sass": "^4.0.0", + "sass": "^1.3.0", + "webpack": "^4.36.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "fibers": { + "optional": true + }, + "node-sass": { + "optional": true + }, + "sass": { + "optional": true + } + } + }, + "node_modules/sass-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/sass-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/sass-loader/node_modules/semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true, + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "node_modules/schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 8.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "node_modules/select2": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", + "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" + }, + "node_modules/selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "dependencies": { + "node-forge": "^1" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "dependencies": { + "lru-cache": "^6.0.0" + }, + "bin": { + "semver": "bin/semver.js" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "dependencies": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/send/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/send/node_modules/debug/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/send/node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + }, + "node_modules/serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "dependencies": { + "randombytes": "^2.1.0" + } + }, + "node_modules/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "dependencies": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/serve-index/node_modules/debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "dependencies": { + "ms": "2.0.0" + } + }, + "node_modules/serve-index/node_modules/depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "dependencies": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-index/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/serve-index/node_modules/ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "node_modules/serve-index/node_modules/setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "node_modules/serve-index/node_modules/statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "dependencies": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + }, + "engines": { + "node": ">= 0.8.0" + } + }, + "node_modules/setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "node_modules/setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "node_modules/sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "dependencies": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + }, + "bin": { + "sha.js": "bin.js" + } + }, + "node_modules/shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "dependencies": { + "kind-of": "^6.0.2" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "dependencies": { + "shebang-regex": "^3.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "node_modules/side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "node_modules/slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true, + "engines": { + "node": ">=8" + } + }, + "node_modules/sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "dependencies": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "node_modules/source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "node_modules/source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true, + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "deprecated": "See https://github.com/lydell/source-map-resolve#deprecated", + "dev": true, + "dependencies": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "node_modules/source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "dependencies": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "node_modules/source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "deprecated": "See https://github.com/lydell/source-map-url#deprecated", + "dev": true + }, + "node_modules/sparklines": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sparklines/-/sparklines-1.3.0.tgz", + "integrity": "sha512-CkFtpDE3hmOeu1IJyIQIOH0AQtHnPj1c61ALxJZQ9cPEFKDgWC1fcNAHuwPi1i1klTDYvlKKseoYHSwe7JmdLA==", + "dev": true + }, + "node_modules/spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "dependencies": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + } + }, + "node_modules/spdy-transport/node_modules/readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "dependencies": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + }, + "engines": { + "node": ">= 6" + } + }, + "node_modules/stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "deprecated": "Modern JS already guarantees Array#sort() is a stable sort, so this library is deprecated. See the compatibility table on MDN: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/sort#browser_compatibility", + "dev": true + }, + "node_modules/statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/std-env": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.1.1.tgz", + "integrity": "sha512-/c645XdExBypL01TpFKiG/3RAa/Qmu+zRi0MwAmrdEkwHNuN0ebo8ccAXBBDa5Z0QOJgBskUIbuCK91x0sCVEw==", + "dev": true + }, + "node_modules/stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "dependencies": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "node_modules/stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "dependencies": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "node_modules/string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "dependencies": { + "safe-buffer": "~5.2.0" + } + }, + "node_modules/string_decoder/node_modules/safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true, + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/feross" + }, + { + "type": "patreon", + "url": "https://www.patreon.com/feross" + }, + { + "type": "consulting", + "url": "https://feross.org/support" + } + ] + }, + "node_modules/string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "dependencies": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "dependencies": { + "ansi-regex": "^5.0.1" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "dependencies": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/style-loader/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "dependencies": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + }, + "engines": { + "node": "^10 || ^12 || >=14.0" + }, + "peerDependencies": { + "postcss": "^8.2.15" + } + }, + "node_modules/summernote": { + "version": "0.8.20", + "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.20.tgz", + "integrity": "sha512-W9RhjQjsn+b1s9xiJQgJbCiYGJaDAc9CdEqXo+D13WuStG8lCdtKaO5AiNiSSMJsQJN2EfGSwbBQt+SFE2B8Kw==", + "dev": true, + "hasInstallScript": true + }, + "node_modules/supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "dependencies": { + "has-flag": "^4.0.0" + }, + "engines": { + "node": ">=8" + } + }, + "node_modules/supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/svg-to-pdfkit": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/svg-to-pdfkit/-/svg-to-pdfkit-0.1.8.tgz", + "integrity": "sha512-QItiGZBy5TstGy+q8mjQTMGRlDDOARXLxH+sgVm1n/LYeo0zFcQlcCh8m4zi8QxctrxB9Kue/lStc/RD5iLadQ==", + "dev": true, + "dependencies": { + "pdfkit": ">=0.8.1" + } + }, + "node_modules/svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "dependencies": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + }, + "bin": { + "svgo": "bin/svgo" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/sweetalert": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz", + "integrity": "sha1-0sMepJKyK2qNiHrqFZiaI4/AhK4=" + }, + "node_modules/sweetalert2": { + "version": "11.10.8", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.8.tgz", + "integrity": "sha512-oAkYROBfXBY+4sVbQEIcN+ZxAx69lsmz5WEBwdEpyS4m59vOBNlRU5/fJpAI1MVfiDwFZiGwVzB/KBpOyfLNtg==", + "funding": { + "type": "individual", + "url": "https://github.com/sponsors/limonte" + } + }, + "node_modules/tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tempusdominus-bootstrap-4": { + "version": "5.39.2", + "resolved": "https://registry.npmjs.org/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.39.2.tgz", + "integrity": "sha512-8Au4miSAsMGdsElPg87EUmsN7aGJFaRA5Y8Ale7dDTfhhnQL1Za53LclIJkq+t/7NO5+Ufr1jY7tmEPvWGHaVg==", + "dev": true, + "dependencies": { + "bootstrap": "^4.6.1", + "jquery": "^3.6.0", + "moment": "^2.29.2", + "moment-timezone": "^0.5.34", + "popper.js": "^1.16.1" + }, + "peerDependencies": { + "bootstrap": ">=4.5.2", + "jquery": "^3.5.1", + "moment": "^2.29.0", + "moment-timezone": "^0.5.31", + "popper.js": "^1.16.1", + "tempusdominus-core": "5.19.3" + } + }, + "node_modules/tempusdominus-core": { + "version": "5.19.3", + "resolved": "https://registry.npmjs.org/tempusdominus-core/-/tempusdominus-core-5.19.3.tgz", + "integrity": "sha512-WXBVXcBG/hErB6u9gdUs+vzANvCU1kd1ykzL4kolPB3h1OEv20OKUW5qz1iynxyqRFPa1NWY9gwRu5d+MjXEuQ==", + "dev": true, + "peer": true, + "dependencies": { + "jquery": "^3.6.0", + "moment": "~2.29.2", + "moment-timezone": "^0.5.34" + }, + "peerDependencies": { + "jquery": "^3.0", + "moment": "^2.29.2", + "moment-timezone": "^0.5.0" + } + }, + "node_modules/terser": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", + "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", + "dev": true, + "dependencies": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.8.0-beta.0", + "source-map-support": "~0.5.20" + }, + "bin": { + "terser": "bin/terser" + }, + "engines": { + "node": ">=10" + } + }, + "node_modules/terser-webpack-plugin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "dev": true, + "dependencies": { + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^5.1.0" + }, + "peerDependenciesMeta": { + "@swc/core": { + "optional": true + }, + "esbuild": { + "optional": true + }, + "uglify-js": { + "optional": true + } + } + }, + "node_modules/terser-webpack-plugin/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/terser/node_modules/commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "node_modules/terser/node_modules/source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "dependencies": { + "whatwg-url": "^7.0.0" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "dependencies": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "node_modules/thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "node_modules/timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "dependencies": { + "setimmediate": "^1.0.4" + }, + "engines": { + "node": ">=0.6.0" + } + }, + "node_modules/tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true + }, + "node_modules/to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "node_modules/to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "dependencies": { + "is-number": "^7.0.0" + }, + "engines": { + "node": ">=8.0" + } + }, + "node_modules/toastr": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", + "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", + "dev": true, + "dependencies": { + "jquery": ">=1.12.0" + } + }, + "node_modules/toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true, + "engines": { + "node": ">=0.6" + } + }, + "node_modules/tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/tr46/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "node_modules/tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "node_modules/type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "node_modules/type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "dependencies": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + }, + "engines": { + "node": ">= 0.6" + } + }, + "node_modules/unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "dependencies": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "dependencies": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + }, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-properties": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.3.1.tgz", + "integrity": "sha512-nIV3Tf3LcUEZttY/2g4ZJtGXhWwSkuLL+rCu0DIAMbjyVPj+8j5gNVz4T/sVbnQybIsd5SFGkPKg/756OY6jlA==", + "dev": true, + "dependencies": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "node_modules/unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true, + "engines": { + "node": ">=4" + } + }, + "node_modules/unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dev": true, + "dependencies": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + } + }, + "node_modules/unicode-trie/node_modules/pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + }, + "node_modules/universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true, + "engines": { + "node": ">= 10.0.0" + } + }, + "node_modules/unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/uplot": { + "version": "1.6.20", + "resolved": "https://registry.npmjs.org/uplot/-/uplot-1.6.20.tgz", + "integrity": "sha512-Jl4Z51Sns4xKLLQeBeiGdcgv4eW1UkKwukSTndIP3YcnlU4za9qGhejlX+XzRbvjaB32C0pxRsdq8m8Gwbq1Eg==", + "dev": true + }, + "node_modules/uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "dependencies": { + "punycode": "^2.1.0" + } + }, + "node_modules/uri-js/node_modules/punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true, + "engines": { + "node": ">=6" + } + }, + "node_modules/urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "deprecated": "Please see https://github.com/lydell/urix#deprecated", + "dev": true + }, + "node_modules/url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "dependencies": { + "punycode": "1.3.2", + "querystring": "0.2.0" + } + }, + "node_modules/url/node_modules/punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + }, + "node_modules/util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "dependencies": { + "inherits": "2.0.3" + } + }, + "node_modules/util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "node_modules/util/node_modules/inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "node_modules/utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true, + "engines": { + "node": ">= 0.4.0" + } + }, + "node_modules/uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true, + "bin": { + "uuid": "dist/bin/uuid" + } + }, + "node_modules/vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true, + "engines": { + "node": ">= 0.8" + } + }, + "node_modules/vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "node_modules/vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", + "dev": true + }, + "node_modules/vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "node_modules/vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "dependencies": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "peerDependencies": { + "css-loader": "*", + "webpack": "^3.0.0 || ^4.1.0 || ^5.0.0-0" + }, + "peerDependenciesMeta": { + "cache-loader": { + "optional": true + }, + "vue-template-compiler": { + "optional": true + } + } + }, + "node_modules/vue-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "dependencies": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + } + }, + "node_modules/vue-style-loader/node_modules/json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "dependencies": { + "minimist": "^1.2.0" + }, + "bin": { + "json5": "lib/cli.js" + } + }, + "node_modules/vue-style-loader/node_modules/loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "dependencies": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + }, + "engines": { + "node": ">=4.0.0" + } + }, + "node_modules/vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "dependencies": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "node_modules/vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "node_modules/watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "dependencies": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "dependencies": { + "minimalistic-assert": "^1.0.0" + } + }, + "node_modules/webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "node_modules/webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "dependencies": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "bin": { + "webpack": "bin/webpack.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-cli": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "dev": true, + "dependencies": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + }, + "bin": { + "webpack-cli": "bin/cli.js" + }, + "engines": { + "node": ">=10.13.0" + }, + "peerDependencies": { + "webpack": "4.x.x || 5.x.x" + }, + "peerDependenciesMeta": { + "@webpack-cli/generators": { + "optional": true + }, + "@webpack-cli/migrate": { + "optional": true + }, + "webpack-bundle-analyzer": { + "optional": true + }, + "webpack-dev-server": { + "optional": true + } + } + }, + "node_modules/webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "dependencies": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + }, + "peerDependencies": { + "webpack": "^4.0.0 || ^5.0.0" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-middleware/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-middleware/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-middleware/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-dev-server": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz", + "integrity": "sha512-+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw==", + "dev": true, + "dependencies": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "bin": { + "webpack-dev-server": "bin/webpack-dev-server.js" + }, + "engines": { + "node": ">= 12.13.0" + }, + "peerDependencies": { + "webpack": "^4.37.0 || ^5.0.0" + }, + "peerDependenciesMeta": { + "webpack-cli": { + "optional": true + } + } + }, + "node_modules/webpack-dev-server/node_modules/ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/epoberezkin" + } + }, + "node_modules/webpack-dev-server/node_modules/ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "dependencies": { + "fast-deep-equal": "^3.1.3" + }, + "peerDependencies": { + "ajv": "^8.8.2" + } + }, + "node_modules/webpack-dev-server/node_modules/json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "node_modules/webpack-dev-server/node_modules/schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + }, + "engines": { + "node": ">= 12.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "dependencies": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + }, + "engines": { + "node": ">=10.0.0" + } + }, + "node_modules/webpack-notifier": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz", + "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==", + "dev": true, + "dependencies": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + }, + "peerDependencies": { + "@types/webpack": ">4.41.31" + }, + "peerDependenciesMeta": { + "@types/webpack": { + "optional": true + } + } + }, + "node_modules/webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "dependencies": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "node_modules/webpack/node_modules/schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "dependencies": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + }, + "engines": { + "node": ">= 10.13.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/webpack/node_modules/webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dev": true, + "dependencies": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + }, + "engines": { + "node": ">=12" + }, + "peerDependencies": { + "webpack": "3 || 4 || 5" + } + }, + "node_modules/websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "dependencies": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + }, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true, + "engines": { + "node": ">=0.8.0" + } + }, + "node_modules/whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "dependencies": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "node_modules/which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "dependencies": { + "isexe": "^2.0.0" + }, + "bin": { + "node-which": "bin/node-which" + }, + "engines": { + "node": ">= 8" + } + }, + "node_modules/which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "dependencies": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "dependencies": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "dev": true, + "dependencies": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + }, + "engines": { + "node": ">= 0.4" + }, + "funding": { + "url": "https://github.com/sponsors/ljharb" + } + }, + "node_modules/wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "node_modules/wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "dependencies": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + }, + "engines": { + "node": ">=10" + }, + "funding": { + "url": "https://github.com/chalk/wrap-ansi?sponsor=1" + } + }, + "node_modules/wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "node_modules/ws": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", + "dev": true, + "engines": { + "node": ">=10.0.0" + }, + "peerDependencies": { + "bufferutil": "^4.0.1", + "utf-8-validate": "^5.0.2" + }, + "peerDependenciesMeta": { + "bufferutil": { + "optional": true + }, + "utf-8-validate": { + "optional": true + } + } + }, + "node_modules/xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dev": true, + "dependencies": { + "sax": "^1.2.1" + } + }, + "node_modules/xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true, + "engines": { + "node": ">=0.4" + } + }, + "node_modules/y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true, + "engines": { + "node": ">=10" + } + }, + "node_modules/yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "node_modules/yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true, + "engines": { + "node": ">= 6" + } + }, + "node_modules/yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "dependencies": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + }, + "engines": { + "node": ">=12" + } + }, + "node_modules/yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true, + "engines": { + "node": ">=12" + } + } + }, + "dependencies": { + "@ampproject/remapping": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/@ampproject/remapping/-/remapping-2.2.0.tgz", + "integrity": "sha512-qRmjj8nj9qmLTQXXmaR1cck3UXSRMPrbsLJAasZpF+t3riI71BXed5ebIOYwQntykeZuhjsdweEc9BxH5Jc26w==", + "dev": true, + "requires": { + "@jridgewell/gen-mapping": "^0.1.0", + "@jridgewell/trace-mapping": "^0.3.9" + } + }, + "@babel/code-frame": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.16.7.tgz", + "integrity": "sha512-iAXqUn8IIeBTNd72xsFlgaXHkMBMt6y4HJp1tIaK465CWLT/fG1aqB7ykr95gHHmlBdGbFeWWfyB4NJJ0nmeIg==", + "dev": true, + "requires": { + "@babel/highlight": "^7.16.7" + } + }, + "@babel/compat-data": { + "version": "7.17.10", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.17.10.tgz", + "integrity": "sha512-GZt/TCsG70Ms19gfZO1tM4CVnXsPgEPBCpJu+Qz3L0LUDsY5nZqFZglIoPC1kIYOtNBZlrnFT+klg12vFGZXrw==", + "dev": true + }, + "@babel/core": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.18.2.tgz", + "integrity": "sha512-A8pri1YJiC5UnkdrWcmfZTJTV85b4UXTAfImGmCfYmax4TR9Cw8sDS0MOk++Gp2mE/BefVJ5nwy5yzqNJbP/DQ==", + "dev": true, + "requires": { + "@ampproject/remapping": "^2.1.0", + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helpers": "^7.18.2", + "@babel/parser": "^7.18.0", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2", + "convert-source-map": "^1.7.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/generator": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.18.2.tgz", + "integrity": "sha512-W1lG5vUwFvfMd8HVXqdfbuG7RuaSrTCCD8cl8fP8wOivdbtbIg2Db3IWUcgvfxKbbn6ZBGYRW/Zk1MIwK49mgw==", + "dev": true, + "requires": { + "@babel/types": "^7.18.2", + "@jridgewell/gen-mapping": "^0.3.0", + "jsesc": "^2.5.1" + }, + "dependencies": { + "@jridgewell/gen-mapping": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.1.tgz", + "integrity": "sha512-GcHwniMlA2z+WFPWuY8lp3fsza0I8xPFMWL5+n8LYyP6PSvPrXf4+n8stDHZY2DM0zy9sVkRDy1jDI4XGzYVqg==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10", + "@jridgewell/trace-mapping": "^0.3.9" + } + } + } + }, + "@babel/helper-annotate-as-pure": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-annotate-as-pure/-/helper-annotate-as-pure-7.16.7.tgz", + "integrity": "sha512-s6t2w/IPQVTAET1HitoowRGXooX8mCgtuP5195wD/QJPV6wYjpujCGF7JuMODVX2ZAJOf1GT6DT9MHEZvLOFSw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-builder-binary-assignment-operator-visitor": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-builder-binary-assignment-operator-visitor/-/helper-builder-binary-assignment-operator-visitor-7.16.7.tgz", + "integrity": "sha512-C6FdbRaxYjwVu/geKW4ZeQ0Q31AftgRcdSnZ5/jsH6BzCJbtvXvhpfkbkThYSuutZA7nCXpPR6AD9zd1dprMkA==", + "dev": true, + "requires": { + "@babel/helper-explode-assignable-expression": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-compilation-targets": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.18.2.tgz", + "integrity": "sha512-s1jnPotJS9uQnzFtiZVBUxe67CuBa679oWFHpxYYnTpRL/1ffhyX44R9uYiXoa/pLXcY9H2moJta0iaanlk/rQ==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-validator-option": "^7.16.7", + "browserslist": "^4.20.2", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-create-class-features-plugin": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-create-class-features-plugin/-/helper-create-class-features-plugin-7.18.0.tgz", + "integrity": "sha512-Kh8zTGR9de3J63e5nS0rQUdRs/kbtwoeQQ0sriS0lItjC96u8XXZN6lKpuyWd2coKSU13py/y+LTmThLuVX0Pg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7" + } + }, + "@babel/helper-create-regexp-features-plugin": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-create-regexp-features-plugin/-/helper-create-regexp-features-plugin-7.17.12.tgz", + "integrity": "sha512-b2aZrV4zvutr9AIa6/gA3wsZKRwTKYoDxYiFKcESS3Ug2GTXzwBEvMuuFLhCQpEnRXs1zng4ISAXSUxxKBIcxw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "regexpu-core": "^5.0.1" + } + }, + "@babel/helper-define-polyfill-provider": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/@babel/helper-define-polyfill-provider/-/helper-define-polyfill-provider-0.3.1.tgz", + "integrity": "sha512-J9hGMpJQmtWmj46B3kBHmL38UhJGhYX7eqkcq+2gsstyYt341HmPeWspihX43yVRA0mS+8GGk2Gckc7bY/HCmA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.13.0", + "@babel/helper-module-imports": "^7.12.13", + "@babel/helper-plugin-utils": "^7.13.0", + "@babel/traverse": "^7.13.0", + "debug": "^4.1.1", + "lodash.debounce": "^4.0.8", + "resolve": "^1.14.2", + "semver": "^6.1.2" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/helper-environment-visitor": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-environment-visitor/-/helper-environment-visitor-7.18.2.tgz", + "integrity": "sha512-14GQKWkX9oJzPiQQ7/J36FTXcD4kSp8egKjO9nINlSKiHITRA9q/R74qu8S9xlc/b/yjsJItQUeeh3xnGN0voQ==", + "dev": true + }, + "@babel/helper-explode-assignable-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-explode-assignable-expression/-/helper-explode-assignable-expression-7.16.7.tgz", + "integrity": "sha512-KyUenhWMC8VrxzkGP0Jizjo4/Zx+1nNZhgocs+gLzyZyB8SHidhoq9KK/8Ato4anhwsivfkBLftky7gvzbZMtQ==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-function-name": { + "version": "7.17.9", + "resolved": "https://registry.npmjs.org/@babel/helper-function-name/-/helper-function-name-7.17.9.tgz", + "integrity": "sha512-7cRisGlVtiVqZ0MW0/yFB4atgpGLWEHUVYnb448hZK4x+vih0YO5UoS11XIYtZYqHd0dIPMdUSv8q5K4LdMnIg==", + "dev": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-hoist-variables": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-hoist-variables/-/helper-hoist-variables-7.16.7.tgz", + "integrity": "sha512-m04d/0Op34H5v7pbZw6pSKP7weA6lsMvfiIAMeIvkY/R4xQtBSMFEigu9QTZ2qB/9l22vsxtM8a+Q8CzD255fg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-member-expression-to-functions": { + "version": "7.17.7", + "resolved": "https://registry.npmjs.org/@babel/helper-member-expression-to-functions/-/helper-member-expression-to-functions-7.17.7.tgz", + "integrity": "sha512-thxXgnQ8qQ11W2wVUObIqDL4p148VMxkt5T/qpN5k2fboRyzFGFmKsTGViquyM5QHKUy48OZoca8kw4ajaDPyw==", + "dev": true, + "requires": { + "@babel/types": "^7.17.0" + } + }, + "@babel/helper-module-imports": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.16.7.tgz", + "integrity": "sha512-LVtS6TqjJHFc+nYeITRo6VLXve70xmq7wPhWTqDJusJEgGmkAACWwMiTNrvfoQo6hEhFwAIixNkvB0jPXDL8Wg==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-module-transforms": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.18.0.tgz", + "integrity": "sha512-kclUYSUBIjlvnzN2++K9f2qzYKFgjmnmjwL4zlmU5f8ZtzgWe8s0rUPSTGy2HmK4P8T52MQsS+HTQAgZd3dMEA==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.16.7", + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-simple-access": "^7.17.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/helper-validator-identifier": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.0", + "@babel/types": "^7.18.0" + } + }, + "@babel/helper-optimise-call-expression": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-optimise-call-expression/-/helper-optimise-call-expression-7.16.7.tgz", + "integrity": "sha512-EtgBhg7rd/JcnpZFXpBy0ze1YRfdm7BnBX4uKMBd3ixa3RGAE002JZB66FJyNH7g0F38U05pXmA5P8cBh7z+1w==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-plugin-utils": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.17.12.tgz", + "integrity": "sha512-JDkf04mqtN3y4iAbO1hv9U2ARpPyPL1zqyWs/2WG1pgSq9llHFjStX5jdxb84himgJm+8Ng+x0oiWF/nw/XQKA==", + "dev": true + }, + "@babel/helper-remap-async-to-generator": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-remap-async-to-generator/-/helper-remap-async-to-generator-7.16.8.tgz", + "integrity": "sha512-fm0gH7Flb8H51LqJHy3HJ3wnE1+qtYR2A99K06ahwrawLdOFsCEWjZOrYricXJHoPSudNKxrMBUPEIPxiIIvBw==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-wrap-function": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helper-replace-supers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-replace-supers/-/helper-replace-supers-7.18.2.tgz", + "integrity": "sha512-XzAIyxx+vFnrOxiQrToSUOzUOn0e1J2Li40ntddek1Y69AXUTXoDJ40/D5RdjFu7s7qHiaeoTiempZcbuVXh2Q==", + "dev": true, + "requires": { + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-member-expression-to-functions": "^7.17.7", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + } + }, + "@babel/helper-simple-access": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helper-simple-access/-/helper-simple-access-7.18.2.tgz", + "integrity": "sha512-7LIrjYzndorDY88MycupkpQLKS1AFfsVRm2k/9PtKScSy5tZq0McZTj+DiMRynboZfIqOKvo03pmhTaUgiD6fQ==", + "dev": true, + "requires": { + "@babel/types": "^7.18.2" + } + }, + "@babel/helper-skip-transparent-expression-wrappers": { + "version": "7.16.0", + "resolved": "https://registry.npmjs.org/@babel/helper-skip-transparent-expression-wrappers/-/helper-skip-transparent-expression-wrappers-7.16.0.tgz", + "integrity": "sha512-+il1gTy0oHwUsBQZyJvukbB4vPMdcYBrFHa0Uc4AizLxbq6BOYC51Rv4tWocX9BLBDLZ4kc6qUFpQ6HRgL+3zw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.0" + } + }, + "@babel/helper-split-export-declaration": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-split-export-declaration/-/helper-split-export-declaration-7.16.7.tgz", + "integrity": "sha512-xbWoy/PFoxSWazIToT9Sif+jJTlrMcndIsaOKvTA6u7QEo7ilkRZpjew18/W3c7nm8fXdUDXh02VXTbZ0pGDNw==", + "dev": true, + "requires": { + "@babel/types": "^7.16.7" + } + }, + "@babel/helper-validator-identifier": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.16.7.tgz", + "integrity": "sha512-hsEnFemeiW4D08A5gUAZxLBTXpZ39P+a+DGDsHw1yxqyQ/jzFEnxf5uTEGp+3bzAbNOxU1paTgYS4ECU/IgfDw==", + "dev": true + }, + "@babel/helper-validator-option": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.16.7.tgz", + "integrity": "sha512-TRtenOuRUVo9oIQGPC5G9DgK4743cdxvtOw0weQNpZXaS16SCBi5MNjZF8vba3ETURjZpTbVn7Vvcf2eAwFozQ==", + "dev": true + }, + "@babel/helper-wrap-function": { + "version": "7.16.8", + "resolved": "https://registry.npmjs.org/@babel/helper-wrap-function/-/helper-wrap-function-7.16.8.tgz", + "integrity": "sha512-8RpyRVIAW1RcDDGTA+GpPAwV22wXCfKOoM9bet6TLkGIFTkRQSkH1nMQ5Yet4MpoXe1ZwHPVtNasc2w0uZMqnw==", + "dev": true, + "requires": { + "@babel/helper-function-name": "^7.16.7", + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.16.8", + "@babel/types": "^7.16.8" + } + }, + "@babel/helpers": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.18.2.tgz", + "integrity": "sha512-j+d+u5xT5utcQSzrh9p+PaJX94h++KN+ng9b9WEJq7pkUPAd61FGqhjuUEdfknb3E/uDBb7ruwEeKkIxNJPIrg==", + "dev": true, + "requires": { + "@babel/template": "^7.16.7", + "@babel/traverse": "^7.18.2", + "@babel/types": "^7.18.2" + } + }, + "@babel/highlight": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/highlight/-/highlight-7.17.12.tgz", + "integrity": "sha512-7yykMVF3hfZY2jsHZEEgLc+3x4o1O+fYyULu11GynEUQNwB6lua+IIQn1FiJxNucd5UlyJryrwsOh8PL9Sn8Qg==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "chalk": "^2.0.0", + "js-tokens": "^4.0.0" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "@babel/parser": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.18.4.tgz", + "integrity": "sha512-FDge0dFazETFcxGw/EXzOkN8uJp0PC7Qbm+Pe9T+av2zlBpOgunFHkQPPn+eRuClU73JF+98D531UgayY89tow==", + "dev": true + }, + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression/-/plugin-bugfix-safari-id-destructuring-collision-in-function-expression-7.17.12.tgz", + "integrity": "sha512-xCJQXl4EeQ3J9C4yOmpTrtVGmzpm2iSzyxbkZHw7UCnZBftHpF/hpII80uWVyVrc40ytIClHjgWGTG1g/yB+aw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining/-/plugin-bugfix-v8-spread-parameters-in-optional-chaining-7.17.12.tgz", + "integrity": "sha512-/vt0hpIw0x4b6BLKUkwlvEoiGZYYLNZ96CzyHYPbtG2jZGz6LBe7/V+drYrc/d+ovrF9NBi0pmtvmNb/FsWtRQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-proposal-optional-chaining": "^7.17.12" + } + }, + "@babel/plugin-proposal-async-generator-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-async-generator-functions/-/plugin-proposal-async-generator-functions-7.17.12.tgz", + "integrity": "sha512-RWVvqD1ooLKP6IqWTA5GyFVX2isGEgC5iFxKzfYOIy/QEFdxYyCybBDtIGjipHpb9bDWHzcqGqFakf+mVmBTdQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8", + "@babel/plugin-syntax-async-generators": "^7.8.4" + } + }, + "@babel/plugin-proposal-class-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-properties/-/plugin-proposal-class-properties-7.17.12.tgz", + "integrity": "sha512-U0mI9q8pW5Q9EaTHFPwSVusPMV/DV9Mm8p7csqROFLtIE9rBF5piLqyrBGigftALrBcsBGu4m38JneAe7ZDLXw==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-proposal-class-static-block": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-class-static-block/-/plugin-proposal-class-static-block-7.18.0.tgz", + "integrity": "sha512-t+8LsRMMDE74c6sV7KShIw13sqbqd58tlqNrsWoWBTIMw7SVQ0cZ905wLNS/FBCy/3PyooRHLFFlfrUNyyz5lA==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-class-static-block": "^7.14.5" + } + }, + "@babel/plugin-proposal-dynamic-import": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-dynamic-import/-/plugin-proposal-dynamic-import-7.16.7.tgz", + "integrity": "sha512-I8SW9Ho3/8DRSdmDdH3gORdyUuYnk1m4cMxUAdu5oy4n3OfN8flDEH+d60iG7dUfi0KkYwSvoalHzzdRzpWHTg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-dynamic-import": "^7.8.3" + } + }, + "@babel/plugin-proposal-export-namespace-from": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-export-namespace-from/-/plugin-proposal-export-namespace-from-7.17.12.tgz", + "integrity": "sha512-j7Ye5EWdwoXOpRmo5QmRyHPsDIe6+u70ZYZrd7uz+ebPYFKfRcLcNu3Ro0vOlJ5zuv8rU7xa+GttNiRzX56snQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3" + } + }, + "@babel/plugin-proposal-json-strings": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-json-strings/-/plugin-proposal-json-strings-7.17.12.tgz", + "integrity": "sha512-rKJ+rKBoXwLnIn7n6o6fulViHMrOThz99ybH+hKHcOZbnN14VuMnH9fo2eHE69C8pO4uX1Q7t2HYYIDmv8VYkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3" + } + }, + "@babel/plugin-proposal-logical-assignment-operators": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-logical-assignment-operators/-/plugin-proposal-logical-assignment-operators-7.17.12.tgz", + "integrity": "sha512-EqFo2s1Z5yy+JeJu7SFfbIUtToJTVlC61/C7WLKDntSw4Sz6JNAIfL7zQ74VvirxpjB5kz/kIx0gCcb+5OEo2Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4" + } + }, + "@babel/plugin-proposal-nullish-coalescing-operator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-nullish-coalescing-operator/-/plugin-proposal-nullish-coalescing-operator-7.17.12.tgz", + "integrity": "sha512-ws/g3FSGVzv+VH86+QvgtuJL/kR67xaEIF2x0iPqdDfYW6ra6JF3lKVBkWynRLcNtIC1oCTfDRVxmm2mKzy+ag==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3" + } + }, + "@babel/plugin-proposal-numeric-separator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-numeric-separator/-/plugin-proposal-numeric-separator-7.16.7.tgz", + "integrity": "sha512-vQgPMknOIgiuVqbokToyXbkY/OmmjAzr/0lhSIbG/KmnzXPGwW/AdhdKpi+O4X/VkWiWjnkKOBiqJrTaC98VKw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-numeric-separator": "^7.10.4" + } + }, + "@babel/plugin-proposal-object-rest-spread": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-object-rest-spread/-/plugin-proposal-object-rest-spread-7.18.0.tgz", + "integrity": "sha512-nbTv371eTrFabDfHLElkn9oyf9VG+VKK6WMzhY2o4eHKaG19BToD9947zzGMO6I/Irstx9d8CwX6njPNIAR/yw==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.17.10", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-transform-parameters": "^7.17.12" + } + }, + "@babel/plugin-proposal-optional-catch-binding": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-catch-binding/-/plugin-proposal-optional-catch-binding-7.16.7.tgz", + "integrity": "sha512-eMOH/L4OvWSZAE1VkHbr1vckLG1WUcHGJSLqqQwl2GaUqG6QjddvrOaTUMNYiv77H5IKPMZ9U9P7EaHwvAShfA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3" + } + }, + "@babel/plugin-proposal-optional-chaining": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-optional-chaining/-/plugin-proposal-optional-chaining-7.17.12.tgz", + "integrity": "sha512-7wigcOs/Z4YWlK7xxjkvaIw84vGhDv/P1dFGQap0nHkc8gFKY/r+hXc8Qzf5k1gY7CvGIcHqAnOagVKJJ1wVOQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0", + "@babel/plugin-syntax-optional-chaining": "^7.8.3" + } + }, + "@babel/plugin-proposal-private-methods": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-methods/-/plugin-proposal-private-methods-7.17.12.tgz", + "integrity": "sha512-SllXoxo19HmxhDWm3luPz+cPhtoTSKLJE9PXshsfrOzBqs60QP0r8OaJItrPhAj0d7mZMnNF0Y1UUggCDgMz1A==", + "dev": true, + "requires": { + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-proposal-private-property-in-object": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-private-property-in-object/-/plugin-proposal-private-property-in-object-7.17.12.tgz", + "integrity": "sha512-/6BtVi57CJfrtDNKfK5b66ydK2J5pXUKBKSPD2G1whamMuEnZWgoOIfO8Vf9F/DoD4izBLD/Au4NMQfruzzykg==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-create-class-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5" + } + }, + "@babel/plugin-proposal-unicode-property-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-proposal-unicode-property-regex/-/plugin-proposal-unicode-property-regex-7.17.12.tgz", + "integrity": "sha512-Wb9qLjXf3ZazqXA7IvI7ozqRIXIGPtSo+L5coFmEkhTQK18ao4UDDD0zdTGAarmbLj2urpRwrc6893cu5Bfh0A==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-async-generators": { + "version": "7.8.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-async-generators/-/plugin-syntax-async-generators-7.8.4.tgz", + "integrity": "sha512-tycmZxkGfZaxhMRbXlPXuVFpdWlXpir2W4AMhSJgRKzk/eDlIXOhb2LHWoLpDF7TEHylV5zNhykX6KAgHJmTNw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-class-properties": { + "version": "7.12.13", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-properties/-/plugin-syntax-class-properties-7.12.13.tgz", + "integrity": "sha512-fm4idjKla0YahUNgFNLCB0qySdsoPiZP3iQE3rky0mBUtMZ23yDJ9SJdg6dXTSDnulOVqiF3Hgr9nbXvXTQZYA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.12.13" + } + }, + "@babel/plugin-syntax-class-static-block": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-class-static-block/-/plugin-syntax-class-static-block-7.14.5.tgz", + "integrity": "sha512-b+YyPmr6ldyNnM6sqYeMWE+bgJcJpO6yS4QD7ymxgH34GBPNDM/THBh8iunyvKIZztiwLH4CJZ0RxTk9emgpjw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-dynamic-import": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-dynamic-import/-/plugin-syntax-dynamic-import-7.8.3.tgz", + "integrity": "sha512-5gdGbFon+PszYzqs83S3E5mpi7/y/8M9eC90MRTZfduQOYW76ig6SOSPNe41IG5LoP3FGBn2N0RjVDSQiS94kQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-export-namespace-from": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-export-namespace-from/-/plugin-syntax-export-namespace-from-7.8.3.tgz", + "integrity": "sha512-MXf5laXo6c1IbEbegDmzGPwGNTsHZmEy6QGznu5Sh2UCWvueywb2ee+CCE4zQiZstxU9BMoQO9i6zUFSY0Kj0Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.3" + } + }, + "@babel/plugin-syntax-import-assertions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-import-assertions/-/plugin-syntax-import-assertions-7.17.12.tgz", + "integrity": "sha512-n/loy2zkq9ZEM8tEOwON9wTQSTNDTDEz6NujPtJGLU7qObzT1N4c4YZZf8E6ATB2AjNQg/Ib2AIpO03EZaCehw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-syntax-json-strings": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-json-strings/-/plugin-syntax-json-strings-7.8.3.tgz", + "integrity": "sha512-lY6kdGpWHvjoe2vk4WrAapEuBR69EMxZl+RoGRhrFGNYVK8mOPAW8VfbT/ZgrFbXlDNiiaxQnAtgVCZ6jv30EA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-logical-assignment-operators": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-logical-assignment-operators/-/plugin-syntax-logical-assignment-operators-7.10.4.tgz", + "integrity": "sha512-d8waShlpFDinQ5MtvGU9xDAOzKH47+FFoney2baFIoMr952hKOLp1HR7VszoZvOsV/4+RRszNY7D17ba0te0ig==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-nullish-coalescing-operator": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-nullish-coalescing-operator/-/plugin-syntax-nullish-coalescing-operator-7.8.3.tgz", + "integrity": "sha512-aSff4zPII1u2QD7y+F8oDsz19ew4IGEJg9SVW+bqwpwtfFleiQDMdzA/R+UlWDzfnHFCxxleFT0PMIrR36XLNQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-numeric-separator": { + "version": "7.10.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-numeric-separator/-/plugin-syntax-numeric-separator-7.10.4.tgz", + "integrity": "sha512-9H6YdfkcK/uOnY/K7/aA2xpzaAgkQn37yzWUMRK7OaPOqOpGS1+n0H5hxT9AUw9EsSjPW8SVyMJwYRtWs3X3ug==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.10.4" + } + }, + "@babel/plugin-syntax-object-rest-spread": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-object-rest-spread/-/plugin-syntax-object-rest-spread-7.8.3.tgz", + "integrity": "sha512-XoqMijGZb9y3y2XskN+P1wUGiVwWZ5JmoDRwx5+3GmEplNyVM2s2Dg8ILFQm8rWM48orGy5YpI5Bl8U1y7ydlA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-catch-binding": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-catch-binding/-/plugin-syntax-optional-catch-binding-7.8.3.tgz", + "integrity": "sha512-6VPD0Pc1lpTqw0aKoeRTMiB+kWhAoT24PA+ksWSBrFtl5SIRVpZlwN3NNPQjehA2E/91FV3RjLWoVTglWcSV3Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-optional-chaining": { + "version": "7.8.3", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-optional-chaining/-/plugin-syntax-optional-chaining-7.8.3.tgz", + "integrity": "sha512-KoK9ErH1MBlCPxV0VANkXW2/dw4vlbGDrFgz8bmUsBGYkFRcbRwMh6cIJubdPrkxRwuGdtCk0v/wPTKbQgBjkg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.8.0" + } + }, + "@babel/plugin-syntax-private-property-in-object": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-private-property-in-object/-/plugin-syntax-private-property-in-object-7.14.5.tgz", + "integrity": "sha512-0wVnp9dxJ72ZUJDV27ZfbSj6iHLoytYZmh3rFcxNnvsJF3ktkzLDZPy/mA17HGsaQT3/DQsWYX1f1QGWkCoVUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-syntax-top-level-await": { + "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-syntax-top-level-await/-/plugin-syntax-top-level-await-7.14.5.tgz", + "integrity": "sha512-hx++upLv5U1rgYfwe1xBQUhRmU41NEvpUvrp8jkrSCdvGSnM5/qdRMtylJ6PG5OFkBaHkbTAKTnd3/YyESRHFw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.14.5" + } + }, + "@babel/plugin-transform-arrow-functions": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-arrow-functions/-/plugin-transform-arrow-functions-7.17.12.tgz", + "integrity": "sha512-PHln3CNi/49V+mza4xMwrg+WGYevSF1oaiXaC2EQfdp4HWlSjRsrDXWJiQBKpP7749u6vQ9mcry2uuFOv5CXvA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-async-to-generator": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-async-to-generator/-/plugin-transform-async-to-generator-7.17.12.tgz", + "integrity": "sha512-J8dbrWIOO3orDzir57NRsjg4uxucvhby0L/KZuGsWDj0g7twWK3g7JhJhOrXtuXiw8MeiSdJ3E0OW9H8LYEzLQ==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-remap-async-to-generator": "^7.16.8" + } + }, + "@babel/plugin-transform-block-scoped-functions": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoped-functions/-/plugin-transform-block-scoped-functions-7.16.7.tgz", + "integrity": "sha512-JUuzlzmF40Z9cXyytcbZEZKckgrQzChbQJw/5PuEHYeqzCsvebDx0K0jWnIIVcmmDOAVctCgnYs0pMcrYj2zJg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-block-scoping": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-block-scoping/-/plugin-transform-block-scoping-7.18.4.tgz", + "integrity": "sha512-+Hq10ye+jlvLEogSOtq4mKvtk7qwcUQ1f0Mrueai866C82f844Yom2cttfJdMdqRLTxWpsbfbkIkOIfovyUQXw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-classes": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-classes/-/plugin-transform-classes-7.18.4.tgz", + "integrity": "sha512-e42NSG2mlKWgxKUAD9EJJSkZxR67+wZqzNxLSpc51T8tRU5SLFHsPmgYR5yr7sdgX4u+iHA1C5VafJ6AyImV3A==", + "dev": true, + "requires": { + "@babel/helper-annotate-as-pure": "^7.16.7", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-optimise-call-expression": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-replace-supers": "^7.18.2", + "@babel/helper-split-export-declaration": "^7.16.7", + "globals": "^11.1.0" + } + }, + "@babel/plugin-transform-computed-properties": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-computed-properties/-/plugin-transform-computed-properties-7.17.12.tgz", + "integrity": "sha512-a7XINeplB5cQUWMg1E/GI1tFz3LfK021IjV1rj1ypE+R7jHm+pIHmHl25VNkZxtx9uuYp7ThGk8fur1HHG7PgQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-destructuring": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-destructuring/-/plugin-transform-destructuring-7.18.0.tgz", + "integrity": "sha512-Mo69klS79z6KEfrLg/1WkmVnB8javh75HX4pi2btjvlIoasuxilEyjtsQW6XPrubNd7AQy0MMaNIaQE4e7+PQw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-dotall-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-dotall-regex/-/plugin-transform-dotall-regex-7.16.7.tgz", + "integrity": "sha512-Lyttaao2SjZF6Pf4vk1dVKv8YypMpomAbygW+mU5cYP3S5cWTfCJjG8xV6CFdzGFlfWK81IjL9viiTvpb6G7gQ==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-duplicate-keys": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-duplicate-keys/-/plugin-transform-duplicate-keys-7.17.12.tgz", + "integrity": "sha512-EA5eYFUG6xeerdabina/xIoB95jJ17mAkR8ivx6ZSu9frKShBjpOGZPn511MTDTkiCO+zXnzNczvUM69YSf3Zw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-exponentiation-operator": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-exponentiation-operator/-/plugin-transform-exponentiation-operator-7.16.7.tgz", + "integrity": "sha512-8UYLSlyLgRixQvlYH3J2ekXFHDFLQutdy7FfFAMm3CPZ6q9wHCwnUyiXpQCe3gVVnQlHc5nsuiEVziteRNTXEA==", + "dev": true, + "requires": { + "@babel/helper-builder-binary-assignment-operator-visitor": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-for-of": { + "version": "7.18.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-for-of/-/plugin-transform-for-of-7.18.1.tgz", + "integrity": "sha512-+TTB5XwvJ5hZbO8xvl2H4XaMDOAK57zF4miuC9qQJgysPNEAZZ9Z69rdF5LJkozGdZrjBIUAIyKUWRMmebI7vg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-function-name": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-function-name/-/plugin-transform-function-name-7.16.7.tgz", + "integrity": "sha512-SU/C68YVwTRxqWj5kgsbKINakGag0KTgq9f2iZEXdStoAbOzLHEBRYzImmA6yFo8YZhJVflvXmIHUO7GWHmxxA==", + "dev": true, + "requires": { + "@babel/helper-compilation-targets": "^7.16.7", + "@babel/helper-function-name": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-literals": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-literals/-/plugin-transform-literals-7.17.12.tgz", + "integrity": "sha512-8iRkvaTjJciWycPIZ9k9duu663FT7VrBdNqNgxnVXEFwOIp55JWcZd23VBRySYbnS3PwQ3rGiabJBBBGj5APmQ==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-member-expression-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-member-expression-literals/-/plugin-transform-member-expression-literals-7.16.7.tgz", + "integrity": "sha512-mBruRMbktKQwbxaJof32LT9KLy2f3gH+27a5XSuXo6h7R3vqltl0PgZ80C8ZMKw98Bf8bqt6BEVi3svOh2PzMw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-modules-amd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-amd/-/plugin-transform-modules-amd-7.18.0.tgz", + "integrity": "sha512-h8FjOlYmdZwl7Xm2Ug4iX2j7Qy63NANI+NQVWQzv6r25fqgg7k2dZl03p95kvqNclglHs4FZ+isv4p1uXMA+QA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-commonjs": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-commonjs/-/plugin-transform-modules-commonjs-7.18.2.tgz", + "integrity": "sha512-f5A865gFPAJAEE0K7F/+nm5CmAE3y8AWlMBG9unu5j9+tk50UQVK0QS8RNxSp7MJf0wh97uYyLWt3Zvu71zyOQ==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-simple-access": "^7.18.2", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-systemjs": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-systemjs/-/plugin-transform-modules-systemjs-7.18.4.tgz", + "integrity": "sha512-lH2UaQaHVOAeYrUUuZ8i38o76J/FnO8vu21OE+tD1MyP9lxdZoSfz+pDbWkq46GogUrdrMz3tiz/FYGB+bVThg==", + "dev": true, + "requires": { + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-identifier": "^7.16.7", + "babel-plugin-dynamic-import-node": "^2.3.3" + } + }, + "@babel/plugin-transform-modules-umd": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-modules-umd/-/plugin-transform-modules-umd-7.18.0.tgz", + "integrity": "sha512-d/zZ8I3BWli1tmROLxXLc9A6YXvGK8egMxHp+E/rRwMh1Kip0AP77VwZae3snEJ33iiWwvNv2+UIIhfalqhzZA==", + "dev": true, + "requires": { + "@babel/helper-module-transforms": "^7.18.0", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-named-capturing-groups-regex": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-named-capturing-groups-regex/-/plugin-transform-named-capturing-groups-regex-7.17.12.tgz", + "integrity": "sha512-vWoWFM5CKaTeHrdUJ/3SIOTRV+MBVGybOC9mhJkaprGNt5demMymDW24yC74avb915/mIRe3TgNb/d8idvnCRA==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.17.12", + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-new-target": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-new-target/-/plugin-transform-new-target-7.17.12.tgz", + "integrity": "sha512-CaOtzk2fDYisbjAD4Sd1MTKGVIpRtx9bWLyj24Y/k6p4s4gQ3CqDGJauFJxt8M/LEx003d0i3klVqnN73qvK3w==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-object-super": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-object-super/-/plugin-transform-object-super-7.16.7.tgz", + "integrity": "sha512-14J1feiQVWaGvRxj2WjyMuXS2jsBkgB3MdSN5HuC2G5nRspa5RK9COcs82Pwy5BuGcjb+fYaUj94mYcOj7rCvw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7", + "@babel/helper-replace-supers": "^7.16.7" + } + }, + "@babel/plugin-transform-parameters": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-parameters/-/plugin-transform-parameters-7.17.12.tgz", + "integrity": "sha512-6qW4rWo1cyCdq1FkYri7AHpauchbGLXpdwnYsfxFb+KtddHENfsY5JZb35xUwkK5opOLcJ3BNd2l7PhRYGlwIA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-property-literals": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-property-literals/-/plugin-transform-property-literals-7.16.7.tgz", + "integrity": "sha512-z4FGr9NMGdoIl1RqavCqGG+ZuYjfZ/hkCIeuH6Do7tXmSm0ls11nYVSJqFEUOSJbDab5wC6lRE/w6YjVcr6Hqw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-regenerator": { + "version": "7.18.0", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-regenerator/-/plugin-transform-regenerator-7.18.0.tgz", + "integrity": "sha512-C8YdRw9uzx25HSIzwA7EM7YP0FhCe5wNvJbZzjVNHHPGVcDJ3Aie+qGYYdS1oVQgn+B3eAIJbWFLrJ4Jipv7nw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "regenerator-transform": "^0.15.0" + } + }, + "@babel/plugin-transform-reserved-words": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-reserved-words/-/plugin-transform-reserved-words-7.17.12.tgz", + "integrity": "sha512-1KYqwbJV3Co03NIi14uEHW8P50Md6KqFgt0FfpHdK6oyAHQVTosgPuPSiWud1HX0oYJ1hGRRlk0fP87jFpqXZA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-runtime": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.18.2.tgz", + "integrity": "sha512-mr1ufuRMfS52ttq+1G1PD8OJNqgcTFjq3hwn8SZ5n1x1pBhi0E36rYMdTK0TsKtApJ4lDEdfXJwtGobQMHSMPg==", + "dev": true, + "requires": { + "@babel/helper-module-imports": "^7.16.7", + "@babel/helper-plugin-utils": "^7.17.12", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/plugin-transform-shorthand-properties": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-shorthand-properties/-/plugin-transform-shorthand-properties-7.16.7.tgz", + "integrity": "sha512-hah2+FEnoRoATdIb05IOXf+4GzXYTq75TVhIn1PewihbpyrNWUt2JbudKQOETWw6QpLe+AIUpJ5MVLYTQbeeUg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-spread": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-spread/-/plugin-transform-spread-7.17.12.tgz", + "integrity": "sha512-9pgmuQAtFi3lpNUstvG9nGfk9DkrdmWNp9KeKPFmuZCpEnxRzYlS8JgwPjYj+1AWDOSvoGN0H30p1cBOmT/Svg==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-skip-transparent-expression-wrappers": "^7.16.0" + } + }, + "@babel/plugin-transform-sticky-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-sticky-regex/-/plugin-transform-sticky-regex-7.16.7.tgz", + "integrity": "sha512-NJa0Bd/87QV5NZZzTuZG5BPJjLYadeSZ9fO6oOUoL4iQx+9EEuw/eEM92SrsT19Yc2jgB1u1hsjqDtH02c3Drw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-template-literals": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-template-literals/-/plugin-transform-template-literals-7.18.2.tgz", + "integrity": "sha512-/cmuBVw9sZBGZVOMkpAEaVLwm4JmK2GZ1dFKOGGpMzEHWFmyZZ59lUU0PdRr8YNYeQdNzTDwuxP2X2gzydTc9g==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-typeof-symbol": { + "version": "7.17.12", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-typeof-symbol/-/plugin-transform-typeof-symbol-7.17.12.tgz", + "integrity": "sha512-Q8y+Jp7ZdtSPXCThB6zjQ74N3lj0f6TDh1Hnf5B+sYlzQ8i5Pjp8gW0My79iekSpT4WnI06blqP6DT0OmaXXmw==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.17.12" + } + }, + "@babel/plugin-transform-unicode-escapes": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-escapes/-/plugin-transform-unicode-escapes-7.16.7.tgz", + "integrity": "sha512-TAV5IGahIz3yZ9/Hfv35TV2xEm+kaBDaZQCn2S/hG9/CZ0DktxJv9eKfPc7yYCvOYR4JGx1h8C+jcSOvgaaI/Q==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/plugin-transform-unicode-regex": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-unicode-regex/-/plugin-transform-unicode-regex-7.16.7.tgz", + "integrity": "sha512-oC5tYYKw56HO75KZVLQ+R/Nl3Hro9kf8iG0hXoaHP7tjAyCpvqBiSNe6vGrZni1Z6MggmUOC6A7VP7AVmw225Q==", + "dev": true, + "requires": { + "@babel/helper-create-regexp-features-plugin": "^7.16.7", + "@babel/helper-plugin-utils": "^7.16.7" + } + }, + "@babel/preset-env": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.18.2.tgz", + "integrity": "sha512-PfpdxotV6afmXMU47S08F9ZKIm2bJIQ0YbAAtDfIENX7G1NUAXigLREh69CWDjtgUy7dYn7bsMzkgdtAlmS68Q==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.17.10", + "@babel/helper-compilation-targets": "^7.18.2", + "@babel/helper-plugin-utils": "^7.17.12", + "@babel/helper-validator-option": "^7.16.7", + "@babel/plugin-bugfix-safari-id-destructuring-collision-in-function-expression": "^7.17.12", + "@babel/plugin-bugfix-v8-spread-parameters-in-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-async-generator-functions": "^7.17.12", + "@babel/plugin-proposal-class-properties": "^7.17.12", + "@babel/plugin-proposal-class-static-block": "^7.18.0", + "@babel/plugin-proposal-dynamic-import": "^7.16.7", + "@babel/plugin-proposal-export-namespace-from": "^7.17.12", + "@babel/plugin-proposal-json-strings": "^7.17.12", + "@babel/plugin-proposal-logical-assignment-operators": "^7.17.12", + "@babel/plugin-proposal-nullish-coalescing-operator": "^7.17.12", + "@babel/plugin-proposal-numeric-separator": "^7.16.7", + "@babel/plugin-proposal-object-rest-spread": "^7.18.0", + "@babel/plugin-proposal-optional-catch-binding": "^7.16.7", + "@babel/plugin-proposal-optional-chaining": "^7.17.12", + "@babel/plugin-proposal-private-methods": "^7.17.12", + "@babel/plugin-proposal-private-property-in-object": "^7.17.12", + "@babel/plugin-proposal-unicode-property-regex": "^7.17.12", + "@babel/plugin-syntax-async-generators": "^7.8.4", + "@babel/plugin-syntax-class-properties": "^7.12.13", + "@babel/plugin-syntax-class-static-block": "^7.14.5", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-syntax-export-namespace-from": "^7.8.3", + "@babel/plugin-syntax-import-assertions": "^7.17.12", + "@babel/plugin-syntax-json-strings": "^7.8.3", + "@babel/plugin-syntax-logical-assignment-operators": "^7.10.4", + "@babel/plugin-syntax-nullish-coalescing-operator": "^7.8.3", + "@babel/plugin-syntax-numeric-separator": "^7.10.4", + "@babel/plugin-syntax-object-rest-spread": "^7.8.3", + "@babel/plugin-syntax-optional-catch-binding": "^7.8.3", + "@babel/plugin-syntax-optional-chaining": "^7.8.3", + "@babel/plugin-syntax-private-property-in-object": "^7.14.5", + "@babel/plugin-syntax-top-level-await": "^7.14.5", + "@babel/plugin-transform-arrow-functions": "^7.17.12", + "@babel/plugin-transform-async-to-generator": "^7.17.12", + "@babel/plugin-transform-block-scoped-functions": "^7.16.7", + "@babel/plugin-transform-block-scoping": "^7.17.12", + "@babel/plugin-transform-classes": "^7.17.12", + "@babel/plugin-transform-computed-properties": "^7.17.12", + "@babel/plugin-transform-destructuring": "^7.18.0", + "@babel/plugin-transform-dotall-regex": "^7.16.7", + "@babel/plugin-transform-duplicate-keys": "^7.17.12", + "@babel/plugin-transform-exponentiation-operator": "^7.16.7", + "@babel/plugin-transform-for-of": "^7.18.1", + "@babel/plugin-transform-function-name": "^7.16.7", + "@babel/plugin-transform-literals": "^7.17.12", + "@babel/plugin-transform-member-expression-literals": "^7.16.7", + "@babel/plugin-transform-modules-amd": "^7.18.0", + "@babel/plugin-transform-modules-commonjs": "^7.18.2", + "@babel/plugin-transform-modules-systemjs": "^7.18.0", + "@babel/plugin-transform-modules-umd": "^7.18.0", + "@babel/plugin-transform-named-capturing-groups-regex": "^7.17.12", + "@babel/plugin-transform-new-target": "^7.17.12", + "@babel/plugin-transform-object-super": "^7.16.7", + "@babel/plugin-transform-parameters": "^7.17.12", + "@babel/plugin-transform-property-literals": "^7.16.7", + "@babel/plugin-transform-regenerator": "^7.18.0", + "@babel/plugin-transform-reserved-words": "^7.17.12", + "@babel/plugin-transform-shorthand-properties": "^7.16.7", + "@babel/plugin-transform-spread": "^7.17.12", + "@babel/plugin-transform-sticky-regex": "^7.16.7", + "@babel/plugin-transform-template-literals": "^7.18.2", + "@babel/plugin-transform-typeof-symbol": "^7.17.12", + "@babel/plugin-transform-unicode-escapes": "^7.16.7", + "@babel/plugin-transform-unicode-regex": "^7.16.7", + "@babel/preset-modules": "^0.1.5", + "@babel/types": "^7.18.2", + "babel-plugin-polyfill-corejs2": "^0.3.0", + "babel-plugin-polyfill-corejs3": "^0.5.0", + "babel-plugin-polyfill-regenerator": "^0.3.0", + "core-js-compat": "^3.22.1", + "semver": "^6.3.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "@babel/preset-modules": { + "version": "0.1.5", + "resolved": "https://registry.npmjs.org/@babel/preset-modules/-/preset-modules-0.1.5.tgz", + "integrity": "sha512-A57th6YRG7oR3cq/yt/Y84MvGgE0eJG2F1JLhKuyG+jFxEgrd/HAMJatiFtmOiZurz+0DkrvbheCLaV5f2JfjA==", + "dev": true, + "requires": { + "@babel/helper-plugin-utils": "^7.0.0", + "@babel/plugin-proposal-unicode-property-regex": "^7.4.4", + "@babel/plugin-transform-dotall-regex": "^7.4.4", + "@babel/types": "^7.4.4", + "esutils": "^2.0.2" + } + }, + "@babel/runtime": { + "version": "7.18.3", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.18.3.tgz", + "integrity": "sha512-38Y8f7YUhce/K7RMwTp7m0uCumpv9hZkitCbBClqQIow1qSbCvGkcegKOXpEWCQLfWmevgRiWokZ1GkpfhbZug==", + "dev": true, + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, + "@babel/template": { + "version": "7.16.7", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.16.7.tgz", + "integrity": "sha512-I8j/x8kHUrbYRTUxXrrMbfCa7jxkE7tZre39x3kjr9hvI82cK1FfqLygotcWN5kdPGWcLdWMHpSBavse5tWw3w==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/parser": "^7.16.7", + "@babel/types": "^7.16.7" + } + }, + "@babel/traverse": { + "version": "7.18.2", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.18.2.tgz", + "integrity": "sha512-9eNwoeovJ6KH9zcCNnENY7DMFwTU9JdGCFtqNLfUAqtUHRCOsTOqWoffosP8vKmNYeSBUv3yVJXjfd8ucwOjUA==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.16.7", + "@babel/generator": "^7.18.2", + "@babel/helper-environment-visitor": "^7.18.2", + "@babel/helper-function-name": "^7.17.9", + "@babel/helper-hoist-variables": "^7.16.7", + "@babel/helper-split-export-declaration": "^7.16.7", + "@babel/parser": "^7.18.0", + "@babel/types": "^7.18.2", + "debug": "^4.1.0", + "globals": "^11.1.0" + } + }, + "@babel/types": { + "version": "7.18.4", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.18.4.tgz", + "integrity": "sha512-ThN1mBcMq5pG/Vm2IcBmPPfyPXbd8S02rS+OBIDENdufvqC7Z/jHPCv9IcP01277aKtDI8g/2XysBN4hA8niiw==", + "dev": true, + "requires": { + "@babel/helper-validator-identifier": "^7.16.7", + "to-fast-properties": "^2.0.0" + } + }, + "@colors/colors": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/@colors/colors/-/colors-1.5.0.tgz", + "integrity": "sha512-ooWCrlZP11i8GImSjTHYHLkvFDP48nS4+204nGb1RiX/WXYHmJA2III9/e2DWVabCESdW7hBAEzHRqUn9OUVvQ==", + "dev": true, + "optional": true + }, + "@discoveryjs/json-ext": { + "version": "0.5.7", + "resolved": "https://registry.npmjs.org/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz", + "integrity": "sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==", + "dev": true + }, + "@fortawesome/fontawesome-free": { + "version": "5.15.4", + "resolved": "https://registry.npmjs.org/@fortawesome/fontawesome-free/-/fontawesome-free-5.15.4.tgz", + "integrity": "sha512-eYm8vijH/hpzr/6/1CJ/V/Eb1xQFW2nnUKArb3z+yUWv7HTwj6M7SP957oMjfZjAHU6qpoNc2wQvIxBLWYa/Jg==" + }, + "@jridgewell/gen-mapping": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.1.1.tgz", + "integrity": "sha512-sQXCasFk+U8lWYEe66WxRDOE9PjVz4vSM51fTu3Hw+ClTpUSQb718772vH3pyS5pShp6lvQM7SxgIDXXXmOX7w==", + "dev": true, + "requires": { + "@jridgewell/set-array": "^1.0.0", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@jridgewell/resolve-uri": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.0.7.tgz", + "integrity": "sha512-8cXDaBBHOr2pQ7j77Y6Vp5VDT2sIqWyWQ56TjEq4ih/a4iST3dItRe8Q9fp0rrIl9DoKhWQtUQz/YpOxLkXbNA==", + "dev": true + }, + "@jridgewell/set-array": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@jridgewell/set-array/-/set-array-1.1.1.tgz", + "integrity": "sha512-Ct5MqZkLGEXTVmQYbGtx9SVqD2fqwvdubdps5D3djjAkgkKwT918VNOz65pEHFaYTeWcukmJmH5SwsA9Tn2ObQ==", + "dev": true + }, + "@jridgewell/sourcemap-codec": { + "version": "1.4.13", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.4.13.tgz", + "integrity": "sha512-GryiOJmNcWbovBxTfZSF71V/mXbgcV3MewDe3kIMCLyIh5e7SKAeUZs+rMnJ8jkMolZ/4/VsdBmMrw3l+VdZ3w==", + "dev": true + }, + "@jridgewell/trace-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.13.tgz", + "integrity": "sha512-o1xbKhp9qnIAoHJSWd6KlCZfqslL4valSF81H8ImioOAxluWYWOpWkpyktY2vnt4tbrX9XYaxovq6cgowaJp2w==", + "dev": true, + "requires": { + "@jridgewell/resolve-uri": "^3.0.3", + "@jridgewell/sourcemap-codec": "^1.4.10" + } + }, + "@leichtgewicht/ip-codec": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/@leichtgewicht/ip-codec/-/ip-codec-2.0.4.tgz", + "integrity": "sha512-Hcv+nVC0kZnQ3tD9GVu5xSMR4VVYOteQIr/hwFPVEvPdlXqgGEuRjiheChHgdM+JyqdgNcmzZOX/tnl0JOiI7A==", + "dev": true + }, + "@lgaitan/pace-progress": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/@lgaitan/pace-progress/-/pace-progress-1.0.7.tgz", + "integrity": "sha512-GMoTcF6WBpno7a7Iyx7M79os26d5bCDbh7YTZmXZM8YuLR3DDtwo0/CBYddStGD6QIBTieFDz4IAQiO0dAdRGw==", + "dev": true + }, + "@nodelib/fs.scandir": { + "version": "2.1.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.scandir/-/fs.scandir-2.1.5.tgz", + "integrity": "sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "2.0.5", + "run-parallel": "^1.1.9" + } + }, + "@nodelib/fs.stat": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/@nodelib/fs.stat/-/fs.stat-2.0.5.tgz", + "integrity": "sha512-RkhPPp2zrqDAQA/2jNhnztcPAlv64XdhIp7a7454A5ovI7Bukxgt7MX7udwAu3zg1DcpPU0rz3VV1SeaqvY4+A==", + "dev": true + }, + "@nodelib/fs.walk": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/@nodelib/fs.walk/-/fs.walk-1.2.8.tgz", + "integrity": "sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==", + "dev": true, + "requires": { + "@nodelib/fs.scandir": "2.1.5", + "fastq": "^1.6.0" + } + }, + "@popperjs/core": { + "version": "2.11.5", + "resolved": "https://registry.npmjs.org/@popperjs/core/-/core-2.11.5.tgz", + "integrity": "sha512-9X2obfABZuDVLCgPK9aX0a/x4jaOEweTTWE2+9sr0Qqqevj2Uv5XorvusThmc9XGYpS9yI+fhh8RTafBtGposw==", + "dev": true + }, + "@swc/helpers": { + "version": "0.3.16", + "resolved": "https://registry.npmjs.org/@swc/helpers/-/helpers-0.3.16.tgz", + "integrity": "sha512-xOhhpOruRcroQ0Nb5a5IgP94AJ0DuJnhEfXL+icJ1gn7uls5DXX2mRrlBqmrd0rAj/+/BRU8RB2VN8mA8DuFYQ==", + "dev": true, + "requires": { + "tslib": "^2.4.0" + } + }, + "@sweetalert2/theme-bootstrap-4": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/@sweetalert2/theme-bootstrap-4/-/theme-bootstrap-4-4.0.5.tgz", + "integrity": "sha512-pe5mQ98sgrphNVq6Xe5BsWxsfI1Z8zT9C2oux6+4B6Qt30qYo58Q+bnzRs8pV95O9/URt/QJZyl+R8SabMeW6g==", + "dev": true + }, + "@trysound/sax": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/@trysound/sax/-/sax-0.2.0.tgz", + "integrity": "sha512-L7z9BgrNEcYyUYtF+HaEfiS5ebkh9jXqbszz7pC0hRBPaatV0XjSD3+eHrpqFemQfgwiFF0QPIarnIihIDn7OA==", + "dev": true + }, + "@ttskch/select2-bootstrap4-theme": { + "version": "1.5.2", + "resolved": "https://registry.npmjs.org/@ttskch/select2-bootstrap4-theme/-/select2-bootstrap4-theme-1.5.2.tgz", + "integrity": "sha512-gAj8qNy/VYwQDBkACm0USM66kxFai8flX83ayRXPNhzZckEgSqIBB9sM74SCM3ssgeX+ZVy4BifTnLis+KpIyg==", + "dev": true + }, + "@types/babel__core": { + "version": "7.1.19", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.1.19.tgz", + "integrity": "sha512-WEOTgRsbYkvA/KCsDwVEGkd7WAr1e3g31VHQ8zy5gul/V1qKullU/BU5I68X5v7V3GnB9eotmom4v5a5gjxorw==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "@types/babel__generator": { + "version": "7.6.4", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.6.4.tgz", + "integrity": "sha512-tFkciB9j2K755yrTALxD44McOrk+gfpIpvC3sxHjRawj6PfnQxrse4Clq5y/Rq+G3mrBurMax/lG8Qn2t9mSsg==", + "dev": true, + "requires": { + "@babel/types": "^7.0.0" + } + }, + "@types/babel__template": { + "version": "7.4.1", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.1.tgz", + "integrity": "sha512-azBFKemX6kMg5Io+/rdGT0dkGreboUVR0Cdm3fz9QJWpaQGJRQXl7C+6hOTCZcMll7KFyEQpgbYI2lHdsS4U7g==", + "dev": true, + "requires": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "@types/babel__traverse": { + "version": "7.17.1", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.17.1.tgz", + "integrity": "sha512-kVzjari1s2YVi77D3w1yuvohV2idweYXMCDzqBiVNN63TcDWrIlTVOYpqVrvbbyOE/IyzBoTKF0fdnLPEORFxA==", + "dev": true, + "requires": { + "@babel/types": "^7.3.0" + } + }, + "@types/body-parser": { + "version": "1.19.2", + "resolved": "https://registry.npmjs.org/@types/body-parser/-/body-parser-1.19.2.tgz", + "integrity": "sha512-ALYone6pm6QmwZoAgeyNksccT9Q4AWZQ6PvfwR37GT6r6FWUPguq6sUmNGSMV2Wr761oQoBxwGGa6DR5o1DC9g==", + "dev": true, + "requires": { + "@types/connect": "*", + "@types/node": "*" + } + }, + "@types/bonjour": { + "version": "3.5.10", + "resolved": "https://registry.npmjs.org/@types/bonjour/-/bonjour-3.5.10.tgz", + "integrity": "sha512-p7ienRMiS41Nu2/igbJxxLDWrSZ0WxM8UQgCeO9KhoVF7cOVFkrKsiDr1EsJIla8vV3oEEjGcz11jc5yimhzZw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/clean-css": { + "version": "4.2.5", + "resolved": "https://registry.npmjs.org/@types/clean-css/-/clean-css-4.2.5.tgz", + "integrity": "sha512-NEzjkGGpbs9S9fgC4abuBvTpVwE3i+Acu9BBod3PUyjDVZcNsGx61b8r2PphR61QGPnn0JHVs5ey6/I4eTrkxw==", + "dev": true, + "requires": { + "@types/node": "*", + "source-map": "^0.6.0" + } + }, + "@types/connect": { + "version": "3.4.35", + "resolved": "https://registry.npmjs.org/@types/connect/-/connect-3.4.35.tgz", + "integrity": "sha512-cdeYyv4KWoEgpBISTxWvqYsVy444DOqehiF3fM3ne10AmJ62RSyNkUnxMJXHQWRQQX2eR94m5y1IZyDwBjV9FQ==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/connect-history-api-fallback": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/@types/connect-history-api-fallback/-/connect-history-api-fallback-1.3.5.tgz", + "integrity": "sha512-h8QJa8xSb1WD4fpKBDcATDNGXghFj6/3GRWG6dhmRcu0RX1Ubasur2Uvx5aeEwlf0MwblEC2bMzzMQntxnw/Cw==", + "dev": true, + "requires": { + "@types/express-serve-static-core": "*", + "@types/node": "*" + } + }, + "@types/eslint": { + "version": "8.4.2", + "resolved": "https://registry.npmjs.org/@types/eslint/-/eslint-8.4.2.tgz", + "integrity": "sha512-Z1nseZON+GEnFjJc04sv4NSALGjhFwy6K0HXt7qsn5ArfAKtb63dXNJHf+1YW6IpOIYRBGUbu3GwJdj8DGnCjA==", + "dev": true, + "requires": { + "@types/estree": "*", + "@types/json-schema": "*" + } + }, + "@types/eslint-scope": { + "version": "3.7.3", + "resolved": "https://registry.npmjs.org/@types/eslint-scope/-/eslint-scope-3.7.3.tgz", + "integrity": "sha512-PB3ldyrcnAicT35TWPs5IcwKD8S333HMaa2VVv4+wdvebJkjWuW/xESoB8IwRcog8HYVYamb1g/R31Qv5Bx03g==", + "dev": true, + "requires": { + "@types/eslint": "*", + "@types/estree": "*" + } + }, + "@types/estree": { + "version": "0.0.51", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-0.0.51.tgz", + "integrity": "sha512-CuPgU6f3eT/XgKKPqKd/gLZV1Xmvf1a2R5POBOGQa6uv82xpls89HU5zKeVoyR8XzHd1RGNOlQlvUe3CFkjWNQ==", + "dev": true + }, + "@types/express": { + "version": "4.17.13", + "resolved": "https://registry.npmjs.org/@types/express/-/express-4.17.13.tgz", + "integrity": "sha512-6bSZTPaTIACxn48l50SR+axgrqm6qXFIxrdAKaG6PaJk3+zuUr35hBlgT7vOmJcum+OEaIBLtHV/qloEAFITeA==", + "dev": true, + "requires": { + "@types/body-parser": "*", + "@types/express-serve-static-core": "^4.17.18", + "@types/qs": "*", + "@types/serve-static": "*" + } + }, + "@types/express-serve-static-core": { + "version": "4.17.28", + "resolved": "https://registry.npmjs.org/@types/express-serve-static-core/-/express-serve-static-core-4.17.28.tgz", + "integrity": "sha512-P1BJAEAW3E2DJUlkgq4tOL3RyMunoWXqbSCygWo5ZIWTjUgN1YnaXWW4VWl/oc8vs/XoYibEGBKP0uZyF4AHig==", + "dev": true, + "requires": { + "@types/node": "*", + "@types/qs": "*", + "@types/range-parser": "*" + } + }, + "@types/glob": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/@types/glob/-/glob-7.2.0.tgz", + "integrity": "sha512-ZUxbzKl0IfJILTS6t7ip5fQQM/J3TJYubDm3nMbgubNNYS62eXeUpoLUC8/7fJNiFYHTrGPQn7hspDUzIHX3UA==", + "dev": true, + "requires": { + "@types/minimatch": "*", + "@types/node": "*" + } + }, + "@types/http-proxy": { + "version": "1.17.9", + "resolved": "https://registry.npmjs.org/@types/http-proxy/-/http-proxy-1.17.9.tgz", + "integrity": "sha512-QsbSjA/fSk7xB+UXlCT3wHBy5ai9wOcNDWwZAtud+jXhwOM3l+EYZh8Lng4+/6n8uar0J7xILzqftJdJ/Wdfkw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/imagemin": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/@types/imagemin/-/imagemin-8.0.0.tgz", + "integrity": "sha512-B9X2CUeDv/uUeY9CqkzSTfmsLkeJP6PkmXlh4lODBbf9SwpmNuLS30WzUOi863dgsjY3zt3gY5q2F+UdifRi1A==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/imagemin-gifsicle": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-gifsicle/-/imagemin-gifsicle-7.0.1.tgz", + "integrity": "sha512-kUz6sUh0P95JOS0RGEaaemWUrASuw+dLsWIveK2UZJx74id/B9epgblMkCk/r5MjUWbZ83wFvacG5Rb/f97gyA==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-mozjpeg": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-mozjpeg/-/imagemin-mozjpeg-8.0.1.tgz", + "integrity": "sha512-kMQWEoKxxhlnH4POI3qfW9DjXlQfi80ux3l2b3j5R3eudSCoUIzKQLkfMjNJ6eMYnMWBcB+rfQOWqIzdIwFGKw==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-optipng": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-optipng/-/imagemin-optipng-5.2.1.tgz", + "integrity": "sha512-XCM/3q+HUL7v4zOqMI+dJ5dTxT+MUukY9KU49DSnYb/4yWtSMHJyADP+WHSMVzTR63J2ZvfUOzSilzBNEQW78g==", + "dev": true, + "requires": { + "@types/imagemin": "*" + } + }, + "@types/imagemin-svgo": { + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/@types/imagemin-svgo/-/imagemin-svgo-8.0.1.tgz", + "integrity": "sha512-YafkdrVAcr38U0Ln1C+L1n4SIZqC47VBHTyxCq7gTUSd1R9MdIvMcrljWlgU1M9O68WZDeQWUrKipKYfEOCOvQ==", + "dev": true, + "requires": { + "@types/imagemin": "*", + "@types/svgo": "^1" + } + }, + "@types/json-schema": { + "version": "7.0.11", + "resolved": "https://registry.npmjs.org/@types/json-schema/-/json-schema-7.0.11.tgz", + "integrity": "sha512-wOuvG1SN4Us4rez+tylwwwCV1psiNVOkJeM3AUWUNWg/jDQY2+HE/444y5gc+jBmRqASOm2Oeh5c1axHobwRKQ==", + "dev": true + }, + "@types/mime": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/@types/mime/-/mime-1.3.2.tgz", + "integrity": "sha512-YATxVxgRqNH6nHEIsvg6k2Boc1JHI9ZbH5iWFFv/MTkchz3b1ieGDa5T0a9RznNdI0KhVbdbWSN+KWWrQZRxTw==", + "dev": true + }, + "@types/minimatch": { + "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/minimatch/-/minimatch-3.0.5.tgz", + "integrity": "sha512-Klz949h02Gz2uZCMGwDUSDS1YBlTdDDgbWHi+81l29tQALUtvz4rAYi5uoVhE5Lagoq6DeqAUlbrHvW/mXDgdQ==", + "dev": true + }, + "@types/node": { + "version": "17.0.36", + "resolved": "https://registry.npmjs.org/@types/node/-/node-17.0.36.tgz", + "integrity": "sha512-V3orv+ggDsWVHP99K3JlwtH20R7J4IhI1Kksgc+64q5VxgfRkQG8Ws3MFm/FZOKDYGy9feGFlZ70/HpCNe9QaA==", + "dev": true + }, + "@types/parse-json": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/@types/parse-json/-/parse-json-4.0.0.tgz", + "integrity": "sha512-//oorEZjL6sbPcKUaCdIGlIUeH26mgzimjBB77G6XRgnDl/L5wOnpyBGRe/Mmf5CVW3PwEBE1NjiMZ/ssFh4wA==", + "dev": true + }, + "@types/qs": { + "version": "6.9.7", + "resolved": "https://registry.npmjs.org/@types/qs/-/qs-6.9.7.tgz", + "integrity": "sha512-FGa1F62FT09qcrueBA6qYTrJPVDzah9a+493+o2PCXsesWHIn27G98TsSMs3WPNbZIEj4+VJf6saSFpvD+3Zsw==", + "dev": true + }, + "@types/range-parser": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@types/range-parser/-/range-parser-1.2.4.tgz", + "integrity": "sha512-EEhsLsD6UsDM1yFhAvy0Cjr6VwmpMWqFBCb9w07wVugF7w9nfajxLuVmngTIpgS6svCnm6Vaw+MZhoDCKnOfsw==", + "dev": true + }, + "@types/retry": { + "version": "0.12.0", + "resolved": "https://registry.npmjs.org/@types/retry/-/retry-0.12.0.tgz", + "integrity": "sha512-wWKOClTTiizcZhXnPY4wikVAwmdYHp8q6DmC+EJUzAMsycb7HB32Kh9RN4+0gExjmPmZSAQjgURXIGATPegAvA==", + "dev": true + }, + "@types/serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/@types/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha512-d/Hs3nWDxNL2xAczmOVZNj92YZCS6RGxfBPjKzuu/XirCgXdpKEb88dYNbrYGint6IVWLNP+yonwVAuRC0T2Dg==", + "dev": true, + "requires": { + "@types/express": "*" + } + }, + "@types/serve-static": { + "version": "1.13.10", + "resolved": "https://registry.npmjs.org/@types/serve-static/-/serve-static-1.13.10.tgz", + "integrity": "sha512-nCkHGI4w7ZgAdNkrEu0bv+4xNV/XDqW+DydknebMOQwkpDGx8G+HTlj7R7ABI8i8nKxVw0wtKPi1D+lPOkh4YQ==", + "dev": true, + "requires": { + "@types/mime": "^1", + "@types/node": "*" + } + }, + "@types/sockjs": { + "version": "0.3.33", + "resolved": "https://registry.npmjs.org/@types/sockjs/-/sockjs-0.3.33.tgz", + "integrity": "sha512-f0KEEe05NvUnat+boPTZ0dgaLZ4SfSouXUgv5noUiefG2ajgKjmETo9ZJyuqsl7dfl2aHlLJUiki6B4ZYldiiw==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@types/svgo": { + "version": "1.3.6", + "resolved": "https://registry.npmjs.org/@types/svgo/-/svgo-1.3.6.tgz", + "integrity": "sha512-AZU7vQcy/4WFEuwnwsNsJnFwupIpbllH1++LXScN6uxT1Z4zPzdrWG97w4/I7eFKFTvfy/bHFStWjdBAg2Vjug==", + "dev": true + }, + "@types/ws": { + "version": "8.5.3", + "resolved": "https://registry.npmjs.org/@types/ws/-/ws-8.5.3.tgz", + "integrity": "sha512-6YOoWjruKj1uLf3INHH7D3qTXwFfEsg1kf3c0uDdSBJwfa/llkwIjrAGV7j7mVgGNbzTQ3HiHKKDXl6bJPD97w==", + "dev": true, + "requires": { + "@types/node": "*" + } + }, + "@vue/component-compiler-utils": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/@vue/component-compiler-utils/-/component-compiler-utils-3.3.0.tgz", + "integrity": "sha512-97sfH2mYNU+2PzGrmK2haqffDpVASuib9/w2/noxiFi31Z54hW+q3izKQXXQZSNhtiUpAI36uSuYepeBe4wpHQ==", + "dev": true, + "requires": { + "consolidate": "^0.15.1", + "hash-sum": "^1.0.2", + "lru-cache": "^4.1.2", + "merge-source-map": "^1.1.0", + "postcss": "^7.0.36", + "postcss-selector-parser": "^6.0.2", + "prettier": "^1.18.2 || ^2.0.0", + "source-map": "~0.6.1", + "vue-template-es2015-compiler": "^1.9.0" + }, + "dependencies": { + "lru-cache": { + "version": "4.1.5", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-4.1.5.tgz", + "integrity": "sha512-sWZlbEP2OsHNkXrMl5GYk/jKk70MBng6UU4YI/qGDYbgf6YbP4EvmqISbXCoJiRKs+1bSpFHVgQxvJ17F2li5g==", + "dev": true, + "requires": { + "pseudomap": "^1.0.2", + "yallist": "^2.1.2" + } + }, + "picocolors": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-0.2.1.tgz", + "integrity": "sha512-cMlDqaLEqfSaW8Z7N5Jw+lyIW869EzT73/F5lhtY9cLGoVxSXznfgfXMO0Z5K0o0Q2TkTXq+0KFsdnSe3jDViA==", + "dev": true + }, + "postcss": { + "version": "7.0.39", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.39.tgz", + "integrity": "sha512-yioayjNbHn6z1/Bywyb2Y4s3yvDAeXGOyxqD+LnVOinq6Mdmd++SW2wUNVzavyyHxd6+DxzWGIuosg6P1Rj8uA==", + "dev": true, + "requires": { + "picocolors": "^0.2.1", + "source-map": "^0.6.1" + } + }, + "yallist": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-2.1.2.tgz", + "integrity": "sha1-HBH5IY8HYImkfdUS+TxmmaaoHVI=", + "dev": true + } + } + }, + "@webassemblyjs/ast": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ast/-/ast-1.11.1.tgz", + "integrity": "sha512-ukBh14qFLjxTQNTXocdyksN5QdM28S1CxHt2rdskFyL+xFV7VremuBLVbmCePj+URalXBENx/9Lm7lnhihtCSw==", + "dev": true, + "requires": { + "@webassemblyjs/helper-numbers": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1" + } + }, + "@webassemblyjs/floating-point-hex-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/floating-point-hex-parser/-/floating-point-hex-parser-1.11.1.tgz", + "integrity": "sha512-iGRfyc5Bq+NnNuX8b5hwBrRjzf0ocrJPI6GWFodBFzmFnyvrQ83SHKhmilCU/8Jv67i4GJZBMhEzltxzcNagtQ==", + "dev": true + }, + "@webassemblyjs/helper-api-error": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-api-error/-/helper-api-error-1.11.1.tgz", + "integrity": "sha512-RlhS8CBCXfRUR/cwo2ho9bkheSXG0+NwooXcc3PAILALf2QLdFyj7KGsKRbVc95hZnhnERon4kW/D3SZpp6Tcg==", + "dev": true + }, + "@webassemblyjs/helper-buffer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-buffer/-/helper-buffer-1.11.1.tgz", + "integrity": "sha512-gwikF65aDNeeXa8JxXa2BAk+REjSyhrNC9ZwdT0f8jc4dQQeDQ7G4m0f2QCLPJiMTTO6wfDmRmj/pW0PsUvIcA==", + "dev": true + }, + "@webassemblyjs/helper-numbers": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-numbers/-/helper-numbers-1.11.1.tgz", + "integrity": "sha512-vDkbxiB8zfnPdNK9Rajcey5C0w+QJugEglN0of+kmO8l7lDb77AnlKYQF7aarZuCrv+l0UvqL+68gSDr3k9LPQ==", + "dev": true, + "requires": { + "@webassemblyjs/floating-point-hex-parser": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/helper-wasm-bytecode": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-bytecode/-/helper-wasm-bytecode-1.11.1.tgz", + "integrity": "sha512-PvpoOGiJwXeTrSf/qfudJhwlvDQxFgelbMqtq52WWiXC6Xgg1IREdngmPN3bs4RoO83PnL/nFrxucXj1+BX62Q==", + "dev": true + }, + "@webassemblyjs/helper-wasm-section": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/helper-wasm-section/-/helper-wasm-section-1.11.1.tgz", + "integrity": "sha512-10P9No29rYX1j7F3EVPX3JvGPQPae+AomuSTPiF9eBQeChHI6iqjMIwR9JmOJXwpnn/oVGDk7I5IlskuMwU/pg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1" + } + }, + "@webassemblyjs/ieee754": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/ieee754/-/ieee754-1.11.1.tgz", + "integrity": "sha512-hJ87QIPtAMKbFq6CGTkZYJivEwZDbQUgYd3qKSadTNOhVY7p+gfP6Sr0lLRVTaG1JjFj+r3YchoqRYxNH3M0GQ==", + "dev": true, + "requires": { + "@xtuc/ieee754": "^1.2.0" + } + }, + "@webassemblyjs/leb128": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/leb128/-/leb128-1.11.1.tgz", + "integrity": "sha512-BJ2P0hNZ0u+Th1YZXJpzW6miwqQUGcIHT1G/sf72gLVD9DZ5AdYTqPNbHZh6K1M5VmKvFXwGSWZADz+qBWxeRw==", + "dev": true, + "requires": { + "@xtuc/long": "4.2.2" + } + }, + "@webassemblyjs/utf8": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/utf8/-/utf8-1.11.1.tgz", + "integrity": "sha512-9kqcxAEdMhiwQkHpkNiorZzqpGrodQQ2IGrHHxCy+Ozng0ofyMA0lTqiLkVs1uzTRejX+/O0EOT7KxqVPuXosQ==", + "dev": true + }, + "@webassemblyjs/wasm-edit": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-edit/-/wasm-edit-1.11.1.tgz", + "integrity": "sha512-g+RsupUC1aTHfR8CDgnsVRVZFJqdkFHpsHMfJuWQzWU3tvnLC07UqHICfP+4XyL2tnr1amvl1Sdp06TnYCmVkA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/helper-wasm-section": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-opt": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "@webassemblyjs/wast-printer": "1.11.1" + } + }, + "@webassemblyjs/wasm-gen": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-gen/-/wasm-gen-1.11.1.tgz", + "integrity": "sha512-F7QqKXwwNlMmsulj6+O7r4mmtAlCWfO/0HdgOxSklZfQcDu0TpLiD1mRt/zF25Bk59FIjEuGAIyn5ei4yMfLhA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wasm-opt": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-opt/-/wasm-opt-1.11.1.tgz", + "integrity": "sha512-VqnkNqnZlU5EB64pp1l7hdm3hmQw7Vgqa0KF/KCNO9sIpI6Fk6brDEiX+iCOYrvMuBWDws0NkTOxYEb85XQHHw==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-buffer": "1.11.1", + "@webassemblyjs/wasm-gen": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1" + } + }, + "@webassemblyjs/wasm-parser": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wasm-parser/-/wasm-parser-1.11.1.tgz", + "integrity": "sha512-rrBujw+dJu32gYB7/Lup6UhdkPx9S9SnobZzRVL7VcBH9Bt9bCBLEuX/YXOOtBsOZ4NQrRykKhffRWHvigQvOA==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/helper-api-error": "1.11.1", + "@webassemblyjs/helper-wasm-bytecode": "1.11.1", + "@webassemblyjs/ieee754": "1.11.1", + "@webassemblyjs/leb128": "1.11.1", + "@webassemblyjs/utf8": "1.11.1" + } + }, + "@webassemblyjs/wast-printer": { + "version": "1.11.1", + "resolved": "https://registry.npmjs.org/@webassemblyjs/wast-printer/-/wast-printer-1.11.1.tgz", + "integrity": "sha512-IQboUWM4eKzWW+N/jij2sRatKMh99QEelo3Eb2q0qXkvPRISAj8Qxtmw5itwqK+TTkBuUIE45AxYPToqPtL5gg==", + "dev": true, + "requires": { + "@webassemblyjs/ast": "1.11.1", + "@xtuc/long": "4.2.2" + } + }, + "@webpack-cli/configtest": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/configtest/-/configtest-1.1.1.tgz", + "integrity": "sha512-1FBc1f9G4P/AxMqIgfZgeOTuRnwZMten8E7zap5zgpPInnCrP8D4Q81+4CWIch8i/Nf7nXjP0v6CjjbHOrXhKg==", + "dev": true, + "requires": {} + }, + "@webpack-cli/info": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/info/-/info-1.4.1.tgz", + "integrity": "sha512-PKVGmazEq3oAo46Q63tpMr4HipI3OPfP7LiNOEJg963RMgT0rqheag28NCML0o3GIzA3DmxP1ZIAv9oTX1CUIA==", + "dev": true, + "requires": { + "envinfo": "^7.7.3" + } + }, + "@webpack-cli/serve": { + "version": "1.6.1", + "resolved": "https://registry.npmjs.org/@webpack-cli/serve/-/serve-1.6.1.tgz", + "integrity": "sha512-gNGTiTrjEVQ0OcVnzsRSqTxaBSr+dmTfm+qJsCDluky8uhdLWep7Gcr62QsAKHTMxjCS/8nEITsmFAhfIx+QSw==", + "dev": true, + "requires": {} + }, + "@xtuc/ieee754": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/@xtuc/ieee754/-/ieee754-1.2.0.tgz", + "integrity": "sha512-DX8nKgqcGwsc0eJSqYt5lwP4DH5FlHnmuWWBRy7X0NcaGR0ZtuyeESgMwTYVEtxmsNGY+qit4QYT/MIYTOTPeA==", + "dev": true + }, + "@xtuc/long": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/@xtuc/long/-/long-4.2.2.tgz", + "integrity": "sha512-NuHqBY1PB/D8xU6s/thBgOAiAP7HOYDQ32+BFZILJ8ivkUkAHQnWfn6WhL79Owj1qmUnoN/YPhktdIoucipkAQ==", + "dev": true + }, + "accepts": { + "version": "1.3.8", + "resolved": "https://registry.npmjs.org/accepts/-/accepts-1.3.8.tgz", + "integrity": "sha512-PYAthTa2m2VKxuvSD3DPC/Gy+U+sOA1LAuT8mkmRuvw+NACSaeXEQ+NHcVF7rONl6qcaxV3Uuemwawk+7+SJLw==", + "dev": true, + "requires": { + "mime-types": "~2.1.34", + "negotiator": "0.6.3" + } + }, + "acorn": { + "version": "8.7.1", + "resolved": "https://registry.npmjs.org/acorn/-/acorn-8.7.1.tgz", + "integrity": "sha512-Xx54uLJQZ19lKygFXOWsscKUbsBZW0CPykPhVQdhIeIwrbPmJzqeASDInc8nKBnp/JT6igTs82qPXz069H8I/A==", + "dev": true + }, + "acorn-import-assertions": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/acorn-import-assertions/-/acorn-import-assertions-1.8.0.tgz", + "integrity": "sha512-m7VZ3jwz4eK6A4Vtt8Ew1/mNbP24u0FhdyfA7fSvnJR6LMdfOYnmuIrrJAgrYfYJ10F/otaHTtrtrtmHdMNzEw==", + "dev": true, + "requires": {} + }, + "adjust-sourcemap-loader": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/adjust-sourcemap-loader/-/adjust-sourcemap-loader-3.0.0.tgz", + "integrity": "sha512-YBrGyT2/uVQ/c6Rr+t6ZJXniY03YtHGMJQYal368burRGYKqhx9qGTWqcBU5s1CwYY9E/ri63RYyG1IacMZtqw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "regex-parser": "^2.2.11" + } + }, + "admin-lte": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/admin-lte/-/admin-lte-3.1.0.tgz", + "integrity": "sha512-JkmmkjbGgB5RCPwpaUCEktpZz/Ez/vBdfCNx8J3u8doaRRUUV1/oj4PuIiOV+xrNMt05q87131xoGySr/eA4uA==", + "dev": true, + "requires": { + "@fortawesome/fontawesome-free": "^5.15.3", + "@lgaitan/pace-progress": "^1.0.7", + "@sweetalert2/theme-bootstrap-4": "^4.0.3", + "@ttskch/select2-bootstrap4-theme": "^1.5.2", + "bootstrap": "^4.6.0", + "bootstrap-colorpicker": "^3.2.0", + "bootstrap-slider": "^11.0.2", + "bootstrap-switch": "3.3.4", + "bootstrap4-duallistbox": "^4.0.2", + "bs-custom-file-input": "^1.3.4", + "bs-stepper": "^1.7.0", + "chart.js": "^2.9.4", + "codemirror": "^5.60.0", + "datatables.net": "^1.10.24", + "datatables.net-autofill-bs4": "^2.3.5", + "datatables.net-bs4": "^1.10.24", + "datatables.net-buttons-bs4": "^1.7.0", + "datatables.net-colreorder-bs4": "^1.5.3", + "datatables.net-fixedcolumns-bs4": "^3.3.2", + "datatables.net-fixedheader-bs4": "^3.1.8", + "datatables.net-keytable-bs4": "^2.6.1", + "datatables.net-responsive-bs4": "^2.2.7", + "datatables.net-rowgroup-bs4": "^1.1.2", + "datatables.net-rowreorder-bs4": "^1.2.7", + "datatables.net-scroller-bs4": "^2.0.3", + "datatables.net-searchbuilder-bs4": "^1.0.1", + "datatables.net-searchpanes-bs4": "^1.2.2", + "datatables.net-select-bs4": "^1.3.2", + "daterangepicker": "^3.1.0", + "dropzone": "^5.8.1", + "ekko-lightbox": "^5.3.0", + "fastclick": "^1.0.6", + "filterizr": "^2.2.4", + "flag-icon-css": "^3.5.0", + "flot": "^4.2.2", + "fs-extra": "^9.1.0", + "fullcalendar": "^5.5.1", + "icheck-bootstrap": "^3.0.1", + "inputmask": "^5.0.5", + "ion-rangeslider": "^2.3.1", + "jquery": "^3.6.0", + "jquery-knob-chif": "^1.2.13", + "jquery-mapael": "^2.2.0", + "jquery-mousewheel": "^3.1.13", + "jquery-ui-dist": "^1.12.1", + "jquery-validation": "^1.19.3", + "jqvmap-novulnerability": "^1.5.1", + "jsgrid": "^1.5.3", + "jszip": "^3.6.0", + "moment": "^2.29.1", + "overlayscrollbars": "^1.13.1", + "pdfmake": "^0.1.70", + "popper.js": "^1.16.1", + "raphael": "^2.3.0", + "select2": "^4.0.13", + "sparklines": "^1.3.0", + "summernote": "^0.8.18", + "sweetalert2": "^10.15.6", + "tempusdominus-bootstrap-4": "^5.39.0", + "toastr": "^2.1.4", + "uplot": "^1.6.7" + }, + "dependencies": { + "fs-extra": { + "version": "9.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-9.1.0.tgz", + "integrity": "sha512-hcg3ZmepS30/7BSFqRvoo3DOMQu7IjqxO5nCDt+zM9XWjb33Wg7ziNT+Qvqbuc3+gWpzO02JubVyk2G4Zvo1OQ==", + "dev": true, + "requires": { + "at-least-node": "^1.0.0", + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "sweetalert2": { + "version": "10.16.11", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-10.16.11.tgz", + "integrity": "sha512-Rdfabv2G89Tr8vmUTb1auWCYYesKBEWnkYPSi7XaiCIW0ZXXGK8Nw1wYKPEMLU6O8gMSMJe5m6MRKqMQsAQy9A==", + "dev": true + } + } + }, + "ajv": { + "version": "6.12.6", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-6.12.6.tgz", + "integrity": "sha512-j3fVLgvTo527anyYyJOGTYJbG+vnnQYvE0m5mmkc1TK+nxAppkCLMIL0aZ4dblVCNoGShhm+kzE4ZUykBoMg4g==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "fast-json-stable-stringify": "^2.0.0", + "json-schema-traverse": "^0.4.1", + "uri-js": "^4.2.2" + } + }, + "ajv-formats": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/ajv-formats/-/ajv-formats-2.1.1.tgz", + "integrity": "sha512-Wx0Kx52hxE7C18hkMEggYlEifqWZtYaRgouJor+WMdPnQyEK13vgEWyVNup7SoeeoLMsr4kf5h6dOW11I15MUA==", + "dev": true, + "requires": { + "ajv": "^8.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + } + } + }, + "ajv-keywords": { + "version": "3.5.2", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-3.5.2.tgz", + "integrity": "sha512-5p6WTN0DdTGVQk6VjcEju19IgaHudalcfabD7yhDGeA6bcQnmL+CpveLJq/3hvfwd1aof6L386Ougkx6RfyMIQ==", + "dev": true, + "requires": {} + }, + "ansi-html-community": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/ansi-html-community/-/ansi-html-community-0.0.8.tgz", + "integrity": "sha512-1APHAyr3+PCamwNw3bXCPp4HFLONZt/yIH0sZp0/469KWNTEy+qN5jQ3GVX6DMZ1UXAi34yVwtTeaG/HpBuuzw==", + "dev": true + }, + "ansi-regex": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/ansi-regex/-/ansi-regex-5.0.1.tgz", + "integrity": "sha512-quJQXlTSUGL2LH9SUXo8VwsY4soanhgo6LNSm84E1LBcE8s3O0wpdiRzyR9z/ZZJMlMWv37qOOb9pdJlMUEKFQ==", + "dev": true + }, + "ansi-styles": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", + "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", + "dev": true, + "requires": { + "color-convert": "^2.0.1" + } + }, + "anymatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/anymatch/-/anymatch-3.1.2.tgz", + "integrity": "sha512-P43ePfOAIupkguHUycrc4qJ9kz8ZiuOUijaETwX7THt0Y/GNK7v0aa8rY816xWjZ7rJdA5XdMcpVFTKMq+RvWg==", + "dev": true, + "requires": { + "normalize-path": "^3.0.0", + "picomatch": "^2.0.4" + } + }, + "arity-n": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/arity-n/-/arity-n-1.0.4.tgz", + "integrity": "sha512-fExL2kFDC1Q2DUOx3whE/9KoN66IzkY4b4zUHUBFM1ojEYjZZYDcUW3bek/ufGionX9giIKDC5redH2IlGqcQQ==", + "dev": true + }, + "array-flatten": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-2.1.2.tgz", + "integrity": "sha512-hNfzcOV8W4NdualtqBFPyVO+54DSJuZGY9qT4pRroB6S9e3iiido2ISIC5h9R2sPJ8H3FHCIiEnsv1lPXO3KtQ==", + "dev": true + }, + "array-union": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/array-union/-/array-union-2.1.0.tgz", + "integrity": "sha512-HGyxoOTYUyCM6stUe6EJgnd4EoewAI7zMdfqO+kGjnlZmBDz/cR5pf8r/cR4Wq60sL/p0IkcjUEEPwS3GFrIyw==", + "dev": true + }, + "asn1.js": { + "version": "5.4.1", + "resolved": "https://registry.npmjs.org/asn1.js/-/asn1.js-5.4.1.tgz", + "integrity": "sha512-+I//4cYPccV8LdmBLiX8CYvf9Sp3vQsrqu2QNXRcrbiWvcx/UdlFiqUJJzxRQxgsZmvhXhn4cSKeSmoFjVdupA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0", + "safer-buffer": "^2.1.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "assert": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/assert/-/assert-1.5.0.tgz", + "integrity": "sha512-EDsgawzwoun2CZkCgtxJbv392v4nbk9XDD06zI+kQYoBM/3RBWLlEyJARDOmhAAosBjWACEkKL6S+lIZtcAubA==", + "dev": true, + "requires": { + "object-assign": "^4.1.1", + "util": "0.10.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.1.tgz", + "integrity": "sha512-8nWq2nLTAwd02jTqJExUYFSD/fKq6VH9Y/oG2accc/kdI0V98Bag8d5a4gi3XHz73rDWa2PvTtvcWYquKqSENA==", + "dev": true + }, + "util": { + "version": "0.10.3", + "resolved": "https://registry.npmjs.org/util/-/util-0.10.3.tgz", + "integrity": "sha1-evsa/lCAUkZInj23/g7TeTNqwPk=", + "dev": true, + "requires": { + "inherits": "2.0.1" + } + } + } + }, + "at-least-node": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/at-least-node/-/at-least-node-1.0.0.tgz", + "integrity": "sha512-+q/t7Ekv1EDY2l6Gda6LLiX14rU9TV20Wa3ofeQmwPFZbOMo9DXrLbOjFaaclkXKWidIaopwAObQDqwWtGUjqg==", + "dev": true + }, + "atob": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/atob/-/atob-2.1.2.tgz", + "integrity": "sha512-Wm6ukoaOGJi/73p/cl2GvLjTI5JM1k/O14isD73YML8StrH/7/lRFgmg8nICZgD3bZZvjwCGxtMOD3wWNAu8cg==", + "dev": true + }, + "autoprefixer": { + "version": "10.4.7", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.4.7.tgz", + "integrity": "sha512-ypHju4Y2Oav95SipEcCcI5J7CGPuvz8oat7sUtYj3ClK44bldfvtvcxK6IEK++7rqB7YchDGzweZIBG+SD0ZAA==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "caniuse-lite": "^1.0.30001335", + "fraction.js": "^4.2.0", + "normalize-range": "^0.1.2", + "picocolors": "^1.0.0", + "postcss-value-parser": "^4.2.0" + } + }, + "available-typed-arrays": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/available-typed-arrays/-/available-typed-arrays-1.0.5.tgz", + "integrity": "sha512-DMD0KiN46eipeziST1LPP/STfDU0sufISXmjSgvVsoU2tqxctQeASejWcfNtxYKqETM1UxQ8sp2OrSBWpHY6sw==", + "dev": true + }, + "axios": { + "version": "0.25.0", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.25.0.tgz", + "integrity": "sha512-cD8FOb0tRH3uuEe6+evtAbgJtfxr7ly3fQjYcMcuPlgkwVS9xboaVIpcDV+cYQe+yGykgwZCs1pzjntcGa6l5g==", + "dev": true, + "requires": { + "follow-redirects": "^1.14.7" + } + }, + "babel-loader": { + "version": "8.2.5", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.5.tgz", + "integrity": "sha512-OSiFfH89LrEMiWd4pLNqGz4CwJDtbs2ZVc+iGu2HrkRfPxId9F2anQj38IxWpmRfsUY0aBZYi1EFcd3mhtRMLQ==", + "dev": true, + "requires": { + "find-cache-dir": "^3.3.1", + "loader-utils": "^2.0.0", + "make-dir": "^3.1.0", + "schema-utils": "^2.6.5" + } + }, + "babel-plugin-dynamic-import-node": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/babel-plugin-dynamic-import-node/-/babel-plugin-dynamic-import-node-2.3.3.tgz", + "integrity": "sha512-jZVI+s9Zg3IqA/kdi0i6UDCybUI3aSBLnglhYbSSjKlV7yF1F/5LWv8MakQmvYpnbJDS6fcBL2KzHSxNCMtWSQ==", + "dev": true, + "requires": { + "object.assign": "^4.1.0" + } + }, + "babel-plugin-polyfill-corejs2": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs2/-/babel-plugin-polyfill-corejs2-0.3.1.tgz", + "integrity": "sha512-v7/T6EQcNfVLfcN2X8Lulb7DjprieyLWJK/zOWH5DUYcAgex9sP3h25Q+DLsX9TloXe3y1O8l2q2Jv9q8UVB9w==", + "dev": true, + "requires": { + "@babel/compat-data": "^7.13.11", + "@babel/helper-define-polyfill-provider": "^0.3.1", + "semver": "^6.1.1" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "babel-plugin-polyfill-corejs3": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-corejs3/-/babel-plugin-polyfill-corejs3-0.5.2.tgz", + "integrity": "sha512-G3uJih0XWiID451fpeFaYGVuxHEjzKTHtc9uGFEjR6hHrvNzeS/PX+LLLcetJcytsB5m4j+K3o/EpXJNb/5IEQ==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1", + "core-js-compat": "^3.21.0" + } + }, + "babel-plugin-polyfill-regenerator": { + "version": "0.3.1", + "resolved": "https://registry.npmjs.org/babel-plugin-polyfill-regenerator/-/babel-plugin-polyfill-regenerator-0.3.1.tgz", + "integrity": "sha512-Y2B06tvgHYt1x0yz17jGkGeeMr5FeKUu+ASJ+N6nB5lQ8Dapfg42i0OVrf8PNGJ3zKL4A23snMi1IRwrqqND7A==", + "dev": true, + "requires": { + "@babel/helper-define-polyfill-provider": "^0.3.1" + } + }, + "balanced-match": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/balanced-match/-/balanced-match-1.0.2.tgz", + "integrity": "sha512-3oSeUO0TMV67hN1AmbXsK4yaqU7tjiHlbxRDZOpH0KW9+CeX4bRAaX0Anxt0tx2MrpRpWwQaPwIlISEJhYU5Pw==", + "dev": true + }, + "base64-js": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-1.5.1.tgz", + "integrity": "sha512-AKpaYlHn8t4SVbOHCy+b5+KKgvR4vrsD8vbvrbiQJps7fKDTkjkDry6ji0rUJjC0kzbNePLwzxq8iypo41qeWA==", + "dev": true + }, + "batch": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/batch/-/batch-0.6.1.tgz", + "integrity": "sha512-x+VAiMRL6UPkx+kudNvxTl6hB2XNNCG2r+7wixVfIYwu/2HKRXimwQyaumLjMveWvT2Hkd/cAJw+QBMfJ/EKVw==", + "dev": true + }, + "big.js": { + "version": "5.2.2", + "resolved": "https://registry.npmjs.org/big.js/-/big.js-5.2.2.tgz", + "integrity": "sha512-vyL2OymJxmarO8gxMr0mhChsO9QGwhynfuu4+MHTAW6czfq9humCB7rKpUjDd9YUiDPU4mzpyupFSvOClAwbmQ==", + "dev": true + }, + "binary-extensions": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/binary-extensions/-/binary-extensions-2.2.0.tgz", + "integrity": "sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==", + "dev": true + }, + "bluebird": { + "version": "3.7.2", + "resolved": "https://registry.npmjs.org/bluebird/-/bluebird-3.7.2.tgz", + "integrity": "sha512-XpNj6GDQzdfW+r2Wnn7xiSAd7TM3jzkxGXBGTtWKuSXv1xUV+azxAm8jdWZN06QTQk+2N2XB9jRDkvbmQmcRtg==", + "dev": true + }, + "bn.js": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-5.2.1.tgz", + "integrity": "sha512-eXRvHzWyYPBuB4NBy0cmYQjGitUrtqwbvlzP3G6VFnNRbsZQIxQ10PbKKHt8gZ/HW/D/747aDl+QkDqg3KQLMQ==", + "dev": true + }, + "body-parser": { + "version": "1.20.0", + "resolved": "https://registry.npmjs.org/body-parser/-/body-parser-1.20.0.tgz", + "integrity": "sha512-DfJ+q6EPcGKZD1QWUjSpqp+Q7bDQTsQIF4zfUAtZ6qk+H/3/QRhg9CEp39ss+/T2vw0+HaidC0ecJj/DRLIaKg==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "content-type": "~1.0.4", + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "on-finished": "2.4.1", + "qs": "6.10.3", + "raw-body": "2.5.1", + "type-is": "~1.6.18", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "bonjour-service": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/bonjour-service/-/bonjour-service-1.0.12.tgz", + "integrity": "sha512-pMmguXYCu63Ug37DluMKEHdxc+aaIf/ay4YbF8Gxtba+9d3u+rmEWy61VK3Z3hp8Rskok3BunHYnG0dUHAsblw==", + "dev": true, + "requires": { + "array-flatten": "^2.1.2", + "dns-equal": "^1.0.0", + "fast-deep-equal": "^3.1.3", + "multicast-dns": "^7.2.4" + } + }, + "boolbase": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/boolbase/-/boolbase-1.0.0.tgz", + "integrity": "sha512-JZOSA7Mo9sNGB8+UjSgzdLtokWAky1zbztM3WRLCbZ70/3cTANmQmOdR7y2g+J0e2WXywy1yS468tY+IruqEww==", + "dev": true + }, + "bootstrap": { + "version": "4.6.1", + "resolved": "https://registry.npmjs.org/bootstrap/-/bootstrap-4.6.1.tgz", + "integrity": "sha512-0dj+VgI9Ecom+rvvpNZ4MUZJz8dcX7WCX+eTID9+/8HgOkv3dsRzi8BGeZJCQU6flWQVYxwTQnEZFrmJSEO7og==", + "dev": true, + "requires": {} + }, + "bootstrap-colorpicker": { + "version": "3.4.0", + "resolved": "https://registry.npmjs.org/bootstrap-colorpicker/-/bootstrap-colorpicker-3.4.0.tgz", + "integrity": "sha512-7vA0hvLrat3ptobEKlT9+6amzBUJcDAoh6hJRQY/AD+5dVZYXXf1ivRfrTwmuwiVLJo9rZwM8YB4lYzp6agzqg==", + "dev": true, + "requires": { + "bootstrap": ">=4.0", + "jquery": ">=2.2", + "popper.js": ">=1.10" + } + }, + "bootstrap-slider": { + "version": "11.0.2", + "resolved": "https://registry.npmjs.org/bootstrap-slider/-/bootstrap-slider-11.0.2.tgz", + "integrity": "sha512-CdwS+Z6X79OkLes9RfDgPB9UIY/+81wTkm6ktdSB6hdyiRbjJLFQIjZdnEr55tDyXZfgC7U6yeSXkNN9ZdGqjA==", + "dev": true + }, + "bootstrap-switch": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/bootstrap-switch/-/bootstrap-switch-3.3.4.tgz", + "integrity": "sha512-7YQo+Ir6gCUqC36FFp1Zvec5dRF/+obq+1drMtdIMi9Xc84Kx63Evi0kdcp4HfiGsZpiz6IskyYDNlSKcxsL7w==", + "dev": true, + "requires": {} + }, + "bootstrap4-duallistbox": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/bootstrap4-duallistbox/-/bootstrap4-duallistbox-4.0.2.tgz", + "integrity": "sha512-vQdANVE2NN0HMaZO9qWJy0C7u04uTpAmtUGO3KLq3xAZKCboJweQ437hDTszI6pbYV2olJCGZMbdhvIkBNGeGQ==", + "dev": true + }, + "brace-expansion": { + "version": "1.1.11", + "resolved": "https://registry.npmjs.org/brace-expansion/-/brace-expansion-1.1.11.tgz", + "integrity": "sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==", + "dev": true, + "requires": { + "balanced-match": "^1.0.0", + "concat-map": "0.0.1" + } + }, + "braces": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/braces/-/braces-3.0.2.tgz", + "integrity": "sha512-b8um+L1RzM3WDSzvhm6gIz1yfTbBt6YTlcEKAvsmqCZZFw46z626lVj9j1yEPW33H5H+lBQpZMP1k8l+78Ha0A==", + "dev": true, + "requires": { + "fill-range": "^7.0.1" + } + }, + "brorand": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/brorand/-/brorand-1.1.0.tgz", + "integrity": "sha512-cKV8tMCEpQs4hK/ik71d6LrPOnpkpGBR0wzxqr68g2m/LB2GxVYQroAjMJZRVM1Y4BCjCKc3vAamxSzOY2RP+w==", + "dev": true + }, + "brotli": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/brotli/-/brotli-1.3.2.tgz", + "integrity": "sha512-K0HNa0RRpUpcF8yS4yNSd6vmkrvA+wRd+symIcwhfqGLAi7YgGlKfO4oDYVgiahiLGNviO9uY7Zlb1MCPeTmSA==", + "dev": true, + "requires": { + "base64-js": "^1.1.2" + } + }, + "browserify-aes": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/browserify-aes/-/browserify-aes-1.2.0.tgz", + "integrity": "sha512-+7CHXqGuspUn/Sl5aO7Ea0xWGAtETPXNSAjHo48JfLdPWcMng33Xe4znFvQweqc/uzk5zSOI3H52CYnjCfb5hA==", + "dev": true, + "requires": { + "buffer-xor": "^1.0.3", + "cipher-base": "^1.0.0", + "create-hash": "^1.1.0", + "evp_bytestokey": "^1.0.3", + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "browserify-cipher": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/browserify-cipher/-/browserify-cipher-1.0.1.tgz", + "integrity": "sha512-sPhkz0ARKbf4rRQt2hTpAHqn47X3llLkUGn+xEJzLjwY8LRs2p0v7ljvI5EyoRO/mexrNunNECisZs+gw2zz1w==", + "dev": true, + "requires": { + "browserify-aes": "^1.0.4", + "browserify-des": "^1.0.0", + "evp_bytestokey": "^1.0.0" + } + }, + "browserify-des": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/browserify-des/-/browserify-des-1.0.2.tgz", + "integrity": "sha512-BioO1xf3hFwz4kc6iBhI3ieDFompMhrMlnDFC4/0/vd5MokpuAc3R+LYbwTA9A5Yc9pq9UYPqffKpW2ObuwX5A==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "des.js": "^1.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "browserify-rsa": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/browserify-rsa/-/browserify-rsa-4.1.0.tgz", + "integrity": "sha512-AdEER0Hkspgno2aR97SAf6vi0y0k8NuOpGnVH3O99rcA5Q6sh8QxcngtHuJ6uXwnfAXNM4Gn1Gb7/MV1+Ymbog==", + "dev": true, + "requires": { + "bn.js": "^5.0.0", + "randombytes": "^2.0.1" + } + }, + "browserify-sign": { + "version": "4.2.1", + "resolved": "https://registry.npmjs.org/browserify-sign/-/browserify-sign-4.2.1.tgz", + "integrity": "sha512-/vrA5fguVAKKAVTNJjgSm1tRQDHUU6DbwO9IROu/0WAzC8PKhucDSh18J0RMvVeHAn5puMd+QHC2erPRNf8lmg==", + "dev": true, + "requires": { + "bn.js": "^5.1.1", + "browserify-rsa": "^4.0.1", + "create-hash": "^1.2.0", + "create-hmac": "^1.1.7", + "elliptic": "^6.5.3", + "inherits": "^2.0.4", + "parse-asn1": "^5.1.5", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "browserify-zlib": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/browserify-zlib/-/browserify-zlib-0.2.0.tgz", + "integrity": "sha512-Z942RysHXmJrhqk88FmKBVq/v5tqmSkDz7p54G/MGyjMnCFFnC79XWNbg+Vta8W6Wb2qtSZTSxIGkJrRpCFEiA==", + "dev": true, + "requires": { + "pako": "~1.0.5" + } + }, + "browserslist": { + "version": "4.20.3", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.20.3.tgz", + "integrity": "sha512-NBhymBQl1zM0Y5dQT/O+xiLP9/rzOIQdKM/eMJBAq7yBgaB6krIYLGejrwVYnSHZdqjscB1SPuAjHwxjvN6Wdg==", + "dev": true, + "requires": { + "caniuse-lite": "^1.0.30001332", + "electron-to-chromium": "^1.4.118", + "escalade": "^3.1.1", + "node-releases": "^2.0.3", + "picocolors": "^1.0.0" + } + }, + "bs-custom-file-input": { + "version": "1.3.4", + "resolved": "https://registry.npmjs.org/bs-custom-file-input/-/bs-custom-file-input-1.3.4.tgz", + "integrity": "sha512-NBsQzTnef3OW1MvdKBbMHAYHssCd613MSeJV7z2McXznWtVMnJCy7Ckyc+PwxV6Pk16cu6YBcYWh/ZE0XWNKCA==", + "dev": true + }, + "bs-stepper": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/bs-stepper/-/bs-stepper-1.7.0.tgz", + "integrity": "sha512-+DX7UKKgw2GI6ucsSCRd19VHYrxf/8znRCLs1lQVVLxz+h7EqgIOxoHcJ0/QTaaNoR9Cwg78ydo6hXIasyd3LA==", + "dev": true + }, + "buffer": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/buffer/-/buffer-4.9.2.tgz", + "integrity": "sha512-xq+q3SRMOxGivLhBNaUdC64hDTQwejJ+H0T/NB1XMtTVEwNTrfFF3gAxiyW0Bu/xWEGhjVKgUcMhCrUy2+uCWg==", + "dev": true, + "requires": { + "base64-js": "^1.0.2", + "ieee754": "^1.1.4", + "isarray": "^1.0.0" + } + }, + "buffer-from": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/buffer-from/-/buffer-from-1.1.2.tgz", + "integrity": "sha512-E+XQCRwSbaaiChtv6k6Dwgc+bx+Bs6vuKJHHl5kox/BaKbhiXzqQOwK4cO22yElGp2OCmjwVhT3HmxgyPGnJfQ==", + "dev": true + }, + "buffer-xor": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/buffer-xor/-/buffer-xor-1.0.3.tgz", + "integrity": "sha512-571s0T7nZWK6vB67HI5dyUF7wXiNcfaPPPTl6zYCNApANjIvYJTg7hlud/+cJpdAhS7dVzqMLmfhfHR3rAcOjQ==", + "dev": true + }, + "builtin-status-codes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/builtin-status-codes/-/builtin-status-codes-3.0.0.tgz", + "integrity": "sha512-HpGFw18DgFWlncDfjTa2rcQ4W88O1mC8e8yZ2AvQY5KDaktSTwo+KRf6nHK6FRI5FyRyb/5T6+TSxfP7QyGsmQ==", + "dev": true + }, + "bytes": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.0.0.tgz", + "integrity": "sha512-pMhOfFDPiv9t5jjIXkHosWmkSyQbvsgEVNkz0ERHbuLh2T/7j4Mqqpz523Fe8MVY89KC6Sh/QfS2sM+SjgFDcw==", + "dev": true + }, + "call-bind": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/call-bind/-/call-bind-1.0.2.tgz", + "integrity": "sha512-7O+FbCihrB5WGbFYesctwmTKae6rOiIzmz1icreWJ+0aA7LJfuqhEso2T9ncpcFtzMQtzXf2QGGueWJGTYsqrA==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "get-intrinsic": "^1.0.2" + } + }, + "callsites": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/callsites/-/callsites-3.1.0.tgz", + "integrity": "sha512-P8BjAsXvZS+VIDUI11hHCQEv74YT67YUi5JJFNWIqL235sBmjX4+qx9Muvls5ivyNENctx46xQLQ3aTuE7ssaQ==", + "dev": true + }, + "camel-case": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/camel-case/-/camel-case-4.1.2.tgz", + "integrity": "sha512-gxGWBrTT1JuMx6R+o5PTXMmUnhnVzLQ9SNutD4YqKtI6ap897t3tKECYla6gCWEkplXnlNybEkZg9GEGxKFCgw==", + "dev": true, + "requires": { + "pascal-case": "^3.1.2", + "tslib": "^2.0.3" + } + }, + "camelcase": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/camelcase/-/camelcase-5.3.1.tgz", + "integrity": "sha512-L28STB170nwWS63UjtlEOE3dldQApaJXZkOI1uMFfzf3rRuPegHaHesyee+YxQ+W6SvRDQV6UrdOdRiR153wJg==", + "dev": true + }, + "caniuse-api": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/caniuse-api/-/caniuse-api-3.0.0.tgz", + "integrity": "sha512-bsTwuIg/BZZK/vreVTYYbSWoe2F+71P7K5QGEX+pT250DZbfU1MQ5prOKpPR+LL6uWKK3KMwMCAS74QB3Um1uw==", + "dev": true, + "requires": { + "browserslist": "^4.0.0", + "caniuse-lite": "^1.0.0", + "lodash.memoize": "^4.1.2", + "lodash.uniq": "^4.5.0" + } + }, + "caniuse-lite": { + "version": "1.0.30001344", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001344.tgz", + "integrity": "sha512-0ZFjnlCaXNOAYcV7i+TtdKBp0L/3XEU2MF/x6Du1lrh+SRX4IfzIVL4HNJg5pB2PmFb8rszIGyOvsZnqqRoc2g==", + "dev": true + }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "dev": true, + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, + "charenc": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/charenc/-/charenc-0.0.2.tgz", + "integrity": "sha512-yrLQ/yVUFXkzg7EDQsPieE/53+0RlaWTs+wBrvW36cyilJ2SaDWfl4Yj7MtLTXleV9uEKefbAGUPv2/iWSooRA==", + "dev": true + }, + "chart.js": { + "version": "2.9.4", + "resolved": "https://registry.npmjs.org/chart.js/-/chart.js-2.9.4.tgz", + "integrity": "sha512-B07aAzxcrikjAPyV+01j7BmOpxtQETxTSlQ26BEYJ+3iUkbNKaOJ/nDbT6JjyqYxseM0ON12COHYdU2cTIjC7A==", + "dev": true, + "requires": { + "chartjs-color": "^2.1.0", + "moment": "^2.10.2" + } + }, + "chartjs-color": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/chartjs-color/-/chartjs-color-2.4.1.tgz", + "integrity": "sha512-haqOg1+Yebys/Ts/9bLo/BqUcONQOdr/hoEr2LLTRl6C5LXctUdHxsCYfvQVg5JIxITrfCNUDr4ntqmQk9+/0w==", + "dev": true, + "requires": { + "chartjs-color-string": "^0.6.0", + "color-convert": "^1.9.3" + }, + "dependencies": { + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + } + } + }, + "chartjs-color-string": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/chartjs-color-string/-/chartjs-color-string-0.6.0.tgz", + "integrity": "sha512-TIB5OKn1hPJvO7JcteW4WY/63v6KwEdt6udfnDE9iCAZgy+V4SrbSxoIbTw/xkUIapjEI4ExGtD0+6D3KyFd7A==", + "dev": true, + "requires": { + "color-name": "^1.0.0" + } + }, + "chokidar": { + "version": "3.5.3", + "resolved": "https://registry.npmjs.org/chokidar/-/chokidar-3.5.3.tgz", + "integrity": "sha512-Dr3sfKRP6oTcjf2JmUmFJfeVMvXBdegxB0iVQ5eb2V10uFJUCAS8OByZdVAyVb8xXNz3GjjTgj9kLWsZTqE6kw==", + "dev": true, + "requires": { + "anymatch": "~3.1.2", + "braces": "~3.0.2", + "fsevents": "~2.3.2", + "glob-parent": "~5.1.2", + "is-binary-path": "~2.1.0", + "is-glob": "~4.0.1", + "normalize-path": "~3.0.0", + "readdirp": "~3.6.0" + } + }, + "chrome-trace-event": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/chrome-trace-event/-/chrome-trace-event-1.0.3.tgz", + "integrity": "sha512-p3KULyQg4S7NIHixdwbGX+nFHkoBiA4YQmyWtjb8XngSKV124nJmRysgAeujbUVb15vh+RvFUfCPqU7rXk+hZg==", + "dev": true + }, + "cipher-base": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/cipher-base/-/cipher-base-1.0.4.tgz", + "integrity": "sha512-Kkht5ye6ZGmwv40uUDZztayT2ThLQGfnj/T71N/XzeZeo3nf8foyW7zGTsPYkEya3m5f3cAypH+qe7YOrM1U2Q==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "clean-css": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-5.3.0.tgz", + "integrity": "sha512-YYuuxv4H/iNb1Z/5IbMRoxgrzjWGhOEFfd+groZ5dMCVkpENiMZmwspdrzBo9286JjM1gZJPAyL7ZIdzuvu2AQ==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "cli-table3": { + "version": "0.6.2", + "resolved": "https://registry.npmjs.org/cli-table3/-/cli-table3-0.6.2.tgz", + "integrity": "sha512-QyavHCaIC80cMivimWu4aWHilIpiDpfm3hGmqAmXVL1UsnbLuBSMd21hTX6VY4ZSDSM73ESLeF8TOYId3rBTbw==", + "dev": true, + "requires": { + "@colors/colors": "1.5.0", + "string-width": "^4.2.0" + } + }, + "cliui": { + "version": "7.0.4", + "resolved": "https://registry.npmjs.org/cliui/-/cliui-7.0.4.tgz", + "integrity": "sha512-OcRE68cOsVMXp1Yvonl/fzkQOyjLSu/8bhPDfQt0e0/Eb283TKP20Fs2MqoPsr9SwA595rRCA+QMzYc9nBP+JQ==", + "dev": true, + "requires": { + "string-width": "^4.2.0", + "strip-ansi": "^6.0.0", + "wrap-ansi": "^7.0.0" + } + }, + "clone": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/clone/-/clone-2.1.2.tgz", + "integrity": "sha512-3Pe/CF1Nn94hyhIYpjtiLhdCoEoz0DqQ+988E9gmeEdQZlojxnOb74wctFyuwWQHzqyf9X7C7MG8juUpqBJT8w==", + "dev": true + }, + "clone-deep": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/clone-deep/-/clone-deep-4.0.1.tgz", + "integrity": "sha512-neHB9xuzh/wk0dIHweyAXv2aPGZIVk3pLMe+/RNzINf17fe0OG96QroktYAUm7SM1PBnzTabaLboqqxDyMU+SQ==", + "dev": true, + "requires": { + "is-plain-object": "^2.0.4", + "kind-of": "^6.0.2", + "shallow-clone": "^3.0.0" + } + }, + "codemirror": { + "version": "5.65.5", + "resolved": "https://registry.npmjs.org/codemirror/-/codemirror-5.65.5.tgz", + "integrity": "sha512-HNyhvGLnYz5c+kIsB9QKVitiZUevha3ovbIYaQiGzKo7ECSL/elWD9RXt3JgNr0NdnyqE9/Rc/7uLfkJQL638w==", + "dev": true + }, + "collect.js": { + "version": "4.33.0", + "resolved": "https://registry.npmjs.org/collect.js/-/collect.js-4.33.0.tgz", + "integrity": "sha512-jEFD39H+09JyvjxwwHGX6Z7j+SB4OdXxHWG8Dus5eVQmwngWGNluRBQ2qS92K9MkRH+fjh91u1TGa31LIeBKhQ==", + "dev": true + }, + "color-convert": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", + "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", + "dev": true, + "requires": { + "color-name": "~1.1.4" + } + }, + "color-name": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", + "dev": true + }, + "colord": { + "version": "2.9.2", + "resolved": "https://registry.npmjs.org/colord/-/colord-2.9.2.tgz", + "integrity": "sha512-Uqbg+J445nc1TKn4FoDPS6ZZqAvEDnwrH42yo8B40JSOgSLxMZ/gt3h4nmCtPLQeXhjJJkqBx7SCY35WnIixaQ==", + "dev": true + }, + "colorette": { + "version": "2.0.16", + "resolved": "https://registry.npmjs.org/colorette/-/colorette-2.0.16.tgz", + "integrity": "sha512-hUewv7oMjCp+wkBv5Rm0v87eJhq4woh5rSR+42YSQJKecCqgIqNkZ6lAlQms/BwHPJA5NKMRlpxPRv0n8HQW6g==", + "dev": true + }, + "commander": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/commander/-/commander-7.2.0.tgz", + "integrity": "sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==", + "dev": true + }, + "commondir": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/commondir/-/commondir-1.0.1.tgz", + "integrity": "sha512-W9pAhw0ja1Edb5GVdIF1mjZw/ASI0AlShXM83UUGe2DVr5TdAPEA1OA8m/g8zWp9x6On7gqufY+FatDbC3MDQg==", + "dev": true + }, + "compose-function": { + "version": "3.0.3", + "resolved": "https://registry.npmjs.org/compose-function/-/compose-function-3.0.3.tgz", + "integrity": "sha512-xzhzTJ5eC+gmIzvZq+C3kCJHsp9os6tJkrigDRZclyGtOKINbZtE8n1Tzmeh32jW+BUDPbvZpibwvJHBLGMVwg==", + "dev": true, + "requires": { + "arity-n": "^1.0.4" + } + }, + "compressible": { + "version": "2.0.18", + "resolved": "https://registry.npmjs.org/compressible/-/compressible-2.0.18.tgz", + "integrity": "sha512-AF3r7P5dWxL8MxyITRMlORQNaOA2IkAFaTr4k7BUumjPtRpGDTZpl0Pb1XCO6JeDCBdp126Cgs9sMxqSjgYyRg==", + "dev": true, + "requires": { + "mime-db": ">= 1.43.0 < 2" + } + }, + "compression": { + "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", + "dev": true, + "requires": { + "accepts": "~1.3.5", + "bytes": "3.0.0", + "compressible": "~2.0.16", + "debug": "2.6.9", + "on-headers": "~1.0.2", + "safe-buffer": "5.1.2", + "vary": "~1.1.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "concat": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/concat/-/concat-1.0.3.tgz", + "integrity": "sha512-f/ZaH1aLe64qHgTILdldbvyfGiGF4uzeo9IuXUloIOLQzFmIPloy9QbZadNsuVv0j5qbKQvQb/H/UYf2UsKTpw==", + "dev": true, + "requires": { + "commander": "^2.9.0" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + }, + "concat-map": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/concat-map/-/concat-map-0.0.1.tgz", + "integrity": "sha512-/Srv4dswyQNBfohGpz9o6Yb3Gz3SrUDqBH5rTuhGR7ahtlbYKnVxw2bCFMRljaA7EXHaXZ8wsHdodFvbkhKmqg==", + "dev": true + }, + "connect-history-api-fallback": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/connect-history-api-fallback/-/connect-history-api-fallback-1.6.0.tgz", + "integrity": "sha512-e54B99q/OUoH64zYYRf3HBP5z24G38h5D3qXu23JGRoigpX5Ss4r9ZnDk3g0Z8uQC2x2lPaJ+UlWBc1ZWBWdLg==", + "dev": true + }, + "consola": { + "version": "2.15.3", + "resolved": "https://registry.npmjs.org/consola/-/consola-2.15.3.tgz", + "integrity": "sha512-9vAdYbHj6x2fLKC4+oPH0kFzY/orMZyG2Aj+kNylHxKGJ/Ed4dpNyAQYwJOdqO4zdM7XpVHmyejQDcQHrnuXbw==", + "dev": true + }, + "console-browserify": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/console-browserify/-/console-browserify-1.2.0.tgz", + "integrity": "sha512-ZMkYO/LkF17QvCPqM0gxw8yUzigAOZOSWSHg91FH6orS7vcEj5dVZTidN2fQ14yBSdg97RqhSNwLUXInd52OTA==", + "dev": true + }, + "consolidate": { + "version": "0.15.1", + "resolved": "https://registry.npmjs.org/consolidate/-/consolidate-0.15.1.tgz", + "integrity": "sha512-DW46nrsMJgy9kqAbPt5rKaCr7uFtpo4mSUvLHIUbJEjm0vo+aY5QLwBUq3FK4tRnJr/X0Psc0C4jf/h+HtXSMw==", + "dev": true, + "requires": { + "bluebird": "^3.1.1" + } + }, + "constants-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/constants-browserify/-/constants-browserify-1.0.0.tgz", + "integrity": "sha512-xFxOwqIzR/e1k1gLiWEophSCMqXcwVHIH7akf7b/vxcUeGunlj3hvZaaqxwHsTgn+IndtkQJgSztIDWeumWJDQ==", + "dev": true + }, + "content-disposition": { + "version": "0.5.4", + "resolved": "https://registry.npmjs.org/content-disposition/-/content-disposition-0.5.4.tgz", + "integrity": "sha512-FveZTNuGw04cxlAiWbzi6zTAL/lhehaWbTtgluJh4/E95DqMwTmha3KZN1aAWA8cFIhHzMZUvLevkw5Rqk+tSQ==", + "dev": true, + "requires": { + "safe-buffer": "5.2.1" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "content-type": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/content-type/-/content-type-1.0.4.tgz", + "integrity": "sha512-hIP3EEPs8tB9AT1L+NUqtwOAps4mk2Zob89MWXMHjHWg9milF/j4osnnQLXBCBFBk/tvIG/tUc9mOUJiPBhPXA==", + "dev": true + }, + "convert-source-map": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.8.0.tgz", + "integrity": "sha512-+OQdjP49zViI/6i7nIJpA8rAl4sV/JdPfU9nZs3VqOwGIgizICvuN2ru6fMd+4llL0tar18UYJXfZ/TWtmhUjA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "cookie": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/cookie/-/cookie-0.5.0.tgz", + "integrity": "sha512-YZ3GUyn/o8gfKJlnlX7g7xq4gyO6OSuhGPKaaGssGB2qgDUS0gPgtTvoyZLTt9Ab6dC4hfc9dV5arkvc/OCmrw==", + "dev": true + }, + "cookie-signature": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/cookie-signature/-/cookie-signature-1.0.6.tgz", + "integrity": "sha512-QADzlaHc8icV8I7vbaJXJwod9HWYp8uCqf1xa4OfNu1T7JVxQIrUgOWtHdNDtPiywmFbiS12VjotIXLrKM3orQ==", + "dev": true + }, + "core-js-compat": { + "version": "3.22.7", + "resolved": "https://registry.npmjs.org/core-js-compat/-/core-js-compat-3.22.7.tgz", + "integrity": "sha512-uI9DAQKKiiE/mclIC5g4AjRpio27g+VMRhe6rQoz+q4Wm4L6A/fJhiLtBw+sfOpDG9wZ3O0pxIw7GbfOlBgjOA==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "semver": "7.0.0" + }, + "dependencies": { + "semver": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.0.0.tgz", + "integrity": "sha512-+GB6zVA9LWh6zovYQLALHwv5rb2PHGlJi3lfiqIHxR0uuwCgefcOJc59v9fv1w8GbStwxuuqqAjI9NMAOOgq1A==", + "dev": true + } + } + }, + "core-util-is": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/core-util-is/-/core-util-is-1.0.3.tgz", + "integrity": "sha512-ZQBvi1DcpJ4GDqanjucZ2Hj3wEO5pZDS89BWbkcrvdxksJorwUDDZamX9ldFkp9aw2lmBDLgkObEA4DWNJ9FYQ==" + }, + "cosmiconfig": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/cosmiconfig/-/cosmiconfig-7.0.1.tgz", + "integrity": "sha512-a1YWNUV2HwGimB7dU2s1wUMurNKjpx60HxBB6xUM8Re+2s1g1IIfJvFR0/iCF+XHdE0GMTKTuLR32UQff4TEyQ==", + "dev": true, + "requires": { + "@types/parse-json": "^4.0.0", + "import-fresh": "^3.2.1", + "parse-json": "^5.0.0", + "path-type": "^4.0.0", + "yaml": "^1.10.0" + } + }, + "create-ecdh": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/create-ecdh/-/create-ecdh-4.0.4.tgz", + "integrity": "sha512-mf+TCx8wWc9VpuxfP2ht0iSISLZnt0JgWlrOKZiNqyUZWnjIaCIVNQArMHnCZKfEYRg6IM7A+NeJoN8gf/Ws0A==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "elliptic": "^6.5.3" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "create-hash": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/create-hash/-/create-hash-1.2.0.tgz", + "integrity": "sha512-z00bCGNHDG8mHAkP7CtT1qVu+bFQUPjYq/4Iv3C3kWjTFV10zIjfSoeqXo9Asws8gwSHDGj/hl2u4OGIjapeCg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.1", + "inherits": "^2.0.1", + "md5.js": "^1.3.4", + "ripemd160": "^2.0.1", + "sha.js": "^2.4.0" + } + }, + "create-hmac": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/create-hmac/-/create-hmac-1.1.7.tgz", + "integrity": "sha512-MJG9liiZ+ogc4TzUwuvbER1JRdgvUFSB5+VR/g5h82fGaIRWMWddtKBHi7/sVhfjQZ6SehlyhvQYrcYkaUIpLg==", + "dev": true, + "requires": { + "cipher-base": "^1.0.3", + "create-hash": "^1.1.0", + "inherits": "^2.0.1", + "ripemd160": "^2.0.0", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "cross-spawn": { + "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-spawn/-/cross-spawn-7.0.3.tgz", + "integrity": "sha512-iRDPJKUPVEND7dHPO8rkbOnPpyDygcDFtWjpeWNCgy8WP2rXcxXL8TskReQl6OrB2G7+UJrags1q15Fudc7G6w==", + "dev": true, + "requires": { + "path-key": "^3.1.0", + "shebang-command": "^2.0.0", + "which": "^2.0.1" + } + }, + "crypt": { + "version": "0.0.2", + "resolved": "https://registry.npmjs.org/crypt/-/crypt-0.0.2.tgz", + "integrity": "sha512-mCxBlsHFYh9C+HVpiEacem8FEBnMXgU9gy4zmNC+SXAZNB/1idgp/aulFJ4FgCi7GPEVbfyng092GqL2k2rmow==", + "dev": true + }, + "crypto-browserify": { + "version": "3.12.0", + "resolved": "https://registry.npmjs.org/crypto-browserify/-/crypto-browserify-3.12.0.tgz", + "integrity": "sha512-fz4spIh+znjO2VjL+IdhEpRJ3YN6sMzITSBijk6FK2UvTqruSQW+/cCZTSNsMiZNvUeq0CqurF+dAbyiGOY6Wg==", + "dev": true, + "requires": { + "browserify-cipher": "^1.0.0", + "browserify-sign": "^4.0.0", + "create-ecdh": "^4.0.0", + "create-hash": "^1.1.0", + "create-hmac": "^1.1.0", + "diffie-hellman": "^5.0.0", + "inherits": "^2.0.1", + "pbkdf2": "^3.0.3", + "public-encrypt": "^4.0.0", + "randombytes": "^2.0.0", + "randomfill": "^1.0.3" + } + }, + "crypto-js": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/crypto-js/-/crypto-js-4.1.1.tgz", + "integrity": "sha512-o2JlM7ydqd3Qk9CA0L4NL6mTzU2sdx96a+oOfPu8Mkl/PK51vSyoi8/rQ8NknZtk44vq15lmhAj9CIAGwgeWKw==", + "dev": true + }, + "css": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/css/-/css-2.2.4.tgz", + "integrity": "sha512-oUnjmWpy0niI3x/mPL8dVEI1l7MnG3+HHyRPHf+YFSbK+svOhXpmSOcDURUh2aOCgl2grzrOPt1nHLuCVFULLw==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "source-map": "^0.6.1", + "source-map-resolve": "^0.5.2", + "urix": "^0.1.0" + } + }, + "css-declaration-sorter": { + "version": "6.2.2", + "resolved": "https://registry.npmjs.org/css-declaration-sorter/-/css-declaration-sorter-6.2.2.tgz", + "integrity": "sha512-Ufadglr88ZLsrvS11gjeu/40Lw74D9Am/Jpr3LlYm5Q4ZP5KdlUhG+6u2EjyXeZcxmZ2h1ebCKngDjolpeLHpg==", + "dev": true, + "requires": {} + }, + "css-loader": { + "version": "5.2.7", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.7.tgz", + "integrity": "sha512-Q7mOvpBNBG7YrVGMxRxcBJZFL75o+cH2abNASdibkj/fffYD8qWbInZrD0S9ccI6vZclF3DsHE7njGlLtaHbhg==", + "dev": true, + "requires": { + "icss-utils": "^5.1.0", + "loader-utils": "^2.0.0", + "postcss": "^8.2.15", + "postcss-modules-extract-imports": "^3.0.0", + "postcss-modules-local-by-default": "^4.0.0", + "postcss-modules-scope": "^3.0.0", + "postcss-modules-values": "^4.0.0", + "postcss-value-parser": "^4.1.0", + "schema-utils": "^3.0.0", + "semver": "^7.3.5" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "css-select": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/css-select/-/css-select-4.3.0.tgz", + "integrity": "sha512-wPpOYtnsVontu2mODhA19JrqWxNsfdatRKd64kmpRbQgh1KtItko5sTnEpPdpSaJszTOhEMlF/RPz28qj4HqhQ==", + "dev": true, + "requires": { + "boolbase": "^1.0.0", + "css-what": "^6.0.1", + "domhandler": "^4.3.1", + "domutils": "^2.8.0", + "nth-check": "^2.0.1" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "css-tree": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/css-tree/-/css-tree-1.1.3.tgz", + "integrity": "sha512-tRpdppF7TRazZrjJ6v3stzv93qxRcSsFmW6cX0Zm2NVKpxE1WV1HblnghVv9TreireHkqI/VDEsfolRF1p6y7Q==", + "dev": true, + "requires": { + "mdn-data": "2.0.14", + "source-map": "^0.6.1" + } + }, + "css-what": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/css-what/-/css-what-6.1.0.tgz", + "integrity": "sha512-HTUrgRJ7r4dsZKU6GjmpfRK1O76h97Z8MfS1G0FozR+oF2kG6Vfe8JE6zwrkbxigziPHinCJ+gCPjA9EaBDtRw==", + "dev": true + }, + "cssesc": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/cssesc/-/cssesc-3.0.0.tgz", + "integrity": "sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==", + "dev": true + }, + "cssnano": { + "version": "5.1.10", + "resolved": "https://registry.npmjs.org/cssnano/-/cssnano-5.1.10.tgz", + "integrity": "sha512-ACpnRgDg4m6CZD/+8SgnLcGCgy6DDGdkMbOawwdvVxNietTNLe/MtWcenp6qT0PRt5wzhGl6/cjMWCdhKXC9QA==", + "dev": true, + "requires": { + "cssnano-preset-default": "^5.2.10", + "lilconfig": "^2.0.3", + "yaml": "^1.10.2" + } + }, + "cssnano-preset-default": { + "version": "5.2.10", + "resolved": "https://registry.npmjs.org/cssnano-preset-default/-/cssnano-preset-default-5.2.10.tgz", + "integrity": "sha512-H8TJRhTjBKVOPltp9vr9El9I+IfYsOMhmXdK0LwdvwJcxYX9oWkY7ctacWusgPWAgQq1vt/WO8v+uqpfLnM7QA==", + "dev": true, + "requires": { + "css-declaration-sorter": "^6.2.2", + "cssnano-utils": "^3.1.0", + "postcss-calc": "^8.2.3", + "postcss-colormin": "^5.3.0", + "postcss-convert-values": "^5.1.2", + "postcss-discard-comments": "^5.1.2", + "postcss-discard-duplicates": "^5.1.0", + "postcss-discard-empty": "^5.1.1", + "postcss-discard-overridden": "^5.1.0", + "postcss-merge-longhand": "^5.1.5", + "postcss-merge-rules": "^5.1.2", + "postcss-minify-font-values": "^5.1.0", + "postcss-minify-gradients": "^5.1.1", + "postcss-minify-params": "^5.1.3", + "postcss-minify-selectors": "^5.2.1", + "postcss-normalize-charset": "^5.1.0", + "postcss-normalize-display-values": "^5.1.0", + "postcss-normalize-positions": "^5.1.0", + "postcss-normalize-repeat-style": "^5.1.0", + "postcss-normalize-string": "^5.1.0", + "postcss-normalize-timing-functions": "^5.1.0", + "postcss-normalize-unicode": "^5.1.0", + "postcss-normalize-url": "^5.1.0", + "postcss-normalize-whitespace": "^5.1.1", + "postcss-ordered-values": "^5.1.1", + "postcss-reduce-initial": "^5.1.0", + "postcss-reduce-transforms": "^5.1.0", + "postcss-svgo": "^5.1.0", + "postcss-unique-selectors": "^5.1.1" + } + }, + "cssnano-utils": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/cssnano-utils/-/cssnano-utils-3.1.0.tgz", + "integrity": "sha512-JQNR19/YZhz4psLX/rQ9M83e3z2Wf/HdJbryzte4a3NSuafyp9w/I4U+hx5C2S9g41qlstH7DEWnZaaj83OuEA==", + "dev": true, + "requires": {} + }, + "csso": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/csso/-/csso-4.2.0.tgz", + "integrity": "sha512-wvlcdIbf6pwKEk7vHj8/Bkc0B4ylXZruLvOgs9doS5eOsOpuodOV2zJChSpkp+pRpYQLQMeF04nr3Z68Sta9jA==", + "dev": true, + "requires": { + "css-tree": "^1.1.2" + } + }, + "d": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/d/-/d-1.0.1.tgz", + "integrity": "sha512-m62ShEObQ39CfralilEQRjH6oAMtNCV1xJyEx5LpRYUVN+EviphDgUc/F3hnYbADmkiNs67Y+3ylmlG7Lnu+FA==", + "dev": true, + "requires": { + "es5-ext": "^0.10.50", + "type": "^1.0.1" + } + }, + "datatables.net": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net/-/datatables.net-1.12.1.tgz", + "integrity": "sha512-e6XAMUoV41JdQPS/r9YRfRcmTPcCVvyZbWI+xog1Zg+kjVliMQbEkvWK5XFItmi64Cvwg+IqsZbTUJ1KSY3umA==", + "requires": { + "jquery": ">=1.7" + } + }, + "datatables.net-autofill": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-autofill/-/datatables.net-autofill-2.4.0.tgz", + "integrity": "sha512-qUUSXJv5rNx2TrAltq/RP/PK0UC/l5x3FMv9TEzeR4NYh0FCEeNlzdwz7QYWTi0nR+iW126SQbPAvkHVJdLEiA==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-autofill-bs4": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-autofill-bs4/-/datatables.net-autofill-bs4-2.4.0.tgz", + "integrity": "sha512-0NvmQvuxkFLUBe5/iRal+GGlWKMUJT36/jobiTeySaQabbIFqHgOZ6cgLHCKas6zq1x9LCMDI0SL5c19NZ893w==", + "dev": true, + "requires": { + "datatables.net-autofill": ">=2.3.7", + "datatables.net-bs4": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-bs4": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-bs4/-/datatables.net-bs4-1.12.1.tgz", + "integrity": "sha512-LBeC8zUNVYyQT7ytC2lYqyXDn+k2kYpqvijC83oOjlcnEtb/8Tduzgquox5FrNKUJPcUrj9r+h5B0TDBbob/Gg==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-buttons": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/datatables.net-buttons/-/datatables.net-buttons-1.7.1.tgz", + "integrity": "sha512-D2OxZeR18jhSx+l0xcfAJzfUH7l3LHCu0e606fV7+v3hMhphOfljjZYLaiRmGiR9lqO/f5xE/w2a+OtG/QMavw==", + "dev": true, + "requires": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "datatables.net-buttons-bs4": { + "version": "1.7.1", + "resolved": "https://registry.npmjs.org/datatables.net-buttons-bs4/-/datatables.net-buttons-bs4-1.7.1.tgz", + "integrity": "sha512-s+fwsgAAWp7mOKwuztPH06kaw2JNAJ71VNTw/TqGQTL6BK9FshweDKZSRIB/ePcc/Psiy8fhNEj3XHxx4OO6BA==", + "dev": true, + "requires": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-buttons": "1.7.1", + "jquery": ">=1.7" + } + }, + "datatables.net-colreorder": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder/-/datatables.net-colreorder-1.5.6.tgz", + "integrity": "sha512-TgPEQDIib2K4QsnX/Plk+eMS9ROL4idZvEqo6wvQrvksanERgxzcfwJuev4Yx8GRZ3+BwasXmFvtdSzvjWN3iQ==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-colreorder-bs4": { + "version": "1.5.6", + "resolved": "https://registry.npmjs.org/datatables.net-colreorder-bs4/-/datatables.net-colreorder-bs4-1.5.6.tgz", + "integrity": "sha512-D4BPo/7EcHXPq+eA0NHYemnV2G1lf1VJklgYmWmSap6O1xgU9YhPARj5PgyeB9Sm3bCERoQugwzH2YDddgDe4g==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-colreorder": ">=1.5.4", + "jquery": ">=1.7" + } + }, + "datatables.net-dt": { + "version": "1.12.1", + "resolved": "https://registry.npmjs.org/datatables.net-dt/-/datatables.net-dt-1.12.1.tgz", + "integrity": "sha512-HYsHbSYqOqlgsgjKMH/kkCB5455t51GmmtXRxgnDMRbjPLEIKo5CZmAlUe5mdD/RVPRtAUaj5K3SDlkEZ1bUmw==", + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-fixedcolumns": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedcolumns/-/datatables.net-fixedcolumns-3.3.3.tgz", + "integrity": "sha512-xo6MeI2xc/Ufk4ffrpao+OiPo8/GPB8cO80gA6NFgYBVw6eP9pPa2NsV+gSWRVr7d3A8iZC7mUZT5WdtliNHEA==", + "dev": true, + "requires": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "datatables.net-fixedcolumns-bs4": { + "version": "3.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedcolumns-bs4/-/datatables.net-fixedcolumns-bs4-3.3.3.tgz", + "integrity": "sha512-d0dqCYk93wnCT382hW2Y1YMwgJXpTfdTu3Tb+UKQvt7OApxKYuWUFfKde+wHtIhqodswZ1jrMfYmxZHJYAysZQ==", + "dev": true, + "requires": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-fixedcolumns": "3.3.3", + "jquery": ">=1.7" + } + }, + "datatables.net-fixedheader": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedheader/-/datatables.net-fixedheader-3.2.3.tgz", + "integrity": "sha512-z+YOTgKquPqXREiATuH8yAGZcpRRZQW+I2NVu5H/+rnIYO1CJIi63hQD/nnv51J7RaTXSUk1OQtriN/VUs4YMQ==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-fixedheader-bs4": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/datatables.net-fixedheader-bs4/-/datatables.net-fixedheader-bs4-3.2.3.tgz", + "integrity": "sha512-aTvNTcyHPNetwQZzvH7G8uXkE9EtrIOnIz4daHDwq3Uh3QvHcJfQMNLZUHe0PgrEeUXZVEUhrJpoi1je9lVAXw==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-fixedheader": ">=3.2.0", + "jquery": ">=1.7" + } + }, + "datatables.net-keytable": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-keytable/-/datatables.net-keytable-2.7.0.tgz", + "integrity": "sha512-U/+frQ0bSk0VeKuRy2h4FQfrbTYaQHpWLCylcEHYDzDZ9/cR0spHD+mVUJy22oAMvfHa9py73D/e4LD09uxHNg==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-keytable-bs4": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/datatables.net-keytable-bs4/-/datatables.net-keytable-bs4-2.7.0.tgz", + "integrity": "sha512-1Bxw2sPjOVscTr2sZg5AMJ2hJK7921XhK3Mqrz7bO7ZCwpf/u7tna8d3ZeeTy45qp28zAQARE5BLXht5W/tN4g==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-keytable": ">=2.6.4", + "jquery": ">=1.7" + } + }, + "datatables.net-responsive": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive/-/datatables.net-responsive-2.3.0.tgz", + "integrity": "sha512-QA5QsD1sJQRQ7/IFi3rSd33O84f/Augz2KnaehjfuEANtK4KeC9Lbkut5tPuuMcK4jOpQPOOPYTbmfrt+tfh9w==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-responsive-bs4": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/datatables.net-responsive-bs4/-/datatables.net-responsive-bs4-2.3.0.tgz", + "integrity": "sha512-6ZeFeM6PHh3A5BodxUvHU1ipIrMYMbBcOgB3BfXMHxr4maS96RIQdTmXK3owJ5sy88dF68V8fjkquvybS7kwvw==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-responsive": ">=2.2.9", + "jquery": ">=1.7" + } + }, + "datatables.net-rowgroup": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/datatables.net-rowgroup/-/datatables.net-rowgroup-1.2.0.tgz", + "integrity": "sha512-YQWL9Z70/XqBQK5YkBk/BhnmgQ1jux0ntHGpi+PYgeHEzS5lM1/oMoJEKiqIT02mVbUQOUE3z7t6rLSA0JbdvQ==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-rowgroup-bs4": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/datatables.net-rowgroup-bs4/-/datatables.net-rowgroup-bs4-1.2.0.tgz", + "integrity": "sha512-sALXn7+VdMBC1TNWXbHNAiKCUSIwexO2frpxt/RBenJXR6DzmDuHLFaKJPEeeMtPJdBaxN1yc7J/GNwV+188Fw==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-rowgroup": ">=1.1.3", + "jquery": ">=1.7" + } + }, + "datatables.net-rowreorder": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/datatables.net-rowreorder/-/datatables.net-rowreorder-1.2.8.tgz", + "integrity": "sha512-gFNKMa5DtigbjhSs96ZKT3uICC1z87EuLUIYLVPEXHc7v/WVOiQ3AaRvIQtExORPi/jQzxEoO5wO9UGZ0ldsUQ==", + "dev": true, + "requires": { + "datatables.net": "^1.10.15", + "jquery": ">=1.7" + } + }, + "datatables.net-rowreorder-bs4": { + "version": "1.2.8", + "resolved": "https://registry.npmjs.org/datatables.net-rowreorder-bs4/-/datatables.net-rowreorder-bs4-1.2.8.tgz", + "integrity": "sha512-9J36fc/Ywdy9o5SkX+ZLMXYwcKGC+wa1RAiNRFywxT3u5nBrLvcDlOnYLBNae5XO1wBr/3jbj9ka/ZWyd9hnVg==", + "dev": true, + "requires": { + "datatables.net-bs4": "^1.10.15", + "datatables.net-rowreorder": "1.2.8", + "jquery": ">=1.7" + } + }, + "datatables.net-scroller": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/datatables.net-scroller/-/datatables.net-scroller-2.0.6.tgz", + "integrity": "sha512-isFFxocRU19jrQITvyLzh4zODbYNZtxFtfLlUGyE3x+0Nyq6Hu7JOsWiVPhqf9Jo2I8Yt5MecqICaZ3DEfggZA==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-scroller-bs4": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/datatables.net-scroller-bs4/-/datatables.net-scroller-bs4-2.0.6.tgz", + "integrity": "sha512-RbcwSNOG9Oo2BZI4xzey3ndCglkmEHSW+wIyZAYXcttdqUGyXFx6t7qiGzm+VnAyqZ9aU3oGfJ+nl7QnJeVQTA==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-scroller": ">=2.0.5", + "jquery": ">=1.7" + } + }, + "datatables.net-searchbuilder": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-searchbuilder/-/datatables.net-searchbuilder-1.3.3.tgz", + "integrity": "sha512-EgraZhrLk0RcUjeSiF1yeQa+7eoleQAOz9vhFKuJ5G9n2H+q7JKK3D8bHlNQLwX60pAzXDTD39b4KhFOj0FO4Q==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-searchbuilder-bs4": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/datatables.net-searchbuilder-bs4/-/datatables.net-searchbuilder-bs4-1.3.3.tgz", + "integrity": "sha512-/+Ecw6kzYyDNg9ZtsgopJfssRca6hFxc1qvdrnbsU71dHYjUFvUJOedDJtdmTjyZ3EH/GmxoJR7rCyjcyW2Tew==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-searchbuilder": ">=1.2.2", + "jquery": ">=1.7" + } + }, + "datatables.net-searchpanes": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/datatables.net-searchpanes/-/datatables.net-searchpanes-2.0.1.tgz", + "integrity": "sha512-NZ4tj4NNEe8+RxaQVAOEuyCiVWiI0uGke1jXUlCFdrKUq+XecZIauf+Bf3HMeNEL4G/6I7wXqJ9LY6mGpna4zQ==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-searchpanes-bs4": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-searchpanes-bs4/-/datatables.net-searchpanes-bs4-1.4.0.tgz", + "integrity": "sha512-Floxzmw2cQkUQdI7Vv4IWtLqLmwPrmY6MPncbEWq4YvkSeaZW7OHzSmZLLUjMn2P6Huvz59WUVcwL0lSDui6GQ==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.10.25", + "datatables.net-searchpanes": ">=1.3.0", + "jquery": ">=1.7" + } + }, + "datatables.net-select": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select/-/datatables.net-select-1.4.0.tgz", + "integrity": "sha512-CWEIpODzKXupZOx5KdPUnX5pDPO0xLrCxezE1MNktolFSz0duMw1w3ae25cEynP+w8wkaXbRfCiyGeBXx1YIvw==", + "dev": true, + "requires": { + "datatables.net": ">=1.11.3", + "jquery": ">=1.7" + } + }, + "datatables.net-select-bs4": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/datatables.net-select-bs4/-/datatables.net-select-bs4-1.4.0.tgz", + "integrity": "sha512-5DWRyKo+YwX+J8CHbvexbipam/7tqZXp0R/1Ayrk7e1YP3jPE0X0XybguxBspifgjD49uu3fDLYyjKFVwpif9Q==", + "dev": true, + "requires": { + "datatables.net-bs4": ">=1.11.3", + "datatables.net-select": ">=1.3.3", + "jquery": ">=1.7" + } + }, + "daterangepicker": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/daterangepicker/-/daterangepicker-3.1.0.tgz", + "integrity": "sha512-DxWXvvPq4srWLCqFugqSV+6CBt/CvQ0dnpXhQ3gl0autcIDAruG1PuGG3gC7yPRNytAD1oU1AcUOzaYhOawhTw==", + "dev": true, + "requires": { + "jquery": ">=1.10", + "moment": "^2.9.0" + } + }, + "de-indent": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/de-indent/-/de-indent-1.0.2.tgz", + "integrity": "sha512-e/1zu3xH5MQryN2zdVaF0OrdNLUbvWxzMbi+iNA6Bky7l1RoP8a2fIbRocyHclXt/arDrrR6lL3TqFD9pMQTsg==", + "dev": true + }, + "debug": { + "version": "4.3.4", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.3.4.tgz", + "integrity": "sha512-PRWFHuSU3eDtQJPvnNY7Jcket1j0t5OuOsFzPPzsekD52Zl8qUfFIPEiswXqIvHWGVHOgX+7G/vCNNhehwxfkQ==", + "dev": true, + "requires": { + "ms": "2.1.2" + } + }, + "decode-uri-component": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/decode-uri-component/-/decode-uri-component-0.2.0.tgz", + "integrity": "sha512-hjf+xovcEn31w/EUYdTXQh/8smFL/dzYjohQGEIgjyNavaJfBY2p5F527Bo1VPATxv0VYTUC2bOcXvqFwk78Og==", + "dev": true + }, + "deep-equal": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/deep-equal/-/deep-equal-2.0.5.tgz", + "integrity": "sha512-nPiRgmbAtm1a3JsnLCf6/SLfXcjyN5v8L1TXzdCmHrXJ4hx+gW/w1YCcn7z8gJtSiDArZCgYtbao3QqLm/N1Sw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "es-get-iterator": "^1.1.1", + "get-intrinsic": "^1.0.1", + "is-arguments": "^1.0.4", + "is-date-object": "^1.0.2", + "is-regex": "^1.1.1", + "isarray": "^2.0.5", + "object-is": "^1.1.4", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.3.0", + "side-channel": "^1.0.3", + "which-boxed-primitive": "^1.0.1", + "which-collection": "^1.0.1", + "which-typed-array": "^1.1.2" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "default-gateway": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/default-gateway/-/default-gateway-6.0.3.tgz", + "integrity": "sha512-fwSOJsbbNzZ/CUFpqFBqYfYNLj1NbMPm8MMCIzHjC83iSJRBEGmDUxU+WP661BaBQImeC2yHwXtz+P/O9o+XEg==", + "dev": true, + "requires": { + "execa": "^5.0.0" + } + }, + "define-lazy-prop": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/define-lazy-prop/-/define-lazy-prop-2.0.0.tgz", + "integrity": "sha512-Ds09qNh8yw3khSjiJjiUInaGX9xlqZDY7JVryGxdxV7NPeuqQfplOpQ66yJFZut3jLa5zOwkXw1g9EI2uKh4Og==", + "dev": true + }, + "define-properties": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/define-properties/-/define-properties-1.1.4.tgz", + "integrity": "sha512-uckOqKcfaVvtBdsVkdPv3XjveQJsNQqmhXgRi8uhvWWuPYZCNlzT8qAyblUgNoXdHdjMTzAqeGjAoli8f+bzPA==", + "dev": true, + "requires": { + "has-property-descriptors": "^1.0.0", + "object-keys": "^1.1.1" + } + }, + "depd": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/depd/-/depd-2.0.0.tgz", + "integrity": "sha512-g7nH6P6dyDioJogAAGprGpCtVImJhpPk/roCzdb3fIh61/s/nPsfR6onyMwkCAR/OlC3yBC0lESvUoQEAssIrw==", + "dev": true + }, + "des.js": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/des.js/-/des.js-1.0.1.tgz", + "integrity": "sha512-Q0I4pfFrv2VPd34/vfLrFOoRmlYj3OV50i7fskps1jZWK1kApMWWT9G6RRUeYedLcBDIhnSDaUvJMb3AhUlaEA==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "minimalistic-assert": "^1.0.0" + } + }, + "destroy": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.2.0.tgz", + "integrity": "sha512-2sJGJTaXIIaR1w4iJSNoN0hnMY7Gpc/n8D4qSCJw8QqFWXf7cuAgnEHxBpweaVcPevC2l3KpjYCx3NypQQgaJg==", + "dev": true + }, + "detect-node": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/detect-node/-/detect-node-2.1.0.tgz", + "integrity": "sha512-T0NIuQpnTvFDATNuHN5roPwSBG83rFsuO+MXXH9/3N1eFbn4wcPjttvjMLEPWJ0RGUYgQE7cGgS3tNxbqCGM7g==", + "dev": true + }, + "dfa": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/dfa/-/dfa-1.2.0.tgz", + "integrity": "sha512-ED3jP8saaweFTjeGX8HQPjeC1YYyZs98jGNZx6IiBvxW7JG5v492kamAQB3m2wop07CvU/RQmzcKr6bgcC5D/Q==", + "dev": true + }, + "diffie-hellman": { + "version": "5.0.3", + "resolved": "https://registry.npmjs.org/diffie-hellman/-/diffie-hellman-5.0.3.tgz", + "integrity": "sha512-kqag/Nl+f3GwyK25fhUMYj81BUOrZ9IuJsjIcDE5icNM9FJHAVm3VcUDxdLPoQtTuUylWm6ZIknYJwwaPxsUzg==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "miller-rabin": "^4.0.0", + "randombytes": "^2.0.0" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "dir-glob": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/dir-glob/-/dir-glob-3.0.1.tgz", + "integrity": "sha512-WkrWp9GR4KXfKGYzOLmTuGVi1UWFfws377n9cc55/tb6DuqyF6pcQ5AbiHEshaDpY9v6oaSr2XCDidGmMwdzIA==", + "dev": true, + "requires": { + "path-type": "^4.0.0" + } + }, + "dns-equal": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/dns-equal/-/dns-equal-1.0.0.tgz", + "integrity": "sha512-z+paD6YUQsk+AbGCEM4PrOXSss5gd66QfcVBFTKR/HpFL9jCqikS94HYwKww6fQyO7IxrIIyUu+g0Ka9tUS2Cg==", + "dev": true + }, + "dns-packet": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/dns-packet/-/dns-packet-5.3.1.tgz", + "integrity": "sha512-spBwIj0TK0Ey3666GwIdWVfUpLyubpU53BTCu8iPn4r4oXd9O14Hjg3EHw3ts2oed77/SeckunUYCyRlSngqHw==", + "dev": true, + "requires": { + "@leichtgewicht/ip-codec": "^2.0.1" + } + }, + "dom-serializer": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/dom-serializer/-/dom-serializer-1.4.1.tgz", + "integrity": "sha512-VHwB3KfrcOOkelEG2ZOfxqLZdfkil8PtJi4P8N2MMXucZq2yLp75ClViUlOVwyoHEDjYU433Aq+5zWP61+RGag==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^4.2.0", + "entities": "^2.0.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "domain-browser": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/domain-browser/-/domain-browser-1.2.0.tgz", + "integrity": "sha512-jnjyiM6eRyZl2H+W8Q/zLMA481hzi0eszAaBUzIVnmYVDBbnLxVNnfu1HgEBvCbL+71FrxMl3E6lpKH7Ge3OXA==", + "dev": true + }, + "domelementtype": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/domelementtype/-/domelementtype-2.3.0.tgz", + "integrity": "sha512-OLETBj6w0OsagBwdXnPdN0cnMfF9opN69co+7ZrbfPGrdpPVNBUj02spi6B1N7wChLQiPn4CSH/zJvXw56gmHw==", + "dev": true + }, + "domhandler": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-3.3.0.tgz", + "integrity": "sha512-J1C5rIANUbuYK+FuFL98650rihynUOEzRLxW+90bKZRWB6A1X1Tf82GxR1qAWLyfNPRvjqfip3Q5tdYlmAa9lA==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1" + } + }, + "domutils": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/domutils/-/domutils-2.8.0.tgz", + "integrity": "sha512-w96Cjofp72M5IIhpjgobBimYEfoPjx1Vx0BSX9P30WBdZW2WIKU0T1Bd0kz2eNZ9ikjKgHbEyKx8BB6H1L3h3A==", + "dev": true, + "requires": { + "dom-serializer": "^1.0.1", + "domelementtype": "^2.2.0", + "domhandler": "^4.2.0" + }, + "dependencies": { + "domhandler": { + "version": "4.3.1", + "resolved": "https://registry.npmjs.org/domhandler/-/domhandler-4.3.1.tgz", + "integrity": "sha512-GrwoxYN+uWlzO8uhUXRl0P+kHE4GtVPfYzVLcUxPL7KNdHKj66vvlhiweIHqYYXWlw+T8iLMp42Lm67ghw4WMQ==", + "dev": true, + "requires": { + "domelementtype": "^2.2.0" + } + } + } + }, + "dot-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/dot-case/-/dot-case-3.0.4.tgz", + "integrity": "sha512-Kv5nKlh6yRrdrGvxeJ2e5y2eRUpkUosIW4A2AS38zwSz27zu7ufDwQPi5Jhs3XAlGNetl3bmnGhQsMtkKJnj3w==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "dotenv": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/dotenv/-/dotenv-10.0.0.tgz", + "integrity": "sha512-rlBi9d8jpv9Sf1klPjNfFAuWDjKLwTIJJ/VxtoTwIR6hnZxcEOQCZg2oIL3MWBYw5GpUDKOEnND7LXTbIpQ03Q==", + "dev": true + }, + "dotenv-expand": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/dotenv-expand/-/dotenv-expand-5.1.0.tgz", + "integrity": "sha512-YXQl1DSa4/PQyRfgrv6aoNjhasp/p4qs9FjJ4q4cQk+8m4r6k4ZSiEyytKG8f8W9gi8WsQtIObNmKd+tMzNTmA==", + "dev": true + }, + "dropzone": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/dropzone/-/dropzone-5.9.3.tgz", + "integrity": "sha512-Azk8kD/2/nJIuVPK+zQ9sjKMRIpRvNyqn9XwbBHNq+iNuSccbJS6hwm1Woy0pMST0erSo0u4j+KJaodndDk4vA==", + "dev": true + }, + "ee-first": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ee-first/-/ee-first-1.1.1.tgz", + "integrity": "sha512-WMwm9LhRUo+WUaRN+vRuETqG89IgZphVSNkdFgeb6sS/E4OrDIN7t48CAewSHXc6C8lefD8KKfr5vY61brQlow==", + "dev": true + }, + "ekko-lightbox": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/ekko-lightbox/-/ekko-lightbox-5.3.0.tgz", + "integrity": "sha512-mbacwySuVD3Ad6F2hTkjSTvJt59bcVv2l/TmBerp4xZnLak8tPtA4AScUn4DL42c1ksTiAO6sGhJZ52P/1Qgew==", + "dev": true + }, + "electron-to-chromium": { + "version": "1.4.141", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.4.141.tgz", + "integrity": "sha512-mfBcbqc0qc6RlxrsIgLG2wCqkiPAjEezHxGTu7p3dHHFOurH4EjS9rFZndX5axC8264rI1Pcbw8uQP39oZckeA==", + "dev": true + }, + "elliptic": { + "version": "6.5.4", + "resolved": "https://registry.npmjs.org/elliptic/-/elliptic-6.5.4.tgz", + "integrity": "sha512-iLhC6ULemrljPZb+QutR5TQGB+pdW6KGD5RSegS+8sorOZT+rdQFbsQFJgvN3eRqNALqJer4oQ16YvJHlU8hzQ==", + "dev": true, + "requires": { + "bn.js": "^4.11.9", + "brorand": "^1.1.0", + "hash.js": "^1.0.0", + "hmac-drbg": "^1.0.1", + "inherits": "^2.0.4", + "minimalistic-assert": "^1.0.1", + "minimalistic-crypto-utils": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "emoji-regex": { + "version": "8.0.0", + "resolved": "https://registry.npmjs.org/emoji-regex/-/emoji-regex-8.0.0.tgz", + "integrity": "sha512-MSjYzcWNOA0ewAHpz0MxpYFvwg6yjy1NG3xteoqz644VCo/RPgnr1/GGt+ic3iJTzQ8Eu3TdM14SawnVUmGE6A==", + "dev": true + }, + "emojis-list": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-3.0.0.tgz", + "integrity": "sha512-/kyM18EfinwXZbno9FyUGeFh87KC8HRQBQGildHZbEuRyWFOmv1U10o9BBp8XVZDVNNuQKyIGIu5ZYAAXJ0V2Q==", + "dev": true + }, + "encodeurl": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/encodeurl/-/encodeurl-1.0.2.tgz", + "integrity": "sha512-TPJXq8JqFaVYm2CWmPvnP2Iyo4ZSM7/QKcSmuMLDObfpH5fi7RUGmd/rTDf+rut/saiDiQEeVTNgAmJEdAOx0w==", + "dev": true + }, + "enhanced-resolve": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.9.3.tgz", + "integrity": "sha512-Bq9VSor+kjvW3f9/MiiR4eE3XYgOl7/rS8lnSxbRbF3kS0B2r+Y9w5krBWxZgDxASVZbdYrn5wT4j/Wb0J9qow==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.4", + "tapable": "^2.2.0" + } + }, + "entities": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/entities/-/entities-2.2.0.tgz", + "integrity": "sha512-p92if5Nz619I0w+akJrLZH0MX0Pb5DX39XOwQTtXSdQQOaYH03S1uIQp4mhOZtAXrxq4ViO67YTiLBo2638o9A==", + "dev": true + }, + "envinfo": { + "version": "7.8.1", + "resolved": "https://registry.npmjs.org/envinfo/-/envinfo-7.8.1.tgz", + "integrity": "sha512-/o+BXHmB7ocbHEAs6F2EnG0ogybVVUdkRunTT2glZU9XAaGmhqskrvKwqXuDfNjEO0LZKWdejEEpnq8aM0tOaw==", + "dev": true + }, + "error-ex": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/error-ex/-/error-ex-1.3.2.tgz", + "integrity": "sha512-7dFHNmqeFSEt2ZBsCriorKnn3Z2pj+fd9kmI6QoWw4//DL+icEBfc0U7qJCisqrTsKTjw4fNFy2pW9OqStD84g==", + "dev": true, + "requires": { + "is-arrayish": "^0.2.1" + } + }, + "es-abstract": { + "version": "1.20.1", + "resolved": "https://registry.npmjs.org/es-abstract/-/es-abstract-1.20.1.tgz", + "integrity": "sha512-WEm2oBhfoI2sImeM4OF2zE2V3BYdSF+KnSi9Sidz51fQHd7+JuF8Xgcj9/0o+OWeIeIS/MiuNnlruQrJf16GQA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "es-to-primitive": "^1.2.1", + "function-bind": "^1.1.1", + "function.prototype.name": "^1.1.5", + "get-intrinsic": "^1.1.1", + "get-symbol-description": "^1.0.0", + "has": "^1.0.3", + "has-property-descriptors": "^1.0.0", + "has-symbols": "^1.0.3", + "internal-slot": "^1.0.3", + "is-callable": "^1.2.4", + "is-negative-zero": "^2.0.2", + "is-regex": "^1.1.4", + "is-shared-array-buffer": "^1.0.2", + "is-string": "^1.0.7", + "is-weakref": "^1.0.2", + "object-inspect": "^1.12.0", + "object-keys": "^1.1.1", + "object.assign": "^4.1.2", + "regexp.prototype.flags": "^1.4.3", + "string.prototype.trimend": "^1.0.5", + "string.prototype.trimstart": "^1.0.5", + "unbox-primitive": "^1.0.2" + } + }, + "es-get-iterator": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/es-get-iterator/-/es-get-iterator-1.1.2.tgz", + "integrity": "sha512-+DTO8GYwbMCwbywjimwZMHp8AuYXOS2JZFWoi2AlPOS3ebnII9w/NLpNZtA7A0YLaVDw+O7KFCeoIV7OPvM7hQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.0", + "has-symbols": "^1.0.1", + "is-arguments": "^1.1.0", + "is-map": "^2.0.2", + "is-set": "^2.0.2", + "is-string": "^1.0.5", + "isarray": "^2.0.5" + }, + "dependencies": { + "isarray": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-2.0.5.tgz", + "integrity": "sha512-xHjhDr3cNBK0BzdUJSPXZntQUx/mwMS5Rw4A7lPJ90XGAO6ISP/ePDNuo0vhqOZU+UD5JoodwCAAoZQd3FeAKw==", + "dev": true + } + } + }, + "es-module-lexer": { + "version": "0.9.3", + "resolved": "https://registry.npmjs.org/es-module-lexer/-/es-module-lexer-0.9.3.tgz", + "integrity": "sha512-1HQ2M2sPtxwnvOvT1ZClHyQDiggdNjURWpY2we6aMKCQiUVxTmVs2UYPLIrD84sS+kMdUwfBSylbJPwNnBrnHQ==", + "dev": true + }, + "es-to-primitive": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/es-to-primitive/-/es-to-primitive-1.2.1.tgz", + "integrity": "sha512-QCOllgZJtaUo9miYBcLChTUaHNjJF3PYs1VidD7AwiEj1kYxKeQTctLAezAOH5ZKRH0g2IgPn6KwB4IT8iRpvA==", + "dev": true, + "requires": { + "is-callable": "^1.1.4", + "is-date-object": "^1.0.1", + "is-symbol": "^1.0.2" + } + }, + "es5-ext": { + "version": "0.10.61", + "resolved": "https://registry.npmjs.org/es5-ext/-/es5-ext-0.10.61.tgz", + "integrity": "sha512-yFhIqQAzu2Ca2I4SE2Au3rxVfmohU9Y7wqGR+s7+H7krk26NXhIRAZDgqd6xqjCEFUomDEA3/Bo/7fKmIkW1kA==", + "dev": true, + "requires": { + "es6-iterator": "^2.0.3", + "es6-symbol": "^3.1.3", + "next-tick": "^1.1.0" + } + }, + "es6-iterator": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/es6-iterator/-/es6-iterator-2.0.3.tgz", + "integrity": "sha512-zw4SRzoUkd+cl+ZoE15A9o1oQd920Bb0iOJMQkQhl3jNc03YqVjAhG7scf9C5KWRU/R13Orf588uCC6525o02g==", + "dev": true, + "requires": { + "d": "1", + "es5-ext": "^0.10.35", + "es6-symbol": "^3.1.1" + } + }, + "es6-symbol": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/es6-symbol/-/es6-symbol-3.1.3.tgz", + "integrity": "sha512-NJ6Yn3FuDinBaBRWl/q5X/s4koRHBrgKAu+yGI6JCBeiu3qrcbJhwT2GeR/EXVfylRk8dpQVJoLEFhK+Mu31NA==", + "dev": true, + "requires": { + "d": "^1.0.1", + "ext": "^1.1.2" + } + }, + "escalade": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.1.1.tgz", + "integrity": "sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==", + "dev": true + }, + "escape-html": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/escape-html/-/escape-html-1.0.3.tgz", + "integrity": "sha512-NiSupZ4OeuGwr68lGIeym/ksIZMJodUGOSCZ/FSnTxcrekbvqrgdUxlJOMpijaKZVjAJrWrGs/6Jy8OMuyj9ow==", + "dev": true + }, + "escape-string-regexp": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/escape-string-regexp/-/escape-string-regexp-1.0.5.tgz", + "integrity": "sha512-vbRorB5FUQWvla16U8R/qgaFIya2qGzwDrNmCZuYKrbdSUMG6I1ZCGQRefkRVhuOkIGVne7BQ35DSfo1qvJqFg==", + "dev": true + }, + "eslint-scope": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/eslint-scope/-/eslint-scope-5.1.1.tgz", + "integrity": "sha512-2NxwbF/hZ0KpepYN0cNbo+FN6XoK7GaHlQhgx/hIZl6Va0bF45RQOOwhLIy8lQDbuCiadSLCBnH2CFYquit5bw==", + "dev": true, + "requires": { + "esrecurse": "^4.3.0", + "estraverse": "^4.1.1" + } + }, + "esrecurse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/esrecurse/-/esrecurse-4.3.0.tgz", + "integrity": "sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==", + "dev": true, + "requires": { + "estraverse": "^5.2.0" + }, + "dependencies": { + "estraverse": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-5.3.0.tgz", + "integrity": "sha512-MMdARuVEQziNTeJD8DgMqmhwR11BRQ/cBP+pLtYdSTnf3MIO8fFeiINEbX36ZdNlfU/7A9f3gUw49B3oQsvwBA==", + "dev": true + } + } + }, + "estraverse": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/estraverse/-/estraverse-4.3.0.tgz", + "integrity": "sha512-39nnKffWz8xN1BU/2c79n9nB9HDzo0niYUqx6xyqUnyoAnQyyWpOTdZEeiCch8BBu515t4wp9ZmgVfVhn9EBpw==", + "dev": true + }, + "esutils": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/esutils/-/esutils-2.0.3.tgz", + "integrity": "sha512-kVscqXk4OCp68SZ0dkgEKVi6/8ij300KBWTJq32P/dYeWTSwK41WyTxalN1eRmA5Z9UU/LX9D7FWSmV9SAYx6g==", + "dev": true + }, + "etag": { + "version": "1.8.1", + "resolved": "https://registry.npmjs.org/etag/-/etag-1.8.1.tgz", + "integrity": "sha512-aIL5Fx7mawVa300al2BnEE4iNvo1qETxLrPI/o05L7z6go7fCw1J6EQmbK4FmJ2AS7kgVF/KEZWufBfdClMcPg==", + "dev": true + }, + "ev-emitter": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/ev-emitter/-/ev-emitter-1.1.1.tgz", + "integrity": "sha512-ipiDYhdQSCZ4hSbX4rMW+XzNKMD1prg/sTvoVmSLkuQ1MVlwjJQQA+sW8tMYR3BLUr9KjodFV4pvzunvRhd33Q==", + "dev": true + }, + "eve-raphael": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/eve-raphael/-/eve-raphael-0.5.0.tgz", + "integrity": "sha512-jrxnPsCGqng1UZuEp9DecX/AuSyAszATSjf4oEcRxvfxa1Oux4KkIPKBAAWWnpdwfARtr+Q0o9aPYWjsROD7ug==", + "dev": true + }, + "eventemitter3": { + "version": "4.0.7", + "resolved": "https://registry.npmjs.org/eventemitter3/-/eventemitter3-4.0.7.tgz", + "integrity": "sha512-8guHBZCwKnFhYdHr2ysuRWErTwhoN2X8XELRlrRwpmfeY2jjuUN4taQMsULKUVo1K4DvZl+0pgfyoysHxvmvEw==", + "dev": true + }, + "events": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/events/-/events-3.3.0.tgz", + "integrity": "sha512-mQw+2fkQbALzQ7V0MY0IqdnXNOeTtP4r0lN9z7AAawCXgqea7bDii20AYrIBrFd/Hx0M2Ocz6S111CaFkUcb0Q==", + "dev": true + }, + "evp_bytestokey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/evp_bytestokey/-/evp_bytestokey-1.0.3.tgz", + "integrity": "sha512-/f2Go4TognH/KvCISP7OUsHn85hT9nUkxxA9BEWxFn+Oj9o8ZNLm/40hdlgSLyuOimsrTKLUMEorQexp/aPQeA==", + "dev": true, + "requires": { + "md5.js": "^1.3.4", + "safe-buffer": "^5.1.1" + } + }, + "execa": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/execa/-/execa-5.1.1.tgz", + "integrity": "sha512-8uSpZZocAZRBAPIEINJj3Lo9HyGitllczc27Eh5YYojjMFMn8yHMDMaUHE2Jqfq05D/wucwI4JGURyXt1vchyg==", + "dev": true, + "requires": { + "cross-spawn": "^7.0.3", + "get-stream": "^6.0.0", + "human-signals": "^2.1.0", + "is-stream": "^2.0.0", + "merge-stream": "^2.0.0", + "npm-run-path": "^4.0.1", + "onetime": "^5.1.2", + "signal-exit": "^3.0.3", + "strip-final-newline": "^2.0.0" + } + }, + "express": { + "version": "4.18.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.18.1.tgz", + "integrity": "sha512-zZBcOX9TfehHQhtupq57OF8lFZ3UZi08Y97dwFCkD8p9d/d2Y3M+ykKcwaMDEL+4qyUolgBDX6AblpR3fL212Q==", + "dev": true, + "requires": { + "accepts": "~1.3.8", + "array-flatten": "1.1.1", + "body-parser": "1.20.0", + "content-disposition": "0.5.4", + "content-type": "~1.0.4", + "cookie": "0.5.0", + "cookie-signature": "1.0.6", + "debug": "2.6.9", + "depd": "2.0.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "finalhandler": "1.2.0", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "merge-descriptors": "1.0.1", + "methods": "~1.1.2", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "path-to-regexp": "0.1.7", + "proxy-addr": "~2.0.7", + "qs": "6.10.3", + "range-parser": "~1.2.1", + "safe-buffer": "5.2.1", + "send": "0.18.0", + "serve-static": "1.15.0", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "type-is": "~1.6.18", + "utils-merge": "1.0.1", + "vary": "~1.1.2" + }, + "dependencies": { + "array-flatten": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/array-flatten/-/array-flatten-1.1.1.tgz", + "integrity": "sha512-PCVAQswWemu6UdxsDFFX/+gVeYqKAod3D3UVm91jHwynguOwAvYPhx8nNlM++NqRcK6CxxpUafjmhIdKiHibqg==", + "dev": true + }, + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "ext": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/ext/-/ext-1.6.0.tgz", + "integrity": "sha512-sdBImtzkq2HpkdRLtlLWDa6w4DX22ijZLKx8BMPUuKe1c5lbN6xwQDQCxSfxBQnHZ13ls/FH0MQZx/q/gr6FQg==", + "dev": true, + "requires": { + "type": "^2.5.0" + }, + "dependencies": { + "type": { + "version": "2.6.0", + "resolved": "https://registry.npmjs.org/type/-/type-2.6.0.tgz", + "integrity": "sha512-eiDBDOmkih5pMbo9OqsqPRGMljLodLcwd5XD5JbtNB0o89xZAwynY9EdCDsJU7LtcVCClu9DvM7/0Ep1hYX3EQ==", + "dev": true + } + } + }, + "fast-deep-equal": { + "version": "3.1.3", + "resolved": "https://registry.npmjs.org/fast-deep-equal/-/fast-deep-equal-3.1.3.tgz", + "integrity": "sha512-f3qQ9oQy9j2AhBe/H9VC91wLmKBCCU/gDOnKNAYG5hswO7BLKj09Hc5HYNz9cGI++xlpDCIgDaitVs03ATR84Q==", + "dev": true + }, + "fast-glob": { + "version": "3.2.11", + "resolved": "https://registry.npmjs.org/fast-glob/-/fast-glob-3.2.11.tgz", + "integrity": "sha512-xrO3+1bxSo3ZVHAnqzyuewYT6aMFHRAd4Kcs92MAonjwQZLsK9d0SF1IyQ3k5PoirxTW0Oe/RqFgMQ6TcNE5Ew==", + "dev": true, + "requires": { + "@nodelib/fs.stat": "^2.0.2", + "@nodelib/fs.walk": "^1.2.3", + "glob-parent": "^5.1.2", + "merge2": "^1.3.0", + "micromatch": "^4.0.4" + } + }, + "fast-json-stable-stringify": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/fast-json-stable-stringify/-/fast-json-stable-stringify-2.1.0.tgz", + "integrity": "sha512-lhd/wF+Lk98HZoTCtlVraHtfh5XYijIjalXck7saUtuanSDyLMxnHhSXEDJqHxD7msR8D0uCmqlkwjCV8xvwHw==", + "dev": true + }, + "fast-memoize": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/fast-memoize/-/fast-memoize-2.5.2.tgz", + "integrity": "sha512-Ue0LwpDYErFbmNnZSF0UH6eImUwDmogUO1jyE+JbN2gsQz/jICm1Ve7t9QT0rNSsfJt+Hs4/S3GnsDVjL4HVrw==", + "dev": true + }, + "fastclick": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/fastclick/-/fastclick-1.0.6.tgz", + "integrity": "sha512-cXyDBT4g0uWl/Xe75QspBDAgAWQ0lkPi/zgp6YFEUHj6WV6VIZl7R6TiDZhdOVU3W4ehp/8tG61Jev1jit+ztQ==", + "dev": true + }, + "fastest-levenshtein": { + "version": "1.0.12", + "resolved": "https://registry.npmjs.org/fastest-levenshtein/-/fastest-levenshtein-1.0.12.tgz", + "integrity": "sha512-On2N+BpYJ15xIC974QNVuYGMOlEVt4s0EOI3wwMqOmK1fdDY+FN/zltPV8vosq4ad4c/gJ1KHScUn/6AWIgiow==", + "dev": true + }, + "fastq": { + "version": "1.13.0", + "resolved": "https://registry.npmjs.org/fastq/-/fastq-1.13.0.tgz", + "integrity": "sha512-YpkpUnK8od0o1hmeSc7UUs/eB/vIPWJYjKck2QKIzAf71Vm1AAQ3EbuZB3g2JIy+pg+ERD0vqI79KyZiB2e2Nw==", + "dev": true, + "requires": { + "reusify": "^1.0.4" + } + }, + "faye-websocket": { + "version": "0.11.4", + "resolved": "https://registry.npmjs.org/faye-websocket/-/faye-websocket-0.11.4.tgz", + "integrity": "sha512-CzbClwlXAuiRQAlUyfqPgvPoNKTckTPGfwZV4ZdAhVcP2lh9KUxJg2b5GkE7XbjKQ3YJnQ9z6D9ntLAlB+tP8g==", + "dev": true, + "requires": { + "websocket-driver": ">=0.5.1" + } + }, + "file-loader": { + "version": "6.2.0", + "resolved": "https://registry.npmjs.org/file-loader/-/file-loader-6.2.0.tgz", + "integrity": "sha512-qo3glqyTa61Ytg4u73GultjHGjdRyig3tG6lPtyX/jOEJvHif9uB0/OCI2Kif6ctF3caQTW2G5gym21oAsI4pw==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "file-type": { + "version": "12.4.2", + "resolved": "https://registry.npmjs.org/file-type/-/file-type-12.4.2.tgz", + "integrity": "sha512-UssQP5ZgIOKelfsaB5CuGAL+Y+q7EmONuiwF3N5HAH0t27rvrttgi6Ra9k/+DVaY9UF6+ybxu5pOXLUdA8N7Vg==", + "dev": true + }, + "fill-range": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/fill-range/-/fill-range-7.0.1.tgz", + "integrity": "sha512-qOo9F+dMUmC2Lcb4BbVvnKJxTPjCm+RRpe4gDuGrzkL7mEVl/djYSu2OdQ2Pa302N4oqkSg9ir6jaLWJ2USVpQ==", + "dev": true, + "requires": { + "to-regex-range": "^5.0.1" + } + }, + "filterizr": { + "version": "2.2.4", + "resolved": "https://registry.npmjs.org/filterizr/-/filterizr-2.2.4.tgz", + "integrity": "sha512-hqyEdg7RrvJMVFOeF0yysS75HP6jLu0wBSUtSPAc3BysAtHpwcXaPnR1kYp2uZtd3YXyhH6JRfF9+H4SRvrqXg==", + "dev": true, + "requires": { + "fast-memoize": "^2.5.1", + "imagesloaded": "^4.1.4" + } + }, + "finalhandler": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/finalhandler/-/finalhandler-1.2.0.tgz", + "integrity": "sha512-5uXcUVftlQMFnWC9qu/svkWv3GTd2PfUhK/3PLkYNAe7FbqJMt3515HaxE6eRL74GdsriiwujiawdaB1BpEISg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "on-finished": "2.4.1", + "parseurl": "~1.3.3", + "statuses": "2.0.1", + "unpipe": "~1.0.0" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "find-cache-dir": { + "version": "3.3.2", + "resolved": "https://registry.npmjs.org/find-cache-dir/-/find-cache-dir-3.3.2.tgz", + "integrity": "sha512-wXZV5emFEjrridIgED11OoUKLxiYjAcqot/NJdAkOhlJ+vGzwhOAfcG5OX1jP+S0PcjEn8bdMJv+g2jwQ3Onig==", + "dev": true, + "requires": { + "commondir": "^1.0.1", + "make-dir": "^3.0.2", + "pkg-dir": "^4.1.0" + } + }, + "find-up": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/find-up/-/find-up-4.1.0.tgz", + "integrity": "sha512-PpOwAdQ/YlXQ2vj8a3h8IipDuYRi3wceVQQGYWxNINccq40Anw7BlsEXCMbt1Zt+OLA6Fq9suIpIWD0OsnISlw==", + "dev": true, + "requires": { + "locate-path": "^5.0.0", + "path-exists": "^4.0.0" + } + }, + "flag-icon-css": { + "version": "3.5.0", + "resolved": "https://registry.npmjs.org/flag-icon-css/-/flag-icon-css-3.5.0.tgz", + "integrity": "sha512-pgJnJLrtb0tcDgU1fzGaQXmR8h++nXvILJ+r5SmOXaaL/2pocunQo2a8TAXhjQnBpRLPtZ1KCz/TYpqeNuE2ew==", + "dev": true + }, + "flot": { + "version": "4.2.2", + "resolved": "https://registry.npmjs.org/flot/-/flot-4.2.2.tgz", + "integrity": "sha512-Strct/A27o0TA25X7Z0pxKhwK4djiP1Kjeqj0tkiqrkRu1qYPqfbp5BYuxEL8CWDNtj85Uc0PnG2E2plo1+VMg==", + "dev": true + }, + "follow-redirects": { + "version": "1.15.1", + "resolved": "https://registry.npmjs.org/follow-redirects/-/follow-redirects-1.15.1.tgz", + "integrity": "sha512-yLAMQs+k0b2m7cVxpS1VKJVvoz7SS9Td1zss3XRwXj+ZDH00RJgnuLx7E44wx02kQLrdM3aOOy+FpzS7+8OizA==", + "dev": true + }, + "fontkit": { + "version": "1.9.0", + "resolved": "https://registry.npmjs.org/fontkit/-/fontkit-1.9.0.tgz", + "integrity": "sha512-HkW/8Lrk8jl18kzQHvAw9aTHe1cqsyx5sDnxncx652+CIfhawokEPkeM3BoIC+z/Xv7a0yMr0f3pRRwhGH455g==", + "dev": true, + "requires": { + "@swc/helpers": "^0.3.13", + "brotli": "^1.3.2", + "clone": "^2.1.2", + "deep-equal": "^2.0.5", + "dfa": "^1.2.0", + "restructure": "^2.0.1", + "tiny-inflate": "^1.0.3", + "unicode-properties": "^1.3.1", + "unicode-trie": "^2.0.0" + } + }, + "for-each": { + "version": "0.3.3", + "resolved": "https://registry.npmjs.org/for-each/-/for-each-0.3.3.tgz", + "integrity": "sha512-jqYfLp7mo9vIyQf8ykW2v7A+2N4QjeCeI5+Dz9XraiO1ign81wjiH7Fb9vSOWvQfNtmSa4H2RoQTrrXivdUZmw==", + "dev": true, + "requires": { + "is-callable": "^1.1.3" + } + }, + "forwarded": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/forwarded/-/forwarded-0.2.0.tgz", + "integrity": "sha512-buRG0fpBtRHSTCOASe6hD258tEubFoRLb4ZNA6NxMVHNw2gOcwHo9wyablzMzOA5z9xA9L1KNjk/Nt6MT9aYow==", + "dev": true + }, + "fraction.js": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/fraction.js/-/fraction.js-4.2.0.tgz", + "integrity": "sha512-MhLuK+2gUcnZe8ZHlaaINnQLl0xRIGRfcGk2yl8xoQAfHrSsL3rYu6FCmBdkdbhc9EPlwyGHewaRsvwRMJtAlA==", + "dev": true + }, + "fresh": { + "version": "0.5.2", + "resolved": "https://registry.npmjs.org/fresh/-/fresh-0.5.2.tgz", + "integrity": "sha512-zJ2mQYM18rEFOudeV4GShTGIQ7RbzA7ozbU9I/XBpm7kqgMywgmylMwXHxZJmkVoYkna9d2pVXVXPdYTP9ej8Q==", + "dev": true + }, + "fs-extra": { + "version": "10.1.0", + "resolved": "https://registry.npmjs.org/fs-extra/-/fs-extra-10.1.0.tgz", + "integrity": "sha512-oRXApq54ETRj4eMiFzGnHWGy+zo5raudjuxN0b8H7s/RU2oW0Wvsx9O0ACRN/kRq9E8Vu/ReskGB5o3ji+FzHQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.2.0", + "jsonfile": "^6.0.1", + "universalify": "^2.0.0" + } + }, + "fs-monkey": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/fs-monkey/-/fs-monkey-1.0.3.tgz", + "integrity": "sha512-cybjIfiiE+pTWicSCLFHSrXZ6EilF30oh91FDP9S2B051prEa7QWfrVTQm10/dDpswBDXZugPa1Ogu8Yh+HV0Q==", + "dev": true + }, + "fs.realpath": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/fs.realpath/-/fs.realpath-1.0.0.tgz", + "integrity": "sha512-OO0pH2lK6a0hZnAdau5ItzHPI6pUlvI7jMVnxUQRtw4owF2wk8lOSabtGDCTP4Ggrg2MbGnWO9X8K1t4+fGMDw==", + "dev": true + }, + "fsevents": { + "version": "2.3.2", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.2.tgz", + "integrity": "sha512-xiqMQR4xAeHTuB9uWm+fFRcIOgKBMiOBP+eXiyT7jsgVCq1bkVygt00oASowB7EdtpOHaaPgKt812P9ab+DDKA==", + "dev": true, + "optional": true + }, + "fullcalendar": { + "version": "5.11.0", + "resolved": "https://registry.npmjs.org/fullcalendar/-/fullcalendar-5.11.0.tgz", + "integrity": "sha512-R3yQMKJtP6jWZ3o9fNB0WUOl6Oi+vus3ciLtt3eva7ISutkMm6nE4lA+xhfTS3OIevxVQOv0O646R6G8o7sMXA==", + "dev": true + }, + "function-bind": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/function-bind/-/function-bind-1.1.1.tgz", + "integrity": "sha512-yIovAzMX49sF8Yl58fSCWJ5svSLuaibPxXQJFLmBObTuCr0Mf1KiPopGM9NiFjiYBCbfaa2Fh6breQ6ANVTI0A==", + "dev": true + }, + "function.prototype.name": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/function.prototype.name/-/function.prototype.name-1.1.5.tgz", + "integrity": "sha512-uN7m/BzVKQnCUF/iW8jYea67v++2u7m5UgENbHRtdDVclOUP+FMPlCNdmk0h/ysGyo2tavMJEDqJAkJdRa1vMA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "es-abstract": "^1.19.0", + "functions-have-names": "^1.2.2" + } + }, + "functions-have-names": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/functions-have-names/-/functions-have-names-1.2.3.tgz", + "integrity": "sha512-xckBUXyTIqT97tq2x2AMb+g163b5JFysYk0x4qxNFwbfQkmNZoiRHb6sPzI9/QV33WeuvVYBUIiD4NzNIyqaRQ==", + "dev": true + }, + "gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true + }, + "get-caller-file": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/get-caller-file/-/get-caller-file-2.0.5.tgz", + "integrity": "sha512-DyFP3BM/3YHTQOCUL/w0OZHR0lpKeGrxotcHWcqNEdnltqFwXVfhEBQ94eIo34AfQpo0rGki4cyIiftY06h2Fg==", + "dev": true + }, + "get-intrinsic": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/get-intrinsic/-/get-intrinsic-1.1.1.tgz", + "integrity": "sha512-kWZrnVM42QCiEA2Ig1bG8zjoIMOgxWwYCEeNdwY6Tv/cOSeGpcoX4pXHfKUxNKVoArnrEr2e9srnAxxGIraS9Q==", + "dev": true, + "requires": { + "function-bind": "^1.1.1", + "has": "^1.0.3", + "has-symbols": "^1.0.1" + } + }, + "get-stream": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/get-stream/-/get-stream-6.0.1.tgz", + "integrity": "sha512-ts6Wi+2j3jQjqi70w5AlN8DFnkSwC+MqmxEzdEALB2qXZYV3X/b1CTfgPLGJNMeAWxdPfU8FO1ms3NUfaHCPYg==", + "dev": true + }, + "get-symbol-description": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/get-symbol-description/-/get-symbol-description-1.0.0.tgz", + "integrity": "sha512-2EmdH1YvIQiZpltCNgkuiUnyukzxM/R6NDJX31Ke3BG1Nq5b0S2PhX59UKi9vZpPDQVdqn+1IcaAwnzTT5vCjw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "glob": { + "version": "7.2.3", + "resolved": "https://registry.npmjs.org/glob/-/glob-7.2.3.tgz", + "integrity": "sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==", + "dev": true, + "requires": { + "fs.realpath": "^1.0.0", + "inflight": "^1.0.4", + "inherits": "2", + "minimatch": "^3.1.1", + "once": "^1.3.0", + "path-is-absolute": "^1.0.0" + } + }, + "glob-parent": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/glob-parent/-/glob-parent-5.1.2.tgz", + "integrity": "sha512-AOIgSQCepiJYwP3ARnGx+5VnTu2HBYdzbGP45eLw1vr3zB3vZLeyed1sC9hnbcOc9/SrMyM5RPQrkGz4aS9Zow==", + "dev": true, + "requires": { + "is-glob": "^4.0.1" + } + }, + "glob-to-regexp": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/glob-to-regexp/-/glob-to-regexp-0.4.1.tgz", + "integrity": "sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==", + "dev": true + }, + "globals": { + "version": "11.12.0", + "resolved": "https://registry.npmjs.org/globals/-/globals-11.12.0.tgz", + "integrity": "sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA==", + "dev": true + }, + "globby": { + "version": "10.0.2", + "resolved": "https://registry.npmjs.org/globby/-/globby-10.0.2.tgz", + "integrity": "sha512-7dUi7RvCoT/xast/o/dLN53oqND4yk0nsHkhRgn9w65C4PofCLOoJ39iSOg+qVDdWQPIEj+eszMHQ+aLVwwQSg==", + "dev": true, + "requires": { + "@types/glob": "^7.1.1", + "array-union": "^2.1.0", + "dir-glob": "^3.0.1", + "fast-glob": "^3.0.3", + "glob": "^7.1.3", + "ignore": "^5.1.1", + "merge2": "^1.2.3", + "slash": "^3.0.0" + } + }, + "graceful-fs": { + "version": "4.2.10", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.10.tgz", + "integrity": "sha512-9ByhssR2fPVsNZj478qUUbKfmL0+t5BDVyjShtyZZLiK7ZDAArFFfopyOTj0M05wE2tJPisA4iTnnXl2YoPvOA==", + "dev": true + }, + "growly": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/growly/-/growly-1.3.0.tgz", + "integrity": "sha512-+xGQY0YyAWCnqy7Cd++hc2JqMYzlm0dG30Jd0beaA64sROr8C4nt8Yc9V5Ro3avlSUDTN0ulqP/VBKi1/lLygw==", + "dev": true + }, + "handle-thing": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/handle-thing/-/handle-thing-2.0.1.tgz", + "integrity": "sha512-9Qn4yBxelxoh2Ow62nP+Ka/kMnOXRi8BXnRaUwezLNhqelnN49xKz4F/dPP8OYLxLxq6JDtZb2i9XznUQbNPTg==", + "dev": true + }, + "has": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has/-/has-1.0.3.tgz", + "integrity": "sha512-f2dvO0VU6Oej7RkWJGrehjbzMAjFp5/VKPp5tTpWIV4JHHZK1/BxbFRtf/siA2SWTe09caDmVtYYzWEIbBS4zw==", + "dev": true, + "requires": { + "function-bind": "^1.1.1" + } + }, + "has-bigints": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/has-bigints/-/has-bigints-1.0.2.tgz", + "integrity": "sha512-tSvCKtBr9lkF0Ex0aQiP9N+OpV4zi2r/Nee5VkRDbaqv35RLYMzbwQfFSZZH0kR+Rd6302UJZ2p/bJCEoR3VoQ==", + "dev": true + }, + "has-flag": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", + "dev": true + }, + "has-property-descriptors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-property-descriptors/-/has-property-descriptors-1.0.0.tgz", + "integrity": "sha512-62DVLZGoiEBDHQyqG4w9xCuZ7eJEwNmJRWw2VY84Oedb7WFcA27fiEVe8oUQx9hAUJ4ekurquucTGwsyO1XGdQ==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.1" + } + }, + "has-symbols": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/has-symbols/-/has-symbols-1.0.3.tgz", + "integrity": "sha512-l3LCuF6MgDNwTDKkdYGEihYjt5pRPbEg46rtlmnSPlUbgmB8LOIrKJbYYFBSbnPaJexMKtiPO8hmeRjRz2Td+A==", + "dev": true + }, + "has-tostringtag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/has-tostringtag/-/has-tostringtag-1.0.0.tgz", + "integrity": "sha512-kFjcSNhnlGV1kyoGk7OXKSawH5JOb/LzUc5w9B02hOTO0dfFRjbHQKvg1d6cf3HbeUmtU9VbbV3qzZ2Teh97WQ==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "hash-base": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/hash-base/-/hash-base-3.1.0.tgz", + "integrity": "sha512-1nmYp/rhMDiE7AYkDw+lLwlAzz0AntGIe51F3RfFfEqyQ3feY2eI/NcwC6umIQVOASPMsWJLJScWKSSvzL9IVA==", + "dev": true, + "requires": { + "inherits": "^2.0.4", + "readable-stream": "^3.6.0", + "safe-buffer": "^5.2.0" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + }, + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "hash-sum": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/hash-sum/-/hash-sum-1.0.2.tgz", + "integrity": "sha512-fUs4B4L+mlt8/XAtSOGMUO1TXmAelItBPtJG7CyHJfYTdDjwisntGO2JQz7oUsatOY9o68+57eziUVNw/mRHmA==", + "dev": true + }, + "hash.js": { + "version": "1.1.7", + "resolved": "https://registry.npmjs.org/hash.js/-/hash.js-1.1.7.tgz", + "integrity": "sha512-taOaskGt4z4SOANNseOviYDvjEJinIkRgmp7LbKP2YTTmVxWBl87s/uzK9r+44BclBSp2X7K1hqeNfz9JbBeXA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "minimalistic-assert": "^1.0.1" + } + }, + "he": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/he/-/he-1.2.0.tgz", + "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==", + "dev": true + }, + "hmac-drbg": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/hmac-drbg/-/hmac-drbg-1.0.1.tgz", + "integrity": "sha512-Tti3gMqLdZfhOQY1Mzf/AanLiqh1WTiJgEj26ZuYQ9fbkLomzGchCws4FyrSd4VkpBfiNhaE1On+lOz894jvXg==", + "dev": true, + "requires": { + "hash.js": "^1.0.3", + "minimalistic-assert": "^1.0.0", + "minimalistic-crypto-utils": "^1.0.1" + } + }, + "hpack.js": { + "version": "2.1.6", + "resolved": "https://registry.npmjs.org/hpack.js/-/hpack.js-2.1.6.tgz", + "integrity": "sha512-zJxVehUdMGIKsRaNt7apO2Gqp0BdqW5yaiGHXXmbpvxgBYVZnAql+BJb4RO5ad2MgpbZKn5G6nMnegrH1FcNYQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "obuf": "^1.0.0", + "readable-stream": "^2.0.1", + "wbuf": "^1.1.0" + } + }, + "html-entities": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/html-entities/-/html-entities-2.3.3.tgz", + "integrity": "sha512-DV5Ln36z34NNTDgnz0EWGBLZENelNAtkiFA4kyNOG2tDI6Mz1uSWiq1wAKdyjnJwyDiDO7Fa2SO1CTxPXL8VxA==", + "dev": true + }, + "html-loader": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/html-loader/-/html-loader-1.3.2.tgz", + "integrity": "sha512-DEkUwSd0sijK5PF3kRWspYi56XP7bTNkyg5YWSzBdjaSDmvCufep5c4Vpb3PBf6lUL0YPtLwBfy9fL0t5hBAGA==", + "dev": true, + "requires": { + "html-minifier-terser": "^5.1.1", + "htmlparser2": "^4.1.0", + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "html-minifier-terser": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/html-minifier-terser/-/html-minifier-terser-5.1.1.tgz", + "integrity": "sha512-ZPr5MNObqnV/T9akshPKbVgyOqLmy+Bxo7juKCfTfnjNniTAMdy4hz21YQqoofMBJD2kdREaqPPdThoR78Tgxg==", + "dev": true, + "requires": { + "camel-case": "^4.1.1", + "clean-css": "^4.2.3", + "commander": "^4.1.1", + "he": "^1.2.0", + "param-case": "^3.0.3", + "relateurl": "^0.2.7", + "terser": "^4.6.3" + }, + "dependencies": { + "clean-css": { + "version": "4.2.4", + "resolved": "https://registry.npmjs.org/clean-css/-/clean-css-4.2.4.tgz", + "integrity": "sha512-EJUDT7nDVFDvaQgAo2G/PJvxmp1o/c6iXLbswsBbUFXi1Nr+AjA2cKmfbKDMjMvzEe75g3P6JkaDDAKk96A85A==", + "dev": true, + "requires": { + "source-map": "~0.6.0" + } + }, + "commander": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/commander/-/commander-4.1.1.tgz", + "integrity": "sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==", + "dev": true + }, + "terser": { + "version": "4.8.0", + "resolved": "https://registry.npmjs.org/terser/-/terser-4.8.0.tgz", + "integrity": "sha512-EAPipTNeWsb/3wLPeup1tVPaXfIaU68xMnVdPafIL1TV05OhASArYyIfFvnvJCNrR2NIOvDVNNTFRa+Re2MWyw==", + "dev": true, + "requires": { + "commander": "^2.20.0", + "source-map": "~0.6.1", + "source-map-support": "~0.5.12" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + } + } + } + } + }, + "htmlparser2": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/htmlparser2/-/htmlparser2-4.1.0.tgz", + "integrity": "sha512-4zDq1a1zhE4gQso/c5LP1OtrhYTncXNSpvJYtWJBtXAETPlMfi3IFNjGuQbYLuVY4ZR0QMqRVvo4Pdy9KLyP8Q==", + "dev": true, + "requires": { + "domelementtype": "^2.0.1", + "domhandler": "^3.0.0", + "domutils": "^2.0.0", + "entities": "^2.0.0" + } + }, + "http-deceiver": { + "version": "1.2.7", + "resolved": "https://registry.npmjs.org/http-deceiver/-/http-deceiver-1.2.7.tgz", + "integrity": "sha512-LmpOGxTfbpgtGVxJrj5k7asXHCgNZp5nLfp+hWc8QQRqtb7fUy6kRY3BO1h9ddF6yIPYUARgxGOwB42DnxIaNw==", + "dev": true + }, + "http-errors": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-2.0.0.tgz", + "integrity": "sha512-FtwrG/euBzaEjYeRqOgly7G0qviiXoJWnvEH2Z1plBdXgbyjv34pHTSb9zoeHMyDy33+DWy5Wt9Wo+TURtOYSQ==", + "dev": true, + "requires": { + "depd": "2.0.0", + "inherits": "2.0.4", + "setprototypeof": "1.2.0", + "statuses": "2.0.1", + "toidentifier": "1.0.1" + } + }, + "http-parser-js": { + "version": "0.5.6", + "resolved": "https://registry.npmjs.org/http-parser-js/-/http-parser-js-0.5.6.tgz", + "integrity": "sha512-vDlkRPDJn93swjcjqMSaGSPABbIarsr1TLAui/gLDXzV5VsJNdXNzMYDyNBLQkjWQCJ1uizu8T2oDMhmGt0PRA==", + "dev": true + }, + "http-proxy": { + "version": "1.18.1", + "resolved": "https://registry.npmjs.org/http-proxy/-/http-proxy-1.18.1.tgz", + "integrity": "sha512-7mz/721AbnJwIVbnaSv1Cz3Am0ZLT/UBwkC92VlxhXv/k/BBQfM2fXElQNC27BVGr0uwUpplYPQM9LnaBMR5NQ==", + "dev": true, + "requires": { + "eventemitter3": "^4.0.0", + "follow-redirects": "^1.0.0", + "requires-port": "^1.0.0" + } + }, + "http-proxy-middleware": { + "version": "2.0.6", + "resolved": "https://registry.npmjs.org/http-proxy-middleware/-/http-proxy-middleware-2.0.6.tgz", + "integrity": "sha512-ya/UeJ6HVBYxrgYotAZo1KvPWlgB48kUJLDePFeneHsVujFaW5WNj2NgWCAE//B1Dl02BIfYlpNgBy8Kf8Rjmw==", + "dev": true, + "requires": { + "@types/http-proxy": "^1.17.8", + "http-proxy": "^1.18.1", + "is-glob": "^4.0.1", + "is-plain-obj": "^3.0.0", + "micromatch": "^4.0.2" + } + }, + "https-browserify": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https-browserify/-/https-browserify-1.0.0.tgz", + "integrity": "sha512-J+FkSdyD+0mA0N+81tMotaRMfSL9SGi+xpD3T6YApKsc3bGSXJlfXri3VyFOeYkfLRQisDk1W+jIFFKBeUBbBg==", + "dev": true + }, + "human-signals": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/human-signals/-/human-signals-2.1.0.tgz", + "integrity": "sha512-B4FFZ6q/T2jhhksgkbEW3HBvWIfDW85snkQgawt07S7J5QXTk6BkNV+0yAeZrM5QpMAdYlocGoljn0sJ/WQkFw==", + "dev": true + }, + "icheck-bootstrap": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/icheck-bootstrap/-/icheck-bootstrap-3.0.1.tgz", + "integrity": "sha512-Rj3SybdcMcayhsP4IJ+hmCNgCKclaFcs/5zwCuLXH1WMo468NegjhZVxbSNKhEjJjnwc4gKETogUmPYSQ9lEZQ==", + "dev": true + }, + "iconv-lite": { + "version": "0.4.24", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.4.24.tgz", + "integrity": "sha512-v3MXnZAcvnywkTUEZomIActle7RXXeedOR31wwl7VlyoXO4Qi9arvSenNQWne1TcRwhCL1HwLI21bEqdpj8/rA==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3" + } + }, + "icss-utils": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/icss-utils/-/icss-utils-5.1.0.tgz", + "integrity": "sha512-soFhflCVWLfRNOPU3iv5Z9VUdT44xFRbzjLsEzSr5AQmgqPMTHdU3PMT1Cf1ssx8fLNJDA1juftYl+PUcv3MqA==", + "dev": true, + "requires": {} + }, + "ieee754": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/ieee754/-/ieee754-1.2.1.tgz", + "integrity": "sha512-dcyqhDvX1C46lXZcVqCpK+FtMRQVdIMN6/Df5js2zouUsqG7I6sFxitIC+7KYK29KdXOLHdu9zL4sFnoVQnqaA==", + "dev": true + }, + "ignore": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/ignore/-/ignore-5.2.0.tgz", + "integrity": "sha512-CmxgYGiEPCLhfLnpPp1MoRmifwEIOgjcHXxOBjv7mY96c+eWScsOP9c112ZyLdWHi0FxHjI+4uVhKYp/gcdRmQ==", + "dev": true + }, + "imagemin": { + "version": "7.0.1", + "resolved": "https://registry.npmjs.org/imagemin/-/imagemin-7.0.1.tgz", + "integrity": "sha512-33AmZ+xjZhg2JMCe+vDf6a9mzWukE7l+wAtesjE7KyteqqKjzxv7aVQeWnul1Ve26mWvEQqyPwl0OctNBfSR9w==", + "dev": true, + "requires": { + "file-type": "^12.0.0", + "globby": "^10.0.0", + "graceful-fs": "^4.2.2", + "junk": "^3.1.0", + "make-dir": "^3.0.0", + "p-pipe": "^3.0.0", + "replace-ext": "^1.0.0" + } + }, + "imagesloaded": { + "version": "4.1.4", + "resolved": "https://registry.npmjs.org/imagesloaded/-/imagesloaded-4.1.4.tgz", + "integrity": "sha512-ltiBVcYpc/TYTF5nolkMNsnREHW+ICvfQ3Yla2Sgr71YFwQ86bDwV9hgpFhFtrGPuwEx5+LqOHIrdXBdoWwwsA==", + "dev": true, + "requires": { + "ev-emitter": "^1.0.0" + } + }, + "img-loader": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/img-loader/-/img-loader-4.0.0.tgz", + "integrity": "sha512-UwRcPQdwdOyEHyCxe1V9s9YFwInwEWCpoO+kJGfIqDrBDqA8jZUsEZTxQ0JteNPGw/Gupmwesk2OhLTcnw6tnQ==", + "dev": true, + "requires": { + "loader-utils": "^1.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "immediate": { + "version": "3.0.6", + "resolved": "https://registry.npmjs.org/immediate/-/immediate-3.0.6.tgz", + "integrity": "sha512-XXOFtyqDjNDAQxVfYxuF7g9Il/IbWmmlQg2MYKOH8ExIT1qg6xc4zyS3HaEEATgs1btfzxq15ciUiY7gjSXRGQ==", + "dev": true + }, + "immutable": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/immutable/-/immutable-4.1.0.tgz", + "integrity": "sha512-oNkuqVTA8jqG1Q6c+UglTOD1xhC1BtjKI7XkCXRkZHrN5m18/XsnUp8Q89GkQO/z+0WjonSvl0FLhDYftp46nQ==", + "dev": true + }, + "import-fresh": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/import-fresh/-/import-fresh-3.3.0.tgz", + "integrity": "sha512-veYYhQa+D1QBKznvhUHxb8faxlrwUnxseDAbAp457E0wLNio2bOSKnjYDhMj+YiAq61xrMGhQk9iXVk5FzgQMw==", + "dev": true, + "requires": { + "parent-module": "^1.0.0", + "resolve-from": "^4.0.0" + } + }, + "import-local": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/import-local/-/import-local-3.1.0.tgz", + "integrity": "sha512-ASB07uLtnDs1o6EHjKpX34BKYDSqnFerfTOJL2HvMqF70LnxpjkzDB8J44oT9pu4AMPkQwf8jl6szgvNd2tRIg==", + "dev": true, + "requires": { + "pkg-dir": "^4.2.0", + "resolve-cwd": "^3.0.0" + } + }, + "inflight": { + "version": "1.0.6", + "resolved": "https://registry.npmjs.org/inflight/-/inflight-1.0.6.tgz", + "integrity": "sha512-k92I/b08q4wvFscXCLvqfsHCrjrF7yiXsQuIVvVE7N82W3+aqpzuUdBbfhWcy/FZR3/4IgflMgKLOsvPDrGCJA==", + "dev": true, + "requires": { + "once": "^1.3.0", + "wrappy": "1" + } + }, + "inherits": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.4.tgz", + "integrity": "sha512-k/vGaX4/Yla3WzyMCvTQOXYeIHvqOKtnqBduzTHpzpQZzAskKMhZ2K+EnBiSM9zGSoIFeMpXKxa4dYeZIQqewQ==" + }, + "inputmask": { + "version": "5.0.7", + "resolved": "https://registry.npmjs.org/inputmask/-/inputmask-5.0.7.tgz", + "integrity": "sha512-rUxbRDS25KEib+c/Ow+K01oprU/+EK9t9SOPC8ov94/ftULGDqj1zOgRU/Hko6uzoKRMdwCfuhAafJ/Wk2wffQ==", + "dev": true + }, + "internal-slot": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/internal-slot/-/internal-slot-1.0.3.tgz", + "integrity": "sha512-O0DB1JC/sPyZl7cIo78n5dR7eUSwwpYPiXRhTzNxZVAMUuB8vlnRFyLxdrVToks6XPLVnFfbzaVd5WLjhgg+vA==", + "dev": true, + "requires": { + "get-intrinsic": "^1.1.0", + "has": "^1.0.3", + "side-channel": "^1.0.4" + } + }, + "interpret": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/interpret/-/interpret-2.2.0.tgz", + "integrity": "sha512-Ju0Bz/cEia55xDwUWEa8+olFpCiQoypjnQySseKtmjNrnps3P+xfpUmGr90T7yjlVJmOtybRvPXhKMbHr+fWnw==", + "dev": true + }, + "ion-rangeslider": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/ion-rangeslider/-/ion-rangeslider-2.3.1.tgz", + "integrity": "sha512-6V+24FD13/feliI485gnRHZYD9Ev64M5NAFTxnVib516ATHa9PlXQrC+nOiPngouRYTCLPJyokAJEi3e1Umi5g==", + "dev": true, + "requires": {} + }, + "ipaddr.js": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-2.0.1.tgz", + "integrity": "sha512-1qTgH9NG+IIJ4yfKs2e6Pp1bZg8wbDbKHT21HrLIeYBTRLgMYKnMTPAuI3Lcs61nfx5h1xlXnbJtH1kX5/d/ng==", + "dev": true + }, + "is-arguments": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/is-arguments/-/is-arguments-1.1.1.tgz", + "integrity": "sha512-8Q7EARjzEnKpt/PCD7e1cgUS0a6X8u5tdSiMqXhojOdoV9TsMsiO+9VLC5vAmO8N7/GmXn7yjR8qnA6bVAEzfA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-arrayish": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/is-arrayish/-/is-arrayish-0.2.1.tgz", + "integrity": "sha512-zz06S8t0ozoDXMG+ube26zeCTNXcKIPJZJi8hBrF4idCLms4CG9QtK7qBl1boi5ODzFpjswb5JPmHCbMpjaYzg==", + "dev": true + }, + "is-bigint": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-bigint/-/is-bigint-1.0.4.tgz", + "integrity": "sha512-zB9CruMamjym81i2JZ3UMn54PKGsQzsJeo6xvN3HJJ4CAsQNB6iRutp2To77OfCNuoxspsIhzaPoO1zyCEhFOg==", + "dev": true, + "requires": { + "has-bigints": "^1.0.1" + } + }, + "is-binary-path": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/is-binary-path/-/is-binary-path-2.1.0.tgz", + "integrity": "sha512-ZMERYes6pDydyuGidse7OsHxtbI7WVeUEozgR/g7rd0xUimYNlvZRE/K2MgZTjWy725IfelLeVcEM97mmtRGXw==", + "dev": true, + "requires": { + "binary-extensions": "^2.0.0" + } + }, + "is-boolean-object": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/is-boolean-object/-/is-boolean-object-1.1.2.tgz", + "integrity": "sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-buffer": { + "version": "1.1.6", + "resolved": "https://registry.npmjs.org/is-buffer/-/is-buffer-1.1.6.tgz", + "integrity": "sha512-NcdALwpXkTm5Zvvbk7owOUSvVvBKDgKP5/ewfXEznmQFfs4ZRmanOeKBTjRVjka3QFoN6XJ+9F3USqfHqTaU5w==", + "dev": true + }, + "is-callable": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/is-callable/-/is-callable-1.2.4.tgz", + "integrity": "sha512-nsuwtxZfMX67Oryl9LCQ+upnC0Z0BgpwntpS89m1H/TLF0zNfzfLMV/9Wa/6MZsj0acpEjAO0KF1xT6ZdLl95w==", + "dev": true + }, + "is-core-module": { + "version": "2.9.0", + "resolved": "https://registry.npmjs.org/is-core-module/-/is-core-module-2.9.0.tgz", + "integrity": "sha512-+5FPy5PnwmO3lvfMb0AsoPaBG+5KHUI0wYFXOtYPnVVVspTFUuMZNfNaNVRt3FZadstu2c8x23vykRW/NBoU6A==", + "dev": true, + "requires": { + "has": "^1.0.3" + } + }, + "is-date-object": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/is-date-object/-/is-date-object-1.0.5.tgz", + "integrity": "sha512-9YQaSxsAiSwcvS33MBk3wTCVnWK+HhF8VZR2jRxehM16QcVOdHqPn4VPHmRK4lSr38n9JriurInLcP90xsYNfQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-docker": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/is-docker/-/is-docker-2.2.1.tgz", + "integrity": "sha512-F+i2BKsFrH66iaUFc0woD8sLy8getkwTwtOBjvs56Cx4CgJDeKQeqfz8wAYiSb8JOprWhHH5p77PbmYCvvUuXQ==", + "dev": true + }, + "is-extglob": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/is-extglob/-/is-extglob-2.1.1.tgz", + "integrity": "sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==", + "dev": true + }, + "is-fullwidth-code-point": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-fullwidth-code-point/-/is-fullwidth-code-point-3.0.0.tgz", + "integrity": "sha512-zymm5+u+sCsSWyD9qNaejV3DFvhCKclKdizYaJUuHA83RLjb7nSuGnddCHGv0hk+KY7BMAlsWeK4Ueg6EV6XQg==", + "dev": true + }, + "is-glob": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/is-glob/-/is-glob-4.0.3.tgz", + "integrity": "sha512-xelSayHH36ZgE7ZWhli7pW34hNbNl8Ojv5KVmkJD4hBdD3th8Tfk9vYasLM+mXWOZhFkgZfxhLSnrwRr4elSSg==", + "dev": true, + "requires": { + "is-extglob": "^2.1.1" + } + }, + "is-map": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-map/-/is-map-2.0.2.tgz", + "integrity": "sha512-cOZFQQozTha1f4MxLFzlgKYPTyj26picdZTx82hbc/Xf4K/tZOOXSCkMvU4pKioRXGDLJRn0GM7Upe7kR721yg==", + "dev": true + }, + "is-negative-zero": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-negative-zero/-/is-negative-zero-2.0.2.tgz", + "integrity": "sha512-dqJvarLawXsFbNDeJW7zAz8ItJ9cd28YufuuFzh0G8pNHjJMnY08Dv7sYX2uF5UpQOwieAeOExEYAWWfu7ZZUA==", + "dev": true + }, + "is-number": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/is-number/-/is-number-7.0.0.tgz", + "integrity": "sha512-41Cifkg6e8TylSpdtTpeLVMqvSBEVzTttHvERD741+pnZ8ANv0004MRL43QKPDlK9cGvNp6NZWZUBlbGXYxxng==", + "dev": true + }, + "is-number-object": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-number-object/-/is-number-object-1.0.7.tgz", + "integrity": "sha512-k1U0IRzLMo7ZlYIfzRu23Oh6MiIFasgpb9X76eqfFZAqwH44UI4KTBvBYIZ1dSL9ZzChTB9ShHfLkR4pdW5krQ==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-plain-obj": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/is-plain-obj/-/is-plain-obj-3.0.0.tgz", + "integrity": "sha512-gwsOE28k+23GP1B6vFl1oVh/WOzmawBrKwo5Ev6wMKzPkaXaCDIQKzLnvsA42DRlbVTWorkgTKIviAKCWkfUwA==", + "dev": true + }, + "is-plain-object": { + "version": "2.0.4", + "resolved": "https://registry.npmjs.org/is-plain-object/-/is-plain-object-2.0.4.tgz", + "integrity": "sha512-h5PpgXkWitc38BBMYawTYMWJHFZJVnBquFE57xFpjB8pJFiF6gZ+bU+WyI/yqXiFR5mdLsgYNaPe8uao6Uv9Og==", + "dev": true, + "requires": { + "isobject": "^3.0.1" + } + }, + "is-regex": { + "version": "1.1.4", + "resolved": "https://registry.npmjs.org/is-regex/-/is-regex-1.1.4.tgz", + "integrity": "sha512-kvRdxDsxZjhzUX07ZnLydzS1TU/TJlTUHHY4YLL87e37oUA49DfkLqgy+VjFocowy29cKvcSiu+kIv728jTTVg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-tostringtag": "^1.0.0" + } + }, + "is-set": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-set/-/is-set-2.0.2.tgz", + "integrity": "sha512-+2cnTEZeY5z/iXGbLhPrOAaK/Mau5k5eXq9j14CpRTftq0pAJu2MwVRSZhyZWBzx3o6X795Lz6Bpb6R0GKf37g==", + "dev": true + }, + "is-shared-array-buffer": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-shared-array-buffer/-/is-shared-array-buffer-1.0.2.tgz", + "integrity": "sha512-sqN2UDu1/0y6uvXyStCOzyhAjCSlHceFoMKJW8W9EU9cvic/QdsZ0kEU93HEy3IUEFZIiH/3w+AH/UQbPHNdhA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-stream": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-stream/-/is-stream-2.0.1.tgz", + "integrity": "sha512-hFoiJiTl63nn+kstHGBtewWSKnQLpyb155KHheA1l39uvtO9nWIop1p3udqPcUd/xbF1VLMO4n7OI6p7RbngDg==", + "dev": true + }, + "is-string": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/is-string/-/is-string-1.0.7.tgz", + "integrity": "sha512-tE2UXzivje6ofPW7l23cjDOMa09gb7xlAqG6jG5ej6uPV32TlWP3NKPigtaGeHNu9fohccRYvIiZMfOOnOYUtg==", + "dev": true, + "requires": { + "has-tostringtag": "^1.0.0" + } + }, + "is-symbol": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/is-symbol/-/is-symbol-1.0.4.tgz", + "integrity": "sha512-C/CPBqKWnvdcxqIARxyOh4v1UUEOCHpgDa0WYgpKDFMszcrPcffg5uhwSgPCLD2WWxmq6isisz87tzT01tuGhg==", + "dev": true, + "requires": { + "has-symbols": "^1.0.2" + } + }, + "is-typed-array": { + "version": "1.1.9", + "resolved": "https://registry.npmjs.org/is-typed-array/-/is-typed-array-1.1.9.tgz", + "integrity": "sha512-kfrlnTTn8pZkfpJMUgYD7YZ3qzeJgWUn8XfVYBARc4wnmNOmLbmuuaAs3q5fvB0UJOn6yHAKaGTPM7d6ezoD/A==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0" + } + }, + "is-weakmap": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/is-weakmap/-/is-weakmap-2.0.1.tgz", + "integrity": "sha512-NSBR4kH5oVj1Uwvv970ruUkCV7O1mzgVFO4/rev2cLRda9Tm9HrL70ZPut4rOHgY0FNrUu9BCbXA2sdQ+x0chA==", + "dev": true + }, + "is-weakref": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/is-weakref/-/is-weakref-1.0.2.tgz", + "integrity": "sha512-qctsuLZmIQ0+vSSMfoVvyFe2+GSEvnmZ2ezTup1SBse9+twCCeial6EEi3Nc2KFcf6+qz2FBPnjXsk8xhKSaPQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.2" + } + }, + "is-weakset": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/is-weakset/-/is-weakset-2.0.2.tgz", + "integrity": "sha512-t2yVvttHkQktwnNNmBQ98AhENLdPUTDTE21uPqAQ0ARwQfGeQKRVS0NNurH7bTf7RrvcVn1OOge45CnBeHCSmg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "get-intrinsic": "^1.1.1" + } + }, + "is-wsl": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/is-wsl/-/is-wsl-2.2.0.tgz", + "integrity": "sha512-fKzAra0rGJUUBwGBgNkHZuToZcn+TtXHpeCgmkMJMMYx1sQDYaCSyjJBSCa2nH1DGm7s3n1oBnohoVTBaN7Lww==", + "dev": true, + "requires": { + "is-docker": "^2.0.0" + } + }, + "isarray": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-1.0.0.tgz", + "integrity": "sha512-VLghIWNM6ELQzo7zwmcg0NmTVyWKYjvIeM83yjp0wRDTmUnrM678fQbcKBo6n2CJEF0szoG//ytg+TKla89ALQ==" + }, + "isexe": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/isexe/-/isexe-2.0.0.tgz", + "integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==", + "dev": true + }, + "isobject": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/isobject/-/isobject-3.0.1.tgz", + "integrity": "sha512-WhB9zCku7EGTj/HQQRz5aUQEUeoQZH2bWcltRErOpymJ4boYE6wL9Tbr23krRPSZ+C5zqNSrSw+Cc7sZZ4b7vg==", + "dev": true + }, + "izitoast": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/izitoast/-/izitoast-1.4.0.tgz", + "integrity": "sha512-Oc1X2wiQtPp39i5VpIjf3GJf5sfCtHKXZ5szx7RareyEeFLUlcEW0FSfBni28+Ul6KNKZRKzhVuWzSP4Xngh0w==" + }, + "jest-worker": { + "version": "27.5.1", + "resolved": "https://registry.npmjs.org/jest-worker/-/jest-worker-27.5.1.tgz", + "integrity": "sha512-7vuh85V5cdDofPyxn58nrPjBktZo0u9x1g8WtjQol+jZDaE+fhN+cIvTj11GndBnMnyfrUOG1sZQxCdjKh+DKg==", + "dev": true, + "requires": { + "@types/node": "*", + "merge-stream": "^2.0.0", + "supports-color": "^8.0.0" + }, + "dependencies": { + "supports-color": { + "version": "8.1.1", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-8.1.1.tgz", + "integrity": "sha512-MpUEN2OodtUzxvKQl72cUF7RQ5EiHsGvSsVG0ia9c5RbWGL2CI4C7EpPS8UTBIplnlzZiNuV56w+FuNxy3ty2Q==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + } + } + }, + "jquery": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/jquery/-/jquery-3.6.0.tgz", + "integrity": "sha512-JVzAR/AjBvVt2BmYhxRCSYysDsPcssdmTFnzyLEts9qNwmjmu4JTAMYubEfwVOSwpQ1I1sKKFcxhZCI2buerfw==" + }, + "jquery-knob-chif": { + "version": "1.2.13", + "resolved": "https://registry.npmjs.org/jquery-knob-chif/-/jquery-knob-chif-1.2.13.tgz", + "integrity": "sha512-dveq9MZCr68bRrsziuRusKS+/ciT1yOOHdENOSTcXVRM9MsEyCK/DjqR9nc7V3on41269PFdDE2Fuib8Cw4jAA==", + "dev": true + }, + "jquery-mapael": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/jquery-mapael/-/jquery-mapael-2.2.0.tgz", + "integrity": "sha512-B5cVcCkfs7Ezia1Zs8bEfVacYD/GvaASyqQeidApR/NJ1C4igcExk9VULVsgLcTPkxohcZrrz5uCaPXvuKeZWw==", + "dev": true, + "requires": { + "jquery": "^3.0 || ^2.0 || ^1.0", + "jquery-mousewheel": "^3.1", + "raphael": "^2.2.0 || ^2.1.1" + } + }, + "jquery-mousewheel": { + "version": "3.1.13", + "resolved": "https://registry.npmjs.org/jquery-mousewheel/-/jquery-mousewheel-3.1.13.tgz", + "integrity": "sha512-GXhSjfOPyDemM005YCEHvzrEALhKDIswtxSHSR2e4K/suHVJKJxxRCGz3skPjNxjJjQa9AVSGGlYjv1M3VLIPg==", + "dev": true + }, + "jquery-ui-dist": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/jquery-ui-dist/-/jquery-ui-dist-1.13.1.tgz", + "integrity": "sha512-Y711Pu4BRVrAlL58KSxX4ail74jaCJZaZcdNDLava+MgZeNwmVWmyYiK7KxyoJu1MB73eSunjJvYDbOuNrOA7w==", + "dev": true, + "requires": { + "jquery": ">=1.8.0 <4.0.0" + } + }, + "jquery-validation": { + "version": "1.19.4", + "resolved": "https://registry.npmjs.org/jquery-validation/-/jquery-validation-1.19.4.tgz", + "integrity": "sha512-PcwKcATCR+JL77m9kkWd84NAHAunJP9iasF6IbMxUgl73xDAimxjt5oYFmYHDXBmTZM4rpkXxMNR/jGI5TlSjA==", + "dev": true, + "requires": {} + }, + "jquery.nicescroll": { + "version": "3.7.6", + "resolved": "https://registry.npmjs.org/jquery.nicescroll/-/jquery.nicescroll-3.7.6.tgz", + "integrity": "sha512-H4XOzQDw/fJIFftYGemNDAr9sz52zr35+JEubsTNGrTAtxQra4qnu6UnOe+avEHVPy8HnyoHgIpvPXedGSCfTw==", + "requires": { + "jquery": ">=1.8.3" + } + }, + "jqvmap-novulnerability": { + "version": "1.5.1", + "resolved": "https://registry.npmjs.org/jqvmap-novulnerability/-/jqvmap-novulnerability-1.5.1.tgz", + "integrity": "sha512-O6Jr7AGiut9iNJMelPdy8pH83tNXadOqmhJm5FZy9gtaZ5uuhZK3VNu+YLFuTpXeZI8YXUvlFUYbJJi5XHA+tw==", + "dev": true, + "requires": { + "jquery": "^3.4.0" + } + }, + "js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true + }, + "jsesc": { + "version": "2.5.2", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-2.5.2.tgz", + "integrity": "sha512-OYu7XEzjkCQ3C5Ps3QIZsQfNpqoJyZZA99wd9aWd05NCtC5pWOkShK2mkL6HXQR6/Cy2lbNdPlZBpuQHXE63gA==", + "dev": true + }, + "jsgrid": { + "version": "1.5.3", + "resolved": "https://registry.npmjs.org/jsgrid/-/jsgrid-1.5.3.tgz", + "integrity": "sha512-/BJgQp7gZe8o/VgNelwXc21jHc9HN+l7WPOkBhC9b9jPXFtOrU9ftNLPVBmKYCNlIulAbGTW8SDJI0mpw7uWxQ==", + "dev": true + }, + "json-parse-even-better-errors": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/json-parse-even-better-errors/-/json-parse-even-better-errors-2.3.1.tgz", + "integrity": "sha512-xyFwyhro/JEof6Ghe2iz2NcXoj2sloNsWr/XsERDK/oiPCfaNhl5ONfp+jQdAZRQQ0IJWNzH9zIZF7li91kh2w==", + "dev": true + }, + "json-schema-traverse": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-0.4.1.tgz", + "integrity": "sha512-xbbCH5dCYU5T8LcEhhuh7HJ88HXuW3qsI3Y0zOZFKfZEHcpWiHU/Jxzk629Brsab/mMiHQti9wMP+845RPe3Vg==", + "dev": true + }, + "json5": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.1.tgz", + "integrity": "sha512-1hqLFMSrGHRHxav9q9gNjJ5EXznIxGVO09xQRrwplcS8qs28pZ8s8hupZAmqDwZUmVZ2Qb2jnyPOWcDH8m8dlA==", + "dev": true + }, + "jsonfile": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/jsonfile/-/jsonfile-6.1.0.tgz", + "integrity": "sha512-5dgndWOriYSm5cnYaJNhalLNDKOqFwyDB/rr1E9ZsGciGvKPs8R2xYGCacuf3z6K1YKDz182fd+fY3cn3pMqXQ==", + "dev": true, + "requires": { + "graceful-fs": "^4.1.6", + "universalify": "^2.0.0" + } + }, + "jsrender": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/jsrender/-/jsrender-1.0.11.tgz", + "integrity": "sha512-1BFRSKCgO8T1o3QB16/CYqnxLVxgIdXnXBmZcyLQOlEwxVfktCHXcC7n2o9lziI//pKEc5QzI92vglvBnoddRw==", + "requires": { + "through2": "^3.0.1" + } + }, + "jszip": { + "version": "3.10.0", + "resolved": "https://registry.npmjs.org/jszip/-/jszip-3.10.0.tgz", + "integrity": "sha512-LDfVtOLtOxb9RXkYOwPyNBTQDL4eUbqahtoY6x07GiDJHwSYvn8sHHIw8wINImV3MqbMNve2gSuM1DDqEKk09Q==", + "dev": true, + "requires": { + "lie": "~3.3.0", + "pako": "~1.0.2", + "readable-stream": "~2.3.6", + "setimmediate": "^1.0.5" + } + }, + "junk": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/junk/-/junk-3.1.0.tgz", + "integrity": "sha512-pBxcB3LFc8QVgdggvZWyeys+hnrNWg4OcZIU/1X59k5jQdLBlCsYGRQaz234SqoRLTCgMH00fY0xRJH+F9METQ==", + "dev": true + }, + "kind-of": { + "version": "6.0.3", + "resolved": "https://registry.npmjs.org/kind-of/-/kind-of-6.0.3.tgz", + "integrity": "sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==", + "dev": true + }, + "klona": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/klona/-/klona-2.0.5.tgz", + "integrity": "sha512-pJiBpiXMbt7dkzXe8Ghj/u4FfXOOa98fPW+bihOJ4SjnoijweJrNThJfd3ifXpXhREjpoF2mZVH1GfS9LV3kHQ==", + "dev": true + }, + "laravel-mix": { + "version": "6.0.43", + "resolved": "https://registry.npmjs.org/laravel-mix/-/laravel-mix-6.0.43.tgz", + "integrity": "sha512-SOO+C1aOpVSAUs30DYc6k/e0QJxfyD42aav4IKJtE5UZKw9ROWcVzkVoek2J475jNeNnl7GkoLAC27gejZsQ8g==", + "dev": true, + "requires": { + "@babel/core": "^7.15.8", + "@babel/plugin-proposal-object-rest-spread": "^7.15.6", + "@babel/plugin-syntax-dynamic-import": "^7.8.3", + "@babel/plugin-transform-runtime": "^7.15.8", + "@babel/preset-env": "^7.15.8", + "@babel/runtime": "^7.15.4", + "@types/babel__core": "^7.1.16", + "@types/clean-css": "^4.2.5", + "@types/imagemin-gifsicle": "^7.0.1", + "@types/imagemin-mozjpeg": "^8.0.1", + "@types/imagemin-optipng": "^5.2.1", + "@types/imagemin-svgo": "^8.0.0", + "autoprefixer": "^10.4.0", + "babel-loader": "^8.2.3", + "chalk": "^4.1.2", + "chokidar": "^3.5.2", + "clean-css": "^5.2.4", + "cli-table3": "^0.6.0", + "collect.js": "^4.28.5", + "commander": "^7.2.0", + "concat": "^1.0.3", + "css-loader": "^5.2.6", + "cssnano": "^5.0.8", + "dotenv": "^10.0.0", + "dotenv-expand": "^5.1.0", + "file-loader": "^6.2.0", + "fs-extra": "^10.0.0", + "glob": "^7.2.0", + "html-loader": "^1.3.2", + "imagemin": "^7.0.1", + "img-loader": "^4.0.0", + "lodash": "^4.17.21", + "md5": "^2.3.0", + "mini-css-extract-plugin": "^1.6.2", + "node-libs-browser": "^2.2.1", + "postcss-load-config": "^3.1.0", + "postcss-loader": "^6.2.0", + "semver": "^7.3.5", + "strip-ansi": "^6.0.0", + "style-loader": "^2.0.0", + "terser": "^5.9.0", + "terser-webpack-plugin": "^5.2.4", + "vue-style-loader": "^4.1.3", + "webpack": "^5.60.0", + "webpack-cli": "^4.9.1", + "webpack-dev-server": "^4.7.3", + "webpack-merge": "^5.8.0", + "webpack-notifier": "^1.14.1", + "webpackbar": "^5.0.0-3", + "yargs": "^17.2.1" + } + }, + "lie": { + "version": "3.3.0", + "resolved": "https://registry.npmjs.org/lie/-/lie-3.3.0.tgz", + "integrity": "sha512-UaiMJzeWRlEujzAuw5LokY1L5ecNQYZKfmyZ9L7wDHb/p5etKaxXhohBcrw0EYby+G/NA52vRSN4N39dxHAIwQ==", + "dev": true, + "requires": { + "immediate": "~3.0.5" + } + }, + "lilconfig": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/lilconfig/-/lilconfig-2.0.5.tgz", + "integrity": "sha512-xaYmXZtTHPAw5m+xLN8ab9C+3a8YmV3asNSPOATITbtwrfbwaLJj8h66H1WMIpALCkqsIzK3h7oQ+PdX+LQ9Eg==", + "dev": true + }, + "linebreak": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/linebreak/-/linebreak-1.1.0.tgz", + "integrity": "sha512-MHp03UImeVhB7XZtjd0E4n6+3xr5Dq/9xI/5FptGk5FrbDR3zagPa2DS6U8ks/3HjbKWG9Q1M2ufOzxV2qLYSQ==", + "dev": true, + "requires": { + "base64-js": "0.0.8", + "unicode-trie": "^2.0.0" + }, + "dependencies": { + "base64-js": { + "version": "0.0.8", + "resolved": "https://registry.npmjs.org/base64-js/-/base64-js-0.0.8.tgz", + "integrity": "sha512-3XSA2cR/h/73EzlXXdU6YNycmYI7+kicTxks4eJg2g39biHR84slg2+des+p7iHYhbRg/udIS4TD53WabcOUkw==", + "dev": true + } + } + }, + "lines-and-columns": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/lines-and-columns/-/lines-and-columns-1.2.4.tgz", + "integrity": "sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==", + "dev": true + }, + "loader-runner": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/loader-runner/-/loader-runner-4.3.0.tgz", + "integrity": "sha512-3R/1M+yS3j5ou80Me59j7F9IMs4PXs3VqRrm0TU3AbKPxlmpoY1TNscJV/oGJXo8qCatFGTfDbY6W6ipGOYXfg==", + "dev": true + }, + "loader-utils": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-2.0.2.tgz", + "integrity": "sha512-TM57VeHptv569d/GKh6TAYdzKblwDNiumOdkFnejjD0XwTH87K90w3O7AiJRqdQoXygvi1VQTJTLGhJl7WqA7A==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^2.1.2" + } + }, + "locate-path": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/locate-path/-/locate-path-5.0.0.tgz", + "integrity": "sha512-t7hw9pI+WvuwNJXwk5zVHpyhIqzg2qTlklJOf0mVxGSbe3Fp2VieZcduNYjaLDoy6p9uGpQEGWG87WpMKlNq8g==", + "dev": true, + "requires": { + "p-locate": "^4.1.0" + } + }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==", + "dev": true + }, + "lodash.debounce": { + "version": "4.0.8", + "resolved": "https://registry.npmjs.org/lodash.debounce/-/lodash.debounce-4.0.8.tgz", + "integrity": "sha512-FT1yDzDYEoYWhnSGnpE/4Kj1fLZkDFyqRb7fNt6FdYOSxlUWAtp42Eh6Wb0rGIv/m9Bgo7x4GhQbm5Ys4SG5ow==", + "dev": true + }, + "lodash.memoize": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/lodash.memoize/-/lodash.memoize-4.1.2.tgz", + "integrity": "sha512-t7j+NzmgnQzTAYXcsHYLgimltOV1MXHtlOWf6GjL9Kj8GK5FInw5JotxvbOs+IvV1/Dzo04/fCGfLVs7aXb4Ag==", + "dev": true + }, + "lodash.sortby": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/lodash.sortby/-/lodash.sortby-4.7.0.tgz", + "integrity": "sha512-HDWXG8isMntAyRF5vZ7xKuEvOhT4AhlRt/3czTSjvGUxjYCBVRQY48ViDHyfYz9VIoBkW4TMGQNapx+l3RUwdA==", + "dev": true + }, + "lodash.uniq": { + "version": "4.5.0", + "resolved": "https://registry.npmjs.org/lodash.uniq/-/lodash.uniq-4.5.0.tgz", + "integrity": "sha512-xfBaXQd9ryd9dlSDvnvI0lvxfLJlYAZzXomUYzLKtUeOQvOP5piqAWuGtrhWeqaXK9hhoM/iyJc5AV+XfsX3HQ==", + "dev": true + }, + "lower-case": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/lower-case/-/lower-case-2.0.2.tgz", + "integrity": "sha512-7fm3l3NAF9WfN6W3JOmf5drwpVqX78JtoGJ3A6W0a6ZnldM41w2fV5D490psKFTpMds8TJse/eHLFFsNHHjHgg==", + "dev": true, + "requires": { + "tslib": "^2.0.3" + } + }, + "lru-cache": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-6.0.0.tgz", + "integrity": "sha512-Jo6dJ04CmSjuznwJSS3pUeWmd/H0ffTlkXXgwZi+eq1UCmqQwCh+eLsYOYCwY991i2Fah4h1BEMCx4qThGbsiA==", + "dev": true, + "requires": { + "yallist": "^4.0.0" + } + }, + "make-dir": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/make-dir/-/make-dir-3.1.0.tgz", + "integrity": "sha512-g3FeP20LNwhALb/6Cz6Dd4F2ngze0jz7tbzrD2wAV+o9FeNHe4rL+yK2md0J/fiSf1sa1ADhXqi5+oVwOM/eGw==", + "dev": true, + "requires": { + "semver": "^6.0.0" + }, + "dependencies": { + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "md5": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/md5/-/md5-2.3.0.tgz", + "integrity": "sha512-T1GITYmFaKuO91vxyoQMFETst+O71VUPEU3ze5GNzDm0OWdP8v1ziTaAEPUr/3kLsY3Sftgz242A1SetQiDL7g==", + "dev": true, + "requires": { + "charenc": "0.0.2", + "crypt": "0.0.2", + "is-buffer": "~1.1.6" + } + }, + "md5.js": { + "version": "1.3.5", + "resolved": "https://registry.npmjs.org/md5.js/-/md5.js-1.3.5.tgz", + "integrity": "sha512-xitP+WxNPcTTOgnTJcrhM0xvdPepipPSf3I8EIpGKeFLjt3PlJLIDG3u8EX53ZIubkb+5U2+3rELYpEhHhzdkg==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1", + "safe-buffer": "^5.1.2" + } + }, + "mdn-data": { + "version": "2.0.14", + "resolved": "https://registry.npmjs.org/mdn-data/-/mdn-data-2.0.14.tgz", + "integrity": "sha512-dn6wd0uw5GsdswPFfsgMp5NSB0/aDe6fK94YJV/AJDYXL6HVLWBsxeq7js7Ad+mU2K9LAlwpk6kN2D5mwCPVow==", + "dev": true + }, + "media-typer": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/media-typer/-/media-typer-0.3.0.tgz", + "integrity": "sha1-hxDXrwqmJvj/+hzgAWhUUmMlV0g=", + "dev": true + }, + "memfs": { + "version": "3.4.4", + "resolved": "https://registry.npmjs.org/memfs/-/memfs-3.4.4.tgz", + "integrity": "sha512-W4gHNUE++1oSJVn8Y68jPXi+mkx3fXR5ITE/Ubz6EQ3xRpCN5k2CQ4AUR8094Z7211F876TyoBACGsIveqgiGA==", + "dev": true, + "requires": { + "fs-monkey": "1.0.3" + } + }, + "merge-descriptors": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/merge-descriptors/-/merge-descriptors-1.0.1.tgz", + "integrity": "sha1-sAqqVW3YtEVoFQ7J0blT8/kMu2E=", + "dev": true + }, + "merge-source-map": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/merge-source-map/-/merge-source-map-1.1.0.tgz", + "integrity": "sha512-Qkcp7P2ygktpMPh2mCQZaf3jhN6D3Z/qVZHSdWvQ+2Ef5HgRAPBO57A77+ENm0CPx2+1Ce/MYKi3ymqdfuqibw==", + "dev": true, + "requires": { + "source-map": "^0.6.1" + } + }, + "merge-stream": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/merge-stream/-/merge-stream-2.0.0.tgz", + "integrity": "sha512-abv/qOcuPfk3URPfDzmZU1LKmuw8kT+0nIHvKrKgFrwifol/doWcdA4ZqsWQ8ENrFKkd67Mfpo/LovbIUsbt3w==", + "dev": true + }, + "merge2": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/merge2/-/merge2-1.4.1.tgz", + "integrity": "sha512-8q7VEgMJW4J8tcfVPy8g09NcQwZdbwFEqhe/WZkoIzjn/3TGDwtOCYtXGxA3O8tPzpczCCDgv+P2P5y00ZJOOg==", + "dev": true + }, + "methods": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/methods/-/methods-1.1.2.tgz", + "integrity": "sha1-VSmk1nZUE07cxSZmVoNbD4Ua/O4=", + "dev": true + }, + "micromatch": { + "version": "4.0.5", + "resolved": "https://registry.npmjs.org/micromatch/-/micromatch-4.0.5.tgz", + "integrity": "sha512-DMy+ERcEW2q8Z2Po+WNXuw3c5YaUSFjAO5GsJqfEl7UjvtIuFKO6ZrKvcItdy98dwFI2N1tg3zNIdKaQT+aNdA==", + "dev": true, + "requires": { + "braces": "^3.0.2", + "picomatch": "^2.3.1" + } + }, + "miller-rabin": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/miller-rabin/-/miller-rabin-4.0.1.tgz", + "integrity": "sha512-115fLhvZVqWwHPbClyntxEVfVDfl9DLLTuJvq3g2O/Oxi8AiNouAHvDSzHS0viUJc+V5vm3eq91Xwqn9dp4jRA==", + "dev": true, + "requires": { + "bn.js": "^4.0.0", + "brorand": "^1.0.1" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "mime": { + "version": "1.6.0", + "resolved": "https://registry.npmjs.org/mime/-/mime-1.6.0.tgz", + "integrity": "sha512-x0Vn8spI+wuJ1O6S7gnbaQg8Pxh4NNHb7KSINmEWKiPE4RKOplvijn+NkmYmmRgP68mc70j2EbeTFRsrswaQeg==", + "dev": true + }, + "mime-db": { + "version": "1.52.0", + "resolved": "https://registry.npmjs.org/mime-db/-/mime-db-1.52.0.tgz", + "integrity": "sha512-sPU4uV7dYlvtWJxwwxHD0PuihVNiE7TyAbQ5SWxDCB9mUYvOgroQOwYQQOKPJ8CIbE+1ETVlOoK1UC2nU3gYvg==", + "dev": true + }, + "mime-types": { + "version": "2.1.35", + "resolved": "https://registry.npmjs.org/mime-types/-/mime-types-2.1.35.tgz", + "integrity": "sha512-ZDY+bPm5zTTF+YpCrAU9nK0UgICYPT0QtT1NZWFv4s++TNkcgVaT0g6+4R2uI4MjQjzysHB1zxuWL50hzaeXiw==", + "dev": true, + "requires": { + "mime-db": "1.52.0" + } + }, + "mimic-fn": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mimic-fn/-/mimic-fn-2.1.0.tgz", + "integrity": "sha512-OqbOk5oEQeAZ8WXWydlu9HJjz9WVdEIvamMCcXmuqUYjTknH/sqsWvhQ3vgwKFRR1HpjvNBKQ37nbJgYzGqGcg==", + "dev": true + }, + "mini-css-extract-plugin": { + "version": "1.6.2", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-1.6.2.tgz", + "integrity": "sha512-WhDvO3SjGm40oV5y26GjMJYjd2UMqrLAGKy5YS2/3QKJy2F7jgynuHTir/tgUUOiNQu5saXHdc8reo7YuhhT4Q==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0", + "webpack-sources": "^1.1.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "minimalistic-assert": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-assert/-/minimalistic-assert-1.0.1.tgz", + "integrity": "sha512-UtJcAD4yEaGtjPezWuO9wC4nwUnVH/8/Im3yEHQP4b67cXlD/Qr9hdITCU1xDbSEXg2XKNaP8jsReV7vQd00/A==", + "dev": true + }, + "minimalistic-crypto-utils": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/minimalistic-crypto-utils/-/minimalistic-crypto-utils-1.0.1.tgz", + "integrity": "sha1-9sAMHAsIIkblxNmd+4x8CDsrWCo=", + "dev": true + }, + "minimatch": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/minimatch/-/minimatch-3.1.2.tgz", + "integrity": "sha512-J7p63hRiAjw1NDEww1W7i37+ByIrOWO5XQQAzZ3VOcL0PNybwpfmV/N05zFAzwQ9USyEcX6t3UO+K5aqBQOIHw==", + "dev": true, + "requires": { + "brace-expansion": "^1.1.7" + } + }, + "minimist": { + "version": "1.2.6", + "resolved": "https://registry.npmjs.org/minimist/-/minimist-1.2.6.tgz", + "integrity": "sha512-Jsjnk4bw3YJqYzbdyBiNsPWHPfO++UGG749Cxs6peCu5Xg4nrena6OVxOYxrQTqww0Jmwt+Ref8rggumkTLz9Q==", + "dev": true + }, + "moment": { + "version": "2.29.3", + "resolved": "https://registry.npmjs.org/moment/-/moment-2.29.3.tgz", + "integrity": "sha512-c6YRvhEo//6T2Jz/vVtYzqBzwvPT95JBQ+smCytzf7c50oMZRsR/a4w88aD34I+/QVSfnoAnSBFPJHItlOMJVw==", + "dev": true + }, + "moment-timezone": { + "version": "0.5.34", + "resolved": "https://registry.npmjs.org/moment-timezone/-/moment-timezone-0.5.34.tgz", + "integrity": "sha512-3zAEHh2hKUs3EXLESx/wsgw6IQdusOT8Bxm3D9UrHPQR7zlMmzwybC8zHEM1tQ4LJwP7fcxrWr8tuBg05fFCbg==", + "dev": true, + "requires": { + "moment": ">= 2.9.0" + } + }, + "ms": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.2.tgz", + "integrity": "sha512-sGkPx+VjMtmA6MX27oA4FBFELFCZZ4S4XqeGOXCv68tT+jb3vk/RyaKWP0PTKyWtmLSM0b+adUTEvbs1PEaH2w==", + "dev": true + }, + "multicast-dns": { + "version": "7.2.5", + "resolved": "https://registry.npmjs.org/multicast-dns/-/multicast-dns-7.2.5.tgz", + "integrity": "sha512-2eznPJP8z2BFLX50tf0LuODrpINqP1RVIm/CObbTcBRITQgmC/TjcREF1NeTBzIcR5XO/ukWo+YHOjBbFwIupg==", + "dev": true, + "requires": { + "dns-packet": "^5.2.2", + "thunky": "^1.0.2" + } + }, + "nanoid": { + "version": "3.3.4", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.4.tgz", + "integrity": "sha512-MqBkQh/OHTS2egovRtLk45wEyNXwF+cokD+1YPf9u5VfJiRdAiRwB2froX5Co9Rh20xs4siNPm8naNotSD6RBw==", + "dev": true + }, + "negotiator": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/negotiator/-/negotiator-0.6.3.tgz", + "integrity": "sha512-+EUsqGPLsM+j/zdChZjsnX51g4XrHFOIXwfnCVPGlQk/k5giakcKsuxCObBRu6DSm9opw/O6slWbJdghQM4bBg==", + "dev": true + }, + "neo-async": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/neo-async/-/neo-async-2.6.2.tgz", + "integrity": "sha512-Yd3UES5mWCSqR+qNT93S3UoYUkqAZ9lLg8a7g9rimsWmYGK8cVToA4/sF3RrshdyV3sAGMXVUmpMYOw+dLpOuw==", + "dev": true + }, + "next-tick": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/next-tick/-/next-tick-1.1.0.tgz", + "integrity": "sha512-CXdUiJembsNjuToQvxayPZF9Vqht7hewsvy2sOWafLvi2awflj9mOC6bHIg50orX8IJvWKY9wYQ/zB2kogPslQ==", + "dev": true + }, + "no-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/no-case/-/no-case-3.0.4.tgz", + "integrity": "sha512-fgAN3jGAh+RoxUGZHTSOLJIqUc2wmoBwGR4tbpNAKmmovFoWq0OdRkb0VkldReO2a2iBT/OEulG9XSUc10r3zg==", + "dev": true, + "requires": { + "lower-case": "^2.0.2", + "tslib": "^2.0.3" + } + }, + "node-forge": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/node-forge/-/node-forge-1.3.1.tgz", + "integrity": "sha512-dPEtOeMvF9VMcYV/1Wb8CPoVAXtp6MKMlcbAt4ddqmGqUJ6fQZFXkNZNkNlfevtNkGtaSoXf/vNNNSvgrdXwtA==", + "dev": true + }, + "node-libs-browser": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/node-libs-browser/-/node-libs-browser-2.2.1.tgz", + "integrity": "sha512-h/zcD8H9kaDZ9ALUWwlBUDo6TKF8a7qBSCSEGfjTVIYeqsioSKaAX+BN7NgiMGp6iSIXZ3PxgCu8KS3b71YK5Q==", + "dev": true, + "requires": { + "assert": "^1.1.1", + "browserify-zlib": "^0.2.0", + "buffer": "^4.3.0", + "console-browserify": "^1.1.0", + "constants-browserify": "^1.0.0", + "crypto-browserify": "^3.11.0", + "domain-browser": "^1.1.1", + "events": "^3.0.0", + "https-browserify": "^1.0.0", + "os-browserify": "^0.3.0", + "path-browserify": "0.0.1", + "process": "^0.11.10", + "punycode": "^1.2.4", + "querystring-es3": "^0.2.0", + "readable-stream": "^2.3.3", + "stream-browserify": "^2.0.1", + "stream-http": "^2.7.2", + "string_decoder": "^1.0.0", + "timers-browserify": "^2.0.4", + "tty-browserify": "0.0.0", + "url": "^0.11.0", + "util": "^0.11.0", + "vm-browserify": "^1.0.1" + } + }, + "node-notifier": { + "version": "9.0.1", + "resolved": "https://registry.npmjs.org/node-notifier/-/node-notifier-9.0.1.tgz", + "integrity": "sha512-fPNFIp2hF/Dq7qLDzSg4vZ0J4e9v60gJR+Qx7RbjbWqzPDdEqeVpEx5CFeDAELIl+A/woaaNn1fQ5nEVerMxJg==", + "dev": true, + "requires": { + "growly": "^1.3.0", + "is-wsl": "^2.2.0", + "semver": "^7.3.2", + "shellwords": "^0.1.1", + "uuid": "^8.3.0", + "which": "^2.0.2" + } + }, + "node-releases": { + "version": "2.0.5", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.5.tgz", + "integrity": "sha512-U9h1NLROZTq9uE1SNffn6WuPDg8icmi3ns4rEl/oTfIle4iLjTliCzgTsbaIFMq/Xn078/lfY/BL0GWZ+psK4Q==", + "dev": true + }, + "normalize-path": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/normalize-path/-/normalize-path-3.0.0.tgz", + "integrity": "sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==", + "dev": true + }, + "normalize-range": { + "version": "0.1.2", + "resolved": "https://registry.npmjs.org/normalize-range/-/normalize-range-0.1.2.tgz", + "integrity": "sha1-LRDAa9/TEuqXd2laTShDlFa3WUI=", + "dev": true + }, + "normalize-url": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/normalize-url/-/normalize-url-6.1.0.tgz", + "integrity": "sha512-DlL+XwOy3NxAQ8xuC0okPgK46iuVNAK01YN7RueYBqqFeGsBjV9XmCAzAdgt+667bCl5kPh9EqKKDwnaPG1I7A==", + "dev": true + }, + "npm-run-path": { + "version": "4.0.1", + "resolved": "https://registry.npmjs.org/npm-run-path/-/npm-run-path-4.0.1.tgz", + "integrity": "sha512-S48WzZW777zhNIrn7gxOlISNAqi9ZC/uQFnRdbeIHhZhCA6UqpkOT8T1G7BvfdgP4Er8gF4sUbaS0i7QvIfCWw==", + "dev": true, + "requires": { + "path-key": "^3.0.0" + } + }, + "nth-check": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/nth-check/-/nth-check-2.1.1.tgz", + "integrity": "sha512-lqjrjmaOoAnWfMmBPL+XNnynZh2+swxiX3WUE0s4yEHI6m+AwrK2UZOimIRl3X/4QctVqS8AiZjFqyOGrMXb/w==", + "dev": true, + "requires": { + "boolbase": "^1.0.0" + } + }, + "object-assign": { + "version": "4.1.1", + "resolved": "https://registry.npmjs.org/object-assign/-/object-assign-4.1.1.tgz", + "integrity": "sha1-IQmtx5ZYh8/AXLvUQsrIv7s2CGM=", + "dev": true + }, + "object-inspect": { + "version": "1.12.2", + "resolved": "https://registry.npmjs.org/object-inspect/-/object-inspect-1.12.2.tgz", + "integrity": "sha512-z+cPxW0QGUp0mcqcsgQyLVRDoXFQbXOwBaqyF7VIgI4TWNQsDHrBpUQslRmIfAoYWdYzs6UlKJtB2XJpTaNSpQ==", + "dev": true + }, + "object-is": { + "version": "1.1.5", + "resolved": "https://registry.npmjs.org/object-is/-/object-is-1.1.5.tgz", + "integrity": "sha512-3cyDsyHgtmi7I7DfSSI2LDp6SK2lwvtbg0p0R1e0RvTqF5ceGx+K2dfSjm1bKDMVCFEDAQvy+o8c6a7VujOddw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3" + } + }, + "object-keys": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/object-keys/-/object-keys-1.1.1.tgz", + "integrity": "sha512-NuAESUOUMrlIXOfHKzD6bpPu3tYt3xvjNdRIQ+FeT0lNb4K8WR70CaDxhuNguS2XG+GjkyMwOzsN5ZktImfhLA==", + "dev": true + }, + "object.assign": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/object.assign/-/object.assign-4.1.2.tgz", + "integrity": "sha512-ixT2L5THXsApyiUPYKmW+2EHpXXe5Ii3M+f4e+aJFAHao5amFRW6J0OO6c/LU8Be47utCx2GL89hxGB6XSmKuQ==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "define-properties": "^1.1.3", + "has-symbols": "^1.0.1", + "object-keys": "^1.1.1" + } + }, + "obuf": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/obuf/-/obuf-1.1.2.tgz", + "integrity": "sha512-PX1wu0AmAdPqOL1mWhqmlOd8kOIZQwGZw6rh7uby9fTc5lhaOWFLX3I6R1hrF9k3zUY40e6igsLGkDXK92LJNg==", + "dev": true + }, + "on-finished": { + "version": "2.4.1", + "resolved": "https://registry.npmjs.org/on-finished/-/on-finished-2.4.1.tgz", + "integrity": "sha512-oVlzkg3ENAhCk2zdv7IJwd/QUD4z2RxRwpkcGY8psCVcCYZNq4wYnVWALHM+brtuJjePWiYF/ClmuDr8Ch5+kg==", + "dev": true, + "requires": { + "ee-first": "1.1.1" + } + }, + "on-headers": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/on-headers/-/on-headers-1.0.2.tgz", + "integrity": "sha512-pZAE+FJLoyITytdqK0U5s+FIpjN0JP3OzFi/u8Rx+EV5/W+JTWGXG8xFzevE7AjBfDqHv/8vL8qQsIhHnqRkrA==", + "dev": true + }, + "once": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/once/-/once-1.4.0.tgz", + "integrity": "sha1-WDsap3WWHUsROsF9nFC6753Xa9E=", + "dev": true, + "requires": { + "wrappy": "1" + } + }, + "onetime": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/onetime/-/onetime-5.1.2.tgz", + "integrity": "sha512-kbpaSSGJTWdAY5KPVeMOKXSrPtr8C8C7wodJbcsd51jRnmD+GZu8Y0VoU6Dm5Z4vWr0Ig/1NKuWRKf7j5aaYSg==", + "dev": true, + "requires": { + "mimic-fn": "^2.1.0" + } + }, + "open": { + "version": "8.4.0", + "resolved": "https://registry.npmjs.org/open/-/open-8.4.0.tgz", + "integrity": "sha512-XgFPPM+B28FtCCgSb9I+s9szOC1vZRSwgWsRUA5ylIxRTgKozqjOCrVOqGsYABPYK5qnfqClxZTFBa8PKt2v6Q==", + "dev": true, + "requires": { + "define-lazy-prop": "^2.0.0", + "is-docker": "^2.1.1", + "is-wsl": "^2.2.0" + } + }, + "os-browserify": { + "version": "0.3.0", + "resolved": "https://registry.npmjs.org/os-browserify/-/os-browserify-0.3.0.tgz", + "integrity": "sha1-hUNzx/XCMVkU/Jv8a9gjj92h7Cc=", + "dev": true + }, + "overlayscrollbars": { + "version": "1.13.1", + "resolved": "https://registry.npmjs.org/overlayscrollbars/-/overlayscrollbars-1.13.1.tgz", + "integrity": "sha512-gIQfzgGgu1wy80EB4/6DaJGHMEGmizq27xHIESrzXq0Y/J0Ay1P3DWk6tuVmEPIZH15zaBlxeEJOqdJKmowHCQ==", + "dev": true + }, + "p-limit": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/p-limit/-/p-limit-2.3.0.tgz", + "integrity": "sha512-//88mFWSJx8lxCzwdAABTJL2MyWB12+eIY7MDL2SqLmAkeKU9qxRvWuSyTjm3FUmpBEMuFfckAIqEaVGUDxb6w==", + "dev": true, + "requires": { + "p-try": "^2.0.0" + } + }, + "p-locate": { + "version": "4.1.0", + "resolved": "https://registry.npmjs.org/p-locate/-/p-locate-4.1.0.tgz", + "integrity": "sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==", + "dev": true, + "requires": { + "p-limit": "^2.2.0" + } + }, + "p-pipe": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/p-pipe/-/p-pipe-3.1.0.tgz", + "integrity": "sha512-08pj8ATpzMR0Y80x50yJHn37NF6vjrqHutASaX5LiH5npS9XPvrUmscd9MF5R4fuYRHOxQR1FfMIlF7AzwoPqw==", + "dev": true + }, + "p-retry": { + "version": "4.6.2", + "resolved": "https://registry.npmjs.org/p-retry/-/p-retry-4.6.2.tgz", + "integrity": "sha512-312Id396EbJdvRONlngUx0NydfrIQ5lsYu0znKVUzVvArzEIt08V1qhtyESbGVd1FGX7UKtiFp5uwKZdM8wIuQ==", + "dev": true, + "requires": { + "@types/retry": "0.12.0", + "retry": "^0.13.1" + } + }, + "p-try": { + "version": "2.2.0", + "resolved": "https://registry.npmjs.org/p-try/-/p-try-2.2.0.tgz", + "integrity": "sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ==", + "dev": true + }, + "pako": { + "version": "1.0.11", + "resolved": "https://registry.npmjs.org/pako/-/pako-1.0.11.tgz", + "integrity": "sha512-4hLB8Py4zZce5s4yd9XzopqwVv/yGNhV1Bl8NTmCq1763HeK2+EwVTv+leGeL13Dnh2wfbqowVPXCIO0z4taYw==", + "dev": true + }, + "param-case": { + "version": "3.0.4", + "resolved": "https://registry.npmjs.org/param-case/-/param-case-3.0.4.tgz", + "integrity": "sha512-RXlj7zCYokReqWpOPH9oYivUzLYZ5vAPIfEmCTNViosC78F8F0H9y7T7gG2M39ymgutxF5gcFEsyZQSph9Bp3A==", + "dev": true, + "requires": { + "dot-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "parent-module": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/parent-module/-/parent-module-1.0.1.tgz", + "integrity": "sha512-GQ2EWRpQV8/o+Aw8YqtfZZPfNRWZYkbidE9k5rpl/hC3vtHHBfGm2Ifi6qWV+coDGkrUKZAxE3Lot5kcsRlh+g==", + "dev": true, + "requires": { + "callsites": "^3.0.0" + } + }, + "parse-asn1": { + "version": "5.1.6", + "resolved": "https://registry.npmjs.org/parse-asn1/-/parse-asn1-5.1.6.tgz", + "integrity": "sha512-RnZRo1EPU6JBnra2vGHj0yhp6ebyjBZpmUCLHWiFhxlzvBCCpAuZ7elsBp1PVAbQN0/04VD/19rfzlBSwLstMw==", + "dev": true, + "requires": { + "asn1.js": "^5.2.0", + "browserify-aes": "^1.0.0", + "evp_bytestokey": "^1.0.0", + "pbkdf2": "^3.0.3", + "safe-buffer": "^5.1.1" + } + }, + "parse-json": { + "version": "5.2.0", + "resolved": "https://registry.npmjs.org/parse-json/-/parse-json-5.2.0.tgz", + "integrity": "sha512-ayCKvm/phCGxOkYRSCM82iDwct8/EonSEgCSxWxD7ve6jHggsFl4fZVQBPRNgQoKiuV/odhFrGzQXZwbifC8Rg==", + "dev": true, + "requires": { + "@babel/code-frame": "^7.0.0", + "error-ex": "^1.3.1", + "json-parse-even-better-errors": "^2.3.0", + "lines-and-columns": "^1.1.6" + } + }, + "parseurl": { + "version": "1.3.3", + "resolved": "https://registry.npmjs.org/parseurl/-/parseurl-1.3.3.tgz", + "integrity": "sha512-CiyeOxFT/JZyN5m0z9PfXw4SCBJ6Sygz1Dpl0wqjlhDEGGBP1GnsUVEL0p63hoG1fcj3fHynXi9NYO4nWOL+qQ==", + "dev": true + }, + "pascal-case": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pascal-case/-/pascal-case-3.1.2.tgz", + "integrity": "sha512-uWlGT3YSnK9x3BQJaOdcZwrnV6hPpd8jFH1/ucpiLRPh/2zCVJKS19E4GvYHvaCcACn3foXZ0cLB9Wrx1KGe5g==", + "dev": true, + "requires": { + "no-case": "^3.0.4", + "tslib": "^2.0.3" + } + }, + "path-browserify": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/path-browserify/-/path-browserify-0.0.1.tgz", + "integrity": "sha512-BapA40NHICOS+USX9SN4tyhq+A2RrN/Ws5F0Z5aMHDp98Fl86lX8Oti8B7uN93L4Ifv4fHOEA+pQw87gmMO/lQ==", + "dev": true + }, + "path-exists": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-exists/-/path-exists-4.0.0.tgz", + "integrity": "sha512-ak9Qy5Q7jYb2Wwcey5Fpvg2KoAc/ZIhLSLOSBmRmygPsGwkVVt0fZa0qrtMz+m6tJTAHfZQ8FnmB4MG4LWy7/w==", + "dev": true + }, + "path-is-absolute": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/path-is-absolute/-/path-is-absolute-1.0.1.tgz", + "integrity": "sha1-F0uSaHNVNP+8es5r9TpanhtcX18=", + "dev": true + }, + "path-key": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/path-key/-/path-key-3.1.1.tgz", + "integrity": "sha512-ojmeN0qd+y0jszEtoY48r0Peq5dwMEkIlCOu6Q5f41lfkswXuKtYrhgoTpLnyIcHm24Uhqx+5Tqm2InSwLhE6Q==", + "dev": true + }, + "path-parse": { + "version": "1.0.7", + "resolved": "https://registry.npmjs.org/path-parse/-/path-parse-1.0.7.tgz", + "integrity": "sha512-LDJzPVEEEPR+y48z93A0Ed0yXb8pAByGWo/k5YYdYgpY2/2EsOsksJrq7lOHxryrVOn1ejG6oAp8ahvOIQD8sw==", + "dev": true + }, + "path-to-regexp": { + "version": "0.1.7", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-0.1.7.tgz", + "integrity": "sha1-32BBeABfUi8V60SQ5yR6G/qmf4w=", + "dev": true + }, + "path-type": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/path-type/-/path-type-4.0.0.tgz", + "integrity": "sha512-gDKb8aZMDeD/tZWs9P6+q0J9Mwkdl6xMV8TjnGP3qJVJ06bdMgkbBlLU8IdfOsIsFz2BW1rNVT3XuNEl8zPAvw==", + "dev": true + }, + "pbkdf2": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/pbkdf2/-/pbkdf2-3.1.2.tgz", + "integrity": "sha512-iuh7L6jA7JEGu2WxDwtQP1ddOpaJNC4KlDEFfdQajSGgGPNi4OyDc2R7QnbY2bR9QjBVGwgvTdNJZoE7RaxUMA==", + "dev": true, + "requires": { + "create-hash": "^1.1.2", + "create-hmac": "^1.1.4", + "ripemd160": "^2.0.1", + "safe-buffer": "^5.0.1", + "sha.js": "^2.4.8" + } + }, + "pdfkit": { + "version": "0.12.3", + "resolved": "https://registry.npmjs.org/pdfkit/-/pdfkit-0.12.3.tgz", + "integrity": "sha512-+qDLgm2yq6WOKcxTb43lDeo3EtMIDQs0CK1RNqhHC9iT6u0KOmgwAClkYh9xFw2ATbmUZzt4f7KMwDCOfPDluA==", + "dev": true, + "requires": { + "crypto-js": "^4.0.0", + "fontkit": "^1.8.1", + "linebreak": "^1.0.2", + "png-js": "^1.0.0" + } + }, + "pdfmake": { + "version": "0.1.72", + "resolved": "https://registry.npmjs.org/pdfmake/-/pdfmake-0.1.72.tgz", + "integrity": "sha512-xZrPS+Safjf1I8ZYtMoXX83E6C6Pd1zFwa168yNTeeJWHclqf1z9DoYajjlY2uviN7gGyxwVZeou39uSk1oh1g==", + "dev": true, + "requires": { + "iconv-lite": "^0.6.2", + "linebreak": "^1.0.2", + "pdfkit": "^0.12.0", + "svg-to-pdfkit": "^0.1.8", + "xmldoc": "^1.1.2" + }, + "dependencies": { + "iconv-lite": { + "version": "0.6.3", + "resolved": "https://registry.npmjs.org/iconv-lite/-/iconv-lite-0.6.3.tgz", + "integrity": "sha512-4fCk79wshMdzMp2rH06qWrJE4iolqLhCUH+OiuIgU++RB0+94NlDL81atO7GX55uUKueo0txHNtvEyI6D7WdMw==", + "dev": true, + "requires": { + "safer-buffer": ">= 2.1.2 < 3.0.0" + } + } + } + }, + "picocolors": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.0.0.tgz", + "integrity": "sha512-1fygroTLlHu66zi26VoTDv8yRgm0Fccecssto+MhsZ0D/DGW2sm8E8AjW7NU5VVTRt5GxbeZ5qBuJr+HyLYkjQ==", + "dev": true + }, + "picomatch": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-2.3.1.tgz", + "integrity": "sha512-JU3teHTNjmE2VCGFzuY8EXzCDVwEqB2a8fsIvwaStHhAWJEeVd1o1QD80CU6+ZdEXXSLbSsuLwJjkCBWqRQUVA==", + "dev": true + }, + "pkg-dir": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/pkg-dir/-/pkg-dir-4.2.0.tgz", + "integrity": "sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==", + "dev": true, + "requires": { + "find-up": "^4.0.0" + } + }, + "png-js": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/png-js/-/png-js-1.0.0.tgz", + "integrity": "sha512-k+YsbhpA9e+EFfKjTCH3VW6aoKlyNYI6NYdTfDL4CIvFnvsuO84ttonmZE7rc+v23SLTH8XX+5w/Ak9v0xGY4g==", + "dev": true + }, + "popper.js": { + "version": "1.16.1", + "resolved": "https://registry.npmjs.org/popper.js/-/popper.js-1.16.1.tgz", + "integrity": "sha512-Wb4p1J4zyFTbM+u6WuO4XstYx4Ky9Cewe4DWrel7B0w6VVICvPwdOpotjzcf6eD8TsckVnIMNONQyPIUFOUbCQ==", + "dev": true + }, + "postcss": { + "version": "8.4.14", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.4.14.tgz", + "integrity": "sha512-E398TUmfAYFPBSdzgeieK2Y1+1cpdxJx8yXbK/m57nRhKSmk1GB2tO4lbLBtlkfPQTDKfe4Xqv1ASWPpayPEig==", + "dev": true, + "requires": { + "nanoid": "^3.3.4", + "picocolors": "^1.0.0", + "source-map-js": "^1.0.2" + } + }, + "postcss-calc": { + "version": "8.2.4", + "resolved": "https://registry.npmjs.org/postcss-calc/-/postcss-calc-8.2.4.tgz", + "integrity": "sha512-SmWMSJmB8MRnnULldx0lQIyhSNvuDl9HfrZkaqqE/WHAhToYsAvDq+yAsA/kIyINDszOp3Rh0GFoNuH5Ypsm3Q==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.9", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-colormin": { + "version": "5.3.0", + "resolved": "https://registry.npmjs.org/postcss-colormin/-/postcss-colormin-5.3.0.tgz", + "integrity": "sha512-WdDO4gOFG2Z8n4P8TWBpshnL3JpmNmJwdnfP2gbk2qBA8PWwOYcmjmI/t3CmMeL72a7Hkd+x/Mg9O2/0rD54Pg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "colord": "^2.9.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-convert-values": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-convert-values/-/postcss-convert-values-5.1.2.tgz", + "integrity": "sha512-c6Hzc4GAv95B7suy4udszX9Zy4ETyMCgFPUDtWjdFTKH1SE9eFY/jEpHSwTH1QPuwxHpWslhckUQWbNRM4ho5g==", + "dev": true, + "requires": { + "browserslist": "^4.20.3", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-discard-comments": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-discard-comments/-/postcss-discard-comments-5.1.2.tgz", + "integrity": "sha512-+L8208OVbHVF2UQf1iDmRcbdjJkuBF6IS29yBDSiWUIzpYaAhtNl6JYnYm12FnkeCwQqF5LeklOu6rAqgfBZqQ==", + "dev": true, + "requires": {} + }, + "postcss-discard-duplicates": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-duplicates/-/postcss-discard-duplicates-5.1.0.tgz", + "integrity": "sha512-zmX3IoSI2aoenxHV6C7plngHWWhUOV3sP1T8y2ifzxzbtnuhk1EdPwm0S1bIUNaJ2eNbWeGLEwzw8huPD67aQw==", + "dev": true, + "requires": {} + }, + "postcss-discard-empty": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-discard-empty/-/postcss-discard-empty-5.1.1.tgz", + "integrity": "sha512-zPz4WljiSuLWsI0ir4Mcnr4qQQ5e1Ukc3i7UfE2XcrwKK2LIPIqE5jxMRxO6GbI3cv//ztXDsXwEWT3BHOGh3A==", + "dev": true, + "requires": {} + }, + "postcss-discard-overridden": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-discard-overridden/-/postcss-discard-overridden-5.1.0.tgz", + "integrity": "sha512-21nOL7RqWR1kasIVdKs8HNqQJhFxLsyRfAnUDm4Fe4t4mCWL9OJiHvlHPjcd8zc5Myu89b/7wZDnOSjFgeWRtw==", + "dev": true, + "requires": {} + }, + "postcss-load-config": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/postcss-load-config/-/postcss-load-config-3.1.4.tgz", + "integrity": "sha512-6DiM4E7v4coTE4uzA8U//WhtPwyhiim3eyjEMFCnUpzbrkK9wJHgKDT2mR+HbtSrd/NubVaYTOpSpjUl8NQeRg==", + "dev": true, + "requires": { + "lilconfig": "^2.0.5", + "yaml": "^1.10.2" + } + }, + "postcss-loader": { + "version": "6.2.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.2.1.tgz", + "integrity": "sha512-WbbYpmAaKcux/P66bZ40bpWsBucjx/TTgVVzRZ9yUO8yQfVBlameJ0ZGVaPfH64hNSBh63a+ICP5nqOpBA0w+Q==", + "dev": true, + "requires": { + "cosmiconfig": "^7.0.0", + "klona": "^2.0.5", + "semver": "^7.3.5" + } + }, + "postcss-merge-longhand": { + "version": "5.1.5", + "resolved": "https://registry.npmjs.org/postcss-merge-longhand/-/postcss-merge-longhand-5.1.5.tgz", + "integrity": "sha512-NOG1grw9wIO+60arKa2YYsrbgvP6tp+jqc7+ZD5/MalIw234ooH2C6KlR6FEn4yle7GqZoBxSK1mLBE9KPur6w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "stylehacks": "^5.1.0" + } + }, + "postcss-merge-rules": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/postcss-merge-rules/-/postcss-merge-rules-5.1.2.tgz", + "integrity": "sha512-zKMUlnw+zYCWoPN6yhPjtcEdlJaMUZ0WyVcxTAmw3lkkN/NDMRkOkiuctQEoWAOvH7twaxUUdvBWl0d4+hifRQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0", + "cssnano-utils": "^3.1.0", + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-minify-font-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-minify-font-values/-/postcss-minify-font-values-5.1.0.tgz", + "integrity": "sha512-el3mYTgx13ZAPPirSVsHqFzl+BBBDrXvbySvPGFnQcTI4iNslrPaFq4muTkLZmKlGk4gyFAYUBMH30+HurREyA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-gradients": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-minify-gradients/-/postcss-minify-gradients-5.1.1.tgz", + "integrity": "sha512-VGvXMTpCEo4qHTNSa9A0a3D+dxGFZCYwR6Jokk+/3oB6flu2/PnPXAh2x7x52EkY5xlIHLm+Le8tJxe/7TNhzw==", + "dev": true, + "requires": { + "colord": "^2.9.1", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-params": { + "version": "5.1.3", + "resolved": "https://registry.npmjs.org/postcss-minify-params/-/postcss-minify-params-5.1.3.tgz", + "integrity": "sha512-bkzpWcjykkqIujNL+EVEPOlLYi/eZ050oImVtHU7b4lFS82jPnsCb44gvC6pxaNt38Els3jWYDHTjHKf0koTgg==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-minify-selectors": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/postcss-minify-selectors/-/postcss-minify-selectors-5.2.1.tgz", + "integrity": "sha512-nPJu7OjZJTsVUmPdm2TcaiohIwxP+v8ha9NehQ2ye9szv4orirRU3SDdtUmKH+10nzn0bAyOXZ0UEr7OpvLehg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-modules-extract-imports": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-extract-imports/-/postcss-modules-extract-imports-3.0.0.tgz", + "integrity": "sha512-bdHleFnP3kZ4NYDhuGlVK+CMrQ/pqUm8bx/oGL93K6gVwiclvX5x0n76fYMKuIGKzlABOy13zsvqjb0f92TEXw==", + "dev": true, + "requires": {} + }, + "postcss-modules-local-by-default": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-local-by-default/-/postcss-modules-local-by-default-4.0.0.tgz", + "integrity": "sha512-sT7ihtmGSF9yhm6ggikHdV0hlziDTX7oFoXtuVWeDd3hHObNkcHRo9V3yg7vCAY7cONyxJC/XXCmmiHHcvX7bQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0", + "postcss-selector-parser": "^6.0.2", + "postcss-value-parser": "^4.1.0" + } + }, + "postcss-modules-scope": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-scope/-/postcss-modules-scope-3.0.0.tgz", + "integrity": "sha512-hncihwFA2yPath8oZ15PZqvWGkWf+XUfQgUGamS4LqoP1anQLOsOJw0vr7J7IwLpoY9fatA2qiGUGmuZL0Iqlg==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.4" + } + }, + "postcss-modules-values": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/postcss-modules-values/-/postcss-modules-values-4.0.0.tgz", + "integrity": "sha512-RDxHkAiEGI78gS2ofyvCsu7iycRv7oqw5xMWn9iMoR0N/7mf9D50ecQqUo5BZ9Zh2vH4bCUR/ktCqbB9m8vJjQ==", + "dev": true, + "requires": { + "icss-utils": "^5.0.0" + } + }, + "postcss-normalize-charset": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-charset/-/postcss-normalize-charset-5.1.0.tgz", + "integrity": "sha512-mSgUJ+pd/ldRGVx26p2wz9dNZ7ji6Pn8VWBajMXFf8jk7vUoSrZ2lt/wZR7DtlZYKesmZI680qjr2CeFF2fbUg==", + "dev": true, + "requires": {} + }, + "postcss-normalize-display-values": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-display-values/-/postcss-normalize-display-values-5.1.0.tgz", + "integrity": "sha512-WP4KIM4o2dazQXWmFaqMmcvsKmhdINFblgSeRgn8BJ6vxaMyaJkwAzpPpuvSIoG/rmX3M+IrRZEz2H0glrQNEA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-positions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-positions/-/postcss-normalize-positions-5.1.0.tgz", + "integrity": "sha512-8gmItgA4H5xiUxgN/3TVvXRoJxkAWLW6f/KKhdsH03atg0cB8ilXnrB5PpSshwVu/dD2ZsRFQcR1OEmSBDAgcQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-repeat-style": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-repeat-style/-/postcss-normalize-repeat-style-5.1.0.tgz", + "integrity": "sha512-IR3uBjc+7mcWGL6CtniKNQ4Rr5fTxwkaDHwMBDGGs1x9IVRkYIT/M4NelZWkAOBdV6v3Z9S46zqaKGlyzHSchw==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-string": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-string/-/postcss-normalize-string-5.1.0.tgz", + "integrity": "sha512-oYiIJOf4T9T1N4i+abeIc7Vgm/xPCGih4bZz5Nm0/ARVJ7K6xrDlLwvwqOydvyL3RHNf8qZk6vo3aatiw/go3w==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-timing-functions": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-timing-functions/-/postcss-normalize-timing-functions-5.1.0.tgz", + "integrity": "sha512-DOEkzJ4SAXv5xkHl0Wa9cZLF3WCBhF3o1SKVxKQAa+0pYKlueTpCgvkFAHfk+Y64ezX9+nITGrDZeVGgITJXjg==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-unicode": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-unicode/-/postcss-normalize-unicode-5.1.0.tgz", + "integrity": "sha512-J6M3MizAAZ2dOdSjy2caayJLQT8E8K9XjLce8AUQMwOrCvjCHv24aLC/Lps1R1ylOfol5VIDMaM/Lo9NGlk1SQ==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-url": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-normalize-url/-/postcss-normalize-url-5.1.0.tgz", + "integrity": "sha512-5upGeDO+PVthOxSmds43ZeMeZfKH+/DKgGRD7TElkkyS46JXAUhMzIKiCa7BabPeIy3AQcTkXwVVN7DbqsiCew==", + "dev": true, + "requires": { + "normalize-url": "^6.0.1", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-normalize-whitespace": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-normalize-whitespace/-/postcss-normalize-whitespace-5.1.1.tgz", + "integrity": "sha512-83ZJ4t3NUDETIHTa3uEg6asWjSBYL5EdkVB0sDncx9ERzOKBVJIUeDO9RyA9Zwtig8El1d79HBp0JEi8wvGQnA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-ordered-values": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-ordered-values/-/postcss-ordered-values-5.1.1.tgz", + "integrity": "sha512-7lxgXF0NaoMIgyihL/2boNAEZKiW0+HkMhdKMTD93CjW8TdCy2hSdj8lsAo+uwm7EDG16Da2Jdmtqpedl0cMfw==", + "dev": true, + "requires": { + "cssnano-utils": "^3.1.0", + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-reduce-initial": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-initial/-/postcss-reduce-initial-5.1.0.tgz", + "integrity": "sha512-5OgTUviz0aeH6MtBjHfbr57tml13PuedK/Ecg8szzd4XRMbYxH4572JFG067z+FqBIf6Zp/d+0581glkvvWMFw==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "caniuse-api": "^3.0.0" + } + }, + "postcss-reduce-transforms": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-reduce-transforms/-/postcss-reduce-transforms-5.1.0.tgz", + "integrity": "sha512-2fbdbmgir5AvpW9RLtdONx1QoYG2/EtqpNQbFASDlixBbAYuTcJ0dECwlqNqH7VbaUnEnh8SrxOe2sRIn24XyQ==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0" + } + }, + "postcss-selector-parser": { + "version": "6.0.10", + "resolved": "https://registry.npmjs.org/postcss-selector-parser/-/postcss-selector-parser-6.0.10.tgz", + "integrity": "sha512-IQ7TZdoaqbT+LCpShg46jnZVlhWD2w6iQYAcYXfHARZ7X1t/UGhhceQDs5X0cGqKvYlHNOuv7Oa1xmb0oQuA3w==", + "dev": true, + "requires": { + "cssesc": "^3.0.0", + "util-deprecate": "^1.0.2" + } + }, + "postcss-svgo": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/postcss-svgo/-/postcss-svgo-5.1.0.tgz", + "integrity": "sha512-D75KsH1zm5ZrHyxPakAxJWtkyXew5qwS70v56exwvw542d9CRtTo78K0WeFxZB4G7JXKKMbEZtZayTGdIky/eA==", + "dev": true, + "requires": { + "postcss-value-parser": "^4.2.0", + "svgo": "^2.7.0" + } + }, + "postcss-unique-selectors": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/postcss-unique-selectors/-/postcss-unique-selectors-5.1.1.tgz", + "integrity": "sha512-5JiODlELrz8L2HwxfPnhOWZYWDxVHWL83ufOv84NrcgipI7TaeRsatAhK4Tr2/ZiYldpK/wBvw5BD3qfaK96GA==", + "dev": true, + "requires": { + "postcss-selector-parser": "^6.0.5" + } + }, + "postcss-value-parser": { + "version": "4.2.0", + "resolved": "https://registry.npmjs.org/postcss-value-parser/-/postcss-value-parser-4.2.0.tgz", + "integrity": "sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==", + "dev": true + }, + "prettier": { + "version": "2.6.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.6.2.tgz", + "integrity": "sha512-PkUpF+qoXTqhOeWL9fu7As8LXsIUZ1WYaJiY/a7McAQzxjk82OF0tibkFXVCDImZtWxbvojFjerkiLb0/q8mew==", + "dev": true, + "optional": true + }, + "pretty-time": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/pretty-time/-/pretty-time-1.1.0.tgz", + "integrity": "sha512-28iF6xPQrP8Oa6uxE6a1biz+lWeTOAPKggvjB8HAs6nVMKZwf5bG++632Dx614hIWgUPkgivRfG+a8uAXGTIbA==", + "dev": true + }, + "process": { + "version": "0.11.10", + "resolved": "https://registry.npmjs.org/process/-/process-0.11.10.tgz", + "integrity": "sha1-czIwDoQBYb2j5podHZGn1LwW8YI=", + "dev": true + }, + "process-nextick-args": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/process-nextick-args/-/process-nextick-args-2.0.1.tgz", + "integrity": "sha512-3ouUOpQhtgrbOa17J7+uxOTpITYWaGP7/AhoR3+A+/1e9skrzelGi/dXzEYyvbxubEF6Wn2ypscTKiKJFFn1ag==" + }, + "proxy-addr": { + "version": "2.0.7", + "resolved": "https://registry.npmjs.org/proxy-addr/-/proxy-addr-2.0.7.tgz", + "integrity": "sha512-llQsMLSUDUPT44jdrU/O37qlnifitDP+ZwrmmZcoSKyLKvtZxpyV0n2/bD/N4tBAAZ/gJEdZU7KMraoK1+XYAg==", + "dev": true, + "requires": { + "forwarded": "0.2.0", + "ipaddr.js": "1.9.1" + }, + "dependencies": { + "ipaddr.js": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/ipaddr.js/-/ipaddr.js-1.9.1.tgz", + "integrity": "sha512-0KI/607xoxSToH7GjN1FfSbLoU0+btTicjsQSWQlh/hZykN8KpmMf7uYwPW3R+akZ6R/w18ZlXSHBYXiYUPO3g==", + "dev": true + } + } + }, + "pseudomap": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/pseudomap/-/pseudomap-1.0.2.tgz", + "integrity": "sha1-8FKijacOYYkX7wqKw0wa5aaChrM=", + "dev": true + }, + "public-encrypt": { + "version": "4.0.3", + "resolved": "https://registry.npmjs.org/public-encrypt/-/public-encrypt-4.0.3.tgz", + "integrity": "sha512-zVpa8oKZSz5bTMTFClc1fQOnyyEzpl5ozpi1B5YcvBrdohMjH2rfsBtyXcuNuwjsDIXmBYlF2N5FlJYhR29t8Q==", + "dev": true, + "requires": { + "bn.js": "^4.1.0", + "browserify-rsa": "^4.0.0", + "create-hash": "^1.1.0", + "parse-asn1": "^5.0.0", + "randombytes": "^2.0.1", + "safe-buffer": "^5.1.2" + }, + "dependencies": { + "bn.js": { + "version": "4.12.0", + "resolved": "https://registry.npmjs.org/bn.js/-/bn.js-4.12.0.tgz", + "integrity": "sha512-c98Bf3tPniI+scsdk237ku1Dc3ujXQTSgyiPUDEOe7tRkhrqridvh8klBv0HCEso1OLOYcHuCv/cS6DNxKH+ZA==", + "dev": true + } + } + }, + "punycode": { + "version": "1.4.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.4.1.tgz", + "integrity": "sha1-wNWmOycYgArY4esPpSachN1BhF4=", + "dev": true + }, + "qs": { + "version": "6.10.3", + "resolved": "https://registry.npmjs.org/qs/-/qs-6.10.3.tgz", + "integrity": "sha512-wr7M2E0OFRfIfJZjKGieI8lBKb7fRCH4Fv5KNPEs7gJ8jadvotdsS08PzOKR7opXhZ/Xkjtt3WF9g38drmyRqQ==", + "dev": true, + "requires": { + "side-channel": "^1.0.4" + } + }, + "querystring": { + "version": "0.2.0", + "resolved": "https://registry.npmjs.org/querystring/-/querystring-0.2.0.tgz", + "integrity": "sha1-sgmEkgO7Jd+CDadW50cAWHhSFiA=", + "dev": true + }, + "querystring-es3": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/querystring-es3/-/querystring-es3-0.2.1.tgz", + "integrity": "sha1-nsYfeQSYdXB9aUFFlv2Qek1xHnM=", + "dev": true + }, + "queue-microtask": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/queue-microtask/-/queue-microtask-1.2.3.tgz", + "integrity": "sha512-NuaNSa6flKT5JaSYQzJok04JzTL1CA6aGhv5rfLW3PgqA+M2ChpZQnAC8h8i4ZFkBS8X5RqkDBHA7r4hej3K9A==", + "dev": true + }, + "randombytes": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", + "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", + "dev": true, + "requires": { + "safe-buffer": "^5.1.0" + } + }, + "randomfill": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/randomfill/-/randomfill-1.0.4.tgz", + "integrity": "sha512-87lcbR8+MhcWcUiQ+9e+Rwx8MyR2P7qnt15ynUlbm3TU/fjbgz4GsvfSUDTemtCCtVCqb4ZcEFlyPNTh9bBTLw==", + "dev": true, + "requires": { + "randombytes": "^2.0.5", + "safe-buffer": "^5.1.0" + } + }, + "range-parser": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/range-parser/-/range-parser-1.2.1.tgz", + "integrity": "sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg==", + "dev": true + }, + "raphael": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/raphael/-/raphael-2.3.0.tgz", + "integrity": "sha512-w2yIenZAQnp257XUWGni4bLMVxpUpcIl7qgxEgDIXtmSypYtlNxfXWpOBxs7LBTps5sDwhRnrToJrMUrivqNTQ==", + "dev": true, + "requires": { + "eve-raphael": "0.5.0" + } + }, + "raw-body": { + "version": "2.5.1", + "resolved": "https://registry.npmjs.org/raw-body/-/raw-body-2.5.1.tgz", + "integrity": "sha512-qqJBtEyVgS0ZmPGdCFPWJ3FreoqvG4MVQln/kCgF7Olq95IbOp0/BWyMwbdtn4VTvkM8Y7khCQ2Xgk/tcrCXig==", + "dev": true, + "requires": { + "bytes": "3.1.2", + "http-errors": "2.0.0", + "iconv-lite": "0.4.24", + "unpipe": "1.0.0" + }, + "dependencies": { + "bytes": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/bytes/-/bytes-3.1.2.tgz", + "integrity": "sha512-/Nf7TyzTx6S3yRJObOAV7956r8cr2+Oj8AC5dt8wSP3BQAoeX58NoHyCU8P8zGkNXStjTSi6fzO6F0pBdcYbEg==", + "dev": true + } + } + }, + "readable-stream": { + "version": "2.3.7", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-2.3.7.tgz", + "integrity": "sha512-Ebho8K4jIbHAxnuxi7o42OrZgF/ZTNcsZj6nRKyUmkhLFq8CHItp/fy6hQZuZmP/n3yZ9VBUbp4zz/mX8hmYPw==", + "requires": { + "core-util-is": "~1.0.0", + "inherits": "~2.0.3", + "isarray": "~1.0.0", + "process-nextick-args": "~2.0.0", + "safe-buffer": "~5.1.1", + "string_decoder": "~1.1.1", + "util-deprecate": "~1.0.1" + }, + "dependencies": { + "string_decoder": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.1.1.tgz", + "integrity": "sha512-n/ShnvDi6FHbbVfviro+WojiFzv+s8MPMHBczVePfUpDJLwoLT0ht1l4YwBCbi8pJAveEEdnkHyPyTP/mzRfwg==", + "requires": { + "safe-buffer": "~5.1.0" + } + } + } + }, + "readdirp": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readdirp/-/readdirp-3.6.0.tgz", + "integrity": "sha512-hOS089on8RduqdbhvQ5Z37A0ESjsqz6qnRcffsMU3495FuTdqSm+7bhJ29JvIOsBDEEnan5DPu9t3To9VRlMzA==", + "dev": true, + "requires": { + "picomatch": "^2.2.1" + } + }, + "rechoir": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/rechoir/-/rechoir-0.7.1.tgz", + "integrity": "sha512-/njmZ8s1wVeR6pjTZ+0nCnv8SpZNRMT2D1RLOJQESlYFDBvwpTA4KWJpZ+sBJ4+vhjILRcK7JIFdGCdxEAAitg==", + "dev": true, + "requires": { + "resolve": "^1.9.0" + } + }, + "regenerate": { + "version": "1.4.2", + "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", + "integrity": "sha512-zrceR/XhGYU/d/opr2EKO7aRHUeiBI8qjtfHqADTwZd6Szfy16la6kqD0MIUs5z5hx6AaKa+PixpPrR289+I0A==", + "dev": true + }, + "regenerate-unicode-properties": { + "version": "10.0.1", + "resolved": "https://registry.npmjs.org/regenerate-unicode-properties/-/regenerate-unicode-properties-10.0.1.tgz", + "integrity": "sha512-vn5DU6yg6h8hP/2OkQo3K7uVILvY4iu0oI4t3HFa81UPkhGJwkRwM10JEc3upjdhHjs/k8GJY1sRBhk5sr69Bw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2" + } + }, + "regenerator-runtime": { + "version": "0.13.9", + "resolved": "https://registry.npmjs.org/regenerator-runtime/-/regenerator-runtime-0.13.9.tgz", + "integrity": "sha512-p3VT+cOEgxFsRRA9X4lkI1E+k2/CtnKtU4gcxyaCUreilL/vqI6CdZ3wxVUx3UOUg+gnUOQQcRI7BmSI656MYA==", + "dev": true + }, + "regenerator-transform": { + "version": "0.15.0", + "resolved": "https://registry.npmjs.org/regenerator-transform/-/regenerator-transform-0.15.0.tgz", + "integrity": "sha512-LsrGtPmbYg19bcPHwdtmXwbW+TqNvtY4riE3P83foeHRroMbH6/2ddFBfab3t7kbzc7v7p4wbkIecHImqt0QNg==", + "dev": true, + "requires": { + "@babel/runtime": "^7.8.4" + } + }, + "regex-parser": { + "version": "2.2.11", + "resolved": "https://registry.npmjs.org/regex-parser/-/regex-parser-2.2.11.tgz", + "integrity": "sha512-jbD/FT0+9MBU2XAZluI7w2OBs1RBi6p9M83nkoZayQXXU9e8Robt69FcZc7wU4eJD/YFTjn1JdCk3rbMJajz8Q==", + "dev": true + }, + "regexp.prototype.flags": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/regexp.prototype.flags/-/regexp.prototype.flags-1.4.3.tgz", + "integrity": "sha512-fjggEOO3slI6Wvgjwflkc4NFRCTZAu5CnNfBd5qOMYhWdn67nJBBu34/TkD++eeFmd8C9r9jfXJ27+nSiRkSUA==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.3", + "functions-have-names": "^1.2.2" + } + }, + "regexpu-core": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/regexpu-core/-/regexpu-core-5.0.1.tgz", + "integrity": "sha512-CriEZlrKK9VJw/xQGJpQM5rY88BtuL8DM+AEwvcThHilbxiTAy8vq4iJnd2tqq8wLmjbGZzP7ZcKFjbGkmEFrw==", + "dev": true, + "requires": { + "regenerate": "^1.4.2", + "regenerate-unicode-properties": "^10.0.1", + "regjsgen": "^0.6.0", + "regjsparser": "^0.8.2", + "unicode-match-property-ecmascript": "^2.0.0", + "unicode-match-property-value-ecmascript": "^2.0.0" + } + }, + "regjsgen": { + "version": "0.6.0", + "resolved": "https://registry.npmjs.org/regjsgen/-/regjsgen-0.6.0.tgz", + "integrity": "sha512-ozE883Uigtqj3bx7OhL1KNbCzGyW2NQZPl6Hs09WTvCuZD5sTI4JY58bkbQWa/Y9hxIsvJ3M8Nbf7j54IqeZbA==", + "dev": true + }, + "regjsparser": { + "version": "0.8.4", + "resolved": "https://registry.npmjs.org/regjsparser/-/regjsparser-0.8.4.tgz", + "integrity": "sha512-J3LABycON/VNEu3abOviqGHuB/LOtOQj8SKmfP9anY5GfAVw/SPjwzSjxGjbZXIxbGfqTHtJw58C2Li/WkStmA==", + "dev": true, + "requires": { + "jsesc": "~0.5.0" + }, + "dependencies": { + "jsesc": { + "version": "0.5.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-0.5.0.tgz", + "integrity": "sha512-uZz5UnB7u4T9LvwmFqXii7pZSouaRPorGs5who1Ip7VO0wxanFvBL7GkM6dTHlgX+jhBApRetaWpnDabOeTcnA==", + "dev": true + } + } + }, + "relateurl": { + "version": "0.2.7", + "resolved": "https://registry.npmjs.org/relateurl/-/relateurl-0.2.7.tgz", + "integrity": "sha1-VNvzd+UUQKypCkzSdGANP/LYiKk=", + "dev": true + }, + "replace-ext": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/replace-ext/-/replace-ext-1.0.1.tgz", + "integrity": "sha512-yD5BHCe7quCgBph4rMQ+0KkIRKwWCrHDOX1p1Gp6HwjPM5kVoCdKGNhN7ydqqsX6lJEnQDKZ/tFMiEdQ1dvPEw==", + "dev": true + }, + "require-directory": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/require-directory/-/require-directory-2.1.1.tgz", + "integrity": "sha1-jGStX9MNqxyXbiNE/+f3kqam30I=", + "dev": true + }, + "require-from-string": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/require-from-string/-/require-from-string-2.0.2.tgz", + "integrity": "sha512-Xf0nWe6RseziFMu+Ap9biiUbmplq6S9/p+7w7YXP/JBHhrUDDUhwa+vANyubuqfZWTveU//DYVGsDG7RKL/vEw==", + "dev": true + }, + "requires-port": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/requires-port/-/requires-port-1.0.0.tgz", + "integrity": "sha1-kl0mAdOaxIXgkc8NpcbmlNw9yv8=", + "dev": true + }, + "resolve": { + "version": "1.22.0", + "resolved": "https://registry.npmjs.org/resolve/-/resolve-1.22.0.tgz", + "integrity": "sha512-Hhtrw0nLeSrFQ7phPp4OOcVjLPIeMnRlr5mcnVuMe7M/7eBn98A3hmFRLoFo3DLZkivSYwhRUJTyPyWAk56WLw==", + "dev": true, + "requires": { + "is-core-module": "^2.8.1", + "path-parse": "^1.0.7", + "supports-preserve-symlinks-flag": "^1.0.0" + } + }, + "resolve-cwd": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/resolve-cwd/-/resolve-cwd-3.0.0.tgz", + "integrity": "sha512-OrZaX2Mb+rJCpH/6CpSqt9xFVpN++x01XnN2ie9g6P5/3xelLAkXWVADpdz1IHD/KFfEXyE6V0U01OQ3UO2rEg==", + "dev": true, + "requires": { + "resolve-from": "^5.0.0" + }, + "dependencies": { + "resolve-from": { + "version": "5.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-5.0.0.tgz", + "integrity": "sha512-qYg9KP24dD5qka9J47d0aVky0N+b4fTU89LN9iDnjB5waksiC49rvMB0PrUJQGoTmH50XPiqOvAjDfaijGxYZw==", + "dev": true + } + } + }, + "resolve-from": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/resolve-from/-/resolve-from-4.0.0.tgz", + "integrity": "sha512-pb/MYmXstAkysRFx8piNI1tGFNQIFA3vkE3Gq4EuA1dF6gHp/+vgZqsCGJapvy8N3Q+4o7FwvquPJcnZ7RYy4g==", + "dev": true + }, + "resolve-url": { + "version": "0.2.1", + "resolved": "https://registry.npmjs.org/resolve-url/-/resolve-url-0.2.1.tgz", + "integrity": "sha1-LGN/53yJOv0qZj/iGqkIAGjiBSo=", + "dev": true + }, + "resolve-url-loader": { + "version": "3.1.4", + "resolved": "https://registry.npmjs.org/resolve-url-loader/-/resolve-url-loader-3.1.4.tgz", + "integrity": "sha512-D3sQ04o0eeQEySLrcz4DsX3saHfsr8/N6tfhblxgZKXxMT2Louargg12oGNfoTRLV09GXhVUe5/qgA5vdgNigg==", + "dev": true, + "requires": { + "adjust-sourcemap-loader": "3.0.0", + "camelcase": "5.3.1", + "compose-function": "3.0.3", + "convert-source-map": "1.7.0", + "es6-iterator": "2.0.3", + "loader-utils": "1.2.3", + "postcss": "7.0.36", + "rework": "1.0.1", + "rework-visit": "1.0.0", + "source-map": "0.6.1" + }, + "dependencies": { + "ansi-styles": { + "version": "3.2.1", + "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-3.2.1.tgz", + "integrity": "sha512-VT0ZI6kZRdTh8YyJw3SMbYm/u+NqfsAxEpWO0Pf9sq8/e94WxxOpPKx9FR1FlyCtOVDNOQ+8ntlqFxiRc+r5qA==", + "dev": true, + "requires": { + "color-convert": "^1.9.0" + } + }, + "chalk": { + "version": "2.4.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-2.4.2.tgz", + "integrity": "sha512-Mti+f9lpJNcwF4tWV8/OrTTtF1gZi+f8FqlyAdouralcFWFQWF2+NgCHShjkCb+IFBLq9buZwE1xckQU4peSuQ==", + "dev": true, + "requires": { + "ansi-styles": "^3.2.1", + "escape-string-regexp": "^1.0.5", + "supports-color": "^5.3.0" + }, + "dependencies": { + "supports-color": { + "version": "5.5.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-5.5.0.tgz", + "integrity": "sha512-QjVjwdXIt408MIiAqCX4oUKsgU2EqAGzs2Ppkm4aQYbjm+ZEWEcW4SfFNTr4uMNZma0ey4f5lgLrkB0aX0QMow==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "color-convert": { + "version": "1.9.3", + "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-1.9.3.tgz", + "integrity": "sha512-QfAUtd+vFdAtFQcC8CCyYt1fYWxSqAiK2cSD6zDB8N3cpsEBAvRxp9zOGg6G/SHHJYAT88/az/IuDGALsNVbGg==", + "dev": true, + "requires": { + "color-name": "1.1.3" + } + }, + "color-name": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.3.tgz", + "integrity": "sha512-72fSenhMw2HZMTVHeCA9KCmpEIbzWiQsjN+BHcBbS9vr1mtt+vJjPdksIBNUmKAW8TFUDPJK5SUU3QhE9NEXDw==", + "dev": true + }, + "convert-source-map": { + "version": "1.7.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-1.7.0.tgz", + "integrity": "sha512-4FJkXzKXEDB1snCFZlLP4gpC3JILicCpGbzG9f9G7tGqGCzETQ2hWPrcinA9oU4wtf2biUaEH5065UnMeR33oA==", + "dev": true, + "requires": { + "safe-buffer": "~5.1.1" + } + }, + "emojis-list": { + "version": "2.1.0", + "resolved": "https://registry.npmjs.org/emojis-list/-/emojis-list-2.1.0.tgz", + "integrity": "sha512-knHEZMgs8BB+MInokmNTg/OyPlAddghe1YBgNwJBc5zsJi/uyIcXoSDsL/W9ymOsBoBGdPIHXYJ9+qKFwRwDng==", + "dev": true + }, + "has-flag": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-3.0.0.tgz", + "integrity": "sha512-sKJf1+ceQBr4SMkvQnBDNDtf4TXpVhVGateu0t918bl30FnbE2m4vNLX+VWe/dpjlb+HugGYzW7uQXH98HPEYw==", + "dev": true + }, + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.2.3.tgz", + "integrity": "sha512-fkpz8ejdnEMG3s37wGL07iSBDg99O9D5yflE9RGNH3hRdx9SOwYfnGYdZOUIZitN8E+E2vkq3MUMYMvPYl5ZZA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^2.0.0", + "json5": "^1.0.1" + } + }, + "postcss": { + "version": "7.0.36", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-7.0.36.tgz", + "integrity": "sha512-BebJSIUMwJHRH0HAQoxN4u1CN86glsrwsW0q7T+/m44eXOUAxSNdHRkNZPYz5vVUbg17hFgOQDE7fZk7li3pZw==", + "dev": true, + "requires": { + "chalk": "^2.4.2", + "source-map": "^0.6.1", + "supports-color": "^6.1.0" + } + }, + "supports-color": { + "version": "6.1.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-6.1.0.tgz", + "integrity": "sha512-qe1jfm1Mg7Nq/NSh6XE24gPXROEVsWHxC1LIx//XNlD9iw7YZQGjZNjYN7xGaEG6iKdA8EtNFW6R0gjnVXp+wQ==", + "dev": true, + "requires": { + "has-flag": "^3.0.0" + } + } + } + }, + "restructure": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/restructure/-/restructure-2.0.1.tgz", + "integrity": "sha512-e0dOpjm5DseomnXx2M5lpdZ5zoHqF1+bqdMJUohoYVVQa7cBdnk7fdmeI6byNWP/kiME72EeTiSypTCVnpLiDg==", + "dev": true + }, + "retry": { + "version": "0.13.1", + "resolved": "https://registry.npmjs.org/retry/-/retry-0.13.1.tgz", + "integrity": "sha512-XQBQ3I8W1Cge0Seh+6gjj03LbmRFWuoszgK9ooCpwYIrhhoO80pfq4cUkU5DkknwfOfFteRwlZ56PYOGYyFWdg==", + "dev": true + }, + "reusify": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/reusify/-/reusify-1.0.4.tgz", + "integrity": "sha512-U9nH88a3fc/ekCF1l0/UP1IosiuIjyTh7hBvXVMHYgVcfGvt897Xguj2UOLDeI5BG2m7/uwyaLVT6fbtCwTyzw==", + "dev": true + }, + "rework": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/rework/-/rework-1.0.1.tgz", + "integrity": "sha1-MIBqhBNCtUUQqkEQhQzUhTQUSqc=", + "dev": true, + "requires": { + "convert-source-map": "^0.3.3", + "css": "^2.0.0" + }, + "dependencies": { + "convert-source-map": { + "version": "0.3.5", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-0.3.5.tgz", + "integrity": "sha512-+4nRk0k3oEpwUB7/CalD7xE2z4VmtEnnq0GO2IPTkrooTrAhEsWvuLF5iWP1dXrwluki/azwXV1ve7gtYuPldg==", + "dev": true + } + } + }, + "rework-visit": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/rework-visit/-/rework-visit-1.0.0.tgz", + "integrity": "sha1-mUWygD8hni96ygCtuLyfZA+ELJo=", + "dev": true + }, + "rimraf": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/rimraf/-/rimraf-3.0.2.tgz", + "integrity": "sha512-JZkJMZkAGFFPP2YqXZXPbMlMBgsxzE8ILs4lMIX/2o0L9UBw9O/Y3o6wFw/i9YLapcUJWwqbi3kdxIPdC62TIA==", + "dev": true, + "requires": { + "glob": "^7.1.3" + } + }, + "ripemd160": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/ripemd160/-/ripemd160-2.0.2.tgz", + "integrity": "sha512-ii4iagi25WusVoiC4B4lq7pbXfAp3D9v5CwfkY33vffw2+pkDjY1D8GaN7spsxvCSx8dkPqOZCEZyfxcmJG2IA==", + "dev": true, + "requires": { + "hash-base": "^3.0.0", + "inherits": "^2.0.1" + } + }, + "run-parallel": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/run-parallel/-/run-parallel-1.2.0.tgz", + "integrity": "sha512-5l4VyZR86LZ/lDxZTR6jqL8AFE2S0IFLMP26AbjsLVADxHdhB/c0GUsH+y39UfCi3dzz8OlQuPmnaJOMoDHQBA==", + "dev": true, + "requires": { + "queue-microtask": "^1.2.2" + } + }, + "safe-buffer": { + "version": "5.1.2", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.1.2.tgz", + "integrity": "sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g==" + }, + "safer-buffer": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/safer-buffer/-/safer-buffer-2.1.2.tgz", + "integrity": "sha512-YZo3K82SD7Riyi0E1EQPojLz7kpepnSQI9IyPbHHg1XXXevb5dJI7tpyN2ADxGcQbHG7vcyRHk0cbwqcQriUtg==", + "dev": true + }, + "sass": { + "version": "1.52.1", + "resolved": "https://registry.npmjs.org/sass/-/sass-1.52.1.tgz", + "integrity": "sha512-fSzYTbr7z8oQnVJ3Acp9hV80dM1fkMN7mSD/25mpcct9F7FPBMOI8krEYALgU1aZoqGhQNhTPsuSmxjnIvAm4Q==", + "dev": true, + "requires": { + "chokidar": ">=3.0.0 <4.0.0", + "immutable": "^4.0.0", + "source-map-js": ">=0.6.2 <2.0.0" + } + }, + "sass-loader": { + "version": "8.0.2", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-8.0.2.tgz", + "integrity": "sha512-7o4dbSK8/Ol2KflEmSco4jTjQoV988bM82P9CZdmo9hR3RLnvNc0ufMNdMrB0caq38JQ/FgF4/7RcbcfKzxoFQ==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "loader-utils": "^1.2.3", + "neo-async": "^2.6.1", + "schema-utils": "^2.6.1", + "semver": "^6.3.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + }, + "semver": { + "version": "6.3.0", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.0.tgz", + "integrity": "sha512-b39TBaTSfV6yBrapU89p5fKekE2m/NwnDocOVruQFS1/veMgdzuPcnOM34M6CwxW8jH/lxEa5rBoDeUwu5HHTw==", + "dev": true + } + } + }, + "sax": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/sax/-/sax-1.2.4.tgz", + "integrity": "sha512-NqVDv9TpANUjFm0N8uM5GxL36UgKi9/atZw+x7YFnQ8ckwFGKrl4xX4yWtrey3UJm5nP1kUbnYgLopqWNSRhWw==", + "dev": true + }, + "schema-utils": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-2.7.1.tgz", + "integrity": "sha512-SHiNtMOUGWBQJwzISiVYKu82GiV4QYGePp3odlY1tuKO7gPtphAT5R/py0fA6xtbgLL/RvtJZnU9b8s0F1q0Xg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.5", + "ajv": "^6.12.4", + "ajv-keywords": "^3.5.2" + } + }, + "select-hose": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/select-hose/-/select-hose-2.0.0.tgz", + "integrity": "sha1-Yl2GWPhlr0Psliv8N2o3NZpJlMo=", + "dev": true + }, + "select2": { + "version": "4.0.13", + "resolved": "https://registry.npmjs.org/select2/-/select2-4.0.13.tgz", + "integrity": "sha512-1JeB87s6oN/TDxQQYCvS5EFoQyvV6eYMZZ0AeA4tdFDYWN3BAGZ8npr17UBFddU0lgAt3H0yjX3X6/ekOj1yjw==" + }, + "selfsigned": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/selfsigned/-/selfsigned-2.0.1.tgz", + "integrity": "sha512-LmME957M1zOsUhG+67rAjKfiWFox3SBxE/yymatMZsAx+oMrJ0YQ8AToOnyCm7xbeg2ep37IHLxdu0o2MavQOQ==", + "dev": true, + "requires": { + "node-forge": "^1" + } + }, + "semver": { + "version": "7.3.7", + "resolved": "https://registry.npmjs.org/semver/-/semver-7.3.7.tgz", + "integrity": "sha512-QlYTucUYOews+WeEujDoEGziz4K6c47V/Bd+LjSSYcA94p+DmINdf7ncaUinThfvZyu13lN9OY1XDxt8C0Tw0g==", + "dev": true, + "requires": { + "lru-cache": "^6.0.0" + } + }, + "send": { + "version": "0.18.0", + "resolved": "https://registry.npmjs.org/send/-/send-0.18.0.tgz", + "integrity": "sha512-qqWzuOjSFOuqPjFe4NOsMLafToQQwBSOEpS+FwEt3A2V3vKubTquT3vmLTQpFgMXp8AlFWFuP1qKaJZOtPpVXg==", + "dev": true, + "requires": { + "debug": "2.6.9", + "depd": "2.0.0", + "destroy": "1.2.0", + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "etag": "~1.8.1", + "fresh": "0.5.2", + "http-errors": "2.0.0", + "mime": "1.6.0", + "ms": "2.1.3", + "on-finished": "2.4.1", + "range-parser": "~1.2.1", + "statuses": "2.0.1" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + }, + "dependencies": { + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + } + } + }, + "ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true + } + } + }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "dev": true, + "requires": { + "randombytes": "^2.1.0" + } + }, + "serve-index": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/serve-index/-/serve-index-1.9.1.tgz", + "integrity": "sha1-03aNabHn2C5c4FD/9bRTvqEqkjk=", + "dev": true, + "requires": { + "accepts": "~1.3.4", + "batch": "0.6.1", + "debug": "2.6.9", + "escape-html": "~1.0.3", + "http-errors": "~1.6.2", + "mime-types": "~2.1.17", + "parseurl": "~1.3.2" + }, + "dependencies": { + "debug": { + "version": "2.6.9", + "resolved": "https://registry.npmjs.org/debug/-/debug-2.6.9.tgz", + "integrity": "sha512-bC7ElrdJaJnPbAP+1EotYvqZsb3ecl5wi6Bfi6BJTUcNowp6cvspg0jXznRTKDjm/E7AdgFBVeAPVMNcKGsHMA==", + "dev": true, + "requires": { + "ms": "2.0.0" + } + }, + "depd": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", + "integrity": "sha512-7emPTl6Dpo6JRXOXjLRxck+FlLRX5847cLKEn00PLAgc3g2hTZZgr+e4c2v6QpSmLeFP3n5yUo7ft6avBK/5jQ==", + "dev": true + }, + "http-errors": { + "version": "1.6.3", + "resolved": "https://registry.npmjs.org/http-errors/-/http-errors-1.6.3.tgz", + "integrity": "sha512-lks+lVC8dgGyh97jxvxeYTWQFvh4uw4yC12gVl63Cg30sjPX4wuGcdkICVXDAESr6OJGjqGA8Iz5mkeN6zlD7A==", + "dev": true, + "requires": { + "depd": "~1.1.2", + "inherits": "2.0.3", + "setprototypeof": "1.1.0", + "statuses": ">= 1.4.0 < 2" + } + }, + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + }, + "ms": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.0.0.tgz", + "integrity": "sha1-VgiurfwAvmwpAd9fmGF4jeDVl8g=", + "dev": true + }, + "setprototypeof": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.1.0.tgz", + "integrity": "sha512-BvE/TwpZX4FXExxOxZyRGQQv651MSwmWKZGqvmPcRIjDqWub67kTKuIMx43cZZrS/cBBzwBcNDWoFxt2XEFIpQ==", + "dev": true + }, + "statuses": { + "version": "1.5.0", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-1.5.0.tgz", + "integrity": "sha1-Fhx9rBd2Wf2YEfQ3cfqZOBR4Yow=", + "dev": true + } + } + }, + "serve-static": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/serve-static/-/serve-static-1.15.0.tgz", + "integrity": "sha512-XGuRDNjXUijsUL0vl6nSD7cwURuzEgglbOaFuZM9g3kwDXOWVTck0jLzjPzGD+TazWbboZYu52/9/XPdUgne9g==", + "dev": true, + "requires": { + "encodeurl": "~1.0.2", + "escape-html": "~1.0.3", + "parseurl": "~1.3.3", + "send": "0.18.0" + } + }, + "setimmediate": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/setimmediate/-/setimmediate-1.0.5.tgz", + "integrity": "sha1-KQy7Iy4waULX1+qbg3Mqt4VvgoU=", + "dev": true + }, + "setprototypeof": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/setprototypeof/-/setprototypeof-1.2.0.tgz", + "integrity": "sha512-E5LDX7Wrp85Kil5bhZv46j8jOeboKq5JMmYM3gVGdGH8xFpPWXUMsNrlODCrkoxMEeNi/XZIwuRvY4XNwYMJpw==", + "dev": true + }, + "sha.js": { + "version": "2.4.11", + "resolved": "https://registry.npmjs.org/sha.js/-/sha.js-2.4.11.tgz", + "integrity": "sha512-QMEp5B7cftE7APOjk5Y6xgrbWu+WkLVQwk8JNjZ8nKRciZaByEW6MubieAiToS7+dwvrjGhH8jRXz3MVd0AYqQ==", + "dev": true, + "requires": { + "inherits": "^2.0.1", + "safe-buffer": "^5.0.1" + } + }, + "shallow-clone": { + "version": "3.0.1", + "resolved": "https://registry.npmjs.org/shallow-clone/-/shallow-clone-3.0.1.tgz", + "integrity": "sha512-/6KqX+GVUdqPuPPd2LxDDxzX6CAbjJehAAOKlNpqqUpAqPM6HeL8f+o3a+JsyGjn2lv0WY8UsTgUJjU9Ok55NA==", + "dev": true, + "requires": { + "kind-of": "^6.0.2" + } + }, + "shebang-command": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/shebang-command/-/shebang-command-2.0.0.tgz", + "integrity": "sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==", + "dev": true, + "requires": { + "shebang-regex": "^3.0.0" + } + }, + "shebang-regex": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/shebang-regex/-/shebang-regex-3.0.0.tgz", + "integrity": "sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==", + "dev": true + }, + "shellwords": { + "version": "0.1.1", + "resolved": "https://registry.npmjs.org/shellwords/-/shellwords-0.1.1.tgz", + "integrity": "sha512-vFwSUfQvqybiICwZY5+DAWIPLKsWO31Q91JSKl3UYv+K5c2QRPzn0qzec6QPu1Qc9eHYItiP3NdJqNVqetYAww==", + "dev": true + }, + "side-channel": { + "version": "1.0.4", + "resolved": "https://registry.npmjs.org/side-channel/-/side-channel-1.0.4.tgz", + "integrity": "sha512-q5XPytqFEIKHkGdiMIrY10mvLRvnQh42/+GoBlFW3b2LXLE2xxJpZFdm94we0BaoV3RwJyGqg5wS7epxTv0Zvw==", + "dev": true, + "requires": { + "call-bind": "^1.0.0", + "get-intrinsic": "^1.0.2", + "object-inspect": "^1.9.0" + } + }, + "signal-exit": { + "version": "3.0.7", + "resolved": "https://registry.npmjs.org/signal-exit/-/signal-exit-3.0.7.tgz", + "integrity": "sha512-wnD2ZE+l+SPC/uoS0vXeE9L1+0wuaMqKlfz9AMUo38JsyLSBWSFcHR1Rri62LZc12vLr1gb3jl7iwQhgwpAbGQ==", + "dev": true + }, + "slash": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/slash/-/slash-3.0.0.tgz", + "integrity": "sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==", + "dev": true + }, + "sockjs": { + "version": "0.3.24", + "resolved": "https://registry.npmjs.org/sockjs/-/sockjs-0.3.24.tgz", + "integrity": "sha512-GJgLTZ7vYb/JtPSSZ10hsOYIvEYsjbNU+zPdIHcUaWVNUEPivzxku31865sSSud0Da0W4lEeOPlmw93zLQchuQ==", + "dev": true, + "requires": { + "faye-websocket": "^0.11.3", + "uuid": "^8.3.2", + "websocket-driver": "^0.7.4" + } + }, + "source-list-map": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/source-list-map/-/source-list-map-2.0.1.tgz", + "integrity": "sha512-qnQ7gVMxGNxsiL4lEuJwe/To8UnK7fAnmbGEEH8RpLouuKbeEm0lhbQVFIrNSuB+G7tVrAlVsZgETT5nljf+Iw==", + "dev": true + }, + "source-map": { + "version": "0.6.1", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.6.1.tgz", + "integrity": "sha512-UjgapumWlbMhkBgzT7Ykc5YXUT46F0iKu8SGXq0bcwP5dz/h0Plj6enJqjz1Zbq2l5WaqYnrVbwWOWMyF3F47g==", + "dev": true + }, + "source-map-js": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.0.2.tgz", + "integrity": "sha512-R0XvVJ9WusLiqTCEiGCmICCMplcCkIwwR11mOSD9CR5u+IXYdiseeEuXCVAjS54zqwkLcPNnmU4OeJ6tUrWhDw==", + "dev": true + }, + "source-map-resolve": { + "version": "0.5.3", + "resolved": "https://registry.npmjs.org/source-map-resolve/-/source-map-resolve-0.5.3.tgz", + "integrity": "sha512-Htz+RnsXWk5+P2slx5Jh3Q66vhQj1Cllm0zvnaY98+NFx+Dv2CF/f5O/t8x+KaNdrdIAsruNzoh/KpialbqAnw==", + "dev": true, + "requires": { + "atob": "^2.1.2", + "decode-uri-component": "^0.2.0", + "resolve-url": "^0.2.1", + "source-map-url": "^0.4.0", + "urix": "^0.1.0" + } + }, + "source-map-support": { + "version": "0.5.21", + "resolved": "https://registry.npmjs.org/source-map-support/-/source-map-support-0.5.21.tgz", + "integrity": "sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==", + "dev": true, + "requires": { + "buffer-from": "^1.0.0", + "source-map": "^0.6.0" + } + }, + "source-map-url": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/source-map-url/-/source-map-url-0.4.1.tgz", + "integrity": "sha512-cPiFOTLUKvJFIg4SKVScy4ilPPW6rFgMgfuZJPNoDuMs3nC1HbMUycBoJw77xFIp6z1UJQJOfx6C9GMH80DiTw==", + "dev": true + }, + "sparklines": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/sparklines/-/sparklines-1.3.0.tgz", + "integrity": "sha512-CkFtpDE3hmOeu1IJyIQIOH0AQtHnPj1c61ALxJZQ9cPEFKDgWC1fcNAHuwPi1i1klTDYvlKKseoYHSwe7JmdLA==", + "dev": true + }, + "spdy": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/spdy/-/spdy-4.0.2.tgz", + "integrity": "sha512-r46gZQZQV+Kl9oItvl1JZZqJKGr+oEkB08A6BzkiR7593/7IbtuncXHd2YoYeTsG4157ZssMu9KYvUHLcjcDoA==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "handle-thing": "^2.0.0", + "http-deceiver": "^1.2.7", + "select-hose": "^2.0.0", + "spdy-transport": "^3.0.0" + } + }, + "spdy-transport": { + "version": "3.0.0", + "resolved": "https://registry.npmjs.org/spdy-transport/-/spdy-transport-3.0.0.tgz", + "integrity": "sha512-hsLVFE5SjA6TCisWeJXFKniGGOpBgMLmerfO2aCyCU5s7nJ/rpAepqmFifv/GCbSbueEeAJJnmSQ2rKC/g8Fcw==", + "dev": true, + "requires": { + "debug": "^4.1.0", + "detect-node": "^2.0.4", + "hpack.js": "^2.1.6", + "obuf": "^1.1.2", + "readable-stream": "^3.0.6", + "wbuf": "^1.7.3" + }, + "dependencies": { + "readable-stream": { + "version": "3.6.0", + "resolved": "https://registry.npmjs.org/readable-stream/-/readable-stream-3.6.0.tgz", + "integrity": "sha512-BViHy7LKeTz4oNnkcLJ+lVSL6vpiFeX6/d3oSH8zCW7UxP2onchk+vTGB143xuFjHS3deTgkKoXXymXqymiIdA==", + "dev": true, + "requires": { + "inherits": "^2.0.3", + "string_decoder": "^1.1.1", + "util-deprecate": "^1.0.1" + } + } + } + }, + "stable": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/stable/-/stable-0.1.8.tgz", + "integrity": "sha512-ji9qxRnOVfcuLDySj9qzhGSEFVobyt1kIOSkj1qZzYLzq7Tos/oUUWvotUPQLlrsidqsK6tBH89Bc9kL5zHA6w==", + "dev": true + }, + "statuses": { + "version": "2.0.1", + "resolved": "https://registry.npmjs.org/statuses/-/statuses-2.0.1.tgz", + "integrity": "sha512-RwNA9Z/7PrK06rYLIzFMlaF+l73iwpzsqRIFgbMLbTcLD6cOao82TaWefPXQvB2fOC4AjuYSEndS7N/mTCbkdQ==", + "dev": true + }, + "std-env": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/std-env/-/std-env-3.1.1.tgz", + "integrity": "sha512-/c645XdExBypL01TpFKiG/3RAa/Qmu+zRi0MwAmrdEkwHNuN0ebo8ccAXBBDa5Z0QOJgBskUIbuCK91x0sCVEw==", + "dev": true + }, + "stream-browserify": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/stream-browserify/-/stream-browserify-2.0.2.tgz", + "integrity": "sha512-nX6hmklHs/gr2FuxYDltq8fJA1GDlxKQCz8O/IM4atRqBH8OORmBNgfvW5gG10GT/qQ9u0CzIvr2X5Pkt6ntqg==", + "dev": true, + "requires": { + "inherits": "~2.0.1", + "readable-stream": "^2.0.2" + } + }, + "stream-http": { + "version": "2.8.3", + "resolved": "https://registry.npmjs.org/stream-http/-/stream-http-2.8.3.tgz", + "integrity": "sha512-+TSkfINHDo4J+ZobQLWiMouQYB+UVYFttRA94FpEzzJ7ZdqcL4uUUQ7WkdkI4DSozGmgBUE/a47L+38PenXhUw==", + "dev": true, + "requires": { + "builtin-status-codes": "^3.0.0", + "inherits": "^2.0.1", + "readable-stream": "^2.3.6", + "to-arraybuffer": "^1.0.0", + "xtend": "^4.0.0" + } + }, + "string_decoder": { + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/string_decoder/-/string_decoder-1.3.0.tgz", + "integrity": "sha512-hkRX8U1WjJFd8LsDJ2yQ/wWWxaopEsABU1XfkM8A+j0+85JAGppt16cr1Whg6KIbb4okU6Mql6BOj+uup/wKeA==", + "dev": true, + "requires": { + "safe-buffer": "~5.2.0" + }, + "dependencies": { + "safe-buffer": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/safe-buffer/-/safe-buffer-5.2.1.tgz", + "integrity": "sha512-rp3So07KcdmmKbGvgaNxQSJr7bGVSVk5S9Eq1F+ppbRo70+YeaDxkw5Dd8NPN+GD6bjnYm2VuPuCXmpuYvmCXQ==", + "dev": true + } + } + }, + "string-width": { + "version": "4.2.3", + "resolved": "https://registry.npmjs.org/string-width/-/string-width-4.2.3.tgz", + "integrity": "sha512-wKyQRQpjJ0sIp62ErSZdGsjMJWsap5oRNihHhu6G7JVO/9jIB6UyevL+tXuOqrng8j/cxKTWyWUwvSTriiZz/g==", + "dev": true, + "requires": { + "emoji-regex": "^8.0.0", + "is-fullwidth-code-point": "^3.0.0", + "strip-ansi": "^6.0.1" + } + }, + "string.prototype.trimend": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimend/-/string.prototype.trimend-1.0.5.tgz", + "integrity": "sha512-I7RGvmjV4pJ7O3kdf+LXFpVfdNOxtCW/2C8f6jNiW4+PQchwxkCDzlk1/7p+Wl4bqFIZeF47qAHXLuHHWKAxog==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "string.prototype.trimstart": { + "version": "1.0.5", + "resolved": "https://registry.npmjs.org/string.prototype.trimstart/-/string.prototype.trimstart-1.0.5.tgz", + "integrity": "sha512-THx16TJCGlsN0o6dl2o6ncWUsdgnLRSA23rRE5pyGBw/mLr3Ej/R2LaqCtgP8VNMGZsvMWnf9ooZPyY2bHvUFg==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "define-properties": "^1.1.4", + "es-abstract": "^1.19.5" + } + }, + "strip-ansi": { + "version": "6.0.1", + "resolved": "https://registry.npmjs.org/strip-ansi/-/strip-ansi-6.0.1.tgz", + "integrity": "sha512-Y38VPSHcqkFrCpFnQ9vuSXmquuv5oXOKpGeT6aGrr3o3Gc9AlVa6JBfUSOCnbxGGZF+/0ooI7KrPuUSztUdU5A==", + "dev": true, + "requires": { + "ansi-regex": "^5.0.1" + } + }, + "strip-final-newline": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/strip-final-newline/-/strip-final-newline-2.0.0.tgz", + "integrity": "sha512-BrpvfNAE3dcvq7ll3xVumzjKjZQ5tI1sEUIKr3Uoks0XUl45St3FlatVqef9prk4jRDzhW6WZg+3bk93y6pLjA==", + "dev": true + }, + "style-loader": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/style-loader/-/style-loader-2.0.0.tgz", + "integrity": "sha512-Z0gYUJmzZ6ZdRUqpg1r8GsaFKypE+3xAzuFeMuoHgjc9KZv3wMyCRjQIWEbhoFSq7+7yoHXySDJyyWQaPajeiQ==", + "dev": true, + "requires": { + "loader-utils": "^2.0.0", + "schema-utils": "^3.0.0" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "stylehacks": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/stylehacks/-/stylehacks-5.1.0.tgz", + "integrity": "sha512-SzLmvHQTrIWfSgljkQCw2++C9+Ne91d/6Sp92I8c5uHTcy/PgeHamwITIbBW9wnFTY/3ZfSXR9HIL6Ikqmcu6Q==", + "dev": true, + "requires": { + "browserslist": "^4.16.6", + "postcss-selector-parser": "^6.0.4" + } + }, + "summernote": { + "version": "0.8.20", + "resolved": "https://registry.npmjs.org/summernote/-/summernote-0.8.20.tgz", + "integrity": "sha512-W9RhjQjsn+b1s9xiJQgJbCiYGJaDAc9CdEqXo+D13WuStG8lCdtKaO5AiNiSSMJsQJN2EfGSwbBQt+SFE2B8Kw==", + "dev": true + }, + "supports-color": { + "version": "7.2.0", + "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", + "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", + "dev": true, + "requires": { + "has-flag": "^4.0.0" + } + }, + "supports-preserve-symlinks-flag": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/supports-preserve-symlinks-flag/-/supports-preserve-symlinks-flag-1.0.0.tgz", + "integrity": "sha512-ot0WnXS9fgdkgIcePe6RHNk1WA8+muPa6cSjeR3V8K27q9BB1rTE3R1p7Hv0z1ZyAc8s6Vvv8DIyWf681MAt0w==", + "dev": true + }, + "svg-to-pdfkit": { + "version": "0.1.8", + "resolved": "https://registry.npmjs.org/svg-to-pdfkit/-/svg-to-pdfkit-0.1.8.tgz", + "integrity": "sha512-QItiGZBy5TstGy+q8mjQTMGRlDDOARXLxH+sgVm1n/LYeo0zFcQlcCh8m4zi8QxctrxB9Kue/lStc/RD5iLadQ==", + "dev": true, + "requires": { + "pdfkit": ">=0.8.1" + } + }, + "svgo": { + "version": "2.8.0", + "resolved": "https://registry.npmjs.org/svgo/-/svgo-2.8.0.tgz", + "integrity": "sha512-+N/Q9kV1+F+UeWYoSiULYo4xYSDQlTgb+ayMobAXPwMnLvop7oxKMo9OzIrX5x3eS4L4f2UHhc9axXwY8DpChg==", + "dev": true, + "requires": { + "@trysound/sax": "0.2.0", + "commander": "^7.2.0", + "css-select": "^4.1.3", + "css-tree": "^1.1.3", + "csso": "^4.2.0", + "picocolors": "^1.0.0", + "stable": "^0.1.8" + } + }, + "sweetalert": { + "version": "1.1.3", + "resolved": "https://registry.npmjs.org/sweetalert/-/sweetalert-1.1.3.tgz", + "integrity": "sha1-0sMepJKyK2qNiHrqFZiaI4/AhK4=" + }, + "sweetalert2": { + "version": "11.10.8", + "resolved": "https://registry.npmjs.org/sweetalert2/-/sweetalert2-11.10.8.tgz", + "integrity": "sha512-oAkYROBfXBY+4sVbQEIcN+ZxAx69lsmz5WEBwdEpyS4m59vOBNlRU5/fJpAI1MVfiDwFZiGwVzB/KBpOyfLNtg==" + }, + "tapable": { + "version": "2.2.1", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.2.1.tgz", + "integrity": "sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==", + "dev": true + }, + "tempusdominus-bootstrap-4": { + "version": "5.39.2", + "resolved": "https://registry.npmjs.org/tempusdominus-bootstrap-4/-/tempusdominus-bootstrap-4-5.39.2.tgz", + "integrity": "sha512-8Au4miSAsMGdsElPg87EUmsN7aGJFaRA5Y8Ale7dDTfhhnQL1Za53LclIJkq+t/7NO5+Ufr1jY7tmEPvWGHaVg==", + "dev": true, + "requires": { + "bootstrap": "^4.6.1", + "jquery": "^3.6.0", + "moment": "^2.29.2", + "moment-timezone": "^0.5.34", + "popper.js": "^1.16.1" + } + }, + "tempusdominus-core": { + "version": "5.19.3", + "resolved": "https://registry.npmjs.org/tempusdominus-core/-/tempusdominus-core-5.19.3.tgz", + "integrity": "sha512-WXBVXcBG/hErB6u9gdUs+vzANvCU1kd1ykzL4kolPB3h1OEv20OKUW5qz1iynxyqRFPa1NWY9gwRu5d+MjXEuQ==", + "dev": true, + "peer": true, + "requires": { + "jquery": "^3.6.0", + "moment": "~2.29.2", + "moment-timezone": "^0.5.34" + } + }, + "terser": { + "version": "5.13.1", + "resolved": "https://registry.npmjs.org/terser/-/terser-5.13.1.tgz", + "integrity": "sha512-hn4WKOfwnwbYfe48NgrQjqNOH9jzLqRcIfbYytOXCOv46LBfWr9bDS17MQqOi+BWGD0sJK3Sj5NC/gJjiojaoA==", + "dev": true, + "requires": { + "acorn": "^8.5.0", + "commander": "^2.20.0", + "source-map": "~0.8.0-beta.0", + "source-map-support": "~0.5.20" + }, + "dependencies": { + "commander": { + "version": "2.20.3", + "resolved": "https://registry.npmjs.org/commander/-/commander-2.20.3.tgz", + "integrity": "sha512-GpVkmM8vF2vQUkj2LvZmD35JxeJOLCwJ9cUkugyk2nuhbv3+mJvpLYYt+0+USMxE+oj+ey/lJEnhZw75x/OMcQ==", + "dev": true + }, + "source-map": { + "version": "0.8.0-beta.0", + "resolved": "https://registry.npmjs.org/source-map/-/source-map-0.8.0-beta.0.tgz", + "integrity": "sha512-2ymg6oRBpebeZi9UUNsgQ89bhx01TcTkmNTGnNO88imTmbSgy4nfujrgVEFKWpMTEGA11EDkTt7mqObTPdigIA==", + "dev": true, + "requires": { + "whatwg-url": "^7.0.0" + } + } + } + }, + "terser-webpack-plugin": { + "version": "5.3.1", + "resolved": "https://registry.npmjs.org/terser-webpack-plugin/-/terser-webpack-plugin-5.3.1.tgz", + "integrity": "sha512-GvlZdT6wPQKbDNW/GDQzZFg/j4vKU96yl2q6mcUkzKOgW4gwf1Z8cZToUCrz31XHlPWH8MVb1r2tFtdDtTGJ7g==", + "dev": true, + "requires": { + "jest-worker": "^27.4.5", + "schema-utils": "^3.1.1", + "serialize-javascript": "^6.0.0", + "source-map": "^0.6.1", + "terser": "^5.7.2" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + } + } + }, + "through2": { + "version": "3.0.2", + "resolved": "https://registry.npmjs.org/through2/-/through2-3.0.2.tgz", + "integrity": "sha512-enaDQ4MUyP2W6ZyT6EsMzqBPZaM/avg8iuo+l2d3QCs0J+6RaqkHV/2/lOwDTueBHeJ/2LG9lrLW3d5rWPucuQ==", + "requires": { + "inherits": "^2.0.4", + "readable-stream": "2 || 3" + } + }, + "thunky": { + "version": "1.1.0", + "resolved": "https://registry.npmjs.org/thunky/-/thunky-1.1.0.tgz", + "integrity": "sha512-eHY7nBftgThBqOyHGVN+l8gF0BucP09fMo0oO/Lb0w1OF80dJv+lDVpXG60WMQvkcxAkNybKsrEIE3ZtKGmPrA==", + "dev": true + }, + "timers-browserify": { + "version": "2.0.12", + "resolved": "https://registry.npmjs.org/timers-browserify/-/timers-browserify-2.0.12.tgz", + "integrity": "sha512-9phl76Cqm6FhSX9Xe1ZUAMLtm1BLkKj2Qd5ApyWkXzsMRaA7dgr81kf4wJmQf/hAvg8EEyJxDo3du/0KlhPiKQ==", + "dev": true, + "requires": { + "setimmediate": "^1.0.4" + } + }, + "tiny-inflate": { + "version": "1.0.3", + "resolved": "https://registry.npmjs.org/tiny-inflate/-/tiny-inflate-1.0.3.tgz", + "integrity": "sha512-pkY1fj1cKHb2seWDy0B16HeWyczlJA9/WW3u3c4z/NiWDsO3DOU5D7nhTLE9CF0yXv/QZFY7sEJmj24dK+Rrqw==", + "dev": true + }, + "to-arraybuffer": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/to-arraybuffer/-/to-arraybuffer-1.0.1.tgz", + "integrity": "sha1-fSKbH8xjfkZsoIEYCDanqr/4P0M=", + "dev": true + }, + "to-fast-properties": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/to-fast-properties/-/to-fast-properties-2.0.0.tgz", + "integrity": "sha1-3F5pjL0HkmW8c+A3doGk5Og/YW4=", + "dev": true + }, + "to-regex-range": { + "version": "5.0.1", + "resolved": "https://registry.npmjs.org/to-regex-range/-/to-regex-range-5.0.1.tgz", + "integrity": "sha512-65P7iz6X5yEr1cwcgvQxbbIw7Uk3gOy5dIdtZ4rDveLqhrdJP+Li/Hx6tyK0NEb+2GCyneCMJiGqrADCSNk8sQ==", + "dev": true, + "requires": { + "is-number": "^7.0.0" + } + }, + "toastr": { + "version": "2.1.4", + "resolved": "https://registry.npmjs.org/toastr/-/toastr-2.1.4.tgz", + "integrity": "sha1-i0O+ZPudDEFIcURvLbjoyk6V8YE=", + "dev": true, + "requires": { + "jquery": ">=1.12.0" + } + }, + "toidentifier": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/toidentifier/-/toidentifier-1.0.1.tgz", + "integrity": "sha512-o5sSPKEkg/DIQNmH43V0/uerLrpzVedkUh8tGNvaeXpfpuwjKenlSox/2O/BTlZUtEe+JG7s5YhEz608PlAHRA==", + "dev": true + }, + "tr46": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/tr46/-/tr46-1.0.1.tgz", + "integrity": "sha1-qLE/1r/SSJUZZ0zN5VujaTtwbQk=", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "tslib": { + "version": "2.4.0", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.4.0.tgz", + "integrity": "sha512-d6xOpEDfsi2CZVlPQzGeux8XMwLT9hssAsaPYExaQMuYskwb+x1x7J371tWlbBdWHroy99KnVB6qIkUbs5X3UQ==", + "dev": true + }, + "tty-browserify": { + "version": "0.0.0", + "resolved": "https://registry.npmjs.org/tty-browserify/-/tty-browserify-0.0.0.tgz", + "integrity": "sha1-oVe6QC2iTpv5V/mqadUk7tQpAaY=", + "dev": true + }, + "type": { + "version": "1.2.0", + "resolved": "https://registry.npmjs.org/type/-/type-1.2.0.tgz", + "integrity": "sha512-+5nt5AAniqsCnu2cEQQdpzCAh33kVx8n0VoFidKpB1dVVLAN/F+bgVOqOJqOnEnrhp222clB5p3vUlD+1QAnfg==", + "dev": true + }, + "type-is": { + "version": "1.6.18", + "resolved": "https://registry.npmjs.org/type-is/-/type-is-1.6.18.tgz", + "integrity": "sha512-TkRKr9sUTxEH8MdfuCSP7VizJyzRNMjj2J2do2Jr3Kym598JVdEksuzPQCnlFPW4ky9Q+iA+ma9BGm06XQBy8g==", + "dev": true, + "requires": { + "media-typer": "0.3.0", + "mime-types": "~2.1.24" + } + }, + "unbox-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/unbox-primitive/-/unbox-primitive-1.0.2.tgz", + "integrity": "sha512-61pPlCD9h51VoreyJ0BReideM3MDKMKnh6+V9L08331ipq6Q8OFXZYiqP6n/tbHx4s5I9uRhcye6BrbkizkBDw==", + "dev": true, + "requires": { + "call-bind": "^1.0.2", + "has-bigints": "^1.0.2", + "has-symbols": "^1.0.3", + "which-boxed-primitive": "^1.0.2" + } + }, + "unicode-canonical-property-names-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-canonical-property-names-ecmascript/-/unicode-canonical-property-names-ecmascript-2.0.0.tgz", + "integrity": "sha512-yY5PpDlfVIU5+y/BSCxAJRBIS1Zc2dDG3Ujq+sR0U+JjUevW2JhocOF+soROYDSaAezOzOKuyyixhD6mBknSmQ==", + "dev": true + }, + "unicode-match-property-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-ecmascript/-/unicode-match-property-ecmascript-2.0.0.tgz", + "integrity": "sha512-5kaZCrbp5mmbz5ulBkDkbY0SsPOjKqVS35VpL9ulMPfSl0J0Xsm+9Evphv9CoIZFwre7aJoa94AY6seMKGVN5Q==", + "dev": true, + "requires": { + "unicode-canonical-property-names-ecmascript": "^2.0.0", + "unicode-property-aliases-ecmascript": "^2.0.0" + } + }, + "unicode-match-property-value-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-match-property-value-ecmascript/-/unicode-match-property-value-ecmascript-2.0.0.tgz", + "integrity": "sha512-7Yhkc0Ye+t4PNYzOGKedDhXbYIBe1XEQYQxOPyhcXNMJ0WCABqqj6ckydd6pWRZTHV4GuCPKdBAUiMc60tsKVw==", + "dev": true + }, + "unicode-properties": { + "version": "1.3.1", + "resolved": "https://registry.npmjs.org/unicode-properties/-/unicode-properties-1.3.1.tgz", + "integrity": "sha512-nIV3Tf3LcUEZttY/2g4ZJtGXhWwSkuLL+rCu0DIAMbjyVPj+8j5gNVz4T/sVbnQybIsd5SFGkPKg/756OY6jlA==", + "dev": true, + "requires": { + "base64-js": "^1.3.0", + "unicode-trie": "^2.0.0" + } + }, + "unicode-property-aliases-ecmascript": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-property-aliases-ecmascript/-/unicode-property-aliases-ecmascript-2.0.0.tgz", + "integrity": "sha512-5Zfuy9q/DFr4tfO7ZPeVXb1aPoeQSdeFMLpYuFebehDAhbuevLs5yxSZmIFN1tP5F9Wl4IpJrYojg85/zgyZHQ==", + "dev": true + }, + "unicode-trie": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/unicode-trie/-/unicode-trie-2.0.0.tgz", + "integrity": "sha512-x7bc76x0bm4prf1VLg79uhAzKw8DVboClSN5VxJuQ+LKDOVEW9CdH+VY7SP+vX7xCYQqzzgQpFqz15zeLvAtZQ==", + "dev": true, + "requires": { + "pako": "^0.2.5", + "tiny-inflate": "^1.0.0" + }, + "dependencies": { + "pako": { + "version": "0.2.9", + "resolved": "https://registry.npmjs.org/pako/-/pako-0.2.9.tgz", + "integrity": "sha1-8/dSL073gjSNqBYbrZ7P1Rv4OnU=", + "dev": true + } + } + }, + "universalify": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/universalify/-/universalify-2.0.0.tgz", + "integrity": "sha512-hAZsKq7Yy11Zu1DE0OzWjw7nnLZmJZYTDZZyEFHZdUhV8FkH5MCfoU1XMaxXovpyW5nq5scPqq0ZDP9Zyl04oQ==", + "dev": true + }, + "unpipe": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/unpipe/-/unpipe-1.0.0.tgz", + "integrity": "sha1-sr9O6FFKrmFltIF4KdIbLvSZBOw=", + "dev": true + }, + "uplot": { + "version": "1.6.20", + "resolved": "https://registry.npmjs.org/uplot/-/uplot-1.6.20.tgz", + "integrity": "sha512-Jl4Z51Sns4xKLLQeBeiGdcgv4eW1UkKwukSTndIP3YcnlU4za9qGhejlX+XzRbvjaB32C0pxRsdq8m8Gwbq1Eg==", + "dev": true + }, + "uri-js": { + "version": "4.4.1", + "resolved": "https://registry.npmjs.org/uri-js/-/uri-js-4.4.1.tgz", + "integrity": "sha512-7rKUyy33Q1yc98pQ1DAmLtwX109F7TIfWlW1Ydo8Wl1ii1SeHieeh0HHfPeL2fMXK6z0s8ecKs9frCuLJvndBg==", + "dev": true, + "requires": { + "punycode": "^2.1.0" + }, + "dependencies": { + "punycode": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-2.1.1.tgz", + "integrity": "sha512-XRsRjdf+j5ml+y/6GKHPZbrF/8p2Yga0JPtdqTIY2Xe5ohJPD9saDJJLPvp9+NSBprVvevdXZybnj2cv8OEd0A==", + "dev": true + } + } + }, + "urix": { + "version": "0.1.0", + "resolved": "https://registry.npmjs.org/urix/-/urix-0.1.0.tgz", + "integrity": "sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI=", + "dev": true + }, + "url": { + "version": "0.11.0", + "resolved": "https://registry.npmjs.org/url/-/url-0.11.0.tgz", + "integrity": "sha1-ODjpfPxgUh63PFJajlW/3Z4uKPE=", + "dev": true, + "requires": { + "punycode": "1.3.2", + "querystring": "0.2.0" + }, + "dependencies": { + "punycode": { + "version": "1.3.2", + "resolved": "https://registry.npmjs.org/punycode/-/punycode-1.3.2.tgz", + "integrity": "sha1-llOgNvt8HuQjQvIyXM7v6jkmxI0=", + "dev": true + } + } + }, + "util": { + "version": "0.11.1", + "resolved": "https://registry.npmjs.org/util/-/util-0.11.1.tgz", + "integrity": "sha512-HShAsny+zS2TZfaXxD9tYj4HQGlBezXZMZuM/S5PKLLoZkShZiGk9o5CzukI1LVHZvjdvZ2Sj1aW/Ndn2NB/HQ==", + "dev": true, + "requires": { + "inherits": "2.0.3" + }, + "dependencies": { + "inherits": { + "version": "2.0.3", + "resolved": "https://registry.npmjs.org/inherits/-/inherits-2.0.3.tgz", + "integrity": "sha512-x00IRNXNy63jwGkJmzPigoySHbaqpNuzKbBOmzK+g2OdZpQ9w+sxCN+VSB3ja7IAge2OP2qpfxTjeNcyjmW1uw==", + "dev": true + } + } + }, + "util-deprecate": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/util-deprecate/-/util-deprecate-1.0.2.tgz", + "integrity": "sha1-RQ1Nyfpw3nMnYvvS1KKJgUGaDM8=" + }, + "utils-merge": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/utils-merge/-/utils-merge-1.0.1.tgz", + "integrity": "sha1-n5VxD1CiZ5R7LMwSR0HBAoQn5xM=", + "dev": true + }, + "uuid": { + "version": "8.3.2", + "resolved": "https://registry.npmjs.org/uuid/-/uuid-8.3.2.tgz", + "integrity": "sha512-+NYs2QeMWy+GWFOEm9xnn6HCDp0l7QBD7ml8zLUmJ+93Q5NF0NocErnwkTkXVFNiX3/fpC6afS8Dhb/gz7R7eg==", + "dev": true + }, + "vary": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vary/-/vary-1.1.2.tgz", + "integrity": "sha1-IpnwLG3tMNSllhsLn3RSShj2NPw=", + "dev": true + }, + "vm-browserify": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/vm-browserify/-/vm-browserify-1.1.2.tgz", + "integrity": "sha512-2ham8XPWTONajOR0ohOKOHXkm3+gaBmGut3SRuu75xLd/RRaY6vqgh8NBYYk7+RW3u5AtzPQZG8F10LHkl0lAQ==", + "dev": true + }, + "vue": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue/-/vue-2.6.14.tgz", + "integrity": "sha512-x2284lgYvjOMj3Za7kqzRcUSxBboHqtgRE2zlos1qWaOye5yUmHn42LB1250NJBLRwEcdrB0JRwyPTEPhfQjiQ==", + "dev": true + }, + "vue-hot-reload-api": { + "version": "2.3.4", + "resolved": "https://registry.npmjs.org/vue-hot-reload-api/-/vue-hot-reload-api-2.3.4.tgz", + "integrity": "sha512-BXq3jwIagosjgNVae6tkHzzIk6a8MHFtzAdwhnV5VlvPTFxDCvIttgSiHWjdGoTJvXtmRu5HacExfdarRcFhog==", + "dev": true + }, + "vue-loader": { + "version": "15.9.8", + "resolved": "https://registry.npmjs.org/vue-loader/-/vue-loader-15.9.8.tgz", + "integrity": "sha512-GwSkxPrihfLR69/dSV3+5CdMQ0D+jXg8Ma1S4nQXKJAznYFX14vHdc/NetQc34Dw+rBbIJyP7JOuVb9Fhprvog==", + "dev": true, + "requires": { + "@vue/component-compiler-utils": "^3.1.0", + "hash-sum": "^1.0.2", + "loader-utils": "^1.1.0", + "vue-hot-reload-api": "^2.3.0", + "vue-style-loader": "^4.1.0" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "vue-style-loader": { + "version": "4.1.3", + "resolved": "https://registry.npmjs.org/vue-style-loader/-/vue-style-loader-4.1.3.tgz", + "integrity": "sha512-sFuh0xfbtpRlKfm39ss/ikqs9AbKCoXZBpHeVZ8Tx650o0k0q/YCM7FRvigtxpACezfq6af+a7JeqVTWvncqDg==", + "dev": true, + "requires": { + "hash-sum": "^1.0.2", + "loader-utils": "^1.0.2" + }, + "dependencies": { + "json5": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/json5/-/json5-1.0.1.tgz", + "integrity": "sha512-aKS4WQjPenRxiQsC93MNfjx+nbF4PAdYzmd/1JIj8HYzqfbu86beTuNgXDzPknWk0n0uARlyewZo4s++ES36Ow==", + "dev": true, + "requires": { + "minimist": "^1.2.0" + } + }, + "loader-utils": { + "version": "1.4.0", + "resolved": "https://registry.npmjs.org/loader-utils/-/loader-utils-1.4.0.tgz", + "integrity": "sha512-qH0WSMBtn/oHuwjy/NucEgbx5dbxxnxup9s4PVXJUDHZBQY+s0NWA9rJf53RBnQZxfch7euUui7hpoAPvALZdA==", + "dev": true, + "requires": { + "big.js": "^5.2.2", + "emojis-list": "^3.0.0", + "json5": "^1.0.1" + } + } + } + }, + "vue-template-compiler": { + "version": "2.6.14", + "resolved": "https://registry.npmjs.org/vue-template-compiler/-/vue-template-compiler-2.6.14.tgz", + "integrity": "sha512-ODQS1SyMbjKoO1JBJZojSw6FE4qnh9rIpUZn2EUT86FKizx9uH5z6uXiIrm4/Nb/gwxTi/o17ZDEGWAXHvtC7g==", + "dev": true, + "requires": { + "de-indent": "^1.0.2", + "he": "^1.1.0" + } + }, + "vue-template-es2015-compiler": { + "version": "1.9.1", + "resolved": "https://registry.npmjs.org/vue-template-es2015-compiler/-/vue-template-es2015-compiler-1.9.1.tgz", + "integrity": "sha512-4gDntzrifFnCEvyoO8PqyJDmguXgVPxKiIxrBKjIowvL9l+N66196+72XVYR8BBf1Uv1Fgt3bGevJ+sEmxfZzw==", + "dev": true + }, + "watchpack": { + "version": "2.3.1", + "resolved": "https://registry.npmjs.org/watchpack/-/watchpack-2.3.1.tgz", + "integrity": "sha512-x0t0JuydIo8qCNctdDrn1OzH/qDzk2+rdCOC3YzumZ42fiMqmQ7T3xQurykYMhYfHaPHTp4ZxAx2NfUo1K6QaA==", + "dev": true, + "requires": { + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.1.2" + } + }, + "wbuf": { + "version": "1.7.3", + "resolved": "https://registry.npmjs.org/wbuf/-/wbuf-1.7.3.tgz", + "integrity": "sha512-O84QOnr0icsbFGLS0O3bI5FswxzRr8/gHwWkDlQFskhSPryQXvrTMxjxGP4+iWYoauLoBvfDpkrOauZ+0iZpDA==", + "dev": true, + "requires": { + "minimalistic-assert": "^1.0.0" + } + }, + "webidl-conversions": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/webidl-conversions/-/webidl-conversions-4.0.2.tgz", + "integrity": "sha512-YQ+BmxuTgd6UXZW3+ICGfyqRyHXVlD5GtQr5+qjiNW7bF0cqrzX500HVXPBOvgXb5YnzDd+h0zqyv61KUD7+Sg==", + "dev": true + }, + "webpack": { + "version": "5.72.1", + "resolved": "https://registry.npmjs.org/webpack/-/webpack-5.72.1.tgz", + "integrity": "sha512-dXG5zXCLspQR4krZVR6QgajnZOjW2K/djHvdcRaDQvsjV9z9vaW6+ja5dZOYbqBBjF6kGXka/2ZyxNdc+8Jung==", + "dev": true, + "requires": { + "@types/eslint-scope": "^3.7.3", + "@types/estree": "^0.0.51", + "@webassemblyjs/ast": "1.11.1", + "@webassemblyjs/wasm-edit": "1.11.1", + "@webassemblyjs/wasm-parser": "1.11.1", + "acorn": "^8.4.1", + "acorn-import-assertions": "^1.7.6", + "browserslist": "^4.14.5", + "chrome-trace-event": "^1.0.2", + "enhanced-resolve": "^5.9.3", + "es-module-lexer": "^0.9.0", + "eslint-scope": "5.1.1", + "events": "^3.2.0", + "glob-to-regexp": "^0.4.1", + "graceful-fs": "^4.2.9", + "json-parse-even-better-errors": "^2.3.1", + "loader-runner": "^4.2.0", + "mime-types": "^2.1.27", + "neo-async": "^2.6.2", + "schema-utils": "^3.1.0", + "tapable": "^2.1.1", + "terser-webpack-plugin": "^5.1.3", + "watchpack": "^2.3.1", + "webpack-sources": "^3.2.3" + }, + "dependencies": { + "schema-utils": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-3.1.1.tgz", + "integrity": "sha512-Y5PQxS4ITlC+EahLuXaY86TXfR7Dc5lw294alXOq86JAHCihAIZfqv8nNCWvaEJvaC51uN9hbLGeV0cFBdH+Fw==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.8", + "ajv": "^6.12.5", + "ajv-keywords": "^3.5.2" + } + }, + "webpack-sources": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-3.2.3.tgz", + "integrity": "sha512-/DyMEOrDgLKKIG0fmvtz+4dUX/3Ghozwgm6iPp8KRhvn+eQf9+Q7GWxVNMk3+uCPWfdXYC4ExGBckIXdFEfH1w==", + "dev": true + } + } + }, + "webpack-cli": { + "version": "4.9.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.9.2.tgz", + "integrity": "sha512-m3/AACnBBzK/kMTcxWHcZFPrw/eQuY4Df1TxvIWfWM2x7mRqBQCqKEd96oCUa9jkapLBaFfRce33eGDb4Pr7YQ==", + "dev": true, + "requires": { + "@discoveryjs/json-ext": "^0.5.0", + "@webpack-cli/configtest": "^1.1.1", + "@webpack-cli/info": "^1.4.1", + "@webpack-cli/serve": "^1.6.1", + "colorette": "^2.0.14", + "commander": "^7.0.0", + "execa": "^5.0.0", + "fastest-levenshtein": "^1.0.12", + "import-local": "^3.0.2", + "interpret": "^2.2.0", + "rechoir": "^0.7.0", + "webpack-merge": "^5.7.3" + } + }, + "webpack-dev-middleware": { + "version": "5.3.3", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.3.3.tgz", + "integrity": "sha512-hj5CYrY0bZLB+eTO+x/j67Pkrquiy7kWepMHmUMoPsmcUaeEnQJqFzHJOyxgWlq746/wUuA64p9ta34Kyb01pA==", + "dev": true, + "requires": { + "colorette": "^2.0.10", + "memfs": "^3.4.3", + "mime-types": "^2.1.31", + "range-parser": "^1.2.1", + "schema-utils": "^4.0.0" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-dev-server": { + "version": "4.9.0", + "resolved": "https://registry.npmjs.org/webpack-dev-server/-/webpack-dev-server-4.9.0.tgz", + "integrity": "sha512-+Nlb39iQSOSsFv0lWUuUTim3jDQO8nhK3E68f//J2r5rIcp4lULHXz2oZ0UVdEeWXEh5lSzYUlzarZhDAeAVQw==", + "dev": true, + "requires": { + "@types/bonjour": "^3.5.9", + "@types/connect-history-api-fallback": "^1.3.5", + "@types/express": "^4.17.13", + "@types/serve-index": "^1.9.1", + "@types/sockjs": "^0.3.33", + "@types/ws": "^8.5.1", + "ansi-html-community": "^0.0.8", + "bonjour-service": "^1.0.11", + "chokidar": "^3.5.3", + "colorette": "^2.0.10", + "compression": "^1.7.4", + "connect-history-api-fallback": "^1.6.0", + "default-gateway": "^6.0.3", + "express": "^4.17.3", + "graceful-fs": "^4.2.6", + "html-entities": "^2.3.2", + "http-proxy-middleware": "^2.0.3", + "ipaddr.js": "^2.0.1", + "open": "^8.0.9", + "p-retry": "^4.5.0", + "rimraf": "^3.0.2", + "schema-utils": "^4.0.0", + "selfsigned": "^2.0.1", + "serve-index": "^1.9.1", + "sockjs": "^0.3.21", + "spdy": "^4.0.2", + "webpack-dev-middleware": "^5.3.1", + "ws": "^8.4.2" + }, + "dependencies": { + "ajv": { + "version": "8.11.0", + "resolved": "https://registry.npmjs.org/ajv/-/ajv-8.11.0.tgz", + "integrity": "sha512-wGgprdCvMalC0BztXvitD2hC04YffAvtsUn93JbGXYLAtCUO4xd17mCCZQxUOItiBwZvJScWo8NIvQMQ71rdpg==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.1", + "json-schema-traverse": "^1.0.0", + "require-from-string": "^2.0.2", + "uri-js": "^4.2.2" + } + }, + "ajv-keywords": { + "version": "5.1.0", + "resolved": "https://registry.npmjs.org/ajv-keywords/-/ajv-keywords-5.1.0.tgz", + "integrity": "sha512-YCS/JNFAUyr5vAuhk1DWm1CBxRHW9LbJ2ozWeemrIqpbsqKjHVxYPyi5GC0rjZIT5JxJ3virVTS8wk4i/Z+krw==", + "dev": true, + "requires": { + "fast-deep-equal": "^3.1.3" + } + }, + "json-schema-traverse": { + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/json-schema-traverse/-/json-schema-traverse-1.0.0.tgz", + "integrity": "sha512-NM8/P9n3XjXhIZn1lLhkFaACTOURQXjWhV4BA/RnOv8xvgqtqpAX9IO4mRQxSx1Rlo4tqzeqb0sOlruaOy3dug==", + "dev": true + }, + "schema-utils": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/schema-utils/-/schema-utils-4.0.0.tgz", + "integrity": "sha512-1edyXKgh6XnJsJSQ8mKWXnN/BVaIbFMLpouRUrXgVq7WYne5kw3MW7UPhO44uRXQSIpTSXoJbmrR2X0w9kUTyg==", + "dev": true, + "requires": { + "@types/json-schema": "^7.0.9", + "ajv": "^8.8.0", + "ajv-formats": "^2.1.1", + "ajv-keywords": "^5.0.0" + } + } + } + }, + "webpack-merge": { + "version": "5.8.0", + "resolved": "https://registry.npmjs.org/webpack-merge/-/webpack-merge-5.8.0.tgz", + "integrity": "sha512-/SaI7xY0831XwP6kzuwhKWVKDP9t1QY1h65lAFLbZqMPIuYcD9QAW4u9STIbU9kaJbPBB/geU/gLr1wDjOhQ+Q==", + "dev": true, + "requires": { + "clone-deep": "^4.0.1", + "wildcard": "^2.0.0" + } + }, + "webpack-notifier": { + "version": "1.15.0", + "resolved": "https://registry.npmjs.org/webpack-notifier/-/webpack-notifier-1.15.0.tgz", + "integrity": "sha512-N2V8UMgRB5komdXQRavBsRpw0hPhJq2/SWNOGuhrXpIgRhcMexzkGQysUyGStHLV5hkUlgpRiF7IUXoBqyMmzQ==", + "dev": true, + "requires": { + "node-notifier": "^9.0.0", + "strip-ansi": "^6.0.0" + } + }, + "webpack-sources": { + "version": "1.4.3", + "resolved": "https://registry.npmjs.org/webpack-sources/-/webpack-sources-1.4.3.tgz", + "integrity": "sha512-lgTS3Xhv1lCOKo7SA5TjKXMjpSM4sBjNV5+q2bqesbSPs5FjGmU6jjtBSkX9b4qW87vDIsCIlUPOEhbZrMdjeQ==", + "dev": true, + "requires": { + "source-list-map": "^2.0.0", + "source-map": "~0.6.1" + } + }, + "webpackbar": { + "version": "5.0.2", + "resolved": "https://registry.npmjs.org/webpackbar/-/webpackbar-5.0.2.tgz", + "integrity": "sha512-BmFJo7veBDgQzfWXl/wwYXr/VFus0614qZ8i9znqcl9fnEdiVkdbi0TedLQ6xAK92HZHDJ0QmyQ0fmuZPAgCYQ==", + "dev": true, + "requires": { + "chalk": "^4.1.0", + "consola": "^2.15.3", + "pretty-time": "^1.1.0", + "std-env": "^3.0.1" + } + }, + "websocket-driver": { + "version": "0.7.4", + "resolved": "https://registry.npmjs.org/websocket-driver/-/websocket-driver-0.7.4.tgz", + "integrity": "sha512-b17KeDIQVjvb0ssuSDF2cYXSg2iztliJ4B9WdsuB6J952qCPKmnVq4DyW5motImXHDC1cBT/1UezrJVsKw5zjg==", + "dev": true, + "requires": { + "http-parser-js": ">=0.5.1", + "safe-buffer": ">=5.1.0", + "websocket-extensions": ">=0.1.1" + } + }, + "websocket-extensions": { + "version": "0.1.4", + "resolved": "https://registry.npmjs.org/websocket-extensions/-/websocket-extensions-0.1.4.tgz", + "integrity": "sha512-OqedPIGOfsDlo31UNwYbCFMSaO9m9G/0faIHj5/dZFDMFqPTcx6UwqyOy3COEaEOg/9VsGIpdqn62W5KhoKSpg==", + "dev": true + }, + "whatwg-url": { + "version": "7.1.0", + "resolved": "https://registry.npmjs.org/whatwg-url/-/whatwg-url-7.1.0.tgz", + "integrity": "sha512-WUu7Rg1DroM7oQvGWfOiAK21n74Gg+T4elXEQYkOhtyLeWiJFoOGLXPKI/9gzIie9CtwVLm8wtw6YJdKyxSjeg==", + "dev": true, + "requires": { + "lodash.sortby": "^4.7.0", + "tr46": "^1.0.1", + "webidl-conversions": "^4.0.2" + } + }, + "which": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/which/-/which-2.0.2.tgz", + "integrity": "sha512-BLI3Tl1TW3Pvl70l3yq3Y64i+awpwXqsGBYWkkqMtnbXgrMD+yj7rhW0kuEDxzJaYXGjEW5ogapKNMEKNMjibA==", + "dev": true, + "requires": { + "isexe": "^2.0.0" + } + }, + "which-boxed-primitive": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/which-boxed-primitive/-/which-boxed-primitive-1.0.2.tgz", + "integrity": "sha512-bwZdv0AKLpplFY2KZRX6TvyuN7ojjr7lwkg6ml0roIy9YeuSr7JS372qlNW18UQYzgYK9ziGcerWqZOmEn9VNg==", + "dev": true, + "requires": { + "is-bigint": "^1.0.1", + "is-boolean-object": "^1.1.0", + "is-number-object": "^1.0.4", + "is-string": "^1.0.5", + "is-symbol": "^1.0.3" + } + }, + "which-collection": { + "version": "1.0.1", + "resolved": "https://registry.npmjs.org/which-collection/-/which-collection-1.0.1.tgz", + "integrity": "sha512-W8xeTUwaln8i3K/cY1nGXzdnVZlidBcagyNFtBdD5kxnb4TvGKR7FfSIS3mYpwWS1QUCutfKz8IY8RjftB0+1A==", + "dev": true, + "requires": { + "is-map": "^2.0.1", + "is-set": "^2.0.1", + "is-weakmap": "^2.0.1", + "is-weakset": "^2.0.1" + } + }, + "which-typed-array": { + "version": "1.1.8", + "resolved": "https://registry.npmjs.org/which-typed-array/-/which-typed-array-1.1.8.tgz", + "integrity": "sha512-Jn4e5PItbcAHyLoRDwvPj1ypu27DJbtdYXUa5zsinrUx77Uvfb0cXwwnGMTn7cjUfhhqgVQnVJCwF+7cgU7tpw==", + "dev": true, + "requires": { + "available-typed-arrays": "^1.0.5", + "call-bind": "^1.0.2", + "es-abstract": "^1.20.0", + "for-each": "^0.3.3", + "has-tostringtag": "^1.0.0", + "is-typed-array": "^1.1.9" + } + }, + "wildcard": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/wildcard/-/wildcard-2.0.0.tgz", + "integrity": "sha512-JcKqAHLPxcdb9KM49dufGXn2x3ssnfjbcaQdLlfZsL9rH9wgDQjUtDxbo8NE0F6SFvydeu1VhZe7hZuHsB2/pw==", + "dev": true + }, + "wrap-ansi": { + "version": "7.0.0", + "resolved": "https://registry.npmjs.org/wrap-ansi/-/wrap-ansi-7.0.0.tgz", + "integrity": "sha512-YVGIj2kamLSTxw6NsZjoBxfSwsn0ycdesmc4p+Q21c5zPuZ1pl+NfxVdxPtdHvmNVOQ6XSYG4AUtyt/Fi7D16Q==", + "dev": true, + "requires": { + "ansi-styles": "^4.0.0", + "string-width": "^4.1.0", + "strip-ansi": "^6.0.0" + } + }, + "wrappy": { + "version": "1.0.2", + "resolved": "https://registry.npmjs.org/wrappy/-/wrappy-1.0.2.tgz", + "integrity": "sha1-tSQ9jz7BqjXxNkYFvA0QNuMKtp8=", + "dev": true + }, + "ws": { + "version": "8.7.0", + "resolved": "https://registry.npmjs.org/ws/-/ws-8.7.0.tgz", + "integrity": "sha512-c2gsP0PRwcLFzUiA8Mkr37/MI7ilIlHQxaEAtd0uNMbVMoy8puJyafRlm0bV9MbGSabUPeLrRRaqIBcFcA2Pqg==", + "dev": true, + "requires": {} + }, + "xmldoc": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/xmldoc/-/xmldoc-1.1.2.tgz", + "integrity": "sha512-ruPC/fyPNck2BD1dpz0AZZyrEwMOrWTO5lDdIXS91rs3wtm4j+T8Rp2o+zoOYkkAxJTZRPOSnOGei1egoRmKMQ==", + "dev": true, + "requires": { + "sax": "^1.2.1" + } + }, + "xtend": { + "version": "4.0.2", + "resolved": "https://registry.npmjs.org/xtend/-/xtend-4.0.2.tgz", + "integrity": "sha512-LKYU1iAXJXUgAXn9URjiu+MWhyUXHsvfp7mcuYm9dSUKK0/CjtrUwFAxD82/mCWbtLsGjFIad0wIsod4zrTAEQ==", + "dev": true + }, + "y18n": { + "version": "5.0.8", + "resolved": "https://registry.npmjs.org/y18n/-/y18n-5.0.8.tgz", + "integrity": "sha512-0pfFzegeDWJHJIAmTLRP2DwHjdF5s7jo9tuztdQxAhINCdvS+3nGINqPd00AphqJR/0LhANUS6/+7SCb98YOfA==", + "dev": true + }, + "yallist": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-4.0.0.tgz", + "integrity": "sha512-3wdGidZyq5PB084XLES5TpOSRA3wjXAlIWMhum2kRcv/41Sn2emQ0dycQW4uZXLejwKvg6EsvbdlVL+FYEct7A==", + "dev": true + }, + "yaml": { + "version": "1.10.2", + "resolved": "https://registry.npmjs.org/yaml/-/yaml-1.10.2.tgz", + "integrity": "sha512-r3vXyErRCYJ7wg28yvBY5VSoAF8ZvlcW9/BwUzEtUsjvX/DKs24dIkuwjtuprwJJHsbyUbLApepYTR1BN4uHrg==", + "dev": true + }, + "yargs": { + "version": "17.5.1", + "resolved": "https://registry.npmjs.org/yargs/-/yargs-17.5.1.tgz", + "integrity": "sha512-t6YAJcxDkNX7NFYiVtKvWUz8l+PaKTLiL63mJYWR2GnHq2gjEWISzsLp9wg3aY36dY1j+gfIEL3pIF+XlJJfbA==", + "dev": true, + "requires": { + "cliui": "^7.0.2", + "escalade": "^3.1.1", + "get-caller-file": "^2.0.5", + "require-directory": "^2.1.1", + "string-width": "^4.2.3", + "y18n": "^5.0.5", + "yargs-parser": "^21.0.0" + } + }, + "yargs-parser": { + "version": "21.0.1", + "resolved": "https://registry.npmjs.org/yargs-parser/-/yargs-parser-21.0.1.tgz", + "integrity": "sha512-9BK1jFpLzJROCI5TzwZL/TU4gqjK5xiHV/RfWLOahrjAko/e4DJkRDZQXfvqAsiZzzYhgAzbgz6lg48jcm4GLg==", + "dev": true + } + } +} diff --git a/Penilaian-Esai/package.json b/Penilaian-Esai/package.json new file mode 100644 index 0000000..23ff7ef --- /dev/null +++ b/Penilaian-Esai/package.json @@ -0,0 +1,44 @@ +{ + "private": true, + "scripts": { + "dev": "npm run development", + "development": "mix", + "watch": "mix watch", + "watch-poll": "mix watch -- --watch-options-poll=1000", + "hot": "mix watch --hot", + "prod": "npm run production", + "production": "mix --production" + }, + "devDependencies": { + "@popperjs/core": "^2.10.2", + "admin-lte": "3.1.0", + "axios": "^0.25", + "bootstrap": "^4.6.0", + "jquery": "^3.6", + "laravel-mix": "^6.0.6", + "lodash": "^4.17.19", + "popper.js": "^1.16.1", + "postcss": "^8.1.14", + "resolve-url-loader": "^3.1.2", + "sass": "^1.15.2", + "sass-loader": "^8.0.0", + "vue": "^2.6.12", + "vue-loader": "^15.9.8", + "vue-template-compiler": "^2.6.12" + }, + "dependencies": { + "@fortawesome/fontawesome-free": "^5.13.1", + "bootstrap": "^4.0.0", + "datatables.net-dt": "^1.10.21", + "izitoast": "^1.4.0", + "jquery": "^3.2", + "jquery.nicescroll": "^3.7.6", + "jsrender": "^1.0.5", + "popper.js": "^1.12", + "select2": "^4.0.13", + "sweetalert": "^1.1.3", + "sweetalert2": "^11.10.8", + "vue": "^2.5.17", + "vue-template-compiler": "^2.6.12" + } +} diff --git a/Penilaian-Esai/phpunit.xml b/Penilaian-Esai/phpunit.xml new file mode 100644 index 0000000..2ac86a1 --- /dev/null +++ b/Penilaian-Esai/phpunit.xml @@ -0,0 +1,31 @@ + + + + + ./tests/Unit + + + ./tests/Feature + + + + + ./app + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/public/.htaccess b/Penilaian-Esai/public/.htaccess new file mode 100644 index 0000000..3aec5e2 --- /dev/null +++ b/Penilaian-Esai/public/.htaccess @@ -0,0 +1,21 @@ + + + Options -MultiViews -Indexes + + + RewriteEngine On + + # Handle Authorization Header + RewriteCond %{HTTP:Authorization} . + RewriteRule .* - [E=HTTP_AUTHORIZATION:%{HTTP:Authorization}] + + # Redirect Trailing Slashes If Not A Folder... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_URI} (.+)/$ + RewriteRule ^ %1 [L,R=301] + + # Send Requests To Front Controller... + RewriteCond %{REQUEST_FILENAME} !-d + RewriteCond %{REQUEST_FILENAME} !-f + RewriteRule ^ index.php [L] + diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.css new file mode 100644 index 0000000..d9ade75 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.css @@ -0,0 +1,4616 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.min.css new file mode 100644 index 0000000..ac76ff1 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/all.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands"}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.fab,.far{font-weight:400}@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.far,.fas{font-family:"Font Awesome 5 Free"}.fa,.fas{font-weight:900} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.css new file mode 100644 index 0000000..9246317 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Brands'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-brands-400.eot"); + src: url("../webfonts/fa-brands-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-brands-400.woff2") format("woff2"), url("../webfonts/fa-brands-400.woff") format("woff"), url("../webfonts/fa-brands-400.ttf") format("truetype"), url("../webfonts/fa-brands-400.svg#fontawesome") format("svg"); } + +.fab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.min.css new file mode 100644 index 0000000..bdd4a24 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/brands.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Brands";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-brands-400.eot);src:url(../webfonts/fa-brands-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-brands-400.woff2) format("woff2"),url(../webfonts/fa-brands-400.woff) format("woff"),url(../webfonts/fa-brands-400.ttf) format("truetype"),url(../webfonts/fa-brands-400.svg#fontawesome) format("svg")}.fab{font-family:"Font Awesome 5 Brands";font-weight:400} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.css new file mode 100644 index 0000000..74de602 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.css @@ -0,0 +1,4582 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa, +.fas, +.far, +.fal, +.fad, +.fab { + -moz-osx-font-smoothing: grayscale; + -webkit-font-smoothing: antialiased; + display: inline-block; + font-style: normal; + font-variant: normal; + text-rendering: auto; + line-height: 1; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + line-height: 2em; + position: relative; + vertical-align: middle; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + left: 0; + position: absolute; + text-align: center; + width: 100%; } + +.fa-stack-1x { + line-height: inherit; } + +.fa-stack-2x { + font-size: 2em; } + +.fa-inverse { + color: #fff; } + +/* Font Awesome uses the Unicode Private Use Area (PUA) to ensure screen +readers do not read off random characters that represent icons */ +.fa-500px:before { + content: "\f26e"; } + +.fa-accessible-icon:before { + content: "\f368"; } + +.fa-accusoft:before { + content: "\f369"; } + +.fa-acquisitions-incorporated:before { + content: "\f6af"; } + +.fa-ad:before { + content: "\f641"; } + +.fa-address-book:before { + content: "\f2b9"; } + +.fa-address-card:before { + content: "\f2bb"; } + +.fa-adjust:before { + content: "\f042"; } + +.fa-adn:before { + content: "\f170"; } + +.fa-adversal:before { + content: "\f36a"; } + +.fa-affiliatetheme:before { + content: "\f36b"; } + +.fa-air-freshener:before { + content: "\f5d0"; } + +.fa-airbnb:before { + content: "\f834"; } + +.fa-algolia:before { + content: "\f36c"; } + +.fa-align-center:before { + content: "\f037"; } + +.fa-align-justify:before { + content: "\f039"; } + +.fa-align-left:before { + content: "\f036"; } + +.fa-align-right:before { + content: "\f038"; } + +.fa-alipay:before { + content: "\f642"; } + +.fa-allergies:before { + content: "\f461"; } + +.fa-amazon:before { + content: "\f270"; } + +.fa-amazon-pay:before { + content: "\f42c"; } + +.fa-ambulance:before { + content: "\f0f9"; } + +.fa-american-sign-language-interpreting:before { + content: "\f2a3"; } + +.fa-amilia:before { + content: "\f36d"; } + +.fa-anchor:before { + content: "\f13d"; } + +.fa-android:before { + content: "\f17b"; } + +.fa-angellist:before { + content: "\f209"; } + +.fa-angle-double-down:before { + content: "\f103"; } + +.fa-angle-double-left:before { + content: "\f100"; } + +.fa-angle-double-right:before { + content: "\f101"; } + +.fa-angle-double-up:before { + content: "\f102"; } + +.fa-angle-down:before { + content: "\f107"; } + +.fa-angle-left:before { + content: "\f104"; } + +.fa-angle-right:before { + content: "\f105"; } + +.fa-angle-up:before { + content: "\f106"; } + +.fa-angry:before { + content: "\f556"; } + +.fa-angrycreative:before { + content: "\f36e"; } + +.fa-angular:before { + content: "\f420"; } + +.fa-ankh:before { + content: "\f644"; } + +.fa-app-store:before { + content: "\f36f"; } + +.fa-app-store-ios:before { + content: "\f370"; } + +.fa-apper:before { + content: "\f371"; } + +.fa-apple:before { + content: "\f179"; } + +.fa-apple-alt:before { + content: "\f5d1"; } + +.fa-apple-pay:before { + content: "\f415"; } + +.fa-archive:before { + content: "\f187"; } + +.fa-archway:before { + content: "\f557"; } + +.fa-arrow-alt-circle-down:before { + content: "\f358"; } + +.fa-arrow-alt-circle-left:before { + content: "\f359"; } + +.fa-arrow-alt-circle-right:before { + content: "\f35a"; } + +.fa-arrow-alt-circle-up:before { + content: "\f35b"; } + +.fa-arrow-circle-down:before { + content: "\f0ab"; } + +.fa-arrow-circle-left:before { + content: "\f0a8"; } + +.fa-arrow-circle-right:before { + content: "\f0a9"; } + +.fa-arrow-circle-up:before { + content: "\f0aa"; } + +.fa-arrow-down:before { + content: "\f063"; } + +.fa-arrow-left:before { + content: "\f060"; } + +.fa-arrow-right:before { + content: "\f061"; } + +.fa-arrow-up:before { + content: "\f062"; } + +.fa-arrows-alt:before { + content: "\f0b2"; } + +.fa-arrows-alt-h:before { + content: "\f337"; } + +.fa-arrows-alt-v:before { + content: "\f338"; } + +.fa-artstation:before { + content: "\f77a"; } + +.fa-assistive-listening-systems:before { + content: "\f2a2"; } + +.fa-asterisk:before { + content: "\f069"; } + +.fa-asymmetrik:before { + content: "\f372"; } + +.fa-at:before { + content: "\f1fa"; } + +.fa-atlas:before { + content: "\f558"; } + +.fa-atlassian:before { + content: "\f77b"; } + +.fa-atom:before { + content: "\f5d2"; } + +.fa-audible:before { + content: "\f373"; } + +.fa-audio-description:before { + content: "\f29e"; } + +.fa-autoprefixer:before { + content: "\f41c"; } + +.fa-avianex:before { + content: "\f374"; } + +.fa-aviato:before { + content: "\f421"; } + +.fa-award:before { + content: "\f559"; } + +.fa-aws:before { + content: "\f375"; } + +.fa-baby:before { + content: "\f77c"; } + +.fa-baby-carriage:before { + content: "\f77d"; } + +.fa-backspace:before { + content: "\f55a"; } + +.fa-backward:before { + content: "\f04a"; } + +.fa-bacon:before { + content: "\f7e5"; } + +.fa-bacteria:before { + content: "\e059"; } + +.fa-bacterium:before { + content: "\e05a"; } + +.fa-bahai:before { + content: "\f666"; } + +.fa-balance-scale:before { + content: "\f24e"; } + +.fa-balance-scale-left:before { + content: "\f515"; } + +.fa-balance-scale-right:before { + content: "\f516"; } + +.fa-ban:before { + content: "\f05e"; } + +.fa-band-aid:before { + content: "\f462"; } + +.fa-bandcamp:before { + content: "\f2d5"; } + +.fa-barcode:before { + content: "\f02a"; } + +.fa-bars:before { + content: "\f0c9"; } + +.fa-baseball-ball:before { + content: "\f433"; } + +.fa-basketball-ball:before { + content: "\f434"; } + +.fa-bath:before { + content: "\f2cd"; } + +.fa-battery-empty:before { + content: "\f244"; } + +.fa-battery-full:before { + content: "\f240"; } + +.fa-battery-half:before { + content: "\f242"; } + +.fa-battery-quarter:before { + content: "\f243"; } + +.fa-battery-three-quarters:before { + content: "\f241"; } + +.fa-battle-net:before { + content: "\f835"; } + +.fa-bed:before { + content: "\f236"; } + +.fa-beer:before { + content: "\f0fc"; } + +.fa-behance:before { + content: "\f1b4"; } + +.fa-behance-square:before { + content: "\f1b5"; } + +.fa-bell:before { + content: "\f0f3"; } + +.fa-bell-slash:before { + content: "\f1f6"; } + +.fa-bezier-curve:before { + content: "\f55b"; } + +.fa-bible:before { + content: "\f647"; } + +.fa-bicycle:before { + content: "\f206"; } + +.fa-biking:before { + content: "\f84a"; } + +.fa-bimobject:before { + content: "\f378"; } + +.fa-binoculars:before { + content: "\f1e5"; } + +.fa-biohazard:before { + content: "\f780"; } + +.fa-birthday-cake:before { + content: "\f1fd"; } + +.fa-bitbucket:before { + content: "\f171"; } + +.fa-bitcoin:before { + content: "\f379"; } + +.fa-bity:before { + content: "\f37a"; } + +.fa-black-tie:before { + content: "\f27e"; } + +.fa-blackberry:before { + content: "\f37b"; } + +.fa-blender:before { + content: "\f517"; } + +.fa-blender-phone:before { + content: "\f6b6"; } + +.fa-blind:before { + content: "\f29d"; } + +.fa-blog:before { + content: "\f781"; } + +.fa-blogger:before { + content: "\f37c"; } + +.fa-blogger-b:before { + content: "\f37d"; } + +.fa-bluetooth:before { + content: "\f293"; } + +.fa-bluetooth-b:before { + content: "\f294"; } + +.fa-bold:before { + content: "\f032"; } + +.fa-bolt:before { + content: "\f0e7"; } + +.fa-bomb:before { + content: "\f1e2"; } + +.fa-bone:before { + content: "\f5d7"; } + +.fa-bong:before { + content: "\f55c"; } + +.fa-book:before { + content: "\f02d"; } + +.fa-book-dead:before { + content: "\f6b7"; } + +.fa-book-medical:before { + content: "\f7e6"; } + +.fa-book-open:before { + content: "\f518"; } + +.fa-book-reader:before { + content: "\f5da"; } + +.fa-bookmark:before { + content: "\f02e"; } + +.fa-bootstrap:before { + content: "\f836"; } + +.fa-border-all:before { + content: "\f84c"; } + +.fa-border-none:before { + content: "\f850"; } + +.fa-border-style:before { + content: "\f853"; } + +.fa-bowling-ball:before { + content: "\f436"; } + +.fa-box:before { + content: "\f466"; } + +.fa-box-open:before { + content: "\f49e"; } + +.fa-box-tissue:before { + content: "\e05b"; } + +.fa-boxes:before { + content: "\f468"; } + +.fa-braille:before { + content: "\f2a1"; } + +.fa-brain:before { + content: "\f5dc"; } + +.fa-bread-slice:before { + content: "\f7ec"; } + +.fa-briefcase:before { + content: "\f0b1"; } + +.fa-briefcase-medical:before { + content: "\f469"; } + +.fa-broadcast-tower:before { + content: "\f519"; } + +.fa-broom:before { + content: "\f51a"; } + +.fa-brush:before { + content: "\f55d"; } + +.fa-btc:before { + content: "\f15a"; } + +.fa-buffer:before { + content: "\f837"; } + +.fa-bug:before { + content: "\f188"; } + +.fa-building:before { + content: "\f1ad"; } + +.fa-bullhorn:before { + content: "\f0a1"; } + +.fa-bullseye:before { + content: "\f140"; } + +.fa-burn:before { + content: "\f46a"; } + +.fa-buromobelexperte:before { + content: "\f37f"; } + +.fa-bus:before { + content: "\f207"; } + +.fa-bus-alt:before { + content: "\f55e"; } + +.fa-business-time:before { + content: "\f64a"; } + +.fa-buy-n-large:before { + content: "\f8a6"; } + +.fa-buysellads:before { + content: "\f20d"; } + +.fa-calculator:before { + content: "\f1ec"; } + +.fa-calendar:before { + content: "\f133"; } + +.fa-calendar-alt:before { + content: "\f073"; } + +.fa-calendar-check:before { + content: "\f274"; } + +.fa-calendar-day:before { + content: "\f783"; } + +.fa-calendar-minus:before { + content: "\f272"; } + +.fa-calendar-plus:before { + content: "\f271"; } + +.fa-calendar-times:before { + content: "\f273"; } + +.fa-calendar-week:before { + content: "\f784"; } + +.fa-camera:before { + content: "\f030"; } + +.fa-camera-retro:before { + content: "\f083"; } + +.fa-campground:before { + content: "\f6bb"; } + +.fa-canadian-maple-leaf:before { + content: "\f785"; } + +.fa-candy-cane:before { + content: "\f786"; } + +.fa-cannabis:before { + content: "\f55f"; } + +.fa-capsules:before { + content: "\f46b"; } + +.fa-car:before { + content: "\f1b9"; } + +.fa-car-alt:before { + content: "\f5de"; } + +.fa-car-battery:before { + content: "\f5df"; } + +.fa-car-crash:before { + content: "\f5e1"; } + +.fa-car-side:before { + content: "\f5e4"; } + +.fa-caravan:before { + content: "\f8ff"; } + +.fa-caret-down:before { + content: "\f0d7"; } + +.fa-caret-left:before { + content: "\f0d9"; } + +.fa-caret-right:before { + content: "\f0da"; } + +.fa-caret-square-down:before { + content: "\f150"; } + +.fa-caret-square-left:before { + content: "\f191"; } + +.fa-caret-square-right:before { + content: "\f152"; } + +.fa-caret-square-up:before { + content: "\f151"; } + +.fa-caret-up:before { + content: "\f0d8"; } + +.fa-carrot:before { + content: "\f787"; } + +.fa-cart-arrow-down:before { + content: "\f218"; } + +.fa-cart-plus:before { + content: "\f217"; } + +.fa-cash-register:before { + content: "\f788"; } + +.fa-cat:before { + content: "\f6be"; } + +.fa-cc-amazon-pay:before { + content: "\f42d"; } + +.fa-cc-amex:before { + content: "\f1f3"; } + +.fa-cc-apple-pay:before { + content: "\f416"; } + +.fa-cc-diners-club:before { + content: "\f24c"; } + +.fa-cc-discover:before { + content: "\f1f2"; } + +.fa-cc-jcb:before { + content: "\f24b"; } + +.fa-cc-mastercard:before { + content: "\f1f1"; } + +.fa-cc-paypal:before { + content: "\f1f4"; } + +.fa-cc-stripe:before { + content: "\f1f5"; } + +.fa-cc-visa:before { + content: "\f1f0"; } + +.fa-centercode:before { + content: "\f380"; } + +.fa-centos:before { + content: "\f789"; } + +.fa-certificate:before { + content: "\f0a3"; } + +.fa-chair:before { + content: "\f6c0"; } + +.fa-chalkboard:before { + content: "\f51b"; } + +.fa-chalkboard-teacher:before { + content: "\f51c"; } + +.fa-charging-station:before { + content: "\f5e7"; } + +.fa-chart-area:before { + content: "\f1fe"; } + +.fa-chart-bar:before { + content: "\f080"; } + +.fa-chart-line:before { + content: "\f201"; } + +.fa-chart-pie:before { + content: "\f200"; } + +.fa-check:before { + content: "\f00c"; } + +.fa-check-circle:before { + content: "\f058"; } + +.fa-check-double:before { + content: "\f560"; } + +.fa-check-square:before { + content: "\f14a"; } + +.fa-cheese:before { + content: "\f7ef"; } + +.fa-chess:before { + content: "\f439"; } + +.fa-chess-bishop:before { + content: "\f43a"; } + +.fa-chess-board:before { + content: "\f43c"; } + +.fa-chess-king:before { + content: "\f43f"; } + +.fa-chess-knight:before { + content: "\f441"; } + +.fa-chess-pawn:before { + content: "\f443"; } + +.fa-chess-queen:before { + content: "\f445"; } + +.fa-chess-rook:before { + content: "\f447"; } + +.fa-chevron-circle-down:before { + content: "\f13a"; } + +.fa-chevron-circle-left:before { + content: "\f137"; } + +.fa-chevron-circle-right:before { + content: "\f138"; } + +.fa-chevron-circle-up:before { + content: "\f139"; } + +.fa-chevron-down:before { + content: "\f078"; } + +.fa-chevron-left:before { + content: "\f053"; } + +.fa-chevron-right:before { + content: "\f054"; } + +.fa-chevron-up:before { + content: "\f077"; } + +.fa-child:before { + content: "\f1ae"; } + +.fa-chrome:before { + content: "\f268"; } + +.fa-chromecast:before { + content: "\f838"; } + +.fa-church:before { + content: "\f51d"; } + +.fa-circle:before { + content: "\f111"; } + +.fa-circle-notch:before { + content: "\f1ce"; } + +.fa-city:before { + content: "\f64f"; } + +.fa-clinic-medical:before { + content: "\f7f2"; } + +.fa-clipboard:before { + content: "\f328"; } + +.fa-clipboard-check:before { + content: "\f46c"; } + +.fa-clipboard-list:before { + content: "\f46d"; } + +.fa-clock:before { + content: "\f017"; } + +.fa-clone:before { + content: "\f24d"; } + +.fa-closed-captioning:before { + content: "\f20a"; } + +.fa-cloud:before { + content: "\f0c2"; } + +.fa-cloud-download-alt:before { + content: "\f381"; } + +.fa-cloud-meatball:before { + content: "\f73b"; } + +.fa-cloud-moon:before { + content: "\f6c3"; } + +.fa-cloud-moon-rain:before { + content: "\f73c"; } + +.fa-cloud-rain:before { + content: "\f73d"; } + +.fa-cloud-showers-heavy:before { + content: "\f740"; } + +.fa-cloud-sun:before { + content: "\f6c4"; } + +.fa-cloud-sun-rain:before { + content: "\f743"; } + +.fa-cloud-upload-alt:before { + content: "\f382"; } + +.fa-cloudflare:before { + content: "\e07d"; } + +.fa-cloudscale:before { + content: "\f383"; } + +.fa-cloudsmith:before { + content: "\f384"; } + +.fa-cloudversify:before { + content: "\f385"; } + +.fa-cocktail:before { + content: "\f561"; } + +.fa-code:before { + content: "\f121"; } + +.fa-code-branch:before { + content: "\f126"; } + +.fa-codepen:before { + content: "\f1cb"; } + +.fa-codiepie:before { + content: "\f284"; } + +.fa-coffee:before { + content: "\f0f4"; } + +.fa-cog:before { + content: "\f013"; } + +.fa-cogs:before { + content: "\f085"; } + +.fa-coins:before { + content: "\f51e"; } + +.fa-columns:before { + content: "\f0db"; } + +.fa-comment:before { + content: "\f075"; } + +.fa-comment-alt:before { + content: "\f27a"; } + +.fa-comment-dollar:before { + content: "\f651"; } + +.fa-comment-dots:before { + content: "\f4ad"; } + +.fa-comment-medical:before { + content: "\f7f5"; } + +.fa-comment-slash:before { + content: "\f4b3"; } + +.fa-comments:before { + content: "\f086"; } + +.fa-comments-dollar:before { + content: "\f653"; } + +.fa-compact-disc:before { + content: "\f51f"; } + +.fa-compass:before { + content: "\f14e"; } + +.fa-compress:before { + content: "\f066"; } + +.fa-compress-alt:before { + content: "\f422"; } + +.fa-compress-arrows-alt:before { + content: "\f78c"; } + +.fa-concierge-bell:before { + content: "\f562"; } + +.fa-confluence:before { + content: "\f78d"; } + +.fa-connectdevelop:before { + content: "\f20e"; } + +.fa-contao:before { + content: "\f26d"; } + +.fa-cookie:before { + content: "\f563"; } + +.fa-cookie-bite:before { + content: "\f564"; } + +.fa-copy:before { + content: "\f0c5"; } + +.fa-copyright:before { + content: "\f1f9"; } + +.fa-cotton-bureau:before { + content: "\f89e"; } + +.fa-couch:before { + content: "\f4b8"; } + +.fa-cpanel:before { + content: "\f388"; } + +.fa-creative-commons:before { + content: "\f25e"; } + +.fa-creative-commons-by:before { + content: "\f4e7"; } + +.fa-creative-commons-nc:before { + content: "\f4e8"; } + +.fa-creative-commons-nc-eu:before { + content: "\f4e9"; } + +.fa-creative-commons-nc-jp:before { + content: "\f4ea"; } + +.fa-creative-commons-nd:before { + content: "\f4eb"; } + +.fa-creative-commons-pd:before { + content: "\f4ec"; } + +.fa-creative-commons-pd-alt:before { + content: "\f4ed"; } + +.fa-creative-commons-remix:before { + content: "\f4ee"; } + +.fa-creative-commons-sa:before { + content: "\f4ef"; } + +.fa-creative-commons-sampling:before { + content: "\f4f0"; } + +.fa-creative-commons-sampling-plus:before { + content: "\f4f1"; } + +.fa-creative-commons-share:before { + content: "\f4f2"; } + +.fa-creative-commons-zero:before { + content: "\f4f3"; } + +.fa-credit-card:before { + content: "\f09d"; } + +.fa-critical-role:before { + content: "\f6c9"; } + +.fa-crop:before { + content: "\f125"; } + +.fa-crop-alt:before { + content: "\f565"; } + +.fa-cross:before { + content: "\f654"; } + +.fa-crosshairs:before { + content: "\f05b"; } + +.fa-crow:before { + content: "\f520"; } + +.fa-crown:before { + content: "\f521"; } + +.fa-crutch:before { + content: "\f7f7"; } + +.fa-css3:before { + content: "\f13c"; } + +.fa-css3-alt:before { + content: "\f38b"; } + +.fa-cube:before { + content: "\f1b2"; } + +.fa-cubes:before { + content: "\f1b3"; } + +.fa-cut:before { + content: "\f0c4"; } + +.fa-cuttlefish:before { + content: "\f38c"; } + +.fa-d-and-d:before { + content: "\f38d"; } + +.fa-d-and-d-beyond:before { + content: "\f6ca"; } + +.fa-dailymotion:before { + content: "\e052"; } + +.fa-dashcube:before { + content: "\f210"; } + +.fa-database:before { + content: "\f1c0"; } + +.fa-deaf:before { + content: "\f2a4"; } + +.fa-deezer:before { + content: "\e077"; } + +.fa-delicious:before { + content: "\f1a5"; } + +.fa-democrat:before { + content: "\f747"; } + +.fa-deploydog:before { + content: "\f38e"; } + +.fa-deskpro:before { + content: "\f38f"; } + +.fa-desktop:before { + content: "\f108"; } + +.fa-dev:before { + content: "\f6cc"; } + +.fa-deviantart:before { + content: "\f1bd"; } + +.fa-dharmachakra:before { + content: "\f655"; } + +.fa-dhl:before { + content: "\f790"; } + +.fa-diagnoses:before { + content: "\f470"; } + +.fa-diaspora:before { + content: "\f791"; } + +.fa-dice:before { + content: "\f522"; } + +.fa-dice-d20:before { + content: "\f6cf"; } + +.fa-dice-d6:before { + content: "\f6d1"; } + +.fa-dice-five:before { + content: "\f523"; } + +.fa-dice-four:before { + content: "\f524"; } + +.fa-dice-one:before { + content: "\f525"; } + +.fa-dice-six:before { + content: "\f526"; } + +.fa-dice-three:before { + content: "\f527"; } + +.fa-dice-two:before { + content: "\f528"; } + +.fa-digg:before { + content: "\f1a6"; } + +.fa-digital-ocean:before { + content: "\f391"; } + +.fa-digital-tachograph:before { + content: "\f566"; } + +.fa-directions:before { + content: "\f5eb"; } + +.fa-discord:before { + content: "\f392"; } + +.fa-discourse:before { + content: "\f393"; } + +.fa-disease:before { + content: "\f7fa"; } + +.fa-divide:before { + content: "\f529"; } + +.fa-dizzy:before { + content: "\f567"; } + +.fa-dna:before { + content: "\f471"; } + +.fa-dochub:before { + content: "\f394"; } + +.fa-docker:before { + content: "\f395"; } + +.fa-dog:before { + content: "\f6d3"; } + +.fa-dollar-sign:before { + content: "\f155"; } + +.fa-dolly:before { + content: "\f472"; } + +.fa-dolly-flatbed:before { + content: "\f474"; } + +.fa-donate:before { + content: "\f4b9"; } + +.fa-door-closed:before { + content: "\f52a"; } + +.fa-door-open:before { + content: "\f52b"; } + +.fa-dot-circle:before { + content: "\f192"; } + +.fa-dove:before { + content: "\f4ba"; } + +.fa-download:before { + content: "\f019"; } + +.fa-draft2digital:before { + content: "\f396"; } + +.fa-drafting-compass:before { + content: "\f568"; } + +.fa-dragon:before { + content: "\f6d5"; } + +.fa-draw-polygon:before { + content: "\f5ee"; } + +.fa-dribbble:before { + content: "\f17d"; } + +.fa-dribbble-square:before { + content: "\f397"; } + +.fa-dropbox:before { + content: "\f16b"; } + +.fa-drum:before { + content: "\f569"; } + +.fa-drum-steelpan:before { + content: "\f56a"; } + +.fa-drumstick-bite:before { + content: "\f6d7"; } + +.fa-drupal:before { + content: "\f1a9"; } + +.fa-dumbbell:before { + content: "\f44b"; } + +.fa-dumpster:before { + content: "\f793"; } + +.fa-dumpster-fire:before { + content: "\f794"; } + +.fa-dungeon:before { + content: "\f6d9"; } + +.fa-dyalog:before { + content: "\f399"; } + +.fa-earlybirds:before { + content: "\f39a"; } + +.fa-ebay:before { + content: "\f4f4"; } + +.fa-edge:before { + content: "\f282"; } + +.fa-edge-legacy:before { + content: "\e078"; } + +.fa-edit:before { + content: "\f044"; } + +.fa-egg:before { + content: "\f7fb"; } + +.fa-eject:before { + content: "\f052"; } + +.fa-elementor:before { + content: "\f430"; } + +.fa-ellipsis-h:before { + content: "\f141"; } + +.fa-ellipsis-v:before { + content: "\f142"; } + +.fa-ello:before { + content: "\f5f1"; } + +.fa-ember:before { + content: "\f423"; } + +.fa-empire:before { + content: "\f1d1"; } + +.fa-envelope:before { + content: "\f0e0"; } + +.fa-envelope-open:before { + content: "\f2b6"; } + +.fa-envelope-open-text:before { + content: "\f658"; } + +.fa-envelope-square:before { + content: "\f199"; } + +.fa-envira:before { + content: "\f299"; } + +.fa-equals:before { + content: "\f52c"; } + +.fa-eraser:before { + content: "\f12d"; } + +.fa-erlang:before { + content: "\f39d"; } + +.fa-ethereum:before { + content: "\f42e"; } + +.fa-ethernet:before { + content: "\f796"; } + +.fa-etsy:before { + content: "\f2d7"; } + +.fa-euro-sign:before { + content: "\f153"; } + +.fa-evernote:before { + content: "\f839"; } + +.fa-exchange-alt:before { + content: "\f362"; } + +.fa-exclamation:before { + content: "\f12a"; } + +.fa-exclamation-circle:before { + content: "\f06a"; } + +.fa-exclamation-triangle:before { + content: "\f071"; } + +.fa-expand:before { + content: "\f065"; } + +.fa-expand-alt:before { + content: "\f424"; } + +.fa-expand-arrows-alt:before { + content: "\f31e"; } + +.fa-expeditedssl:before { + content: "\f23e"; } + +.fa-external-link-alt:before { + content: "\f35d"; } + +.fa-external-link-square-alt:before { + content: "\f360"; } + +.fa-eye:before { + content: "\f06e"; } + +.fa-eye-dropper:before { + content: "\f1fb"; } + +.fa-eye-slash:before { + content: "\f070"; } + +.fa-facebook:before { + content: "\f09a"; } + +.fa-facebook-f:before { + content: "\f39e"; } + +.fa-facebook-messenger:before { + content: "\f39f"; } + +.fa-facebook-square:before { + content: "\f082"; } + +.fa-fan:before { + content: "\f863"; } + +.fa-fantasy-flight-games:before { + content: "\f6dc"; } + +.fa-fast-backward:before { + content: "\f049"; } + +.fa-fast-forward:before { + content: "\f050"; } + +.fa-faucet:before { + content: "\e005"; } + +.fa-fax:before { + content: "\f1ac"; } + +.fa-feather:before { + content: "\f52d"; } + +.fa-feather-alt:before { + content: "\f56b"; } + +.fa-fedex:before { + content: "\f797"; } + +.fa-fedora:before { + content: "\f798"; } + +.fa-female:before { + content: "\f182"; } + +.fa-fighter-jet:before { + content: "\f0fb"; } + +.fa-figma:before { + content: "\f799"; } + +.fa-file:before { + content: "\f15b"; } + +.fa-file-alt:before { + content: "\f15c"; } + +.fa-file-archive:before { + content: "\f1c6"; } + +.fa-file-audio:before { + content: "\f1c7"; } + +.fa-file-code:before { + content: "\f1c9"; } + +.fa-file-contract:before { + content: "\f56c"; } + +.fa-file-csv:before { + content: "\f6dd"; } + +.fa-file-download:before { + content: "\f56d"; } + +.fa-file-excel:before { + content: "\f1c3"; } + +.fa-file-export:before { + content: "\f56e"; } + +.fa-file-image:before { + content: "\f1c5"; } + +.fa-file-import:before { + content: "\f56f"; } + +.fa-file-invoice:before { + content: "\f570"; } + +.fa-file-invoice-dollar:before { + content: "\f571"; } + +.fa-file-medical:before { + content: "\f477"; } + +.fa-file-medical-alt:before { + content: "\f478"; } + +.fa-file-pdf:before { + content: "\f1c1"; } + +.fa-file-powerpoint:before { + content: "\f1c4"; } + +.fa-file-prescription:before { + content: "\f572"; } + +.fa-file-signature:before { + content: "\f573"; } + +.fa-file-upload:before { + content: "\f574"; } + +.fa-file-video:before { + content: "\f1c8"; } + +.fa-file-word:before { + content: "\f1c2"; } + +.fa-fill:before { + content: "\f575"; } + +.fa-fill-drip:before { + content: "\f576"; } + +.fa-film:before { + content: "\f008"; } + +.fa-filter:before { + content: "\f0b0"; } + +.fa-fingerprint:before { + content: "\f577"; } + +.fa-fire:before { + content: "\f06d"; } + +.fa-fire-alt:before { + content: "\f7e4"; } + +.fa-fire-extinguisher:before { + content: "\f134"; } + +.fa-firefox:before { + content: "\f269"; } + +.fa-firefox-browser:before { + content: "\e007"; } + +.fa-first-aid:before { + content: "\f479"; } + +.fa-first-order:before { + content: "\f2b0"; } + +.fa-first-order-alt:before { + content: "\f50a"; } + +.fa-firstdraft:before { + content: "\f3a1"; } + +.fa-fish:before { + content: "\f578"; } + +.fa-fist-raised:before { + content: "\f6de"; } + +.fa-flag:before { + content: "\f024"; } + +.fa-flag-checkered:before { + content: "\f11e"; } + +.fa-flag-usa:before { + content: "\f74d"; } + +.fa-flask:before { + content: "\f0c3"; } + +.fa-flickr:before { + content: "\f16e"; } + +.fa-flipboard:before { + content: "\f44d"; } + +.fa-flushed:before { + content: "\f579"; } + +.fa-fly:before { + content: "\f417"; } + +.fa-folder:before { + content: "\f07b"; } + +.fa-folder-minus:before { + content: "\f65d"; } + +.fa-folder-open:before { + content: "\f07c"; } + +.fa-folder-plus:before { + content: "\f65e"; } + +.fa-font:before { + content: "\f031"; } + +.fa-font-awesome:before { + content: "\f2b4"; } + +.fa-font-awesome-alt:before { + content: "\f35c"; } + +.fa-font-awesome-flag:before { + content: "\f425"; } + +.fa-font-awesome-logo-full:before { + content: "\f4e6"; } + +.fa-fonticons:before { + content: "\f280"; } + +.fa-fonticons-fi:before { + content: "\f3a2"; } + +.fa-football-ball:before { + content: "\f44e"; } + +.fa-fort-awesome:before { + content: "\f286"; } + +.fa-fort-awesome-alt:before { + content: "\f3a3"; } + +.fa-forumbee:before { + content: "\f211"; } + +.fa-forward:before { + content: "\f04e"; } + +.fa-foursquare:before { + content: "\f180"; } + +.fa-free-code-camp:before { + content: "\f2c5"; } + +.fa-freebsd:before { + content: "\f3a4"; } + +.fa-frog:before { + content: "\f52e"; } + +.fa-frown:before { + content: "\f119"; } + +.fa-frown-open:before { + content: "\f57a"; } + +.fa-fulcrum:before { + content: "\f50b"; } + +.fa-funnel-dollar:before { + content: "\f662"; } + +.fa-futbol:before { + content: "\f1e3"; } + +.fa-galactic-republic:before { + content: "\f50c"; } + +.fa-galactic-senate:before { + content: "\f50d"; } + +.fa-gamepad:before { + content: "\f11b"; } + +.fa-gas-pump:before { + content: "\f52f"; } + +.fa-gavel:before { + content: "\f0e3"; } + +.fa-gem:before { + content: "\f3a5"; } + +.fa-genderless:before { + content: "\f22d"; } + +.fa-get-pocket:before { + content: "\f265"; } + +.fa-gg:before { + content: "\f260"; } + +.fa-gg-circle:before { + content: "\f261"; } + +.fa-ghost:before { + content: "\f6e2"; } + +.fa-gift:before { + content: "\f06b"; } + +.fa-gifts:before { + content: "\f79c"; } + +.fa-git:before { + content: "\f1d3"; } + +.fa-git-alt:before { + content: "\f841"; } + +.fa-git-square:before { + content: "\f1d2"; } + +.fa-github:before { + content: "\f09b"; } + +.fa-github-alt:before { + content: "\f113"; } + +.fa-github-square:before { + content: "\f092"; } + +.fa-gitkraken:before { + content: "\f3a6"; } + +.fa-gitlab:before { + content: "\f296"; } + +.fa-gitter:before { + content: "\f426"; } + +.fa-glass-cheers:before { + content: "\f79f"; } + +.fa-glass-martini:before { + content: "\f000"; } + +.fa-glass-martini-alt:before { + content: "\f57b"; } + +.fa-glass-whiskey:before { + content: "\f7a0"; } + +.fa-glasses:before { + content: "\f530"; } + +.fa-glide:before { + content: "\f2a5"; } + +.fa-glide-g:before { + content: "\f2a6"; } + +.fa-globe:before { + content: "\f0ac"; } + +.fa-globe-africa:before { + content: "\f57c"; } + +.fa-globe-americas:before { + content: "\f57d"; } + +.fa-globe-asia:before { + content: "\f57e"; } + +.fa-globe-europe:before { + content: "\f7a2"; } + +.fa-gofore:before { + content: "\f3a7"; } + +.fa-golf-ball:before { + content: "\f450"; } + +.fa-goodreads:before { + content: "\f3a8"; } + +.fa-goodreads-g:before { + content: "\f3a9"; } + +.fa-google:before { + content: "\f1a0"; } + +.fa-google-drive:before { + content: "\f3aa"; } + +.fa-google-pay:before { + content: "\e079"; } + +.fa-google-play:before { + content: "\f3ab"; } + +.fa-google-plus:before { + content: "\f2b3"; } + +.fa-google-plus-g:before { + content: "\f0d5"; } + +.fa-google-plus-square:before { + content: "\f0d4"; } + +.fa-google-wallet:before { + content: "\f1ee"; } + +.fa-gopuram:before { + content: "\f664"; } + +.fa-graduation-cap:before { + content: "\f19d"; } + +.fa-gratipay:before { + content: "\f184"; } + +.fa-grav:before { + content: "\f2d6"; } + +.fa-greater-than:before { + content: "\f531"; } + +.fa-greater-than-equal:before { + content: "\f532"; } + +.fa-grimace:before { + content: "\f57f"; } + +.fa-grin:before { + content: "\f580"; } + +.fa-grin-alt:before { + content: "\f581"; } + +.fa-grin-beam:before { + content: "\f582"; } + +.fa-grin-beam-sweat:before { + content: "\f583"; } + +.fa-grin-hearts:before { + content: "\f584"; } + +.fa-grin-squint:before { + content: "\f585"; } + +.fa-grin-squint-tears:before { + content: "\f586"; } + +.fa-grin-stars:before { + content: "\f587"; } + +.fa-grin-tears:before { + content: "\f588"; } + +.fa-grin-tongue:before { + content: "\f589"; } + +.fa-grin-tongue-squint:before { + content: "\f58a"; } + +.fa-grin-tongue-wink:before { + content: "\f58b"; } + +.fa-grin-wink:before { + content: "\f58c"; } + +.fa-grip-horizontal:before { + content: "\f58d"; } + +.fa-grip-lines:before { + content: "\f7a4"; } + +.fa-grip-lines-vertical:before { + content: "\f7a5"; } + +.fa-grip-vertical:before { + content: "\f58e"; } + +.fa-gripfire:before { + content: "\f3ac"; } + +.fa-grunt:before { + content: "\f3ad"; } + +.fa-guilded:before { + content: "\e07e"; } + +.fa-guitar:before { + content: "\f7a6"; } + +.fa-gulp:before { + content: "\f3ae"; } + +.fa-h-square:before { + content: "\f0fd"; } + +.fa-hacker-news:before { + content: "\f1d4"; } + +.fa-hacker-news-square:before { + content: "\f3af"; } + +.fa-hackerrank:before { + content: "\f5f7"; } + +.fa-hamburger:before { + content: "\f805"; } + +.fa-hammer:before { + content: "\f6e3"; } + +.fa-hamsa:before { + content: "\f665"; } + +.fa-hand-holding:before { + content: "\f4bd"; } + +.fa-hand-holding-heart:before { + content: "\f4be"; } + +.fa-hand-holding-medical:before { + content: "\e05c"; } + +.fa-hand-holding-usd:before { + content: "\f4c0"; } + +.fa-hand-holding-water:before { + content: "\f4c1"; } + +.fa-hand-lizard:before { + content: "\f258"; } + +.fa-hand-middle-finger:before { + content: "\f806"; } + +.fa-hand-paper:before { + content: "\f256"; } + +.fa-hand-peace:before { + content: "\f25b"; } + +.fa-hand-point-down:before { + content: "\f0a7"; } + +.fa-hand-point-left:before { + content: "\f0a5"; } + +.fa-hand-point-right:before { + content: "\f0a4"; } + +.fa-hand-point-up:before { + content: "\f0a6"; } + +.fa-hand-pointer:before { + content: "\f25a"; } + +.fa-hand-rock:before { + content: "\f255"; } + +.fa-hand-scissors:before { + content: "\f257"; } + +.fa-hand-sparkles:before { + content: "\e05d"; } + +.fa-hand-spock:before { + content: "\f259"; } + +.fa-hands:before { + content: "\f4c2"; } + +.fa-hands-helping:before { + content: "\f4c4"; } + +.fa-hands-wash:before { + content: "\e05e"; } + +.fa-handshake:before { + content: "\f2b5"; } + +.fa-handshake-alt-slash:before { + content: "\e05f"; } + +.fa-handshake-slash:before { + content: "\e060"; } + +.fa-hanukiah:before { + content: "\f6e6"; } + +.fa-hard-hat:before { + content: "\f807"; } + +.fa-hashtag:before { + content: "\f292"; } + +.fa-hat-cowboy:before { + content: "\f8c0"; } + +.fa-hat-cowboy-side:before { + content: "\f8c1"; } + +.fa-hat-wizard:before { + content: "\f6e8"; } + +.fa-hdd:before { + content: "\f0a0"; } + +.fa-head-side-cough:before { + content: "\e061"; } + +.fa-head-side-cough-slash:before { + content: "\e062"; } + +.fa-head-side-mask:before { + content: "\e063"; } + +.fa-head-side-virus:before { + content: "\e064"; } + +.fa-heading:before { + content: "\f1dc"; } + +.fa-headphones:before { + content: "\f025"; } + +.fa-headphones-alt:before { + content: "\f58f"; } + +.fa-headset:before { + content: "\f590"; } + +.fa-heart:before { + content: "\f004"; } + +.fa-heart-broken:before { + content: "\f7a9"; } + +.fa-heartbeat:before { + content: "\f21e"; } + +.fa-helicopter:before { + content: "\f533"; } + +.fa-highlighter:before { + content: "\f591"; } + +.fa-hiking:before { + content: "\f6ec"; } + +.fa-hippo:before { + content: "\f6ed"; } + +.fa-hips:before { + content: "\f452"; } + +.fa-hire-a-helper:before { + content: "\f3b0"; } + +.fa-history:before { + content: "\f1da"; } + +.fa-hive:before { + content: "\e07f"; } + +.fa-hockey-puck:before { + content: "\f453"; } + +.fa-holly-berry:before { + content: "\f7aa"; } + +.fa-home:before { + content: "\f015"; } + +.fa-hooli:before { + content: "\f427"; } + +.fa-hornbill:before { + content: "\f592"; } + +.fa-horse:before { + content: "\f6f0"; } + +.fa-horse-head:before { + content: "\f7ab"; } + +.fa-hospital:before { + content: "\f0f8"; } + +.fa-hospital-alt:before { + content: "\f47d"; } + +.fa-hospital-symbol:before { + content: "\f47e"; } + +.fa-hospital-user:before { + content: "\f80d"; } + +.fa-hot-tub:before { + content: "\f593"; } + +.fa-hotdog:before { + content: "\f80f"; } + +.fa-hotel:before { + content: "\f594"; } + +.fa-hotjar:before { + content: "\f3b1"; } + +.fa-hourglass:before { + content: "\f254"; } + +.fa-hourglass-end:before { + content: "\f253"; } + +.fa-hourglass-half:before { + content: "\f252"; } + +.fa-hourglass-start:before { + content: "\f251"; } + +.fa-house-damage:before { + content: "\f6f1"; } + +.fa-house-user:before { + content: "\e065"; } + +.fa-houzz:before { + content: "\f27c"; } + +.fa-hryvnia:before { + content: "\f6f2"; } + +.fa-html5:before { + content: "\f13b"; } + +.fa-hubspot:before { + content: "\f3b2"; } + +.fa-i-cursor:before { + content: "\f246"; } + +.fa-ice-cream:before { + content: "\f810"; } + +.fa-icicles:before { + content: "\f7ad"; } + +.fa-icons:before { + content: "\f86d"; } + +.fa-id-badge:before { + content: "\f2c1"; } + +.fa-id-card:before { + content: "\f2c2"; } + +.fa-id-card-alt:before { + content: "\f47f"; } + +.fa-ideal:before { + content: "\e013"; } + +.fa-igloo:before { + content: "\f7ae"; } + +.fa-image:before { + content: "\f03e"; } + +.fa-images:before { + content: "\f302"; } + +.fa-imdb:before { + content: "\f2d8"; } + +.fa-inbox:before { + content: "\f01c"; } + +.fa-indent:before { + content: "\f03c"; } + +.fa-industry:before { + content: "\f275"; } + +.fa-infinity:before { + content: "\f534"; } + +.fa-info:before { + content: "\f129"; } + +.fa-info-circle:before { + content: "\f05a"; } + +.fa-innosoft:before { + content: "\e080"; } + +.fa-instagram:before { + content: "\f16d"; } + +.fa-instagram-square:before { + content: "\e055"; } + +.fa-instalod:before { + content: "\e081"; } + +.fa-intercom:before { + content: "\f7af"; } + +.fa-internet-explorer:before { + content: "\f26b"; } + +.fa-invision:before { + content: "\f7b0"; } + +.fa-ioxhost:before { + content: "\f208"; } + +.fa-italic:before { + content: "\f033"; } + +.fa-itch-io:before { + content: "\f83a"; } + +.fa-itunes:before { + content: "\f3b4"; } + +.fa-itunes-note:before { + content: "\f3b5"; } + +.fa-java:before { + content: "\f4e4"; } + +.fa-jedi:before { + content: "\f669"; } + +.fa-jedi-order:before { + content: "\f50e"; } + +.fa-jenkins:before { + content: "\f3b6"; } + +.fa-jira:before { + content: "\f7b1"; } + +.fa-joget:before { + content: "\f3b7"; } + +.fa-joint:before { + content: "\f595"; } + +.fa-joomla:before { + content: "\f1aa"; } + +.fa-journal-whills:before { + content: "\f66a"; } + +.fa-js:before { + content: "\f3b8"; } + +.fa-js-square:before { + content: "\f3b9"; } + +.fa-jsfiddle:before { + content: "\f1cc"; } + +.fa-kaaba:before { + content: "\f66b"; } + +.fa-kaggle:before { + content: "\f5fa"; } + +.fa-key:before { + content: "\f084"; } + +.fa-keybase:before { + content: "\f4f5"; } + +.fa-keyboard:before { + content: "\f11c"; } + +.fa-keycdn:before { + content: "\f3ba"; } + +.fa-khanda:before { + content: "\f66d"; } + +.fa-kickstarter:before { + content: "\f3bb"; } + +.fa-kickstarter-k:before { + content: "\f3bc"; } + +.fa-kiss:before { + content: "\f596"; } + +.fa-kiss-beam:before { + content: "\f597"; } + +.fa-kiss-wink-heart:before { + content: "\f598"; } + +.fa-kiwi-bird:before { + content: "\f535"; } + +.fa-korvue:before { + content: "\f42f"; } + +.fa-landmark:before { + content: "\f66f"; } + +.fa-language:before { + content: "\f1ab"; } + +.fa-laptop:before { + content: "\f109"; } + +.fa-laptop-code:before { + content: "\f5fc"; } + +.fa-laptop-house:before { + content: "\e066"; } + +.fa-laptop-medical:before { + content: "\f812"; } + +.fa-laravel:before { + content: "\f3bd"; } + +.fa-lastfm:before { + content: "\f202"; } + +.fa-lastfm-square:before { + content: "\f203"; } + +.fa-laugh:before { + content: "\f599"; } + +.fa-laugh-beam:before { + content: "\f59a"; } + +.fa-laugh-squint:before { + content: "\f59b"; } + +.fa-laugh-wink:before { + content: "\f59c"; } + +.fa-layer-group:before { + content: "\f5fd"; } + +.fa-leaf:before { + content: "\f06c"; } + +.fa-leanpub:before { + content: "\f212"; } + +.fa-lemon:before { + content: "\f094"; } + +.fa-less:before { + content: "\f41d"; } + +.fa-less-than:before { + content: "\f536"; } + +.fa-less-than-equal:before { + content: "\f537"; } + +.fa-level-down-alt:before { + content: "\f3be"; } + +.fa-level-up-alt:before { + content: "\f3bf"; } + +.fa-life-ring:before { + content: "\f1cd"; } + +.fa-lightbulb:before { + content: "\f0eb"; } + +.fa-line:before { + content: "\f3c0"; } + +.fa-link:before { + content: "\f0c1"; } + +.fa-linkedin:before { + content: "\f08c"; } + +.fa-linkedin-in:before { + content: "\f0e1"; } + +.fa-linode:before { + content: "\f2b8"; } + +.fa-linux:before { + content: "\f17c"; } + +.fa-lira-sign:before { + content: "\f195"; } + +.fa-list:before { + content: "\f03a"; } + +.fa-list-alt:before { + content: "\f022"; } + +.fa-list-ol:before { + content: "\f0cb"; } + +.fa-list-ul:before { + content: "\f0ca"; } + +.fa-location-arrow:before { + content: "\f124"; } + +.fa-lock:before { + content: "\f023"; } + +.fa-lock-open:before { + content: "\f3c1"; } + +.fa-long-arrow-alt-down:before { + content: "\f309"; } + +.fa-long-arrow-alt-left:before { + content: "\f30a"; } + +.fa-long-arrow-alt-right:before { + content: "\f30b"; } + +.fa-long-arrow-alt-up:before { + content: "\f30c"; } + +.fa-low-vision:before { + content: "\f2a8"; } + +.fa-luggage-cart:before { + content: "\f59d"; } + +.fa-lungs:before { + content: "\f604"; } + +.fa-lungs-virus:before { + content: "\e067"; } + +.fa-lyft:before { + content: "\f3c3"; } + +.fa-magento:before { + content: "\f3c4"; } + +.fa-magic:before { + content: "\f0d0"; } + +.fa-magnet:before { + content: "\f076"; } + +.fa-mail-bulk:before { + content: "\f674"; } + +.fa-mailchimp:before { + content: "\f59e"; } + +.fa-male:before { + content: "\f183"; } + +.fa-mandalorian:before { + content: "\f50f"; } + +.fa-map:before { + content: "\f279"; } + +.fa-map-marked:before { + content: "\f59f"; } + +.fa-map-marked-alt:before { + content: "\f5a0"; } + +.fa-map-marker:before { + content: "\f041"; } + +.fa-map-marker-alt:before { + content: "\f3c5"; } + +.fa-map-pin:before { + content: "\f276"; } + +.fa-map-signs:before { + content: "\f277"; } + +.fa-markdown:before { + content: "\f60f"; } + +.fa-marker:before { + content: "\f5a1"; } + +.fa-mars:before { + content: "\f222"; } + +.fa-mars-double:before { + content: "\f227"; } + +.fa-mars-stroke:before { + content: "\f229"; } + +.fa-mars-stroke-h:before { + content: "\f22b"; } + +.fa-mars-stroke-v:before { + content: "\f22a"; } + +.fa-mask:before { + content: "\f6fa"; } + +.fa-mastodon:before { + content: "\f4f6"; } + +.fa-maxcdn:before { + content: "\f136"; } + +.fa-mdb:before { + content: "\f8ca"; } + +.fa-medal:before { + content: "\f5a2"; } + +.fa-medapps:before { + content: "\f3c6"; } + +.fa-medium:before { + content: "\f23a"; } + +.fa-medium-m:before { + content: "\f3c7"; } + +.fa-medkit:before { + content: "\f0fa"; } + +.fa-medrt:before { + content: "\f3c8"; } + +.fa-meetup:before { + content: "\f2e0"; } + +.fa-megaport:before { + content: "\f5a3"; } + +.fa-meh:before { + content: "\f11a"; } + +.fa-meh-blank:before { + content: "\f5a4"; } + +.fa-meh-rolling-eyes:before { + content: "\f5a5"; } + +.fa-memory:before { + content: "\f538"; } + +.fa-mendeley:before { + content: "\f7b3"; } + +.fa-menorah:before { + content: "\f676"; } + +.fa-mercury:before { + content: "\f223"; } + +.fa-meteor:before { + content: "\f753"; } + +.fa-microblog:before { + content: "\e01a"; } + +.fa-microchip:before { + content: "\f2db"; } + +.fa-microphone:before { + content: "\f130"; } + +.fa-microphone-alt:before { + content: "\f3c9"; } + +.fa-microphone-alt-slash:before { + content: "\f539"; } + +.fa-microphone-slash:before { + content: "\f131"; } + +.fa-microscope:before { + content: "\f610"; } + +.fa-microsoft:before { + content: "\f3ca"; } + +.fa-minus:before { + content: "\f068"; } + +.fa-minus-circle:before { + content: "\f056"; } + +.fa-minus-square:before { + content: "\f146"; } + +.fa-mitten:before { + content: "\f7b5"; } + +.fa-mix:before { + content: "\f3cb"; } + +.fa-mixcloud:before { + content: "\f289"; } + +.fa-mixer:before { + content: "\e056"; } + +.fa-mizuni:before { + content: "\f3cc"; } + +.fa-mobile:before { + content: "\f10b"; } + +.fa-mobile-alt:before { + content: "\f3cd"; } + +.fa-modx:before { + content: "\f285"; } + +.fa-monero:before { + content: "\f3d0"; } + +.fa-money-bill:before { + content: "\f0d6"; } + +.fa-money-bill-alt:before { + content: "\f3d1"; } + +.fa-money-bill-wave:before { + content: "\f53a"; } + +.fa-money-bill-wave-alt:before { + content: "\f53b"; } + +.fa-money-check:before { + content: "\f53c"; } + +.fa-money-check-alt:before { + content: "\f53d"; } + +.fa-monument:before { + content: "\f5a6"; } + +.fa-moon:before { + content: "\f186"; } + +.fa-mortar-pestle:before { + content: "\f5a7"; } + +.fa-mosque:before { + content: "\f678"; } + +.fa-motorcycle:before { + content: "\f21c"; } + +.fa-mountain:before { + content: "\f6fc"; } + +.fa-mouse:before { + content: "\f8cc"; } + +.fa-mouse-pointer:before { + content: "\f245"; } + +.fa-mug-hot:before { + content: "\f7b6"; } + +.fa-music:before { + content: "\f001"; } + +.fa-napster:before { + content: "\f3d2"; } + +.fa-neos:before { + content: "\f612"; } + +.fa-network-wired:before { + content: "\f6ff"; } + +.fa-neuter:before { + content: "\f22c"; } + +.fa-newspaper:before { + content: "\f1ea"; } + +.fa-nimblr:before { + content: "\f5a8"; } + +.fa-node:before { + content: "\f419"; } + +.fa-node-js:before { + content: "\f3d3"; } + +.fa-not-equal:before { + content: "\f53e"; } + +.fa-notes-medical:before { + content: "\f481"; } + +.fa-npm:before { + content: "\f3d4"; } + +.fa-ns8:before { + content: "\f3d5"; } + +.fa-nutritionix:before { + content: "\f3d6"; } + +.fa-object-group:before { + content: "\f247"; } + +.fa-object-ungroup:before { + content: "\f248"; } + +.fa-octopus-deploy:before { + content: "\e082"; } + +.fa-odnoklassniki:before { + content: "\f263"; } + +.fa-odnoklassniki-square:before { + content: "\f264"; } + +.fa-oil-can:before { + content: "\f613"; } + +.fa-old-republic:before { + content: "\f510"; } + +.fa-om:before { + content: "\f679"; } + +.fa-opencart:before { + content: "\f23d"; } + +.fa-openid:before { + content: "\f19b"; } + +.fa-opera:before { + content: "\f26a"; } + +.fa-optin-monster:before { + content: "\f23c"; } + +.fa-orcid:before { + content: "\f8d2"; } + +.fa-osi:before { + content: "\f41a"; } + +.fa-otter:before { + content: "\f700"; } + +.fa-outdent:before { + content: "\f03b"; } + +.fa-page4:before { + content: "\f3d7"; } + +.fa-pagelines:before { + content: "\f18c"; } + +.fa-pager:before { + content: "\f815"; } + +.fa-paint-brush:before { + content: "\f1fc"; } + +.fa-paint-roller:before { + content: "\f5aa"; } + +.fa-palette:before { + content: "\f53f"; } + +.fa-palfed:before { + content: "\f3d8"; } + +.fa-pallet:before { + content: "\f482"; } + +.fa-paper-plane:before { + content: "\f1d8"; } + +.fa-paperclip:before { + content: "\f0c6"; } + +.fa-parachute-box:before { + content: "\f4cd"; } + +.fa-paragraph:before { + content: "\f1dd"; } + +.fa-parking:before { + content: "\f540"; } + +.fa-passport:before { + content: "\f5ab"; } + +.fa-pastafarianism:before { + content: "\f67b"; } + +.fa-paste:before { + content: "\f0ea"; } + +.fa-patreon:before { + content: "\f3d9"; } + +.fa-pause:before { + content: "\f04c"; } + +.fa-pause-circle:before { + content: "\f28b"; } + +.fa-paw:before { + content: "\f1b0"; } + +.fa-paypal:before { + content: "\f1ed"; } + +.fa-peace:before { + content: "\f67c"; } + +.fa-pen:before { + content: "\f304"; } + +.fa-pen-alt:before { + content: "\f305"; } + +.fa-pen-fancy:before { + content: "\f5ac"; } + +.fa-pen-nib:before { + content: "\f5ad"; } + +.fa-pen-square:before { + content: "\f14b"; } + +.fa-pencil-alt:before { + content: "\f303"; } + +.fa-pencil-ruler:before { + content: "\f5ae"; } + +.fa-penny-arcade:before { + content: "\f704"; } + +.fa-people-arrows:before { + content: "\e068"; } + +.fa-people-carry:before { + content: "\f4ce"; } + +.fa-pepper-hot:before { + content: "\f816"; } + +.fa-perbyte:before { + content: "\e083"; } + +.fa-percent:before { + content: "\f295"; } + +.fa-percentage:before { + content: "\f541"; } + +.fa-periscope:before { + content: "\f3da"; } + +.fa-person-booth:before { + content: "\f756"; } + +.fa-phabricator:before { + content: "\f3db"; } + +.fa-phoenix-framework:before { + content: "\f3dc"; } + +.fa-phoenix-squadron:before { + content: "\f511"; } + +.fa-phone:before { + content: "\f095"; } + +.fa-phone-alt:before { + content: "\f879"; } + +.fa-phone-slash:before { + content: "\f3dd"; } + +.fa-phone-square:before { + content: "\f098"; } + +.fa-phone-square-alt:before { + content: "\f87b"; } + +.fa-phone-volume:before { + content: "\f2a0"; } + +.fa-photo-video:before { + content: "\f87c"; } + +.fa-php:before { + content: "\f457"; } + +.fa-pied-piper:before { + content: "\f2ae"; } + +.fa-pied-piper-alt:before { + content: "\f1a8"; } + +.fa-pied-piper-hat:before { + content: "\f4e5"; } + +.fa-pied-piper-pp:before { + content: "\f1a7"; } + +.fa-pied-piper-square:before { + content: "\e01e"; } + +.fa-piggy-bank:before { + content: "\f4d3"; } + +.fa-pills:before { + content: "\f484"; } + +.fa-pinterest:before { + content: "\f0d2"; } + +.fa-pinterest-p:before { + content: "\f231"; } + +.fa-pinterest-square:before { + content: "\f0d3"; } + +.fa-pizza-slice:before { + content: "\f818"; } + +.fa-place-of-worship:before { + content: "\f67f"; } + +.fa-plane:before { + content: "\f072"; } + +.fa-plane-arrival:before { + content: "\f5af"; } + +.fa-plane-departure:before { + content: "\f5b0"; } + +.fa-plane-slash:before { + content: "\e069"; } + +.fa-play:before { + content: "\f04b"; } + +.fa-play-circle:before { + content: "\f144"; } + +.fa-playstation:before { + content: "\f3df"; } + +.fa-plug:before { + content: "\f1e6"; } + +.fa-plus:before { + content: "\f067"; } + +.fa-plus-circle:before { + content: "\f055"; } + +.fa-plus-square:before { + content: "\f0fe"; } + +.fa-podcast:before { + content: "\f2ce"; } + +.fa-poll:before { + content: "\f681"; } + +.fa-poll-h:before { + content: "\f682"; } + +.fa-poo:before { + content: "\f2fe"; } + +.fa-poo-storm:before { + content: "\f75a"; } + +.fa-poop:before { + content: "\f619"; } + +.fa-portrait:before { + content: "\f3e0"; } + +.fa-pound-sign:before { + content: "\f154"; } + +.fa-power-off:before { + content: "\f011"; } + +.fa-pray:before { + content: "\f683"; } + +.fa-praying-hands:before { + content: "\f684"; } + +.fa-prescription:before { + content: "\f5b1"; } + +.fa-prescription-bottle:before { + content: "\f485"; } + +.fa-prescription-bottle-alt:before { + content: "\f486"; } + +.fa-print:before { + content: "\f02f"; } + +.fa-procedures:before { + content: "\f487"; } + +.fa-product-hunt:before { + content: "\f288"; } + +.fa-project-diagram:before { + content: "\f542"; } + +.fa-pump-medical:before { + content: "\e06a"; } + +.fa-pump-soap:before { + content: "\e06b"; } + +.fa-pushed:before { + content: "\f3e1"; } + +.fa-puzzle-piece:before { + content: "\f12e"; } + +.fa-python:before { + content: "\f3e2"; } + +.fa-qq:before { + content: "\f1d6"; } + +.fa-qrcode:before { + content: "\f029"; } + +.fa-question:before { + content: "\f128"; } + +.fa-question-circle:before { + content: "\f059"; } + +.fa-quidditch:before { + content: "\f458"; } + +.fa-quinscape:before { + content: "\f459"; } + +.fa-quora:before { + content: "\f2c4"; } + +.fa-quote-left:before { + content: "\f10d"; } + +.fa-quote-right:before { + content: "\f10e"; } + +.fa-quran:before { + content: "\f687"; } + +.fa-r-project:before { + content: "\f4f7"; } + +.fa-radiation:before { + content: "\f7b9"; } + +.fa-radiation-alt:before { + content: "\f7ba"; } + +.fa-rainbow:before { + content: "\f75b"; } + +.fa-random:before { + content: "\f074"; } + +.fa-raspberry-pi:before { + content: "\f7bb"; } + +.fa-ravelry:before { + content: "\f2d9"; } + +.fa-react:before { + content: "\f41b"; } + +.fa-reacteurope:before { + content: "\f75d"; } + +.fa-readme:before { + content: "\f4d5"; } + +.fa-rebel:before { + content: "\f1d0"; } + +.fa-receipt:before { + content: "\f543"; } + +.fa-record-vinyl:before { + content: "\f8d9"; } + +.fa-recycle:before { + content: "\f1b8"; } + +.fa-red-river:before { + content: "\f3e3"; } + +.fa-reddit:before { + content: "\f1a1"; } + +.fa-reddit-alien:before { + content: "\f281"; } + +.fa-reddit-square:before { + content: "\f1a2"; } + +.fa-redhat:before { + content: "\f7bc"; } + +.fa-redo:before { + content: "\f01e"; } + +.fa-redo-alt:before { + content: "\f2f9"; } + +.fa-registered:before { + content: "\f25d"; } + +.fa-remove-format:before { + content: "\f87d"; } + +.fa-renren:before { + content: "\f18b"; } + +.fa-reply:before { + content: "\f3e5"; } + +.fa-reply-all:before { + content: "\f122"; } + +.fa-replyd:before { + content: "\f3e6"; } + +.fa-republican:before { + content: "\f75e"; } + +.fa-researchgate:before { + content: "\f4f8"; } + +.fa-resolving:before { + content: "\f3e7"; } + +.fa-restroom:before { + content: "\f7bd"; } + +.fa-retweet:before { + content: "\f079"; } + +.fa-rev:before { + content: "\f5b2"; } + +.fa-ribbon:before { + content: "\f4d6"; } + +.fa-ring:before { + content: "\f70b"; } + +.fa-road:before { + content: "\f018"; } + +.fa-robot:before { + content: "\f544"; } + +.fa-rocket:before { + content: "\f135"; } + +.fa-rocketchat:before { + content: "\f3e8"; } + +.fa-rockrms:before { + content: "\f3e9"; } + +.fa-route:before { + content: "\f4d7"; } + +.fa-rss:before { + content: "\f09e"; } + +.fa-rss-square:before { + content: "\f143"; } + +.fa-ruble-sign:before { + content: "\f158"; } + +.fa-ruler:before { + content: "\f545"; } + +.fa-ruler-combined:before { + content: "\f546"; } + +.fa-ruler-horizontal:before { + content: "\f547"; } + +.fa-ruler-vertical:before { + content: "\f548"; } + +.fa-running:before { + content: "\f70c"; } + +.fa-rupee-sign:before { + content: "\f156"; } + +.fa-rust:before { + content: "\e07a"; } + +.fa-sad-cry:before { + content: "\f5b3"; } + +.fa-sad-tear:before { + content: "\f5b4"; } + +.fa-safari:before { + content: "\f267"; } + +.fa-salesforce:before { + content: "\f83b"; } + +.fa-sass:before { + content: "\f41e"; } + +.fa-satellite:before { + content: "\f7bf"; } + +.fa-satellite-dish:before { + content: "\f7c0"; } + +.fa-save:before { + content: "\f0c7"; } + +.fa-schlix:before { + content: "\f3ea"; } + +.fa-school:before { + content: "\f549"; } + +.fa-screwdriver:before { + content: "\f54a"; } + +.fa-scribd:before { + content: "\f28a"; } + +.fa-scroll:before { + content: "\f70e"; } + +.fa-sd-card:before { + content: "\f7c2"; } + +.fa-search:before { + content: "\f002"; } + +.fa-search-dollar:before { + content: "\f688"; } + +.fa-search-location:before { + content: "\f689"; } + +.fa-search-minus:before { + content: "\f010"; } + +.fa-search-plus:before { + content: "\f00e"; } + +.fa-searchengin:before { + content: "\f3eb"; } + +.fa-seedling:before { + content: "\f4d8"; } + +.fa-sellcast:before { + content: "\f2da"; } + +.fa-sellsy:before { + content: "\f213"; } + +.fa-server:before { + content: "\f233"; } + +.fa-servicestack:before { + content: "\f3ec"; } + +.fa-shapes:before { + content: "\f61f"; } + +.fa-share:before { + content: "\f064"; } + +.fa-share-alt:before { + content: "\f1e0"; } + +.fa-share-alt-square:before { + content: "\f1e1"; } + +.fa-share-square:before { + content: "\f14d"; } + +.fa-shekel-sign:before { + content: "\f20b"; } + +.fa-shield-alt:before { + content: "\f3ed"; } + +.fa-shield-virus:before { + content: "\e06c"; } + +.fa-ship:before { + content: "\f21a"; } + +.fa-shipping-fast:before { + content: "\f48b"; } + +.fa-shirtsinbulk:before { + content: "\f214"; } + +.fa-shoe-prints:before { + content: "\f54b"; } + +.fa-shopify:before { + content: "\e057"; } + +.fa-shopping-bag:before { + content: "\f290"; } + +.fa-shopping-basket:before { + content: "\f291"; } + +.fa-shopping-cart:before { + content: "\f07a"; } + +.fa-shopware:before { + content: "\f5b5"; } + +.fa-shower:before { + content: "\f2cc"; } + +.fa-shuttle-van:before { + content: "\f5b6"; } + +.fa-sign:before { + content: "\f4d9"; } + +.fa-sign-in-alt:before { + content: "\f2f6"; } + +.fa-sign-language:before { + content: "\f2a7"; } + +.fa-sign-out-alt:before { + content: "\f2f5"; } + +.fa-signal:before { + content: "\f012"; } + +.fa-signature:before { + content: "\f5b7"; } + +.fa-sim-card:before { + content: "\f7c4"; } + +.fa-simplybuilt:before { + content: "\f215"; } + +.fa-sink:before { + content: "\e06d"; } + +.fa-sistrix:before { + content: "\f3ee"; } + +.fa-sitemap:before { + content: "\f0e8"; } + +.fa-sith:before { + content: "\f512"; } + +.fa-skating:before { + content: "\f7c5"; } + +.fa-sketch:before { + content: "\f7c6"; } + +.fa-skiing:before { + content: "\f7c9"; } + +.fa-skiing-nordic:before { + content: "\f7ca"; } + +.fa-skull:before { + content: "\f54c"; } + +.fa-skull-crossbones:before { + content: "\f714"; } + +.fa-skyatlas:before { + content: "\f216"; } + +.fa-skype:before { + content: "\f17e"; } + +.fa-slack:before { + content: "\f198"; } + +.fa-slack-hash:before { + content: "\f3ef"; } + +.fa-slash:before { + content: "\f715"; } + +.fa-sleigh:before { + content: "\f7cc"; } + +.fa-sliders-h:before { + content: "\f1de"; } + +.fa-slideshare:before { + content: "\f1e7"; } + +.fa-smile:before { + content: "\f118"; } + +.fa-smile-beam:before { + content: "\f5b8"; } + +.fa-smile-wink:before { + content: "\f4da"; } + +.fa-smog:before { + content: "\f75f"; } + +.fa-smoking:before { + content: "\f48d"; } + +.fa-smoking-ban:before { + content: "\f54d"; } + +.fa-sms:before { + content: "\f7cd"; } + +.fa-snapchat:before { + content: "\f2ab"; } + +.fa-snapchat-ghost:before { + content: "\f2ac"; } + +.fa-snapchat-square:before { + content: "\f2ad"; } + +.fa-snowboarding:before { + content: "\f7ce"; } + +.fa-snowflake:before { + content: "\f2dc"; } + +.fa-snowman:before { + content: "\f7d0"; } + +.fa-snowplow:before { + content: "\f7d2"; } + +.fa-soap:before { + content: "\e06e"; } + +.fa-socks:before { + content: "\f696"; } + +.fa-solar-panel:before { + content: "\f5ba"; } + +.fa-sort:before { + content: "\f0dc"; } + +.fa-sort-alpha-down:before { + content: "\f15d"; } + +.fa-sort-alpha-down-alt:before { + content: "\f881"; } + +.fa-sort-alpha-up:before { + content: "\f15e"; } + +.fa-sort-alpha-up-alt:before { + content: "\f882"; } + +.fa-sort-amount-down:before { + content: "\f160"; } + +.fa-sort-amount-down-alt:before { + content: "\f884"; } + +.fa-sort-amount-up:before { + content: "\f161"; } + +.fa-sort-amount-up-alt:before { + content: "\f885"; } + +.fa-sort-down:before { + content: "\f0dd"; } + +.fa-sort-numeric-down:before { + content: "\f162"; } + +.fa-sort-numeric-down-alt:before { + content: "\f886"; } + +.fa-sort-numeric-up:before { + content: "\f163"; } + +.fa-sort-numeric-up-alt:before { + content: "\f887"; } + +.fa-sort-up:before { + content: "\f0de"; } + +.fa-soundcloud:before { + content: "\f1be"; } + +.fa-sourcetree:before { + content: "\f7d3"; } + +.fa-spa:before { + content: "\f5bb"; } + +.fa-space-shuttle:before { + content: "\f197"; } + +.fa-speakap:before { + content: "\f3f3"; } + +.fa-speaker-deck:before { + content: "\f83c"; } + +.fa-spell-check:before { + content: "\f891"; } + +.fa-spider:before { + content: "\f717"; } + +.fa-spinner:before { + content: "\f110"; } + +.fa-splotch:before { + content: "\f5bc"; } + +.fa-spotify:before { + content: "\f1bc"; } + +.fa-spray-can:before { + content: "\f5bd"; } + +.fa-square:before { + content: "\f0c8"; } + +.fa-square-full:before { + content: "\f45c"; } + +.fa-square-root-alt:before { + content: "\f698"; } + +.fa-squarespace:before { + content: "\f5be"; } + +.fa-stack-exchange:before { + content: "\f18d"; } + +.fa-stack-overflow:before { + content: "\f16c"; } + +.fa-stackpath:before { + content: "\f842"; } + +.fa-stamp:before { + content: "\f5bf"; } + +.fa-star:before { + content: "\f005"; } + +.fa-star-and-crescent:before { + content: "\f699"; } + +.fa-star-half:before { + content: "\f089"; } + +.fa-star-half-alt:before { + content: "\f5c0"; } + +.fa-star-of-david:before { + content: "\f69a"; } + +.fa-star-of-life:before { + content: "\f621"; } + +.fa-staylinked:before { + content: "\f3f5"; } + +.fa-steam:before { + content: "\f1b6"; } + +.fa-steam-square:before { + content: "\f1b7"; } + +.fa-steam-symbol:before { + content: "\f3f6"; } + +.fa-step-backward:before { + content: "\f048"; } + +.fa-step-forward:before { + content: "\f051"; } + +.fa-stethoscope:before { + content: "\f0f1"; } + +.fa-sticker-mule:before { + content: "\f3f7"; } + +.fa-sticky-note:before { + content: "\f249"; } + +.fa-stop:before { + content: "\f04d"; } + +.fa-stop-circle:before { + content: "\f28d"; } + +.fa-stopwatch:before { + content: "\f2f2"; } + +.fa-stopwatch-20:before { + content: "\e06f"; } + +.fa-store:before { + content: "\f54e"; } + +.fa-store-alt:before { + content: "\f54f"; } + +.fa-store-alt-slash:before { + content: "\e070"; } + +.fa-store-slash:before { + content: "\e071"; } + +.fa-strava:before { + content: "\f428"; } + +.fa-stream:before { + content: "\f550"; } + +.fa-street-view:before { + content: "\f21d"; } + +.fa-strikethrough:before { + content: "\f0cc"; } + +.fa-stripe:before { + content: "\f429"; } + +.fa-stripe-s:before { + content: "\f42a"; } + +.fa-stroopwafel:before { + content: "\f551"; } + +.fa-studiovinari:before { + content: "\f3f8"; } + +.fa-stumbleupon:before { + content: "\f1a4"; } + +.fa-stumbleupon-circle:before { + content: "\f1a3"; } + +.fa-subscript:before { + content: "\f12c"; } + +.fa-subway:before { + content: "\f239"; } + +.fa-suitcase:before { + content: "\f0f2"; } + +.fa-suitcase-rolling:before { + content: "\f5c1"; } + +.fa-sun:before { + content: "\f185"; } + +.fa-superpowers:before { + content: "\f2dd"; } + +.fa-superscript:before { + content: "\f12b"; } + +.fa-supple:before { + content: "\f3f9"; } + +.fa-surprise:before { + content: "\f5c2"; } + +.fa-suse:before { + content: "\f7d6"; } + +.fa-swatchbook:before { + content: "\f5c3"; } + +.fa-swift:before { + content: "\f8e1"; } + +.fa-swimmer:before { + content: "\f5c4"; } + +.fa-swimming-pool:before { + content: "\f5c5"; } + +.fa-symfony:before { + content: "\f83d"; } + +.fa-synagogue:before { + content: "\f69b"; } + +.fa-sync:before { + content: "\f021"; } + +.fa-sync-alt:before { + content: "\f2f1"; } + +.fa-syringe:before { + content: "\f48e"; } + +.fa-table:before { + content: "\f0ce"; } + +.fa-table-tennis:before { + content: "\f45d"; } + +.fa-tablet:before { + content: "\f10a"; } + +.fa-tablet-alt:before { + content: "\f3fa"; } + +.fa-tablets:before { + content: "\f490"; } + +.fa-tachometer-alt:before { + content: "\f3fd"; } + +.fa-tag:before { + content: "\f02b"; } + +.fa-tags:before { + content: "\f02c"; } + +.fa-tape:before { + content: "\f4db"; } + +.fa-tasks:before { + content: "\f0ae"; } + +.fa-taxi:before { + content: "\f1ba"; } + +.fa-teamspeak:before { + content: "\f4f9"; } + +.fa-teeth:before { + content: "\f62e"; } + +.fa-teeth-open:before { + content: "\f62f"; } + +.fa-telegram:before { + content: "\f2c6"; } + +.fa-telegram-plane:before { + content: "\f3fe"; } + +.fa-temperature-high:before { + content: "\f769"; } + +.fa-temperature-low:before { + content: "\f76b"; } + +.fa-tencent-weibo:before { + content: "\f1d5"; } + +.fa-tenge:before { + content: "\f7d7"; } + +.fa-terminal:before { + content: "\f120"; } + +.fa-text-height:before { + content: "\f034"; } + +.fa-text-width:before { + content: "\f035"; } + +.fa-th:before { + content: "\f00a"; } + +.fa-th-large:before { + content: "\f009"; } + +.fa-th-list:before { + content: "\f00b"; } + +.fa-the-red-yeti:before { + content: "\f69d"; } + +.fa-theater-masks:before { + content: "\f630"; } + +.fa-themeco:before { + content: "\f5c6"; } + +.fa-themeisle:before { + content: "\f2b2"; } + +.fa-thermometer:before { + content: "\f491"; } + +.fa-thermometer-empty:before { + content: "\f2cb"; } + +.fa-thermometer-full:before { + content: "\f2c7"; } + +.fa-thermometer-half:before { + content: "\f2c9"; } + +.fa-thermometer-quarter:before { + content: "\f2ca"; } + +.fa-thermometer-three-quarters:before { + content: "\f2c8"; } + +.fa-think-peaks:before { + content: "\f731"; } + +.fa-thumbs-down:before { + content: "\f165"; } + +.fa-thumbs-up:before { + content: "\f164"; } + +.fa-thumbtack:before { + content: "\f08d"; } + +.fa-ticket-alt:before { + content: "\f3ff"; } + +.fa-tiktok:before { + content: "\e07b"; } + +.fa-times:before { + content: "\f00d"; } + +.fa-times-circle:before { + content: "\f057"; } + +.fa-tint:before { + content: "\f043"; } + +.fa-tint-slash:before { + content: "\f5c7"; } + +.fa-tired:before { + content: "\f5c8"; } + +.fa-toggle-off:before { + content: "\f204"; } + +.fa-toggle-on:before { + content: "\f205"; } + +.fa-toilet:before { + content: "\f7d8"; } + +.fa-toilet-paper:before { + content: "\f71e"; } + +.fa-toilet-paper-slash:before { + content: "\e072"; } + +.fa-toolbox:before { + content: "\f552"; } + +.fa-tools:before { + content: "\f7d9"; } + +.fa-tooth:before { + content: "\f5c9"; } + +.fa-torah:before { + content: "\f6a0"; } + +.fa-torii-gate:before { + content: "\f6a1"; } + +.fa-tractor:before { + content: "\f722"; } + +.fa-trade-federation:before { + content: "\f513"; } + +.fa-trademark:before { + content: "\f25c"; } + +.fa-traffic-light:before { + content: "\f637"; } + +.fa-trailer:before { + content: "\e041"; } + +.fa-train:before { + content: "\f238"; } + +.fa-tram:before { + content: "\f7da"; } + +.fa-transgender:before { + content: "\f224"; } + +.fa-transgender-alt:before { + content: "\f225"; } + +.fa-trash:before { + content: "\f1f8"; } + +.fa-trash-alt:before { + content: "\f2ed"; } + +.fa-trash-restore:before { + content: "\f829"; } + +.fa-trash-restore-alt:before { + content: "\f82a"; } + +.fa-tree:before { + content: "\f1bb"; } + +.fa-trello:before { + content: "\f181"; } + +.fa-trophy:before { + content: "\f091"; } + +.fa-truck:before { + content: "\f0d1"; } + +.fa-truck-loading:before { + content: "\f4de"; } + +.fa-truck-monster:before { + content: "\f63b"; } + +.fa-truck-moving:before { + content: "\f4df"; } + +.fa-truck-pickup:before { + content: "\f63c"; } + +.fa-tshirt:before { + content: "\f553"; } + +.fa-tty:before { + content: "\f1e4"; } + +.fa-tumblr:before { + content: "\f173"; } + +.fa-tumblr-square:before { + content: "\f174"; } + +.fa-tv:before { + content: "\f26c"; } + +.fa-twitch:before { + content: "\f1e8"; } + +.fa-twitter:before { + content: "\f099"; } + +.fa-twitter-square:before { + content: "\f081"; } + +.fa-typo3:before { + content: "\f42b"; } + +.fa-uber:before { + content: "\f402"; } + +.fa-ubuntu:before { + content: "\f7df"; } + +.fa-uikit:before { + content: "\f403"; } + +.fa-umbraco:before { + content: "\f8e8"; } + +.fa-umbrella:before { + content: "\f0e9"; } + +.fa-umbrella-beach:before { + content: "\f5ca"; } + +.fa-uncharted:before { + content: "\e084"; } + +.fa-underline:before { + content: "\f0cd"; } + +.fa-undo:before { + content: "\f0e2"; } + +.fa-undo-alt:before { + content: "\f2ea"; } + +.fa-uniregistry:before { + content: "\f404"; } + +.fa-unity:before { + content: "\e049"; } + +.fa-universal-access:before { + content: "\f29a"; } + +.fa-university:before { + content: "\f19c"; } + +.fa-unlink:before { + content: "\f127"; } + +.fa-unlock:before { + content: "\f09c"; } + +.fa-unlock-alt:before { + content: "\f13e"; } + +.fa-unsplash:before { + content: "\e07c"; } + +.fa-untappd:before { + content: "\f405"; } + +.fa-upload:before { + content: "\f093"; } + +.fa-ups:before { + content: "\f7e0"; } + +.fa-usb:before { + content: "\f287"; } + +.fa-user:before { + content: "\f007"; } + +.fa-user-alt:before { + content: "\f406"; } + +.fa-user-alt-slash:before { + content: "\f4fa"; } + +.fa-user-astronaut:before { + content: "\f4fb"; } + +.fa-user-check:before { + content: "\f4fc"; } + +.fa-user-circle:before { + content: "\f2bd"; } + +.fa-user-clock:before { + content: "\f4fd"; } + +.fa-user-cog:before { + content: "\f4fe"; } + +.fa-user-edit:before { + content: "\f4ff"; } + +.fa-user-friends:before { + content: "\f500"; } + +.fa-user-graduate:before { + content: "\f501"; } + +.fa-user-injured:before { + content: "\f728"; } + +.fa-user-lock:before { + content: "\f502"; } + +.fa-user-md:before { + content: "\f0f0"; } + +.fa-user-minus:before { + content: "\f503"; } + +.fa-user-ninja:before { + content: "\f504"; } + +.fa-user-nurse:before { + content: "\f82f"; } + +.fa-user-plus:before { + content: "\f234"; } + +.fa-user-secret:before { + content: "\f21b"; } + +.fa-user-shield:before { + content: "\f505"; } + +.fa-user-slash:before { + content: "\f506"; } + +.fa-user-tag:before { + content: "\f507"; } + +.fa-user-tie:before { + content: "\f508"; } + +.fa-user-times:before { + content: "\f235"; } + +.fa-users:before { + content: "\f0c0"; } + +.fa-users-cog:before { + content: "\f509"; } + +.fa-users-slash:before { + content: "\e073"; } + +.fa-usps:before { + content: "\f7e1"; } + +.fa-ussunnah:before { + content: "\f407"; } + +.fa-utensil-spoon:before { + content: "\f2e5"; } + +.fa-utensils:before { + content: "\f2e7"; } + +.fa-vaadin:before { + content: "\f408"; } + +.fa-vector-square:before { + content: "\f5cb"; } + +.fa-venus:before { + content: "\f221"; } + +.fa-venus-double:before { + content: "\f226"; } + +.fa-venus-mars:before { + content: "\f228"; } + +.fa-vest:before { + content: "\e085"; } + +.fa-vest-patches:before { + content: "\e086"; } + +.fa-viacoin:before { + content: "\f237"; } + +.fa-viadeo:before { + content: "\f2a9"; } + +.fa-viadeo-square:before { + content: "\f2aa"; } + +.fa-vial:before { + content: "\f492"; } + +.fa-vials:before { + content: "\f493"; } + +.fa-viber:before { + content: "\f409"; } + +.fa-video:before { + content: "\f03d"; } + +.fa-video-slash:before { + content: "\f4e2"; } + +.fa-vihara:before { + content: "\f6a7"; } + +.fa-vimeo:before { + content: "\f40a"; } + +.fa-vimeo-square:before { + content: "\f194"; } + +.fa-vimeo-v:before { + content: "\f27d"; } + +.fa-vine:before { + content: "\f1ca"; } + +.fa-virus:before { + content: "\e074"; } + +.fa-virus-slash:before { + content: "\e075"; } + +.fa-viruses:before { + content: "\e076"; } + +.fa-vk:before { + content: "\f189"; } + +.fa-vnv:before { + content: "\f40b"; } + +.fa-voicemail:before { + content: "\f897"; } + +.fa-volleyball-ball:before { + content: "\f45f"; } + +.fa-volume-down:before { + content: "\f027"; } + +.fa-volume-mute:before { + content: "\f6a9"; } + +.fa-volume-off:before { + content: "\f026"; } + +.fa-volume-up:before { + content: "\f028"; } + +.fa-vote-yea:before { + content: "\f772"; } + +.fa-vr-cardboard:before { + content: "\f729"; } + +.fa-vuejs:before { + content: "\f41f"; } + +.fa-walking:before { + content: "\f554"; } + +.fa-wallet:before { + content: "\f555"; } + +.fa-warehouse:before { + content: "\f494"; } + +.fa-watchman-monitoring:before { + content: "\e087"; } + +.fa-water:before { + content: "\f773"; } + +.fa-wave-square:before { + content: "\f83e"; } + +.fa-waze:before { + content: "\f83f"; } + +.fa-weebly:before { + content: "\f5cc"; } + +.fa-weibo:before { + content: "\f18a"; } + +.fa-weight:before { + content: "\f496"; } + +.fa-weight-hanging:before { + content: "\f5cd"; } + +.fa-weixin:before { + content: "\f1d7"; } + +.fa-whatsapp:before { + content: "\f232"; } + +.fa-whatsapp-square:before { + content: "\f40c"; } + +.fa-wheelchair:before { + content: "\f193"; } + +.fa-whmcs:before { + content: "\f40d"; } + +.fa-wifi:before { + content: "\f1eb"; } + +.fa-wikipedia-w:before { + content: "\f266"; } + +.fa-wind:before { + content: "\f72e"; } + +.fa-window-close:before { + content: "\f410"; } + +.fa-window-maximize:before { + content: "\f2d0"; } + +.fa-window-minimize:before { + content: "\f2d1"; } + +.fa-window-restore:before { + content: "\f2d2"; } + +.fa-windows:before { + content: "\f17a"; } + +.fa-wine-bottle:before { + content: "\f72f"; } + +.fa-wine-glass:before { + content: "\f4e3"; } + +.fa-wine-glass-alt:before { + content: "\f5ce"; } + +.fa-wix:before { + content: "\f5cf"; } + +.fa-wizards-of-the-coast:before { + content: "\f730"; } + +.fa-wodu:before { + content: "\e088"; } + +.fa-wolf-pack-battalion:before { + content: "\f514"; } + +.fa-won-sign:before { + content: "\f159"; } + +.fa-wordpress:before { + content: "\f19a"; } + +.fa-wordpress-simple:before { + content: "\f411"; } + +.fa-wpbeginner:before { + content: "\f297"; } + +.fa-wpexplorer:before { + content: "\f2de"; } + +.fa-wpforms:before { + content: "\f298"; } + +.fa-wpressr:before { + content: "\f3e4"; } + +.fa-wrench:before { + content: "\f0ad"; } + +.fa-x-ray:before { + content: "\f497"; } + +.fa-xbox:before { + content: "\f412"; } + +.fa-xing:before { + content: "\f168"; } + +.fa-xing-square:before { + content: "\f169"; } + +.fa-y-combinator:before { + content: "\f23b"; } + +.fa-yahoo:before { + content: "\f19e"; } + +.fa-yammer:before { + content: "\f840"; } + +.fa-yandex:before { + content: "\f413"; } + +.fa-yandex-international:before { + content: "\f414"; } + +.fa-yarn:before { + content: "\f7e3"; } + +.fa-yelp:before { + content: "\f1e9"; } + +.fa-yen-sign:before { + content: "\f157"; } + +.fa-yin-yang:before { + content: "\f6ad"; } + +.fa-yoast:before { + content: "\f2b1"; } + +.fa-youtube:before { + content: "\f167"; } + +.fa-youtube-square:before { + content: "\f431"; } + +.fa-zhihu:before { + content: "\f63f"; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.min.css new file mode 100644 index 0000000..bec9b39 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/fontawesome.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa,.fab,.fad,.fal,.far,.fas{-moz-osx-font-smoothing:grayscale;-webkit-font-smoothing:antialiased;display:inline-block;font-style:normal;font-variant:normal;text-rendering:auto;line-height:1}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;line-height:2em;position:relative;vertical-align:middle;width:2.5em}.fa-stack-1x,.fa-stack-2x{left:0;position:absolute;text-align:center;width:100%}.fa-stack-1x{line-height:inherit}.fa-stack-2x{font-size:2em}.fa-inverse{color:#fff}.fa-500px:before{content:"\f26e"}.fa-accessible-icon:before{content:"\f368"}.fa-accusoft:before{content:"\f369"}.fa-acquisitions-incorporated:before{content:"\f6af"}.fa-ad:before{content:"\f641"}.fa-address-book:before{content:"\f2b9"}.fa-address-card:before{content:"\f2bb"}.fa-adjust:before{content:"\f042"}.fa-adn:before{content:"\f170"}.fa-adversal:before{content:"\f36a"}.fa-affiliatetheme:before{content:"\f36b"}.fa-air-freshener:before{content:"\f5d0"}.fa-airbnb:before{content:"\f834"}.fa-algolia:before{content:"\f36c"}.fa-align-center:before{content:"\f037"}.fa-align-justify:before{content:"\f039"}.fa-align-left:before{content:"\f036"}.fa-align-right:before{content:"\f038"}.fa-alipay:before{content:"\f642"}.fa-allergies:before{content:"\f461"}.fa-amazon:before{content:"\f270"}.fa-amazon-pay:before{content:"\f42c"}.fa-ambulance:before{content:"\f0f9"}.fa-american-sign-language-interpreting:before{content:"\f2a3"}.fa-amilia:before{content:"\f36d"}.fa-anchor:before{content:"\f13d"}.fa-android:before{content:"\f17b"}.fa-angellist:before{content:"\f209"}.fa-angle-double-down:before{content:"\f103"}.fa-angle-double-left:before{content:"\f100"}.fa-angle-double-right:before{content:"\f101"}.fa-angle-double-up:before{content:"\f102"}.fa-angle-down:before{content:"\f107"}.fa-angle-left:before{content:"\f104"}.fa-angle-right:before{content:"\f105"}.fa-angle-up:before{content:"\f106"}.fa-angry:before{content:"\f556"}.fa-angrycreative:before{content:"\f36e"}.fa-angular:before{content:"\f420"}.fa-ankh:before{content:"\f644"}.fa-app-store:before{content:"\f36f"}.fa-app-store-ios:before{content:"\f370"}.fa-apper:before{content:"\f371"}.fa-apple:before{content:"\f179"}.fa-apple-alt:before{content:"\f5d1"}.fa-apple-pay:before{content:"\f415"}.fa-archive:before{content:"\f187"}.fa-archway:before{content:"\f557"}.fa-arrow-alt-circle-down:before{content:"\f358"}.fa-arrow-alt-circle-left:before{content:"\f359"}.fa-arrow-alt-circle-right:before{content:"\f35a"}.fa-arrow-alt-circle-up:before{content:"\f35b"}.fa-arrow-circle-down:before{content:"\f0ab"}.fa-arrow-circle-left:before{content:"\f0a8"}.fa-arrow-circle-right:before{content:"\f0a9"}.fa-arrow-circle-up:before{content:"\f0aa"}.fa-arrow-down:before{content:"\f063"}.fa-arrow-left:before{content:"\f060"}.fa-arrow-right:before{content:"\f061"}.fa-arrow-up:before{content:"\f062"}.fa-arrows-alt:before{content:"\f0b2"}.fa-arrows-alt-h:before{content:"\f337"}.fa-arrows-alt-v:before{content:"\f338"}.fa-artstation:before{content:"\f77a"}.fa-assistive-listening-systems:before{content:"\f2a2"}.fa-asterisk:before{content:"\f069"}.fa-asymmetrik:before{content:"\f372"}.fa-at:before{content:"\f1fa"}.fa-atlas:before{content:"\f558"}.fa-atlassian:before{content:"\f77b"}.fa-atom:before{content:"\f5d2"}.fa-audible:before{content:"\f373"}.fa-audio-description:before{content:"\f29e"}.fa-autoprefixer:before{content:"\f41c"}.fa-avianex:before{content:"\f374"}.fa-aviato:before{content:"\f421"}.fa-award:before{content:"\f559"}.fa-aws:before{content:"\f375"}.fa-baby:before{content:"\f77c"}.fa-baby-carriage:before{content:"\f77d"}.fa-backspace:before{content:"\f55a"}.fa-backward:before{content:"\f04a"}.fa-bacon:before{content:"\f7e5"}.fa-bacteria:before{content:"\e059"}.fa-bacterium:before{content:"\e05a"}.fa-bahai:before{content:"\f666"}.fa-balance-scale:before{content:"\f24e"}.fa-balance-scale-left:before{content:"\f515"}.fa-balance-scale-right:before{content:"\f516"}.fa-ban:before{content:"\f05e"}.fa-band-aid:before{content:"\f462"}.fa-bandcamp:before{content:"\f2d5"}.fa-barcode:before{content:"\f02a"}.fa-bars:before{content:"\f0c9"}.fa-baseball-ball:before{content:"\f433"}.fa-basketball-ball:before{content:"\f434"}.fa-bath:before{content:"\f2cd"}.fa-battery-empty:before{content:"\f244"}.fa-battery-full:before{content:"\f240"}.fa-battery-half:before{content:"\f242"}.fa-battery-quarter:before{content:"\f243"}.fa-battery-three-quarters:before{content:"\f241"}.fa-battle-net:before{content:"\f835"}.fa-bed:before{content:"\f236"}.fa-beer:before{content:"\f0fc"}.fa-behance:before{content:"\f1b4"}.fa-behance-square:before{content:"\f1b5"}.fa-bell:before{content:"\f0f3"}.fa-bell-slash:before{content:"\f1f6"}.fa-bezier-curve:before{content:"\f55b"}.fa-bible:before{content:"\f647"}.fa-bicycle:before{content:"\f206"}.fa-biking:before{content:"\f84a"}.fa-bimobject:before{content:"\f378"}.fa-binoculars:before{content:"\f1e5"}.fa-biohazard:before{content:"\f780"}.fa-birthday-cake:before{content:"\f1fd"}.fa-bitbucket:before{content:"\f171"}.fa-bitcoin:before{content:"\f379"}.fa-bity:before{content:"\f37a"}.fa-black-tie:before{content:"\f27e"}.fa-blackberry:before{content:"\f37b"}.fa-blender:before{content:"\f517"}.fa-blender-phone:before{content:"\f6b6"}.fa-blind:before{content:"\f29d"}.fa-blog:before{content:"\f781"}.fa-blogger:before{content:"\f37c"}.fa-blogger-b:before{content:"\f37d"}.fa-bluetooth:before{content:"\f293"}.fa-bluetooth-b:before{content:"\f294"}.fa-bold:before{content:"\f032"}.fa-bolt:before{content:"\f0e7"}.fa-bomb:before{content:"\f1e2"}.fa-bone:before{content:"\f5d7"}.fa-bong:before{content:"\f55c"}.fa-book:before{content:"\f02d"}.fa-book-dead:before{content:"\f6b7"}.fa-book-medical:before{content:"\f7e6"}.fa-book-open:before{content:"\f518"}.fa-book-reader:before{content:"\f5da"}.fa-bookmark:before{content:"\f02e"}.fa-bootstrap:before{content:"\f836"}.fa-border-all:before{content:"\f84c"}.fa-border-none:before{content:"\f850"}.fa-border-style:before{content:"\f853"}.fa-bowling-ball:before{content:"\f436"}.fa-box:before{content:"\f466"}.fa-box-open:before{content:"\f49e"}.fa-box-tissue:before{content:"\e05b"}.fa-boxes:before{content:"\f468"}.fa-braille:before{content:"\f2a1"}.fa-brain:before{content:"\f5dc"}.fa-bread-slice:before{content:"\f7ec"}.fa-briefcase:before{content:"\f0b1"}.fa-briefcase-medical:before{content:"\f469"}.fa-broadcast-tower:before{content:"\f519"}.fa-broom:before{content:"\f51a"}.fa-brush:before{content:"\f55d"}.fa-btc:before{content:"\f15a"}.fa-buffer:before{content:"\f837"}.fa-bug:before{content:"\f188"}.fa-building:before{content:"\f1ad"}.fa-bullhorn:before{content:"\f0a1"}.fa-bullseye:before{content:"\f140"}.fa-burn:before{content:"\f46a"}.fa-buromobelexperte:before{content:"\f37f"}.fa-bus:before{content:"\f207"}.fa-bus-alt:before{content:"\f55e"}.fa-business-time:before{content:"\f64a"}.fa-buy-n-large:before{content:"\f8a6"}.fa-buysellads:before{content:"\f20d"}.fa-calculator:before{content:"\f1ec"}.fa-calendar:before{content:"\f133"}.fa-calendar-alt:before{content:"\f073"}.fa-calendar-check:before{content:"\f274"}.fa-calendar-day:before{content:"\f783"}.fa-calendar-minus:before{content:"\f272"}.fa-calendar-plus:before{content:"\f271"}.fa-calendar-times:before{content:"\f273"}.fa-calendar-week:before{content:"\f784"}.fa-camera:before{content:"\f030"}.fa-camera-retro:before{content:"\f083"}.fa-campground:before{content:"\f6bb"}.fa-canadian-maple-leaf:before{content:"\f785"}.fa-candy-cane:before{content:"\f786"}.fa-cannabis:before{content:"\f55f"}.fa-capsules:before{content:"\f46b"}.fa-car:before{content:"\f1b9"}.fa-car-alt:before{content:"\f5de"}.fa-car-battery:before{content:"\f5df"}.fa-car-crash:before{content:"\f5e1"}.fa-car-side:before{content:"\f5e4"}.fa-caravan:before{content:"\f8ff"}.fa-caret-down:before{content:"\f0d7"}.fa-caret-left:before{content:"\f0d9"}.fa-caret-right:before{content:"\f0da"}.fa-caret-square-down:before{content:"\f150"}.fa-caret-square-left:before{content:"\f191"}.fa-caret-square-right:before{content:"\f152"}.fa-caret-square-up:before{content:"\f151"}.fa-caret-up:before{content:"\f0d8"}.fa-carrot:before{content:"\f787"}.fa-cart-arrow-down:before{content:"\f218"}.fa-cart-plus:before{content:"\f217"}.fa-cash-register:before{content:"\f788"}.fa-cat:before{content:"\f6be"}.fa-cc-amazon-pay:before{content:"\f42d"}.fa-cc-amex:before{content:"\f1f3"}.fa-cc-apple-pay:before{content:"\f416"}.fa-cc-diners-club:before{content:"\f24c"}.fa-cc-discover:before{content:"\f1f2"}.fa-cc-jcb:before{content:"\f24b"}.fa-cc-mastercard:before{content:"\f1f1"}.fa-cc-paypal:before{content:"\f1f4"}.fa-cc-stripe:before{content:"\f1f5"}.fa-cc-visa:before{content:"\f1f0"}.fa-centercode:before{content:"\f380"}.fa-centos:before{content:"\f789"}.fa-certificate:before{content:"\f0a3"}.fa-chair:before{content:"\f6c0"}.fa-chalkboard:before{content:"\f51b"}.fa-chalkboard-teacher:before{content:"\f51c"}.fa-charging-station:before{content:"\f5e7"}.fa-chart-area:before{content:"\f1fe"}.fa-chart-bar:before{content:"\f080"}.fa-chart-line:before{content:"\f201"}.fa-chart-pie:before{content:"\f200"}.fa-check:before{content:"\f00c"}.fa-check-circle:before{content:"\f058"}.fa-check-double:before{content:"\f560"}.fa-check-square:before{content:"\f14a"}.fa-cheese:before{content:"\f7ef"}.fa-chess:before{content:"\f439"}.fa-chess-bishop:before{content:"\f43a"}.fa-chess-board:before{content:"\f43c"}.fa-chess-king:before{content:"\f43f"}.fa-chess-knight:before{content:"\f441"}.fa-chess-pawn:before{content:"\f443"}.fa-chess-queen:before{content:"\f445"}.fa-chess-rook:before{content:"\f447"}.fa-chevron-circle-down:before{content:"\f13a"}.fa-chevron-circle-left:before{content:"\f137"}.fa-chevron-circle-right:before{content:"\f138"}.fa-chevron-circle-up:before{content:"\f139"}.fa-chevron-down:before{content:"\f078"}.fa-chevron-left:before{content:"\f053"}.fa-chevron-right:before{content:"\f054"}.fa-chevron-up:before{content:"\f077"}.fa-child:before{content:"\f1ae"}.fa-chrome:before{content:"\f268"}.fa-chromecast:before{content:"\f838"}.fa-church:before{content:"\f51d"}.fa-circle:before{content:"\f111"}.fa-circle-notch:before{content:"\f1ce"}.fa-city:before{content:"\f64f"}.fa-clinic-medical:before{content:"\f7f2"}.fa-clipboard:before{content:"\f328"}.fa-clipboard-check:before{content:"\f46c"}.fa-clipboard-list:before{content:"\f46d"}.fa-clock:before{content:"\f017"}.fa-clone:before{content:"\f24d"}.fa-closed-captioning:before{content:"\f20a"}.fa-cloud:before{content:"\f0c2"}.fa-cloud-download-alt:before{content:"\f381"}.fa-cloud-meatball:before{content:"\f73b"}.fa-cloud-moon:before{content:"\f6c3"}.fa-cloud-moon-rain:before{content:"\f73c"}.fa-cloud-rain:before{content:"\f73d"}.fa-cloud-showers-heavy:before{content:"\f740"}.fa-cloud-sun:before{content:"\f6c4"}.fa-cloud-sun-rain:before{content:"\f743"}.fa-cloud-upload-alt:before{content:"\f382"}.fa-cloudflare:before{content:"\e07d"}.fa-cloudscale:before{content:"\f383"}.fa-cloudsmith:before{content:"\f384"}.fa-cloudversify:before{content:"\f385"}.fa-cocktail:before{content:"\f561"}.fa-code:before{content:"\f121"}.fa-code-branch:before{content:"\f126"}.fa-codepen:before{content:"\f1cb"}.fa-codiepie:before{content:"\f284"}.fa-coffee:before{content:"\f0f4"}.fa-cog:before{content:"\f013"}.fa-cogs:before{content:"\f085"}.fa-coins:before{content:"\f51e"}.fa-columns:before{content:"\f0db"}.fa-comment:before{content:"\f075"}.fa-comment-alt:before{content:"\f27a"}.fa-comment-dollar:before{content:"\f651"}.fa-comment-dots:before{content:"\f4ad"}.fa-comment-medical:before{content:"\f7f5"}.fa-comment-slash:before{content:"\f4b3"}.fa-comments:before{content:"\f086"}.fa-comments-dollar:before{content:"\f653"}.fa-compact-disc:before{content:"\f51f"}.fa-compass:before{content:"\f14e"}.fa-compress:before{content:"\f066"}.fa-compress-alt:before{content:"\f422"}.fa-compress-arrows-alt:before{content:"\f78c"}.fa-concierge-bell:before{content:"\f562"}.fa-confluence:before{content:"\f78d"}.fa-connectdevelop:before{content:"\f20e"}.fa-contao:before{content:"\f26d"}.fa-cookie:before{content:"\f563"}.fa-cookie-bite:before{content:"\f564"}.fa-copy:before{content:"\f0c5"}.fa-copyright:before{content:"\f1f9"}.fa-cotton-bureau:before{content:"\f89e"}.fa-couch:before{content:"\f4b8"}.fa-cpanel:before{content:"\f388"}.fa-creative-commons:before{content:"\f25e"}.fa-creative-commons-by:before{content:"\f4e7"}.fa-creative-commons-nc:before{content:"\f4e8"}.fa-creative-commons-nc-eu:before{content:"\f4e9"}.fa-creative-commons-nc-jp:before{content:"\f4ea"}.fa-creative-commons-nd:before{content:"\f4eb"}.fa-creative-commons-pd:before{content:"\f4ec"}.fa-creative-commons-pd-alt:before{content:"\f4ed"}.fa-creative-commons-remix:before{content:"\f4ee"}.fa-creative-commons-sa:before{content:"\f4ef"}.fa-creative-commons-sampling:before{content:"\f4f0"}.fa-creative-commons-sampling-plus:before{content:"\f4f1"}.fa-creative-commons-share:before{content:"\f4f2"}.fa-creative-commons-zero:before{content:"\f4f3"}.fa-credit-card:before{content:"\f09d"}.fa-critical-role:before{content:"\f6c9"}.fa-crop:before{content:"\f125"}.fa-crop-alt:before{content:"\f565"}.fa-cross:before{content:"\f654"}.fa-crosshairs:before{content:"\f05b"}.fa-crow:before{content:"\f520"}.fa-crown:before{content:"\f521"}.fa-crutch:before{content:"\f7f7"}.fa-css3:before{content:"\f13c"}.fa-css3-alt:before{content:"\f38b"}.fa-cube:before{content:"\f1b2"}.fa-cubes:before{content:"\f1b3"}.fa-cut:before{content:"\f0c4"}.fa-cuttlefish:before{content:"\f38c"}.fa-d-and-d:before{content:"\f38d"}.fa-d-and-d-beyond:before{content:"\f6ca"}.fa-dailymotion:before{content:"\e052"}.fa-dashcube:before{content:"\f210"}.fa-database:before{content:"\f1c0"}.fa-deaf:before{content:"\f2a4"}.fa-deezer:before{content:"\e077"}.fa-delicious:before{content:"\f1a5"}.fa-democrat:before{content:"\f747"}.fa-deploydog:before{content:"\f38e"}.fa-deskpro:before{content:"\f38f"}.fa-desktop:before{content:"\f108"}.fa-dev:before{content:"\f6cc"}.fa-deviantart:before{content:"\f1bd"}.fa-dharmachakra:before{content:"\f655"}.fa-dhl:before{content:"\f790"}.fa-diagnoses:before{content:"\f470"}.fa-diaspora:before{content:"\f791"}.fa-dice:before{content:"\f522"}.fa-dice-d20:before{content:"\f6cf"}.fa-dice-d6:before{content:"\f6d1"}.fa-dice-five:before{content:"\f523"}.fa-dice-four:before{content:"\f524"}.fa-dice-one:before{content:"\f525"}.fa-dice-six:before{content:"\f526"}.fa-dice-three:before{content:"\f527"}.fa-dice-two:before{content:"\f528"}.fa-digg:before{content:"\f1a6"}.fa-digital-ocean:before{content:"\f391"}.fa-digital-tachograph:before{content:"\f566"}.fa-directions:before{content:"\f5eb"}.fa-discord:before{content:"\f392"}.fa-discourse:before{content:"\f393"}.fa-disease:before{content:"\f7fa"}.fa-divide:before{content:"\f529"}.fa-dizzy:before{content:"\f567"}.fa-dna:before{content:"\f471"}.fa-dochub:before{content:"\f394"}.fa-docker:before{content:"\f395"}.fa-dog:before{content:"\f6d3"}.fa-dollar-sign:before{content:"\f155"}.fa-dolly:before{content:"\f472"}.fa-dolly-flatbed:before{content:"\f474"}.fa-donate:before{content:"\f4b9"}.fa-door-closed:before{content:"\f52a"}.fa-door-open:before{content:"\f52b"}.fa-dot-circle:before{content:"\f192"}.fa-dove:before{content:"\f4ba"}.fa-download:before{content:"\f019"}.fa-draft2digital:before{content:"\f396"}.fa-drafting-compass:before{content:"\f568"}.fa-dragon:before{content:"\f6d5"}.fa-draw-polygon:before{content:"\f5ee"}.fa-dribbble:before{content:"\f17d"}.fa-dribbble-square:before{content:"\f397"}.fa-dropbox:before{content:"\f16b"}.fa-drum:before{content:"\f569"}.fa-drum-steelpan:before{content:"\f56a"}.fa-drumstick-bite:before{content:"\f6d7"}.fa-drupal:before{content:"\f1a9"}.fa-dumbbell:before{content:"\f44b"}.fa-dumpster:before{content:"\f793"}.fa-dumpster-fire:before{content:"\f794"}.fa-dungeon:before{content:"\f6d9"}.fa-dyalog:before{content:"\f399"}.fa-earlybirds:before{content:"\f39a"}.fa-ebay:before{content:"\f4f4"}.fa-edge:before{content:"\f282"}.fa-edge-legacy:before{content:"\e078"}.fa-edit:before{content:"\f044"}.fa-egg:before{content:"\f7fb"}.fa-eject:before{content:"\f052"}.fa-elementor:before{content:"\f430"}.fa-ellipsis-h:before{content:"\f141"}.fa-ellipsis-v:before{content:"\f142"}.fa-ello:before{content:"\f5f1"}.fa-ember:before{content:"\f423"}.fa-empire:before{content:"\f1d1"}.fa-envelope:before{content:"\f0e0"}.fa-envelope-open:before{content:"\f2b6"}.fa-envelope-open-text:before{content:"\f658"}.fa-envelope-square:before{content:"\f199"}.fa-envira:before{content:"\f299"}.fa-equals:before{content:"\f52c"}.fa-eraser:before{content:"\f12d"}.fa-erlang:before{content:"\f39d"}.fa-ethereum:before{content:"\f42e"}.fa-ethernet:before{content:"\f796"}.fa-etsy:before{content:"\f2d7"}.fa-euro-sign:before{content:"\f153"}.fa-evernote:before{content:"\f839"}.fa-exchange-alt:before{content:"\f362"}.fa-exclamation:before{content:"\f12a"}.fa-exclamation-circle:before{content:"\f06a"}.fa-exclamation-triangle:before{content:"\f071"}.fa-expand:before{content:"\f065"}.fa-expand-alt:before{content:"\f424"}.fa-expand-arrows-alt:before{content:"\f31e"}.fa-expeditedssl:before{content:"\f23e"}.fa-external-link-alt:before{content:"\f35d"}.fa-external-link-square-alt:before{content:"\f360"}.fa-eye:before{content:"\f06e"}.fa-eye-dropper:before{content:"\f1fb"}.fa-eye-slash:before{content:"\f070"}.fa-facebook:before{content:"\f09a"}.fa-facebook-f:before{content:"\f39e"}.fa-facebook-messenger:before{content:"\f39f"}.fa-facebook-square:before{content:"\f082"}.fa-fan:before{content:"\f863"}.fa-fantasy-flight-games:before{content:"\f6dc"}.fa-fast-backward:before{content:"\f049"}.fa-fast-forward:before{content:"\f050"}.fa-faucet:before{content:"\e005"}.fa-fax:before{content:"\f1ac"}.fa-feather:before{content:"\f52d"}.fa-feather-alt:before{content:"\f56b"}.fa-fedex:before{content:"\f797"}.fa-fedora:before{content:"\f798"}.fa-female:before{content:"\f182"}.fa-fighter-jet:before{content:"\f0fb"}.fa-figma:before{content:"\f799"}.fa-file:before{content:"\f15b"}.fa-file-alt:before{content:"\f15c"}.fa-file-archive:before{content:"\f1c6"}.fa-file-audio:before{content:"\f1c7"}.fa-file-code:before{content:"\f1c9"}.fa-file-contract:before{content:"\f56c"}.fa-file-csv:before{content:"\f6dd"}.fa-file-download:before{content:"\f56d"}.fa-file-excel:before{content:"\f1c3"}.fa-file-export:before{content:"\f56e"}.fa-file-image:before{content:"\f1c5"}.fa-file-import:before{content:"\f56f"}.fa-file-invoice:before{content:"\f570"}.fa-file-invoice-dollar:before{content:"\f571"}.fa-file-medical:before{content:"\f477"}.fa-file-medical-alt:before{content:"\f478"}.fa-file-pdf:before{content:"\f1c1"}.fa-file-powerpoint:before{content:"\f1c4"}.fa-file-prescription:before{content:"\f572"}.fa-file-signature:before{content:"\f573"}.fa-file-upload:before{content:"\f574"}.fa-file-video:before{content:"\f1c8"}.fa-file-word:before{content:"\f1c2"}.fa-fill:before{content:"\f575"}.fa-fill-drip:before{content:"\f576"}.fa-film:before{content:"\f008"}.fa-filter:before{content:"\f0b0"}.fa-fingerprint:before{content:"\f577"}.fa-fire:before{content:"\f06d"}.fa-fire-alt:before{content:"\f7e4"}.fa-fire-extinguisher:before{content:"\f134"}.fa-firefox:before{content:"\f269"}.fa-firefox-browser:before{content:"\e007"}.fa-first-aid:before{content:"\f479"}.fa-first-order:before{content:"\f2b0"}.fa-first-order-alt:before{content:"\f50a"}.fa-firstdraft:before{content:"\f3a1"}.fa-fish:before{content:"\f578"}.fa-fist-raised:before{content:"\f6de"}.fa-flag:before{content:"\f024"}.fa-flag-checkered:before{content:"\f11e"}.fa-flag-usa:before{content:"\f74d"}.fa-flask:before{content:"\f0c3"}.fa-flickr:before{content:"\f16e"}.fa-flipboard:before{content:"\f44d"}.fa-flushed:before{content:"\f579"}.fa-fly:before{content:"\f417"}.fa-folder:before{content:"\f07b"}.fa-folder-minus:before{content:"\f65d"}.fa-folder-open:before{content:"\f07c"}.fa-folder-plus:before{content:"\f65e"}.fa-font:before{content:"\f031"}.fa-font-awesome:before{content:"\f2b4"}.fa-font-awesome-alt:before{content:"\f35c"}.fa-font-awesome-flag:before{content:"\f425"}.fa-font-awesome-logo-full:before{content:"\f4e6"}.fa-fonticons:before{content:"\f280"}.fa-fonticons-fi:before{content:"\f3a2"}.fa-football-ball:before{content:"\f44e"}.fa-fort-awesome:before{content:"\f286"}.fa-fort-awesome-alt:before{content:"\f3a3"}.fa-forumbee:before{content:"\f211"}.fa-forward:before{content:"\f04e"}.fa-foursquare:before{content:"\f180"}.fa-free-code-camp:before{content:"\f2c5"}.fa-freebsd:before{content:"\f3a4"}.fa-frog:before{content:"\f52e"}.fa-frown:before{content:"\f119"}.fa-frown-open:before{content:"\f57a"}.fa-fulcrum:before{content:"\f50b"}.fa-funnel-dollar:before{content:"\f662"}.fa-futbol:before{content:"\f1e3"}.fa-galactic-republic:before{content:"\f50c"}.fa-galactic-senate:before{content:"\f50d"}.fa-gamepad:before{content:"\f11b"}.fa-gas-pump:before{content:"\f52f"}.fa-gavel:before{content:"\f0e3"}.fa-gem:before{content:"\f3a5"}.fa-genderless:before{content:"\f22d"}.fa-get-pocket:before{content:"\f265"}.fa-gg:before{content:"\f260"}.fa-gg-circle:before{content:"\f261"}.fa-ghost:before{content:"\f6e2"}.fa-gift:before{content:"\f06b"}.fa-gifts:before{content:"\f79c"}.fa-git:before{content:"\f1d3"}.fa-git-alt:before{content:"\f841"}.fa-git-square:before{content:"\f1d2"}.fa-github:before{content:"\f09b"}.fa-github-alt:before{content:"\f113"}.fa-github-square:before{content:"\f092"}.fa-gitkraken:before{content:"\f3a6"}.fa-gitlab:before{content:"\f296"}.fa-gitter:before{content:"\f426"}.fa-glass-cheers:before{content:"\f79f"}.fa-glass-martini:before{content:"\f000"}.fa-glass-martini-alt:before{content:"\f57b"}.fa-glass-whiskey:before{content:"\f7a0"}.fa-glasses:before{content:"\f530"}.fa-glide:before{content:"\f2a5"}.fa-glide-g:before{content:"\f2a6"}.fa-globe:before{content:"\f0ac"}.fa-globe-africa:before{content:"\f57c"}.fa-globe-americas:before{content:"\f57d"}.fa-globe-asia:before{content:"\f57e"}.fa-globe-europe:before{content:"\f7a2"}.fa-gofore:before{content:"\f3a7"}.fa-golf-ball:before{content:"\f450"}.fa-goodreads:before{content:"\f3a8"}.fa-goodreads-g:before{content:"\f3a9"}.fa-google:before{content:"\f1a0"}.fa-google-drive:before{content:"\f3aa"}.fa-google-pay:before{content:"\e079"}.fa-google-play:before{content:"\f3ab"}.fa-google-plus:before{content:"\f2b3"}.fa-google-plus-g:before{content:"\f0d5"}.fa-google-plus-square:before{content:"\f0d4"}.fa-google-wallet:before{content:"\f1ee"}.fa-gopuram:before{content:"\f664"}.fa-graduation-cap:before{content:"\f19d"}.fa-gratipay:before{content:"\f184"}.fa-grav:before{content:"\f2d6"}.fa-greater-than:before{content:"\f531"}.fa-greater-than-equal:before{content:"\f532"}.fa-grimace:before{content:"\f57f"}.fa-grin:before{content:"\f580"}.fa-grin-alt:before{content:"\f581"}.fa-grin-beam:before{content:"\f582"}.fa-grin-beam-sweat:before{content:"\f583"}.fa-grin-hearts:before{content:"\f584"}.fa-grin-squint:before{content:"\f585"}.fa-grin-squint-tears:before{content:"\f586"}.fa-grin-stars:before{content:"\f587"}.fa-grin-tears:before{content:"\f588"}.fa-grin-tongue:before{content:"\f589"}.fa-grin-tongue-squint:before{content:"\f58a"}.fa-grin-tongue-wink:before{content:"\f58b"}.fa-grin-wink:before{content:"\f58c"}.fa-grip-horizontal:before{content:"\f58d"}.fa-grip-lines:before{content:"\f7a4"}.fa-grip-lines-vertical:before{content:"\f7a5"}.fa-grip-vertical:before{content:"\f58e"}.fa-gripfire:before{content:"\f3ac"}.fa-grunt:before{content:"\f3ad"}.fa-guilded:before{content:"\e07e"}.fa-guitar:before{content:"\f7a6"}.fa-gulp:before{content:"\f3ae"}.fa-h-square:before{content:"\f0fd"}.fa-hacker-news:before{content:"\f1d4"}.fa-hacker-news-square:before{content:"\f3af"}.fa-hackerrank:before{content:"\f5f7"}.fa-hamburger:before{content:"\f805"}.fa-hammer:before{content:"\f6e3"}.fa-hamsa:before{content:"\f665"}.fa-hand-holding:before{content:"\f4bd"}.fa-hand-holding-heart:before{content:"\f4be"}.fa-hand-holding-medical:before{content:"\e05c"}.fa-hand-holding-usd:before{content:"\f4c0"}.fa-hand-holding-water:before{content:"\f4c1"}.fa-hand-lizard:before{content:"\f258"}.fa-hand-middle-finger:before{content:"\f806"}.fa-hand-paper:before{content:"\f256"}.fa-hand-peace:before{content:"\f25b"}.fa-hand-point-down:before{content:"\f0a7"}.fa-hand-point-left:before{content:"\f0a5"}.fa-hand-point-right:before{content:"\f0a4"}.fa-hand-point-up:before{content:"\f0a6"}.fa-hand-pointer:before{content:"\f25a"}.fa-hand-rock:before{content:"\f255"}.fa-hand-scissors:before{content:"\f257"}.fa-hand-sparkles:before{content:"\e05d"}.fa-hand-spock:before{content:"\f259"}.fa-hands:before{content:"\f4c2"}.fa-hands-helping:before{content:"\f4c4"}.fa-hands-wash:before{content:"\e05e"}.fa-handshake:before{content:"\f2b5"}.fa-handshake-alt-slash:before{content:"\e05f"}.fa-handshake-slash:before{content:"\e060"}.fa-hanukiah:before{content:"\f6e6"}.fa-hard-hat:before{content:"\f807"}.fa-hashtag:before{content:"\f292"}.fa-hat-cowboy:before{content:"\f8c0"}.fa-hat-cowboy-side:before{content:"\f8c1"}.fa-hat-wizard:before{content:"\f6e8"}.fa-hdd:before{content:"\f0a0"}.fa-head-side-cough:before{content:"\e061"}.fa-head-side-cough-slash:before{content:"\e062"}.fa-head-side-mask:before{content:"\e063"}.fa-head-side-virus:before{content:"\e064"}.fa-heading:before{content:"\f1dc"}.fa-headphones:before{content:"\f025"}.fa-headphones-alt:before{content:"\f58f"}.fa-headset:before{content:"\f590"}.fa-heart:before{content:"\f004"}.fa-heart-broken:before{content:"\f7a9"}.fa-heartbeat:before{content:"\f21e"}.fa-helicopter:before{content:"\f533"}.fa-highlighter:before{content:"\f591"}.fa-hiking:before{content:"\f6ec"}.fa-hippo:before{content:"\f6ed"}.fa-hips:before{content:"\f452"}.fa-hire-a-helper:before{content:"\f3b0"}.fa-history:before{content:"\f1da"}.fa-hive:before{content:"\e07f"}.fa-hockey-puck:before{content:"\f453"}.fa-holly-berry:before{content:"\f7aa"}.fa-home:before{content:"\f015"}.fa-hooli:before{content:"\f427"}.fa-hornbill:before{content:"\f592"}.fa-horse:before{content:"\f6f0"}.fa-horse-head:before{content:"\f7ab"}.fa-hospital:before{content:"\f0f8"}.fa-hospital-alt:before{content:"\f47d"}.fa-hospital-symbol:before{content:"\f47e"}.fa-hospital-user:before{content:"\f80d"}.fa-hot-tub:before{content:"\f593"}.fa-hotdog:before{content:"\f80f"}.fa-hotel:before{content:"\f594"}.fa-hotjar:before{content:"\f3b1"}.fa-hourglass:before{content:"\f254"}.fa-hourglass-end:before{content:"\f253"}.fa-hourglass-half:before{content:"\f252"}.fa-hourglass-start:before{content:"\f251"}.fa-house-damage:before{content:"\f6f1"}.fa-house-user:before{content:"\e065"}.fa-houzz:before{content:"\f27c"}.fa-hryvnia:before{content:"\f6f2"}.fa-html5:before{content:"\f13b"}.fa-hubspot:before{content:"\f3b2"}.fa-i-cursor:before{content:"\f246"}.fa-ice-cream:before{content:"\f810"}.fa-icicles:before{content:"\f7ad"}.fa-icons:before{content:"\f86d"}.fa-id-badge:before{content:"\f2c1"}.fa-id-card:before{content:"\f2c2"}.fa-id-card-alt:before{content:"\f47f"}.fa-ideal:before{content:"\e013"}.fa-igloo:before{content:"\f7ae"}.fa-image:before{content:"\f03e"}.fa-images:before{content:"\f302"}.fa-imdb:before{content:"\f2d8"}.fa-inbox:before{content:"\f01c"}.fa-indent:before{content:"\f03c"}.fa-industry:before{content:"\f275"}.fa-infinity:before{content:"\f534"}.fa-info:before{content:"\f129"}.fa-info-circle:before{content:"\f05a"}.fa-innosoft:before{content:"\e080"}.fa-instagram:before{content:"\f16d"}.fa-instagram-square:before{content:"\e055"}.fa-instalod:before{content:"\e081"}.fa-intercom:before{content:"\f7af"}.fa-internet-explorer:before{content:"\f26b"}.fa-invision:before{content:"\f7b0"}.fa-ioxhost:before{content:"\f208"}.fa-italic:before{content:"\f033"}.fa-itch-io:before{content:"\f83a"}.fa-itunes:before{content:"\f3b4"}.fa-itunes-note:before{content:"\f3b5"}.fa-java:before{content:"\f4e4"}.fa-jedi:before{content:"\f669"}.fa-jedi-order:before{content:"\f50e"}.fa-jenkins:before{content:"\f3b6"}.fa-jira:before{content:"\f7b1"}.fa-joget:before{content:"\f3b7"}.fa-joint:before{content:"\f595"}.fa-joomla:before{content:"\f1aa"}.fa-journal-whills:before{content:"\f66a"}.fa-js:before{content:"\f3b8"}.fa-js-square:before{content:"\f3b9"}.fa-jsfiddle:before{content:"\f1cc"}.fa-kaaba:before{content:"\f66b"}.fa-kaggle:before{content:"\f5fa"}.fa-key:before{content:"\f084"}.fa-keybase:before{content:"\f4f5"}.fa-keyboard:before{content:"\f11c"}.fa-keycdn:before{content:"\f3ba"}.fa-khanda:before{content:"\f66d"}.fa-kickstarter:before{content:"\f3bb"}.fa-kickstarter-k:before{content:"\f3bc"}.fa-kiss:before{content:"\f596"}.fa-kiss-beam:before{content:"\f597"}.fa-kiss-wink-heart:before{content:"\f598"}.fa-kiwi-bird:before{content:"\f535"}.fa-korvue:before{content:"\f42f"}.fa-landmark:before{content:"\f66f"}.fa-language:before{content:"\f1ab"}.fa-laptop:before{content:"\f109"}.fa-laptop-code:before{content:"\f5fc"}.fa-laptop-house:before{content:"\e066"}.fa-laptop-medical:before{content:"\f812"}.fa-laravel:before{content:"\f3bd"}.fa-lastfm:before{content:"\f202"}.fa-lastfm-square:before{content:"\f203"}.fa-laugh:before{content:"\f599"}.fa-laugh-beam:before{content:"\f59a"}.fa-laugh-squint:before{content:"\f59b"}.fa-laugh-wink:before{content:"\f59c"}.fa-layer-group:before{content:"\f5fd"}.fa-leaf:before{content:"\f06c"}.fa-leanpub:before{content:"\f212"}.fa-lemon:before{content:"\f094"}.fa-less:before{content:"\f41d"}.fa-less-than:before{content:"\f536"}.fa-less-than-equal:before{content:"\f537"}.fa-level-down-alt:before{content:"\f3be"}.fa-level-up-alt:before{content:"\f3bf"}.fa-life-ring:before{content:"\f1cd"}.fa-lightbulb:before{content:"\f0eb"}.fa-line:before{content:"\f3c0"}.fa-link:before{content:"\f0c1"}.fa-linkedin:before{content:"\f08c"}.fa-linkedin-in:before{content:"\f0e1"}.fa-linode:before{content:"\f2b8"}.fa-linux:before{content:"\f17c"}.fa-lira-sign:before{content:"\f195"}.fa-list:before{content:"\f03a"}.fa-list-alt:before{content:"\f022"}.fa-list-ol:before{content:"\f0cb"}.fa-list-ul:before{content:"\f0ca"}.fa-location-arrow:before{content:"\f124"}.fa-lock:before{content:"\f023"}.fa-lock-open:before{content:"\f3c1"}.fa-long-arrow-alt-down:before{content:"\f309"}.fa-long-arrow-alt-left:before{content:"\f30a"}.fa-long-arrow-alt-right:before{content:"\f30b"}.fa-long-arrow-alt-up:before{content:"\f30c"}.fa-low-vision:before{content:"\f2a8"}.fa-luggage-cart:before{content:"\f59d"}.fa-lungs:before{content:"\f604"}.fa-lungs-virus:before{content:"\e067"}.fa-lyft:before{content:"\f3c3"}.fa-magento:before{content:"\f3c4"}.fa-magic:before{content:"\f0d0"}.fa-magnet:before{content:"\f076"}.fa-mail-bulk:before{content:"\f674"}.fa-mailchimp:before{content:"\f59e"}.fa-male:before{content:"\f183"}.fa-mandalorian:before{content:"\f50f"}.fa-map:before{content:"\f279"}.fa-map-marked:before{content:"\f59f"}.fa-map-marked-alt:before{content:"\f5a0"}.fa-map-marker:before{content:"\f041"}.fa-map-marker-alt:before{content:"\f3c5"}.fa-map-pin:before{content:"\f276"}.fa-map-signs:before{content:"\f277"}.fa-markdown:before{content:"\f60f"}.fa-marker:before{content:"\f5a1"}.fa-mars:before{content:"\f222"}.fa-mars-double:before{content:"\f227"}.fa-mars-stroke:before{content:"\f229"}.fa-mars-stroke-h:before{content:"\f22b"}.fa-mars-stroke-v:before{content:"\f22a"}.fa-mask:before{content:"\f6fa"}.fa-mastodon:before{content:"\f4f6"}.fa-maxcdn:before{content:"\f136"}.fa-mdb:before{content:"\f8ca"}.fa-medal:before{content:"\f5a2"}.fa-medapps:before{content:"\f3c6"}.fa-medium:before{content:"\f23a"}.fa-medium-m:before{content:"\f3c7"}.fa-medkit:before{content:"\f0fa"}.fa-medrt:before{content:"\f3c8"}.fa-meetup:before{content:"\f2e0"}.fa-megaport:before{content:"\f5a3"}.fa-meh:before{content:"\f11a"}.fa-meh-blank:before{content:"\f5a4"}.fa-meh-rolling-eyes:before{content:"\f5a5"}.fa-memory:before{content:"\f538"}.fa-mendeley:before{content:"\f7b3"}.fa-menorah:before{content:"\f676"}.fa-mercury:before{content:"\f223"}.fa-meteor:before{content:"\f753"}.fa-microblog:before{content:"\e01a"}.fa-microchip:before{content:"\f2db"}.fa-microphone:before{content:"\f130"}.fa-microphone-alt:before{content:"\f3c9"}.fa-microphone-alt-slash:before{content:"\f539"}.fa-microphone-slash:before{content:"\f131"}.fa-microscope:before{content:"\f610"}.fa-microsoft:before{content:"\f3ca"}.fa-minus:before{content:"\f068"}.fa-minus-circle:before{content:"\f056"}.fa-minus-square:before{content:"\f146"}.fa-mitten:before{content:"\f7b5"}.fa-mix:before{content:"\f3cb"}.fa-mixcloud:before{content:"\f289"}.fa-mixer:before{content:"\e056"}.fa-mizuni:before{content:"\f3cc"}.fa-mobile:before{content:"\f10b"}.fa-mobile-alt:before{content:"\f3cd"}.fa-modx:before{content:"\f285"}.fa-monero:before{content:"\f3d0"}.fa-money-bill:before{content:"\f0d6"}.fa-money-bill-alt:before{content:"\f3d1"}.fa-money-bill-wave:before{content:"\f53a"}.fa-money-bill-wave-alt:before{content:"\f53b"}.fa-money-check:before{content:"\f53c"}.fa-money-check-alt:before{content:"\f53d"}.fa-monument:before{content:"\f5a6"}.fa-moon:before{content:"\f186"}.fa-mortar-pestle:before{content:"\f5a7"}.fa-mosque:before{content:"\f678"}.fa-motorcycle:before{content:"\f21c"}.fa-mountain:before{content:"\f6fc"}.fa-mouse:before{content:"\f8cc"}.fa-mouse-pointer:before{content:"\f245"}.fa-mug-hot:before{content:"\f7b6"}.fa-music:before{content:"\f001"}.fa-napster:before{content:"\f3d2"}.fa-neos:before{content:"\f612"}.fa-network-wired:before{content:"\f6ff"}.fa-neuter:before{content:"\f22c"}.fa-newspaper:before{content:"\f1ea"}.fa-nimblr:before{content:"\f5a8"}.fa-node:before{content:"\f419"}.fa-node-js:before{content:"\f3d3"}.fa-not-equal:before{content:"\f53e"}.fa-notes-medical:before{content:"\f481"}.fa-npm:before{content:"\f3d4"}.fa-ns8:before{content:"\f3d5"}.fa-nutritionix:before{content:"\f3d6"}.fa-object-group:before{content:"\f247"}.fa-object-ungroup:before{content:"\f248"}.fa-octopus-deploy:before{content:"\e082"}.fa-odnoklassniki:before{content:"\f263"}.fa-odnoklassniki-square:before{content:"\f264"}.fa-oil-can:before{content:"\f613"}.fa-old-republic:before{content:"\f510"}.fa-om:before{content:"\f679"}.fa-opencart:before{content:"\f23d"}.fa-openid:before{content:"\f19b"}.fa-opera:before{content:"\f26a"}.fa-optin-monster:before{content:"\f23c"}.fa-orcid:before{content:"\f8d2"}.fa-osi:before{content:"\f41a"}.fa-otter:before{content:"\f700"}.fa-outdent:before{content:"\f03b"}.fa-page4:before{content:"\f3d7"}.fa-pagelines:before{content:"\f18c"}.fa-pager:before{content:"\f815"}.fa-paint-brush:before{content:"\f1fc"}.fa-paint-roller:before{content:"\f5aa"}.fa-palette:before{content:"\f53f"}.fa-palfed:before{content:"\f3d8"}.fa-pallet:before{content:"\f482"}.fa-paper-plane:before{content:"\f1d8"}.fa-paperclip:before{content:"\f0c6"}.fa-parachute-box:before{content:"\f4cd"}.fa-paragraph:before{content:"\f1dd"}.fa-parking:before{content:"\f540"}.fa-passport:before{content:"\f5ab"}.fa-pastafarianism:before{content:"\f67b"}.fa-paste:before{content:"\f0ea"}.fa-patreon:before{content:"\f3d9"}.fa-pause:before{content:"\f04c"}.fa-pause-circle:before{content:"\f28b"}.fa-paw:before{content:"\f1b0"}.fa-paypal:before{content:"\f1ed"}.fa-peace:before{content:"\f67c"}.fa-pen:before{content:"\f304"}.fa-pen-alt:before{content:"\f305"}.fa-pen-fancy:before{content:"\f5ac"}.fa-pen-nib:before{content:"\f5ad"}.fa-pen-square:before{content:"\f14b"}.fa-pencil-alt:before{content:"\f303"}.fa-pencil-ruler:before{content:"\f5ae"}.fa-penny-arcade:before{content:"\f704"}.fa-people-arrows:before{content:"\e068"}.fa-people-carry:before{content:"\f4ce"}.fa-pepper-hot:before{content:"\f816"}.fa-perbyte:before{content:"\e083"}.fa-percent:before{content:"\f295"}.fa-percentage:before{content:"\f541"}.fa-periscope:before{content:"\f3da"}.fa-person-booth:before{content:"\f756"}.fa-phabricator:before{content:"\f3db"}.fa-phoenix-framework:before{content:"\f3dc"}.fa-phoenix-squadron:before{content:"\f511"}.fa-phone:before{content:"\f095"}.fa-phone-alt:before{content:"\f879"}.fa-phone-slash:before{content:"\f3dd"}.fa-phone-square:before{content:"\f098"}.fa-phone-square-alt:before{content:"\f87b"}.fa-phone-volume:before{content:"\f2a0"}.fa-photo-video:before{content:"\f87c"}.fa-php:before{content:"\f457"}.fa-pied-piper:before{content:"\f2ae"}.fa-pied-piper-alt:before{content:"\f1a8"}.fa-pied-piper-hat:before{content:"\f4e5"}.fa-pied-piper-pp:before{content:"\f1a7"}.fa-pied-piper-square:before{content:"\e01e"}.fa-piggy-bank:before{content:"\f4d3"}.fa-pills:before{content:"\f484"}.fa-pinterest:before{content:"\f0d2"}.fa-pinterest-p:before{content:"\f231"}.fa-pinterest-square:before{content:"\f0d3"}.fa-pizza-slice:before{content:"\f818"}.fa-place-of-worship:before{content:"\f67f"}.fa-plane:before{content:"\f072"}.fa-plane-arrival:before{content:"\f5af"}.fa-plane-departure:before{content:"\f5b0"}.fa-plane-slash:before{content:"\e069"}.fa-play:before{content:"\f04b"}.fa-play-circle:before{content:"\f144"}.fa-playstation:before{content:"\f3df"}.fa-plug:before{content:"\f1e6"}.fa-plus:before{content:"\f067"}.fa-plus-circle:before{content:"\f055"}.fa-plus-square:before{content:"\f0fe"}.fa-podcast:before{content:"\f2ce"}.fa-poll:before{content:"\f681"}.fa-poll-h:before{content:"\f682"}.fa-poo:before{content:"\f2fe"}.fa-poo-storm:before{content:"\f75a"}.fa-poop:before{content:"\f619"}.fa-portrait:before{content:"\f3e0"}.fa-pound-sign:before{content:"\f154"}.fa-power-off:before{content:"\f011"}.fa-pray:before{content:"\f683"}.fa-praying-hands:before{content:"\f684"}.fa-prescription:before{content:"\f5b1"}.fa-prescription-bottle:before{content:"\f485"}.fa-prescription-bottle-alt:before{content:"\f486"}.fa-print:before{content:"\f02f"}.fa-procedures:before{content:"\f487"}.fa-product-hunt:before{content:"\f288"}.fa-project-diagram:before{content:"\f542"}.fa-pump-medical:before{content:"\e06a"}.fa-pump-soap:before{content:"\e06b"}.fa-pushed:before{content:"\f3e1"}.fa-puzzle-piece:before{content:"\f12e"}.fa-python:before{content:"\f3e2"}.fa-qq:before{content:"\f1d6"}.fa-qrcode:before{content:"\f029"}.fa-question:before{content:"\f128"}.fa-question-circle:before{content:"\f059"}.fa-quidditch:before{content:"\f458"}.fa-quinscape:before{content:"\f459"}.fa-quora:before{content:"\f2c4"}.fa-quote-left:before{content:"\f10d"}.fa-quote-right:before{content:"\f10e"}.fa-quran:before{content:"\f687"}.fa-r-project:before{content:"\f4f7"}.fa-radiation:before{content:"\f7b9"}.fa-radiation-alt:before{content:"\f7ba"}.fa-rainbow:before{content:"\f75b"}.fa-random:before{content:"\f074"}.fa-raspberry-pi:before{content:"\f7bb"}.fa-ravelry:before{content:"\f2d9"}.fa-react:before{content:"\f41b"}.fa-reacteurope:before{content:"\f75d"}.fa-readme:before{content:"\f4d5"}.fa-rebel:before{content:"\f1d0"}.fa-receipt:before{content:"\f543"}.fa-record-vinyl:before{content:"\f8d9"}.fa-recycle:before{content:"\f1b8"}.fa-red-river:before{content:"\f3e3"}.fa-reddit:before{content:"\f1a1"}.fa-reddit-alien:before{content:"\f281"}.fa-reddit-square:before{content:"\f1a2"}.fa-redhat:before{content:"\f7bc"}.fa-redo:before{content:"\f01e"}.fa-redo-alt:before{content:"\f2f9"}.fa-registered:before{content:"\f25d"}.fa-remove-format:before{content:"\f87d"}.fa-renren:before{content:"\f18b"}.fa-reply:before{content:"\f3e5"}.fa-reply-all:before{content:"\f122"}.fa-replyd:before{content:"\f3e6"}.fa-republican:before{content:"\f75e"}.fa-researchgate:before{content:"\f4f8"}.fa-resolving:before{content:"\f3e7"}.fa-restroom:before{content:"\f7bd"}.fa-retweet:before{content:"\f079"}.fa-rev:before{content:"\f5b2"}.fa-ribbon:before{content:"\f4d6"}.fa-ring:before{content:"\f70b"}.fa-road:before{content:"\f018"}.fa-robot:before{content:"\f544"}.fa-rocket:before{content:"\f135"}.fa-rocketchat:before{content:"\f3e8"}.fa-rockrms:before{content:"\f3e9"}.fa-route:before{content:"\f4d7"}.fa-rss:before{content:"\f09e"}.fa-rss-square:before{content:"\f143"}.fa-ruble-sign:before{content:"\f158"}.fa-ruler:before{content:"\f545"}.fa-ruler-combined:before{content:"\f546"}.fa-ruler-horizontal:before{content:"\f547"}.fa-ruler-vertical:before{content:"\f548"}.fa-running:before{content:"\f70c"}.fa-rupee-sign:before{content:"\f156"}.fa-rust:before{content:"\e07a"}.fa-sad-cry:before{content:"\f5b3"}.fa-sad-tear:before{content:"\f5b4"}.fa-safari:before{content:"\f267"}.fa-salesforce:before{content:"\f83b"}.fa-sass:before{content:"\f41e"}.fa-satellite:before{content:"\f7bf"}.fa-satellite-dish:before{content:"\f7c0"}.fa-save:before{content:"\f0c7"}.fa-schlix:before{content:"\f3ea"}.fa-school:before{content:"\f549"}.fa-screwdriver:before{content:"\f54a"}.fa-scribd:before{content:"\f28a"}.fa-scroll:before{content:"\f70e"}.fa-sd-card:before{content:"\f7c2"}.fa-search:before{content:"\f002"}.fa-search-dollar:before{content:"\f688"}.fa-search-location:before{content:"\f689"}.fa-search-minus:before{content:"\f010"}.fa-search-plus:before{content:"\f00e"}.fa-searchengin:before{content:"\f3eb"}.fa-seedling:before{content:"\f4d8"}.fa-sellcast:before{content:"\f2da"}.fa-sellsy:before{content:"\f213"}.fa-server:before{content:"\f233"}.fa-servicestack:before{content:"\f3ec"}.fa-shapes:before{content:"\f61f"}.fa-share:before{content:"\f064"}.fa-share-alt:before{content:"\f1e0"}.fa-share-alt-square:before{content:"\f1e1"}.fa-share-square:before{content:"\f14d"}.fa-shekel-sign:before{content:"\f20b"}.fa-shield-alt:before{content:"\f3ed"}.fa-shield-virus:before{content:"\e06c"}.fa-ship:before{content:"\f21a"}.fa-shipping-fast:before{content:"\f48b"}.fa-shirtsinbulk:before{content:"\f214"}.fa-shoe-prints:before{content:"\f54b"}.fa-shopify:before{content:"\e057"}.fa-shopping-bag:before{content:"\f290"}.fa-shopping-basket:before{content:"\f291"}.fa-shopping-cart:before{content:"\f07a"}.fa-shopware:before{content:"\f5b5"}.fa-shower:before{content:"\f2cc"}.fa-shuttle-van:before{content:"\f5b6"}.fa-sign:before{content:"\f4d9"}.fa-sign-in-alt:before{content:"\f2f6"}.fa-sign-language:before{content:"\f2a7"}.fa-sign-out-alt:before{content:"\f2f5"}.fa-signal:before{content:"\f012"}.fa-signature:before{content:"\f5b7"}.fa-sim-card:before{content:"\f7c4"}.fa-simplybuilt:before{content:"\f215"}.fa-sink:before{content:"\e06d"}.fa-sistrix:before{content:"\f3ee"}.fa-sitemap:before{content:"\f0e8"}.fa-sith:before{content:"\f512"}.fa-skating:before{content:"\f7c5"}.fa-sketch:before{content:"\f7c6"}.fa-skiing:before{content:"\f7c9"}.fa-skiing-nordic:before{content:"\f7ca"}.fa-skull:before{content:"\f54c"}.fa-skull-crossbones:before{content:"\f714"}.fa-skyatlas:before{content:"\f216"}.fa-skype:before{content:"\f17e"}.fa-slack:before{content:"\f198"}.fa-slack-hash:before{content:"\f3ef"}.fa-slash:before{content:"\f715"}.fa-sleigh:before{content:"\f7cc"}.fa-sliders-h:before{content:"\f1de"}.fa-slideshare:before{content:"\f1e7"}.fa-smile:before{content:"\f118"}.fa-smile-beam:before{content:"\f5b8"}.fa-smile-wink:before{content:"\f4da"}.fa-smog:before{content:"\f75f"}.fa-smoking:before{content:"\f48d"}.fa-smoking-ban:before{content:"\f54d"}.fa-sms:before{content:"\f7cd"}.fa-snapchat:before{content:"\f2ab"}.fa-snapchat-ghost:before{content:"\f2ac"}.fa-snapchat-square:before{content:"\f2ad"}.fa-snowboarding:before{content:"\f7ce"}.fa-snowflake:before{content:"\f2dc"}.fa-snowman:before{content:"\f7d0"}.fa-snowplow:before{content:"\f7d2"}.fa-soap:before{content:"\e06e"}.fa-socks:before{content:"\f696"}.fa-solar-panel:before{content:"\f5ba"}.fa-sort:before{content:"\f0dc"}.fa-sort-alpha-down:before{content:"\f15d"}.fa-sort-alpha-down-alt:before{content:"\f881"}.fa-sort-alpha-up:before{content:"\f15e"}.fa-sort-alpha-up-alt:before{content:"\f882"}.fa-sort-amount-down:before{content:"\f160"}.fa-sort-amount-down-alt:before{content:"\f884"}.fa-sort-amount-up:before{content:"\f161"}.fa-sort-amount-up-alt:before{content:"\f885"}.fa-sort-down:before{content:"\f0dd"}.fa-sort-numeric-down:before{content:"\f162"}.fa-sort-numeric-down-alt:before{content:"\f886"}.fa-sort-numeric-up:before{content:"\f163"}.fa-sort-numeric-up-alt:before{content:"\f887"}.fa-sort-up:before{content:"\f0de"}.fa-soundcloud:before{content:"\f1be"}.fa-sourcetree:before{content:"\f7d3"}.fa-spa:before{content:"\f5bb"}.fa-space-shuttle:before{content:"\f197"}.fa-speakap:before{content:"\f3f3"}.fa-speaker-deck:before{content:"\f83c"}.fa-spell-check:before{content:"\f891"}.fa-spider:before{content:"\f717"}.fa-spinner:before{content:"\f110"}.fa-splotch:before{content:"\f5bc"}.fa-spotify:before{content:"\f1bc"}.fa-spray-can:before{content:"\f5bd"}.fa-square:before{content:"\f0c8"}.fa-square-full:before{content:"\f45c"}.fa-square-root-alt:before{content:"\f698"}.fa-squarespace:before{content:"\f5be"}.fa-stack-exchange:before{content:"\f18d"}.fa-stack-overflow:before{content:"\f16c"}.fa-stackpath:before{content:"\f842"}.fa-stamp:before{content:"\f5bf"}.fa-star:before{content:"\f005"}.fa-star-and-crescent:before{content:"\f699"}.fa-star-half:before{content:"\f089"}.fa-star-half-alt:before{content:"\f5c0"}.fa-star-of-david:before{content:"\f69a"}.fa-star-of-life:before{content:"\f621"}.fa-staylinked:before{content:"\f3f5"}.fa-steam:before{content:"\f1b6"}.fa-steam-square:before{content:"\f1b7"}.fa-steam-symbol:before{content:"\f3f6"}.fa-step-backward:before{content:"\f048"}.fa-step-forward:before{content:"\f051"}.fa-stethoscope:before{content:"\f0f1"}.fa-sticker-mule:before{content:"\f3f7"}.fa-sticky-note:before{content:"\f249"}.fa-stop:before{content:"\f04d"}.fa-stop-circle:before{content:"\f28d"}.fa-stopwatch:before{content:"\f2f2"}.fa-stopwatch-20:before{content:"\e06f"}.fa-store:before{content:"\f54e"}.fa-store-alt:before{content:"\f54f"}.fa-store-alt-slash:before{content:"\e070"}.fa-store-slash:before{content:"\e071"}.fa-strava:before{content:"\f428"}.fa-stream:before{content:"\f550"}.fa-street-view:before{content:"\f21d"}.fa-strikethrough:before{content:"\f0cc"}.fa-stripe:before{content:"\f429"}.fa-stripe-s:before{content:"\f42a"}.fa-stroopwafel:before{content:"\f551"}.fa-studiovinari:before{content:"\f3f8"}.fa-stumbleupon:before{content:"\f1a4"}.fa-stumbleupon-circle:before{content:"\f1a3"}.fa-subscript:before{content:"\f12c"}.fa-subway:before{content:"\f239"}.fa-suitcase:before{content:"\f0f2"}.fa-suitcase-rolling:before{content:"\f5c1"}.fa-sun:before{content:"\f185"}.fa-superpowers:before{content:"\f2dd"}.fa-superscript:before{content:"\f12b"}.fa-supple:before{content:"\f3f9"}.fa-surprise:before{content:"\f5c2"}.fa-suse:before{content:"\f7d6"}.fa-swatchbook:before{content:"\f5c3"}.fa-swift:before{content:"\f8e1"}.fa-swimmer:before{content:"\f5c4"}.fa-swimming-pool:before{content:"\f5c5"}.fa-symfony:before{content:"\f83d"}.fa-synagogue:before{content:"\f69b"}.fa-sync:before{content:"\f021"}.fa-sync-alt:before{content:"\f2f1"}.fa-syringe:before{content:"\f48e"}.fa-table:before{content:"\f0ce"}.fa-table-tennis:before{content:"\f45d"}.fa-tablet:before{content:"\f10a"}.fa-tablet-alt:before{content:"\f3fa"}.fa-tablets:before{content:"\f490"}.fa-tachometer-alt:before{content:"\f3fd"}.fa-tag:before{content:"\f02b"}.fa-tags:before{content:"\f02c"}.fa-tape:before{content:"\f4db"}.fa-tasks:before{content:"\f0ae"}.fa-taxi:before{content:"\f1ba"}.fa-teamspeak:before{content:"\f4f9"}.fa-teeth:before{content:"\f62e"}.fa-teeth-open:before{content:"\f62f"}.fa-telegram:before{content:"\f2c6"}.fa-telegram-plane:before{content:"\f3fe"}.fa-temperature-high:before{content:"\f769"}.fa-temperature-low:before{content:"\f76b"}.fa-tencent-weibo:before{content:"\f1d5"}.fa-tenge:before{content:"\f7d7"}.fa-terminal:before{content:"\f120"}.fa-text-height:before{content:"\f034"}.fa-text-width:before{content:"\f035"}.fa-th:before{content:"\f00a"}.fa-th-large:before{content:"\f009"}.fa-th-list:before{content:"\f00b"}.fa-the-red-yeti:before{content:"\f69d"}.fa-theater-masks:before{content:"\f630"}.fa-themeco:before{content:"\f5c6"}.fa-themeisle:before{content:"\f2b2"}.fa-thermometer:before{content:"\f491"}.fa-thermometer-empty:before{content:"\f2cb"}.fa-thermometer-full:before{content:"\f2c7"}.fa-thermometer-half:before{content:"\f2c9"}.fa-thermometer-quarter:before{content:"\f2ca"}.fa-thermometer-three-quarters:before{content:"\f2c8"}.fa-think-peaks:before{content:"\f731"}.fa-thumbs-down:before{content:"\f165"}.fa-thumbs-up:before{content:"\f164"}.fa-thumbtack:before{content:"\f08d"}.fa-ticket-alt:before{content:"\f3ff"}.fa-tiktok:before{content:"\e07b"}.fa-times:before{content:"\f00d"}.fa-times-circle:before{content:"\f057"}.fa-tint:before{content:"\f043"}.fa-tint-slash:before{content:"\f5c7"}.fa-tired:before{content:"\f5c8"}.fa-toggle-off:before{content:"\f204"}.fa-toggle-on:before{content:"\f205"}.fa-toilet:before{content:"\f7d8"}.fa-toilet-paper:before{content:"\f71e"}.fa-toilet-paper-slash:before{content:"\e072"}.fa-toolbox:before{content:"\f552"}.fa-tools:before{content:"\f7d9"}.fa-tooth:before{content:"\f5c9"}.fa-torah:before{content:"\f6a0"}.fa-torii-gate:before{content:"\f6a1"}.fa-tractor:before{content:"\f722"}.fa-trade-federation:before{content:"\f513"}.fa-trademark:before{content:"\f25c"}.fa-traffic-light:before{content:"\f637"}.fa-trailer:before{content:"\e041"}.fa-train:before{content:"\f238"}.fa-tram:before{content:"\f7da"}.fa-transgender:before{content:"\f224"}.fa-transgender-alt:before{content:"\f225"}.fa-trash:before{content:"\f1f8"}.fa-trash-alt:before{content:"\f2ed"}.fa-trash-restore:before{content:"\f829"}.fa-trash-restore-alt:before{content:"\f82a"}.fa-tree:before{content:"\f1bb"}.fa-trello:before{content:"\f181"}.fa-trophy:before{content:"\f091"}.fa-truck:before{content:"\f0d1"}.fa-truck-loading:before{content:"\f4de"}.fa-truck-monster:before{content:"\f63b"}.fa-truck-moving:before{content:"\f4df"}.fa-truck-pickup:before{content:"\f63c"}.fa-tshirt:before{content:"\f553"}.fa-tty:before{content:"\f1e4"}.fa-tumblr:before{content:"\f173"}.fa-tumblr-square:before{content:"\f174"}.fa-tv:before{content:"\f26c"}.fa-twitch:before{content:"\f1e8"}.fa-twitter:before{content:"\f099"}.fa-twitter-square:before{content:"\f081"}.fa-typo3:before{content:"\f42b"}.fa-uber:before{content:"\f402"}.fa-ubuntu:before{content:"\f7df"}.fa-uikit:before{content:"\f403"}.fa-umbraco:before{content:"\f8e8"}.fa-umbrella:before{content:"\f0e9"}.fa-umbrella-beach:before{content:"\f5ca"}.fa-uncharted:before{content:"\e084"}.fa-underline:before{content:"\f0cd"}.fa-undo:before{content:"\f0e2"}.fa-undo-alt:before{content:"\f2ea"}.fa-uniregistry:before{content:"\f404"}.fa-unity:before{content:"\e049"}.fa-universal-access:before{content:"\f29a"}.fa-university:before{content:"\f19c"}.fa-unlink:before{content:"\f127"}.fa-unlock:before{content:"\f09c"}.fa-unlock-alt:before{content:"\f13e"}.fa-unsplash:before{content:"\e07c"}.fa-untappd:before{content:"\f405"}.fa-upload:before{content:"\f093"}.fa-ups:before{content:"\f7e0"}.fa-usb:before{content:"\f287"}.fa-user:before{content:"\f007"}.fa-user-alt:before{content:"\f406"}.fa-user-alt-slash:before{content:"\f4fa"}.fa-user-astronaut:before{content:"\f4fb"}.fa-user-check:before{content:"\f4fc"}.fa-user-circle:before{content:"\f2bd"}.fa-user-clock:before{content:"\f4fd"}.fa-user-cog:before{content:"\f4fe"}.fa-user-edit:before{content:"\f4ff"}.fa-user-friends:before{content:"\f500"}.fa-user-graduate:before{content:"\f501"}.fa-user-injured:before{content:"\f728"}.fa-user-lock:before{content:"\f502"}.fa-user-md:before{content:"\f0f0"}.fa-user-minus:before{content:"\f503"}.fa-user-ninja:before{content:"\f504"}.fa-user-nurse:before{content:"\f82f"}.fa-user-plus:before{content:"\f234"}.fa-user-secret:before{content:"\f21b"}.fa-user-shield:before{content:"\f505"}.fa-user-slash:before{content:"\f506"}.fa-user-tag:before{content:"\f507"}.fa-user-tie:before{content:"\f508"}.fa-user-times:before{content:"\f235"}.fa-users:before{content:"\f0c0"}.fa-users-cog:before{content:"\f509"}.fa-users-slash:before{content:"\e073"}.fa-usps:before{content:"\f7e1"}.fa-ussunnah:before{content:"\f407"}.fa-utensil-spoon:before{content:"\f2e5"}.fa-utensils:before{content:"\f2e7"}.fa-vaadin:before{content:"\f408"}.fa-vector-square:before{content:"\f5cb"}.fa-venus:before{content:"\f221"}.fa-venus-double:before{content:"\f226"}.fa-venus-mars:before{content:"\f228"}.fa-vest:before{content:"\e085"}.fa-vest-patches:before{content:"\e086"}.fa-viacoin:before{content:"\f237"}.fa-viadeo:before{content:"\f2a9"}.fa-viadeo-square:before{content:"\f2aa"}.fa-vial:before{content:"\f492"}.fa-vials:before{content:"\f493"}.fa-viber:before{content:"\f409"}.fa-video:before{content:"\f03d"}.fa-video-slash:before{content:"\f4e2"}.fa-vihara:before{content:"\f6a7"}.fa-vimeo:before{content:"\f40a"}.fa-vimeo-square:before{content:"\f194"}.fa-vimeo-v:before{content:"\f27d"}.fa-vine:before{content:"\f1ca"}.fa-virus:before{content:"\e074"}.fa-virus-slash:before{content:"\e075"}.fa-viruses:before{content:"\e076"}.fa-vk:before{content:"\f189"}.fa-vnv:before{content:"\f40b"}.fa-voicemail:before{content:"\f897"}.fa-volleyball-ball:before{content:"\f45f"}.fa-volume-down:before{content:"\f027"}.fa-volume-mute:before{content:"\f6a9"}.fa-volume-off:before{content:"\f026"}.fa-volume-up:before{content:"\f028"}.fa-vote-yea:before{content:"\f772"}.fa-vr-cardboard:before{content:"\f729"}.fa-vuejs:before{content:"\f41f"}.fa-walking:before{content:"\f554"}.fa-wallet:before{content:"\f555"}.fa-warehouse:before{content:"\f494"}.fa-watchman-monitoring:before{content:"\e087"}.fa-water:before{content:"\f773"}.fa-wave-square:before{content:"\f83e"}.fa-waze:before{content:"\f83f"}.fa-weebly:before{content:"\f5cc"}.fa-weibo:before{content:"\f18a"}.fa-weight:before{content:"\f496"}.fa-weight-hanging:before{content:"\f5cd"}.fa-weixin:before{content:"\f1d7"}.fa-whatsapp:before{content:"\f232"}.fa-whatsapp-square:before{content:"\f40c"}.fa-wheelchair:before{content:"\f193"}.fa-whmcs:before{content:"\f40d"}.fa-wifi:before{content:"\f1eb"}.fa-wikipedia-w:before{content:"\f266"}.fa-wind:before{content:"\f72e"}.fa-window-close:before{content:"\f410"}.fa-window-maximize:before{content:"\f2d0"}.fa-window-minimize:before{content:"\f2d1"}.fa-window-restore:before{content:"\f2d2"}.fa-windows:before{content:"\f17a"}.fa-wine-bottle:before{content:"\f72f"}.fa-wine-glass:before{content:"\f4e3"}.fa-wine-glass-alt:before{content:"\f5ce"}.fa-wix:before{content:"\f5cf"}.fa-wizards-of-the-coast:before{content:"\f730"}.fa-wodu:before{content:"\e088"}.fa-wolf-pack-battalion:before{content:"\f514"}.fa-won-sign:before{content:"\f159"}.fa-wordpress:before{content:"\f19a"}.fa-wordpress-simple:before{content:"\f411"}.fa-wpbeginner:before{content:"\f297"}.fa-wpexplorer:before{content:"\f2de"}.fa-wpforms:before{content:"\f298"}.fa-wpressr:before{content:"\f3e4"}.fa-wrench:before{content:"\f0ad"}.fa-x-ray:before{content:"\f497"}.fa-xbox:before{content:"\f412"}.fa-xing:before{content:"\f168"}.fa-xing-square:before{content:"\f169"}.fa-y-combinator:before{content:"\f23b"}.fa-yahoo:before{content:"\f19e"}.fa-yammer:before{content:"\f840"}.fa-yandex:before{content:"\f413"}.fa-yandex-international:before{content:"\f414"}.fa-yarn:before{content:"\f7e3"}.fa-yelp:before{content:"\f1e9"}.fa-yen-sign:before{content:"\f157"}.fa-yin-yang:before{content:"\f6ad"}.fa-yoast:before{content:"\f2b1"}.fa-youtube:before{content:"\f167"}.fa-youtube-square:before{content:"\f431"}.fa-zhihu:before{content:"\f63f"}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.css new file mode 100644 index 0000000..6f45057 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.css @@ -0,0 +1,15 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 400; + font-display: block; + src: url("../webfonts/fa-regular-400.eot"); + src: url("../webfonts/fa-regular-400.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-regular-400.woff2") format("woff2"), url("../webfonts/fa-regular-400.woff") format("woff"), url("../webfonts/fa-regular-400.ttf") format("truetype"), url("../webfonts/fa-regular-400.svg#fontawesome") format("svg"); } + +.far { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.min.css new file mode 100644 index 0000000..21881d5 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/regular.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:400;font-display:block;src:url(../webfonts/fa-regular-400.eot);src:url(../webfonts/fa-regular-400.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-regular-400.woff2) format("woff2"),url(../webfonts/fa-regular-400.woff) format("woff"),url(../webfonts/fa-regular-400.ttf) format("truetype"),url(../webfonts/fa-regular-400.svg#fontawesome) format("svg")}.far{font-family:"Font Awesome 5 Free";font-weight:400} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.css new file mode 100644 index 0000000..604e755 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.css @@ -0,0 +1,16 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face { + font-family: 'Font Awesome 5 Free'; + font-style: normal; + font-weight: 900; + font-display: block; + src: url("../webfonts/fa-solid-900.eot"); + src: url("../webfonts/fa-solid-900.eot?#iefix") format("embedded-opentype"), url("../webfonts/fa-solid-900.woff2") format("woff2"), url("../webfonts/fa-solid-900.woff") format("woff"), url("../webfonts/fa-solid-900.ttf") format("truetype"), url("../webfonts/fa-solid-900.svg#fontawesome") format("svg"); } + +.fa, +.fas { + font-family: 'Font Awesome 5 Free'; + font-weight: 900; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.min.css new file mode 100644 index 0000000..acdb46d --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/solid.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +@font-face{font-family:"Font Awesome 5 Free";font-style:normal;font-weight:900;font-display:block;src:url(../webfonts/fa-solid-900.eot);src:url(../webfonts/fa-solid-900.eot?#iefix) format("embedded-opentype"),url(../webfonts/fa-solid-900.woff2) format("woff2"),url(../webfonts/fa-solid-900.woff) format("woff"),url(../webfonts/fa-solid-900.ttf) format("truetype"),url(../webfonts/fa-solid-900.svg#fontawesome) format("svg")}.fa,.fas{font-family:"Font Awesome 5 Free";font-weight:900} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.css new file mode 100644 index 0000000..45f33e5 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.css @@ -0,0 +1,371 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +svg:not(:root).svg-inline--fa { + overflow: visible; } + +.svg-inline--fa { + display: inline-block; + font-size: inherit; + height: 1em; + overflow: visible; + vertical-align: -.125em; } + .svg-inline--fa.fa-lg { + vertical-align: -.225em; } + .svg-inline--fa.fa-w-1 { + width: 0.0625em; } + .svg-inline--fa.fa-w-2 { + width: 0.125em; } + .svg-inline--fa.fa-w-3 { + width: 0.1875em; } + .svg-inline--fa.fa-w-4 { + width: 0.25em; } + .svg-inline--fa.fa-w-5 { + width: 0.3125em; } + .svg-inline--fa.fa-w-6 { + width: 0.375em; } + .svg-inline--fa.fa-w-7 { + width: 0.4375em; } + .svg-inline--fa.fa-w-8 { + width: 0.5em; } + .svg-inline--fa.fa-w-9 { + width: 0.5625em; } + .svg-inline--fa.fa-w-10 { + width: 0.625em; } + .svg-inline--fa.fa-w-11 { + width: 0.6875em; } + .svg-inline--fa.fa-w-12 { + width: 0.75em; } + .svg-inline--fa.fa-w-13 { + width: 0.8125em; } + .svg-inline--fa.fa-w-14 { + width: 0.875em; } + .svg-inline--fa.fa-w-15 { + width: 0.9375em; } + .svg-inline--fa.fa-w-16 { + width: 1em; } + .svg-inline--fa.fa-w-17 { + width: 1.0625em; } + .svg-inline--fa.fa-w-18 { + width: 1.125em; } + .svg-inline--fa.fa-w-19 { + width: 1.1875em; } + .svg-inline--fa.fa-w-20 { + width: 1.25em; } + .svg-inline--fa.fa-pull-left { + margin-right: .3em; + width: auto; } + .svg-inline--fa.fa-pull-right { + margin-left: .3em; + width: auto; } + .svg-inline--fa.fa-border { + height: 1.5em; } + .svg-inline--fa.fa-li { + width: 2em; } + .svg-inline--fa.fa-fw { + width: 1.25em; } + +.fa-layers svg.svg-inline--fa { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; } + +.fa-layers { + display: inline-block; + height: 1em; + position: relative; + text-align: center; + vertical-align: -.125em; + width: 1em; } + .fa-layers svg.svg-inline--fa { + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-text, .fa-layers-counter { + display: inline-block; + position: absolute; + text-align: center; } + +.fa-layers-text { + left: 50%; + top: 50%; + -webkit-transform: translate(-50%, -50%); + transform: translate(-50%, -50%); + -webkit-transform-origin: center center; + transform-origin: center center; } + +.fa-layers-counter { + background-color: #ff253a; + border-radius: 1em; + -webkit-box-sizing: border-box; + box-sizing: border-box; + color: #fff; + height: 1.5em; + line-height: 1; + max-width: 5em; + min-width: 1.5em; + overflow: hidden; + padding: .25em; + right: 0; + text-overflow: ellipsis; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-bottom-right { + bottom: 0; + right: 0; + top: auto; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: bottom right; + transform-origin: bottom right; } + +.fa-layers-bottom-left { + bottom: 0; + left: 0; + right: auto; + top: auto; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: bottom left; + transform-origin: bottom left; } + +.fa-layers-top-right { + right: 0; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top right; + transform-origin: top right; } + +.fa-layers-top-left { + left: 0; + right: auto; + top: 0; + -webkit-transform: scale(0.25); + transform: scale(0.25); + -webkit-transform-origin: top left; + transform-origin: top left; } + +.fa-lg { + font-size: 1.33333em; + line-height: 0.75em; + vertical-align: -.0667em; } + +.fa-xs { + font-size: .75em; } + +.fa-sm { + font-size: .875em; } + +.fa-1x { + font-size: 1em; } + +.fa-2x { + font-size: 2em; } + +.fa-3x { + font-size: 3em; } + +.fa-4x { + font-size: 4em; } + +.fa-5x { + font-size: 5em; } + +.fa-6x { + font-size: 6em; } + +.fa-7x { + font-size: 7em; } + +.fa-8x { + font-size: 8em; } + +.fa-9x { + font-size: 9em; } + +.fa-10x { + font-size: 10em; } + +.fa-fw { + text-align: center; + width: 1.25em; } + +.fa-ul { + list-style-type: none; + margin-left: 2.5em; + padding-left: 0; } + .fa-ul > li { + position: relative; } + +.fa-li { + left: -2em; + position: absolute; + text-align: center; + width: 2em; + line-height: inherit; } + +.fa-border { + border: solid 0.08em #eee; + border-radius: .1em; + padding: .2em .25em .15em; } + +.fa-pull-left { + float: left; } + +.fa-pull-right { + float: right; } + +.fa.fa-pull-left, +.fas.fa-pull-left, +.far.fa-pull-left, +.fal.fa-pull-left, +.fab.fa-pull-left { + margin-right: .3em; } + +.fa.fa-pull-right, +.fas.fa-pull-right, +.far.fa-pull-right, +.fal.fa-pull-right, +.fab.fa-pull-right { + margin-left: .3em; } + +.fa-spin { + -webkit-animation: fa-spin 2s infinite linear; + animation: fa-spin 2s infinite linear; } + +.fa-pulse { + -webkit-animation: fa-spin 1s infinite steps(8); + animation: fa-spin 1s infinite steps(8); } + +@-webkit-keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +@keyframes fa-spin { + 0% { + -webkit-transform: rotate(0deg); + transform: rotate(0deg); } + 100% { + -webkit-transform: rotate(360deg); + transform: rotate(360deg); } } + +.fa-rotate-90 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=1)"; + -webkit-transform: rotate(90deg); + transform: rotate(90deg); } + +.fa-rotate-180 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2)"; + -webkit-transform: rotate(180deg); + transform: rotate(180deg); } + +.fa-rotate-270 { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=3)"; + -webkit-transform: rotate(270deg); + transform: rotate(270deg); } + +.fa-flip-horizontal { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)"; + -webkit-transform: scale(-1, 1); + transform: scale(-1, 1); } + +.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(1, -1); + transform: scale(1, -1); } + +.fa-flip-both, .fa-flip-horizontal.fa-flip-vertical { + -ms-filter: "progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"; + -webkit-transform: scale(-1, -1); + transform: scale(-1, -1); } + +:root .fa-rotate-90, +:root .fa-rotate-180, +:root .fa-rotate-270, +:root .fa-flip-horizontal, +:root .fa-flip-vertical, +:root .fa-flip-both { + -webkit-filter: none; + filter: none; } + +.fa-stack { + display: inline-block; + height: 2em; + position: relative; + width: 2.5em; } + +.fa-stack-1x, +.fa-stack-2x { + bottom: 0; + left: 0; + margin: auto; + position: absolute; + right: 0; + top: 0; } + +.svg-inline--fa.fa-stack-1x { + height: 1em; + width: 1.25em; } + +.svg-inline--fa.fa-stack-2x { + height: 2em; + width: 2.5em; } + +.fa-inverse { + color: #fff; } + +.sr-only { + border: 0; + clip: rect(0, 0, 0, 0); + height: 1px; + margin: -1px; + overflow: hidden; + padding: 0; + position: absolute; + width: 1px; } + +.sr-only-focusable:active, .sr-only-focusable:focus { + clip: auto; + height: auto; + margin: 0; + overflow: visible; + position: static; + width: auto; } + +.svg-inline--fa .fa-primary { + fill: var(--fa-primary-color, currentColor); + opacity: 1; + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa .fa-secondary { + fill: var(--fa-secondary-color, currentColor); + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-primary { + opacity: 0.4; + opacity: var(--fa-secondary-opacity, 0.4); } + +.svg-inline--fa.fa-swap-opacity .fa-secondary { + opacity: 1; + opacity: var(--fa-primary-opacity, 1); } + +.svg-inline--fa mask .fa-primary, +.svg-inline--fa mask .fa-secondary { + fill: black; } + +.fad.fa-inverse { + color: #fff; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.min.css new file mode 100644 index 0000000..101beb8 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/svg-with-js.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.svg-inline--fa,svg:not(:root).svg-inline--fa{overflow:visible}.svg-inline--fa{display:inline-block;font-size:inherit;height:1em;vertical-align:-.125em}.svg-inline--fa.fa-lg{vertical-align:-.225em}.svg-inline--fa.fa-w-1{width:.0625em}.svg-inline--fa.fa-w-2{width:.125em}.svg-inline--fa.fa-w-3{width:.1875em}.svg-inline--fa.fa-w-4{width:.25em}.svg-inline--fa.fa-w-5{width:.3125em}.svg-inline--fa.fa-w-6{width:.375em}.svg-inline--fa.fa-w-7{width:.4375em}.svg-inline--fa.fa-w-8{width:.5em}.svg-inline--fa.fa-w-9{width:.5625em}.svg-inline--fa.fa-w-10{width:.625em}.svg-inline--fa.fa-w-11{width:.6875em}.svg-inline--fa.fa-w-12{width:.75em}.svg-inline--fa.fa-w-13{width:.8125em}.svg-inline--fa.fa-w-14{width:.875em}.svg-inline--fa.fa-w-15{width:.9375em}.svg-inline--fa.fa-w-16{width:1em}.svg-inline--fa.fa-w-17{width:1.0625em}.svg-inline--fa.fa-w-18{width:1.125em}.svg-inline--fa.fa-w-19{width:1.1875em}.svg-inline--fa.fa-w-20{width:1.25em}.svg-inline--fa.fa-pull-left{margin-right:.3em;width:auto}.svg-inline--fa.fa-pull-right{margin-left:.3em;width:auto}.svg-inline--fa.fa-border{height:1.5em}.svg-inline--fa.fa-li{width:2em}.svg-inline--fa.fa-fw{width:1.25em}.fa-layers svg.svg-inline--fa{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.fa-layers{display:inline-block;height:1em;position:relative;text-align:center;vertical-align:-.125em;width:1em}.fa-layers svg.svg-inline--fa{-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter,.fa-layers-text{display:inline-block;position:absolute;text-align:center}.fa-layers-text{left:50%;top:50%;-webkit-transform:translate(-50%,-50%);transform:translate(-50%,-50%);-webkit-transform-origin:center center;transform-origin:center center}.fa-layers-counter{background-color:#ff253a;border-radius:1em;-webkit-box-sizing:border-box;box-sizing:border-box;color:#fff;height:1.5em;line-height:1;max-width:5em;min-width:1.5em;overflow:hidden;padding:.25em;right:0;text-overflow:ellipsis;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-bottom-right{bottom:0;right:0;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom right;transform-origin:bottom right}.fa-layers-bottom-left{bottom:0;left:0;right:auto;top:auto;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:bottom left;transform-origin:bottom left}.fa-layers-top-right{right:0;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top right;transform-origin:top right}.fa-layers-top-left{left:0;right:auto;top:0;-webkit-transform:scale(.25);transform:scale(.25);-webkit-transform-origin:top left;transform-origin:top left}.fa-lg{font-size:1.33333em;line-height:.75em;vertical-align:-.0667em}.fa-xs{font-size:.75em}.fa-sm{font-size:.875em}.fa-1x{font-size:1em}.fa-2x{font-size:2em}.fa-3x{font-size:3em}.fa-4x{font-size:4em}.fa-5x{font-size:5em}.fa-6x{font-size:6em}.fa-7x{font-size:7em}.fa-8x{font-size:8em}.fa-9x{font-size:9em}.fa-10x{font-size:10em}.fa-fw{text-align:center;width:1.25em}.fa-ul{list-style-type:none;margin-left:2.5em;padding-left:0}.fa-ul>li{position:relative}.fa-li{left:-2em;position:absolute;text-align:center;width:2em;line-height:inherit}.fa-border{border:.08em solid #eee;border-radius:.1em;padding:.2em .25em .15em}.fa-pull-left{float:left}.fa-pull-right{float:right}.fa.fa-pull-left,.fab.fa-pull-left,.fal.fa-pull-left,.far.fa-pull-left,.fas.fa-pull-left{margin-right:.3em}.fa.fa-pull-right,.fab.fa-pull-right,.fal.fa-pull-right,.far.fa-pull-right,.fas.fa-pull-right{margin-left:.3em}.fa-spin{-webkit-animation:fa-spin 2s linear infinite;animation:fa-spin 2s linear infinite}.fa-pulse{-webkit-animation:fa-spin 1s steps(8) infinite;animation:fa-spin 1s steps(8) infinite}@-webkit-keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}@keyframes fa-spin{0%{-webkit-transform:rotate(0deg);transform:rotate(0deg)}to{-webkit-transform:rotate(1turn);transform:rotate(1turn)}}.fa-rotate-90{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=1)";-webkit-transform:rotate(90deg);transform:rotate(90deg)}.fa-rotate-180{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2)";-webkit-transform:rotate(180deg);transform:rotate(180deg)}.fa-rotate-270{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=3)";-webkit-transform:rotate(270deg);transform:rotate(270deg)}.fa-flip-horizontal{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=0, mirror=1)";-webkit-transform:scaleX(-1);transform:scaleX(-1)}.fa-flip-vertical{-webkit-transform:scaleY(-1);transform:scaleY(-1)}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical,.fa-flip-vertical{-ms-filter:"progid:DXImageTransform.Microsoft.BasicImage(rotation=2, mirror=1)"}.fa-flip-both,.fa-flip-horizontal.fa-flip-vertical{-webkit-transform:scale(-1);transform:scale(-1)}:root .fa-flip-both,:root .fa-flip-horizontal,:root .fa-flip-vertical,:root .fa-rotate-90,:root .fa-rotate-180,:root .fa-rotate-270{-webkit-filter:none;filter:none}.fa-stack{display:inline-block;height:2em;position:relative;width:2.5em}.fa-stack-1x,.fa-stack-2x{bottom:0;left:0;margin:auto;position:absolute;right:0;top:0}.svg-inline--fa.fa-stack-1x{height:1em;width:1.25em}.svg-inline--fa.fa-stack-2x{height:2em;width:2.5em}.fa-inverse{color:#fff}.sr-only{border:0;clip:rect(0,0,0,0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;width:1px}.sr-only-focusable:active,.sr-only-focusable:focus{clip:auto;height:auto;margin:0;overflow:visible;position:static;width:auto}.svg-inline--fa .fa-primary{fill:var(--fa-primary-color,currentColor);opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa .fa-secondary{fill:var(--fa-secondary-color,currentColor)}.svg-inline--fa .fa-secondary,.svg-inline--fa.fa-swap-opacity .fa-primary{opacity:.4;opacity:var(--fa-secondary-opacity,.4)}.svg-inline--fa.fa-swap-opacity .fa-secondary{opacity:1;opacity:var(--fa-primary-opacity,1)}.svg-inline--fa mask .fa-primary,.svg-inline--fa mask .fa-secondary{fill:#000}.fad.fa-inverse{color:#fff} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.css new file mode 100644 index 0000000..1ef4893 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.css @@ -0,0 +1,2172 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before { + content: "\f000"; } + +.fa.fa-meetup { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-star-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-o:before { + content: "\f005"; } + +.fa.fa-remove:before { + content: "\f00d"; } + +.fa.fa-close:before { + content: "\f00d"; } + +.fa.fa-gear:before { + content: "\f013"; } + +.fa.fa-trash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-trash-o:before { + content: "\f2ed"; } + +.fa.fa-file-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-o:before { + content: "\f15b"; } + +.fa.fa-clock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-clock-o:before { + content: "\f017"; } + +.fa.fa-arrow-circle-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-down:before { + content: "\f358"; } + +.fa.fa-arrow-circle-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-up:before { + content: "\f35b"; } + +.fa.fa-play-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-play-circle-o:before { + content: "\f144"; } + +.fa.fa-repeat:before { + content: "\f01e"; } + +.fa.fa-rotate-right:before { + content: "\f01e"; } + +.fa.fa-refresh:before { + content: "\f021"; } + +.fa.fa-list-alt { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dedent:before { + content: "\f03b"; } + +.fa.fa-video-camera:before { + content: "\f03d"; } + +.fa.fa-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-picture-o:before { + content: "\f03e"; } + +.fa.fa-photo { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-photo:before { + content: "\f03e"; } + +.fa.fa-image { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-image:before { + content: "\f03e"; } + +.fa.fa-pencil:before { + content: "\f303"; } + +.fa.fa-map-marker:before { + content: "\f3c5"; } + +.fa.fa-pencil-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pencil-square-o:before { + content: "\f044"; } + +.fa.fa-share-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-share-square-o:before { + content: "\f14d"; } + +.fa.fa-check-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-square-o:before { + content: "\f14a"; } + +.fa.fa-arrows:before { + content: "\f0b2"; } + +.fa.fa-times-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-circle-o:before { + content: "\f057"; } + +.fa.fa-check-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-check-circle-o:before { + content: "\f058"; } + +.fa.fa-mail-forward:before { + content: "\f064"; } + +.fa.fa-expand:before { + content: "\f424"; } + +.fa.fa-compress:before { + content: "\f422"; } + +.fa.fa-eye { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eye-slash { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-warning:before { + content: "\f071"; } + +.fa.fa-calendar:before { + content: "\f073"; } + +.fa.fa-arrows-v:before { + content: "\f338"; } + +.fa.fa-arrows-h:before { + content: "\f337"; } + +.fa.fa-bar-chart { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart:before { + content: "\f080"; } + +.fa.fa-bar-chart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bar-chart-o:before { + content: "\f080"; } + +.fa.fa-twitter-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gears:before { + content: "\f085"; } + +.fa.fa-thumbs-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-up:before { + content: "\f164"; } + +.fa.fa-thumbs-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-thumbs-o-down:before { + content: "\f165"; } + +.fa.fa-heart-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-heart-o:before { + content: "\f004"; } + +.fa.fa-sign-out:before { + content: "\f2f5"; } + +.fa.fa-linkedin-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin-square:before { + content: "\f08c"; } + +.fa.fa-thumb-tack:before { + content: "\f08d"; } + +.fa.fa-external-link:before { + content: "\f35d"; } + +.fa.fa-sign-in:before { + content: "\f2f6"; } + +.fa.fa-github-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lemon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lemon-o:before { + content: "\f094"; } + +.fa.fa-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-square-o:before { + content: "\f0c8"; } + +.fa.fa-bookmark-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bookmark-o:before { + content: "\f02e"; } + +.fa.fa-twitter { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook:before { + content: "\f39e"; } + +.fa.fa-facebook-f { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-f:before { + content: "\f39e"; } + +.fa.fa-github { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-feed:before { + content: "\f09e"; } + +.fa.fa-hdd-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hdd-o:before { + content: "\f0a0"; } + +.fa.fa-hand-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-right:before { + content: "\f0a4"; } + +.fa.fa-hand-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-left:before { + content: "\f0a5"; } + +.fa.fa-hand-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-up:before { + content: "\f0a6"; } + +.fa.fa-hand-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-o-down:before { + content: "\f0a7"; } + +.fa.fa-arrows-alt:before { + content: "\f31e"; } + +.fa.fa-group:before { + content: "\f0c0"; } + +.fa.fa-chain:before { + content: "\f0c1"; } + +.fa.fa-scissors:before { + content: "\f0c4"; } + +.fa.fa-files-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-files-o:before { + content: "\f0c5"; } + +.fa.fa-floppy-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-floppy-o:before { + content: "\f0c7"; } + +.fa.fa-navicon:before { + content: "\f0c9"; } + +.fa.fa-reorder:before { + content: "\f0c9"; } + +.fa.fa-pinterest { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pinterest-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus:before { + content: "\f0d5"; } + +.fa.fa-money { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-money:before { + content: "\f3d1"; } + +.fa.fa-unsorted:before { + content: "\f0dc"; } + +.fa.fa-sort-desc:before { + content: "\f0dd"; } + +.fa.fa-sort-asc:before { + content: "\f0de"; } + +.fa.fa-linkedin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linkedin:before { + content: "\f0e1"; } + +.fa.fa-rotate-left:before { + content: "\f0e2"; } + +.fa.fa-legal:before { + content: "\f0e3"; } + +.fa.fa-tachometer:before { + content: "\f3fd"; } + +.fa.fa-dashboard:before { + content: "\f3fd"; } + +.fa.fa-comment-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comment-o:before { + content: "\f075"; } + +.fa.fa-comments-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-comments-o:before { + content: "\f086"; } + +.fa.fa-flash:before { + content: "\f0e7"; } + +.fa.fa-clipboard { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paste:before { + content: "\f328"; } + +.fa.fa-lightbulb-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-lightbulb-o:before { + content: "\f0eb"; } + +.fa.fa-exchange:before { + content: "\f362"; } + +.fa.fa-cloud-download:before { + content: "\f381"; } + +.fa.fa-cloud-upload:before { + content: "\f382"; } + +.fa.fa-bell-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-o:before { + content: "\f0f3"; } + +.fa.fa-cutlery:before { + content: "\f2e7"; } + +.fa.fa-file-text-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-text-o:before { + content: "\f15c"; } + +.fa.fa-building-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-building-o:before { + content: "\f1ad"; } + +.fa.fa-hospital-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hospital-o:before { + content: "\f0f8"; } + +.fa.fa-tablet:before { + content: "\f3fa"; } + +.fa.fa-mobile:before { + content: "\f3cd"; } + +.fa.fa-mobile-phone:before { + content: "\f3cd"; } + +.fa.fa-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-o:before { + content: "\f111"; } + +.fa.fa-mail-reply:before { + content: "\f3e5"; } + +.fa.fa-github-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-folder-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-o:before { + content: "\f07b"; } + +.fa.fa-folder-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-folder-open-o:before { + content: "\f07c"; } + +.fa.fa-smile-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-smile-o:before { + content: "\f118"; } + +.fa.fa-frown-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-frown-o:before { + content: "\f119"; } + +.fa.fa-meh-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-meh-o:before { + content: "\f11a"; } + +.fa.fa-keyboard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-keyboard-o:before { + content: "\f11c"; } + +.fa.fa-flag-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-flag-o:before { + content: "\f024"; } + +.fa.fa-mail-reply-all:before { + content: "\f122"; } + +.fa.fa-star-half-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-o:before { + content: "\f089"; } + +.fa.fa-star-half-empty { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-empty:before { + content: "\f089"; } + +.fa.fa-star-half-full { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-star-half-full:before { + content: "\f089"; } + +.fa.fa-code-fork:before { + content: "\f126"; } + +.fa.fa-chain-broken:before { + content: "\f127"; } + +.fa.fa-shield:before { + content: "\f3ed"; } + +.fa.fa-calendar-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-o:before { + content: "\f133"; } + +.fa.fa-maxcdn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-html5 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-css3 { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ticket:before { + content: "\f3ff"; } + +.fa.fa-minus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-minus-square-o:before { + content: "\f146"; } + +.fa.fa-level-up:before { + content: "\f3bf"; } + +.fa.fa-level-down:before { + content: "\f3be"; } + +.fa.fa-pencil-square:before { + content: "\f14b"; } + +.fa.fa-external-link-square:before { + content: "\f360"; } + +.fa.fa-compass { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-down:before { + content: "\f150"; } + +.fa.fa-toggle-down { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-down:before { + content: "\f150"; } + +.fa.fa-caret-square-o-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-up:before { + content: "\f151"; } + +.fa.fa-toggle-up { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-up:before { + content: "\f151"; } + +.fa.fa-caret-square-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-right:before { + content: "\f152"; } + +.fa.fa-toggle-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-right:before { + content: "\f152"; } + +.fa.fa-eur:before { + content: "\f153"; } + +.fa.fa-euro:before { + content: "\f153"; } + +.fa.fa-gbp:before { + content: "\f154"; } + +.fa.fa-usd:before { + content: "\f155"; } + +.fa.fa-dollar:before { + content: "\f155"; } + +.fa.fa-inr:before { + content: "\f156"; } + +.fa.fa-rupee:before { + content: "\f156"; } + +.fa.fa-jpy:before { + content: "\f157"; } + +.fa.fa-cny:before { + content: "\f157"; } + +.fa.fa-rmb:before { + content: "\f157"; } + +.fa.fa-yen:before { + content: "\f157"; } + +.fa.fa-rub:before { + content: "\f158"; } + +.fa.fa-ruble:before { + content: "\f158"; } + +.fa.fa-rouble:before { + content: "\f158"; } + +.fa.fa-krw:before { + content: "\f159"; } + +.fa.fa-won:before { + content: "\f159"; } + +.fa.fa-btc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitcoin:before { + content: "\f15a"; } + +.fa.fa-file-text:before { + content: "\f15c"; } + +.fa.fa-sort-alpha-asc:before { + content: "\f15d"; } + +.fa.fa-sort-alpha-desc:before { + content: "\f881"; } + +.fa.fa-sort-amount-asc:before { + content: "\f160"; } + +.fa.fa-sort-amount-desc:before { + content: "\f884"; } + +.fa.fa-sort-numeric-asc:before { + content: "\f162"; } + +.fa.fa-sort-numeric-desc:before { + content: "\f886"; } + +.fa.fa-youtube-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-xing-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-youtube-play:before { + content: "\f167"; } + +.fa.fa-dropbox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-overflow { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-instagram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-flickr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-adn { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bitbucket-square:before { + content: "\f171"; } + +.fa.fa-tumblr { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tumblr-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-long-arrow-down:before { + content: "\f309"; } + +.fa.fa-long-arrow-up:before { + content: "\f30c"; } + +.fa.fa-long-arrow-left:before { + content: "\f30a"; } + +.fa.fa-long-arrow-right:before { + content: "\f30b"; } + +.fa.fa-apple { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-windows { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-android { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-linux { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dribbble { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skype { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-foursquare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-trello { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gratipay { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gittip:before { + content: "\f184"; } + +.fa.fa-sun-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sun-o:before { + content: "\f185"; } + +.fa.fa-moon-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-moon-o:before { + content: "\f186"; } + +.fa.fa-vk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-renren { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pagelines { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stack-exchange { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-right:before { + content: "\f35a"; } + +.fa.fa-arrow-circle-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-arrow-circle-o-left:before { + content: "\f359"; } + +.fa.fa-caret-square-o-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-caret-square-o-left:before { + content: "\f191"; } + +.fa.fa-toggle-left { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-toggle-left:before { + content: "\f191"; } + +.fa.fa-dot-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-dot-circle-o:before { + content: "\f192"; } + +.fa.fa-vimeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-try:before { + content: "\f195"; } + +.fa.fa-turkish-lira:before { + content: "\f195"; } + +.fa.fa-plus-square-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-plus-square-o:before { + content: "\f0fe"; } + +.fa.fa-slack { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wordpress { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-openid { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-institution:before { + content: "\f19c"; } + +.fa.fa-bank:before { + content: "\f19c"; } + +.fa.fa-mortar-board:before { + content: "\f19d"; } + +.fa.fa-yahoo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-stumbleupon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-delicious { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-digg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-pp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-drupal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-joomla { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-spoon:before { + content: "\f2e5"; } + +.fa.fa-behance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-behance-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-steam-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-automobile:before { + content: "\f1b9"; } + +.fa.fa-envelope-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-o:before { + content: "\f0e0"; } + +.fa.fa-spotify { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-deviantart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-soundcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-file-pdf-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-pdf-o:before { + content: "\f1c1"; } + +.fa.fa-file-word-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-word-o:before { + content: "\f1c2"; } + +.fa.fa-file-excel-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-excel-o:before { + content: "\f1c3"; } + +.fa.fa-file-powerpoint-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-powerpoint-o:before { + content: "\f1c4"; } + +.fa.fa-file-image-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-image-o:before { + content: "\f1c5"; } + +.fa.fa-file-photo-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-photo-o:before { + content: "\f1c5"; } + +.fa.fa-file-picture-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-picture-o:before { + content: "\f1c5"; } + +.fa.fa-file-archive-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-archive-o:before { + content: "\f1c6"; } + +.fa.fa-file-zip-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-zip-o:before { + content: "\f1c6"; } + +.fa.fa-file-audio-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-audio-o:before { + content: "\f1c7"; } + +.fa.fa-file-sound-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-sound-o:before { + content: "\f1c7"; } + +.fa.fa-file-video-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-video-o:before { + content: "\f1c8"; } + +.fa.fa-file-movie-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-movie-o:before { + content: "\f1c8"; } + +.fa.fa-file-code-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-file-code-o:before { + content: "\f1c9"; } + +.fa.fa-vine { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-codepen { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-jsfiddle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-life-ring { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-bouy:before { + content: "\f1cd"; } + +.fa.fa-life-buoy { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-buoy:before { + content: "\f1cd"; } + +.fa.fa-life-saver { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-life-saver:before { + content: "\f1cd"; } + +.fa.fa-support { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-support:before { + content: "\f1cd"; } + +.fa.fa-circle-o-notch:before { + content: "\f1ce"; } + +.fa.fa-rebel { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ra:before { + content: "\f1d0"; } + +.fa.fa-resistance { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-resistance:before { + content: "\f1d0"; } + +.fa.fa-empire { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ge:before { + content: "\f1d1"; } + +.fa.fa-git-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-git { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hacker-news { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator-square:before { + content: "\f1d4"; } + +.fa.fa-yc-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc-square:before { + content: "\f1d4"; } + +.fa.fa-tencent-weibo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-qq { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-weixin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wechat:before { + content: "\f1d7"; } + +.fa.fa-send:before { + content: "\f1d8"; } + +.fa.fa-paper-plane-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-paper-plane-o:before { + content: "\f1d8"; } + +.fa.fa-send-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-send-o:before { + content: "\f1d8"; } + +.fa.fa-circle-thin { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-circle-thin:before { + content: "\f111"; } + +.fa.fa-header:before { + content: "\f1dc"; } + +.fa.fa-sliders:before { + content: "\f1de"; } + +.fa.fa-futbol-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-futbol-o:before { + content: "\f1e3"; } + +.fa.fa-soccer-ball-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-soccer-ball-o:before { + content: "\f1e3"; } + +.fa.fa-slideshare { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-twitch { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yelp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-newspaper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-newspaper-o:before { + content: "\f1ea"; } + +.fa.fa-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-wallet { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-visa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-mastercard { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-discover { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-amex { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-paypal { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-stripe { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bell-slash-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-bell-slash-o:before { + content: "\f1f6"; } + +.fa.fa-trash:before { + content: "\f2ed"; } + +.fa.fa-copyright { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-eyedropper:before { + content: "\f1fb"; } + +.fa.fa-area-chart:before { + content: "\f1fe"; } + +.fa.fa-pie-chart:before { + content: "\f200"; } + +.fa.fa-line-chart:before { + content: "\f201"; } + +.fa.fa-lastfm { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-lastfm-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ioxhost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-angellist { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-cc:before { + content: "\f20a"; } + +.fa.fa-ils:before { + content: "\f20b"; } + +.fa.fa-shekel:before { + content: "\f20b"; } + +.fa.fa-sheqel:before { + content: "\f20b"; } + +.fa.fa-meanpath { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-meanpath:before { + content: "\f2b4"; } + +.fa.fa-buysellads { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-connectdevelop { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-dashcube { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-forumbee { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-leanpub { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-sellsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-shirtsinbulk { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-simplybuilt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-skyatlas { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-diamond { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-diamond:before { + content: "\f3a5"; } + +.fa.fa-intersex:before { + content: "\f224"; } + +.fa.fa-facebook-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-facebook-official:before { + content: "\f09a"; } + +.fa.fa-pinterest-p { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-whatsapp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-hotel:before { + content: "\f236"; } + +.fa.fa-viacoin { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-medium { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-y-combinator { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yc:before { + content: "\f23b"; } + +.fa.fa-optin-monster { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opencart { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-expeditedssl { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-battery-4:before { + content: "\f240"; } + +.fa.fa-battery:before { + content: "\f240"; } + +.fa.fa-battery-3:before { + content: "\f241"; } + +.fa.fa-battery-2:before { + content: "\f242"; } + +.fa.fa-battery-1:before { + content: "\f243"; } + +.fa.fa-battery-0:before { + content: "\f244"; } + +.fa.fa-object-group { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-object-ungroup { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-sticky-note-o:before { + content: "\f249"; } + +.fa.fa-cc-jcb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cc-diners-club { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-clone { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hourglass-o:before { + content: "\f254"; } + +.fa.fa-hourglass-1:before { + content: "\f251"; } + +.fa.fa-hourglass-2:before { + content: "\f252"; } + +.fa.fa-hourglass-3:before { + content: "\f253"; } + +.fa.fa-hand-rock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-rock-o:before { + content: "\f255"; } + +.fa.fa-hand-grab-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-grab-o:before { + content: "\f255"; } + +.fa.fa-hand-paper-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-paper-o:before { + content: "\f256"; } + +.fa.fa-hand-stop-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-stop-o:before { + content: "\f256"; } + +.fa.fa-hand-scissors-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-scissors-o:before { + content: "\f257"; } + +.fa.fa-hand-lizard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-lizard-o:before { + content: "\f258"; } + +.fa.fa-hand-spock-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-spock-o:before { + content: "\f259"; } + +.fa.fa-hand-pointer-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-pointer-o:before { + content: "\f25a"; } + +.fa.fa-hand-peace-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-hand-peace-o:before { + content: "\f25b"; } + +.fa.fa-registered { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-creative-commons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gg-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-tripadvisor { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-odnoklassniki-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-get-pocket { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wikipedia-w { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-safari { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-chrome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-firefox { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-opera { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-internet-explorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-television:before { + content: "\f26c"; } + +.fa.fa-contao { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-500px { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-amazon { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-calendar-plus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-plus-o:before { + content: "\f271"; } + +.fa.fa-calendar-minus-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-minus-o:before { + content: "\f272"; } + +.fa.fa-calendar-times-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-times-o:before { + content: "\f273"; } + +.fa.fa-calendar-check-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-calendar-check-o:before { + content: "\f274"; } + +.fa.fa-map-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-map-o:before { + content: "\f279"; } + +.fa.fa-commenting:before { + content: "\f4ad"; } + +.fa.fa-commenting-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-commenting-o:before { + content: "\f4ad"; } + +.fa.fa-houzz { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-vimeo:before { + content: "\f27d"; } + +.fa.fa-black-tie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fonticons { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-reddit-alien { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-edge { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-credit-card-alt:before { + content: "\f09d"; } + +.fa.fa-codiepie { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-modx { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fort-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-usb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-product-hunt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-mixcloud { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-scribd { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pause-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-pause-circle-o:before { + content: "\f28b"; } + +.fa.fa-stop-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-stop-circle-o:before { + content: "\f28d"; } + +.fa.fa-bluetooth { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-bluetooth-b { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-gitlab { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpbeginner { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpforms { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-envira { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wheelchair-alt:before { + content: "\f368"; } + +.fa.fa-question-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-question-circle-o:before { + content: "\f059"; } + +.fa.fa-volume-control-phone:before { + content: "\f2a0"; } + +.fa.fa-asl-interpreting:before { + content: "\f2a3"; } + +.fa.fa-deafness:before { + content: "\f2a4"; } + +.fa.fa-hard-of-hearing:before { + content: "\f2a4"; } + +.fa.fa-glide { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-glide-g { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-signing:before { + content: "\f2a7"; } + +.fa.fa-viadeo { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-viadeo-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-ghost { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-snapchat-square { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-pied-piper { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-first-order { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-yoast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-themeisle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-official:before { + content: "\f2b3"; } + +.fa.fa-google-plus-circle { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-google-plus-circle:before { + content: "\f2b3"; } + +.fa.fa-font-awesome { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-fa:before { + content: "\f2b4"; } + +.fa.fa-handshake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-handshake-o:before { + content: "\f2b5"; } + +.fa.fa-envelope-open-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-envelope-open-o:before { + content: "\f2b6"; } + +.fa.fa-linode { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-address-book-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-book-o:before { + content: "\f2b9"; } + +.fa.fa-vcard:before { + content: "\f2bb"; } + +.fa.fa-address-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-address-card-o:before { + content: "\f2bb"; } + +.fa.fa-vcard-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-vcard-o:before { + content: "\f2bb"; } + +.fa.fa-user-circle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-circle-o:before { + content: "\f2bd"; } + +.fa.fa-user-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-user-o:before { + content: "\f007"; } + +.fa.fa-id-badge { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license:before { + content: "\f2c2"; } + +.fa.fa-id-card-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-id-card-o:before { + content: "\f2c2"; } + +.fa.fa-drivers-license-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-drivers-license-o:before { + content: "\f2c2"; } + +.fa.fa-quora { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-free-code-camp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-telegram { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-thermometer-4:before { + content: "\f2c7"; } + +.fa.fa-thermometer:before { + content: "\f2c7"; } + +.fa.fa-thermometer-3:before { + content: "\f2c8"; } + +.fa.fa-thermometer-2:before { + content: "\f2c9"; } + +.fa.fa-thermometer-1:before { + content: "\f2ca"; } + +.fa.fa-thermometer-0:before { + content: "\f2cb"; } + +.fa.fa-bathtub:before { + content: "\f2cd"; } + +.fa.fa-s15:before { + content: "\f2cd"; } + +.fa.fa-window-maximize { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-restore { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle:before { + content: "\f410"; } + +.fa.fa-window-close-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-window-close-o:before { + content: "\f410"; } + +.fa.fa-times-rectangle-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-times-rectangle-o:before { + content: "\f410"; } + +.fa.fa-bandcamp { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-grav { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-etsy { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-imdb { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-ravelry { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-eercast:before { + content: "\f2da"; } + +.fa.fa-snowflake-o { + font-family: 'Font Awesome 5 Free'; + font-weight: 400; } + +.fa.fa-snowflake-o:before { + content: "\f2dc"; } + +.fa.fa-superpowers { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-wpexplorer { + font-family: 'Font Awesome 5 Brands'; + font-weight: 400; } + +.fa.fa-cab:before { + content: "\f1ba"; } diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.min.css b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.min.css new file mode 100644 index 0000000..21a0708 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/css/v4-shims.min.css @@ -0,0 +1,5 @@ +/*! + * Font Awesome Free 5.15.4 by @fontawesome - https://fontawesome.com + * License - https://fontawesome.com/license/free (Icons: CC BY 4.0, Fonts: SIL OFL 1.1, Code: MIT License) + */ +.fa.fa-glass:before{content:"\f000"}.fa.fa-meetup{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-star-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-o:before{content:"\f005"}.fa.fa-close:before,.fa.fa-remove:before{content:"\f00d"}.fa.fa-gear:before{content:"\f013"}.fa.fa-trash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-trash-o:before{content:"\f2ed"}.fa.fa-file-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-o:before{content:"\f15b"}.fa.fa-clock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-clock-o:before{content:"\f017"}.fa.fa-arrow-circle-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-down:before{content:"\f358"}.fa.fa-arrow-circle-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-up:before{content:"\f35b"}.fa.fa-play-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-play-circle-o:before{content:"\f144"}.fa.fa-repeat:before,.fa.fa-rotate-right:before{content:"\f01e"}.fa.fa-refresh:before{content:"\f021"}.fa.fa-list-alt{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dedent:before{content:"\f03b"}.fa.fa-video-camera:before{content:"\f03d"}.fa.fa-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-picture-o:before{content:"\f03e"}.fa.fa-photo{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-photo:before{content:"\f03e"}.fa.fa-image{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-image:before{content:"\f03e"}.fa.fa-pencil:before{content:"\f303"}.fa.fa-map-marker:before{content:"\f3c5"}.fa.fa-pencil-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pencil-square-o:before{content:"\f044"}.fa.fa-share-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-share-square-o:before{content:"\f14d"}.fa.fa-check-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-square-o:before{content:"\f14a"}.fa.fa-arrows:before{content:"\f0b2"}.fa.fa-times-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-circle-o:before{content:"\f057"}.fa.fa-check-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-check-circle-o:before{content:"\f058"}.fa.fa-mail-forward:before{content:"\f064"}.fa.fa-expand:before{content:"\f424"}.fa.fa-compress:before{content:"\f422"}.fa.fa-eye,.fa.fa-eye-slash{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-warning:before{content:"\f071"}.fa.fa-calendar:before{content:"\f073"}.fa.fa-arrows-v:before{content:"\f338"}.fa.fa-arrows-h:before{content:"\f337"}.fa.fa-bar-chart{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart:before{content:"\f080"}.fa.fa-bar-chart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bar-chart-o:before{content:"\f080"}.fa.fa-facebook-square,.fa.fa-twitter-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gears:before{content:"\f085"}.fa.fa-thumbs-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-up:before{content:"\f164"}.fa.fa-thumbs-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-thumbs-o-down:before{content:"\f165"}.fa.fa-heart-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-heart-o:before{content:"\f004"}.fa.fa-sign-out:before{content:"\f2f5"}.fa.fa-linkedin-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin-square:before{content:"\f08c"}.fa.fa-thumb-tack:before{content:"\f08d"}.fa.fa-external-link:before{content:"\f35d"}.fa.fa-sign-in:before{content:"\f2f6"}.fa.fa-github-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-lemon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lemon-o:before{content:"\f094"}.fa.fa-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-square-o:before{content:"\f0c8"}.fa.fa-bookmark-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bookmark-o:before{content:"\f02e"}.fa.fa-facebook,.fa.fa-twitter{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook:before{content:"\f39e"}.fa.fa-facebook-f{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-f:before{content:"\f39e"}.fa.fa-github{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-feed:before{content:"\f09e"}.fa.fa-hdd-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hdd-o:before{content:"\f0a0"}.fa.fa-hand-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-right:before{content:"\f0a4"}.fa.fa-hand-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-left:before{content:"\f0a5"}.fa.fa-hand-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-up:before{content:"\f0a6"}.fa.fa-hand-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-o-down:before{content:"\f0a7"}.fa.fa-arrows-alt:before{content:"\f31e"}.fa.fa-group:before{content:"\f0c0"}.fa.fa-chain:before{content:"\f0c1"}.fa.fa-scissors:before{content:"\f0c4"}.fa.fa-files-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-files-o:before{content:"\f0c5"}.fa.fa-floppy-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-floppy-o:before{content:"\f0c7"}.fa.fa-navicon:before,.fa.fa-reorder:before{content:"\f0c9"}.fa.fa-google-plus,.fa.fa-google-plus-square,.fa.fa-pinterest,.fa.fa-pinterest-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus:before{content:"\f0d5"}.fa.fa-money{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-money:before{content:"\f3d1"}.fa.fa-unsorted:before{content:"\f0dc"}.fa.fa-sort-desc:before{content:"\f0dd"}.fa.fa-sort-asc:before{content:"\f0de"}.fa.fa-linkedin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-linkedin:before{content:"\f0e1"}.fa.fa-rotate-left:before{content:"\f0e2"}.fa.fa-legal:before{content:"\f0e3"}.fa.fa-dashboard:before,.fa.fa-tachometer:before{content:"\f3fd"}.fa.fa-comment-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comment-o:before{content:"\f075"}.fa.fa-comments-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-comments-o:before{content:"\f086"}.fa.fa-flash:before{content:"\f0e7"}.fa.fa-clipboard,.fa.fa-paste{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paste:before{content:"\f328"}.fa.fa-lightbulb-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-lightbulb-o:before{content:"\f0eb"}.fa.fa-exchange:before{content:"\f362"}.fa.fa-cloud-download:before{content:"\f381"}.fa.fa-cloud-upload:before{content:"\f382"}.fa.fa-bell-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-o:before{content:"\f0f3"}.fa.fa-cutlery:before{content:"\f2e7"}.fa.fa-file-text-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-text-o:before{content:"\f15c"}.fa.fa-building-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-building-o:before{content:"\f1ad"}.fa.fa-hospital-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hospital-o:before{content:"\f0f8"}.fa.fa-tablet:before{content:"\f3fa"}.fa.fa-mobile-phone:before,.fa.fa-mobile:before{content:"\f3cd"}.fa.fa-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-o:before{content:"\f111"}.fa.fa-mail-reply:before{content:"\f3e5"}.fa.fa-github-alt{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-folder-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-o:before{content:"\f07b"}.fa.fa-folder-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-folder-open-o:before{content:"\f07c"}.fa.fa-smile-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-smile-o:before{content:"\f118"}.fa.fa-frown-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-frown-o:before{content:"\f119"}.fa.fa-meh-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-meh-o:before{content:"\f11a"}.fa.fa-keyboard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-keyboard-o:before{content:"\f11c"}.fa.fa-flag-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-flag-o:before{content:"\f024"}.fa.fa-mail-reply-all:before{content:"\f122"}.fa.fa-star-half-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-o:before{content:"\f089"}.fa.fa-star-half-empty{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-empty:before{content:"\f089"}.fa.fa-star-half-full{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-star-half-full:before{content:"\f089"}.fa.fa-code-fork:before{content:"\f126"}.fa.fa-chain-broken:before{content:"\f127"}.fa.fa-shield:before{content:"\f3ed"}.fa.fa-calendar-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-o:before{content:"\f133"}.fa.fa-css3,.fa.fa-html5,.fa.fa-maxcdn{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ticket:before{content:"\f3ff"}.fa.fa-minus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-minus-square-o:before{content:"\f146"}.fa.fa-level-up:before{content:"\f3bf"}.fa.fa-level-down:before{content:"\f3be"}.fa.fa-pencil-square:before{content:"\f14b"}.fa.fa-external-link-square:before{content:"\f360"}.fa.fa-compass{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-down:before{content:"\f150"}.fa.fa-toggle-down{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-down:before{content:"\f150"}.fa.fa-caret-square-o-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-up:before{content:"\f151"}.fa.fa-toggle-up{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-up:before{content:"\f151"}.fa.fa-caret-square-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-right:before{content:"\f152"}.fa.fa-toggle-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-right:before{content:"\f152"}.fa.fa-eur:before,.fa.fa-euro:before{content:"\f153"}.fa.fa-gbp:before{content:"\f154"}.fa.fa-dollar:before,.fa.fa-usd:before{content:"\f155"}.fa.fa-inr:before,.fa.fa-rupee:before{content:"\f156"}.fa.fa-cny:before,.fa.fa-jpy:before,.fa.fa-rmb:before,.fa.fa-yen:before{content:"\f157"}.fa.fa-rouble:before,.fa.fa-rub:before,.fa.fa-ruble:before{content:"\f158"}.fa.fa-krw:before,.fa.fa-won:before{content:"\f159"}.fa.fa-bitcoin,.fa.fa-btc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitcoin:before{content:"\f15a"}.fa.fa-file-text:before{content:"\f15c"}.fa.fa-sort-alpha-asc:before{content:"\f15d"}.fa.fa-sort-alpha-desc:before{content:"\f881"}.fa.fa-sort-amount-asc:before{content:"\f160"}.fa.fa-sort-amount-desc:before{content:"\f884"}.fa.fa-sort-numeric-asc:before{content:"\f162"}.fa.fa-sort-numeric-desc:before{content:"\f886"}.fa.fa-xing,.fa.fa-xing-square,.fa.fa-youtube,.fa.fa-youtube-play,.fa.fa-youtube-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-youtube-play:before{content:"\f167"}.fa.fa-adn,.fa.fa-bitbucket,.fa.fa-bitbucket-square,.fa.fa-dropbox,.fa.fa-flickr,.fa.fa-instagram,.fa.fa-stack-overflow{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bitbucket-square:before{content:"\f171"}.fa.fa-tumblr,.fa.fa-tumblr-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-long-arrow-down:before{content:"\f309"}.fa.fa-long-arrow-up:before{content:"\f30c"}.fa.fa-long-arrow-left:before{content:"\f30a"}.fa.fa-long-arrow-right:before{content:"\f30b"}.fa.fa-android,.fa.fa-apple,.fa.fa-dribbble,.fa.fa-foursquare,.fa.fa-gittip,.fa.fa-gratipay,.fa.fa-linux,.fa.fa-skype,.fa.fa-trello,.fa.fa-windows{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-gittip:before{content:"\f184"}.fa.fa-sun-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sun-o:before{content:"\f185"}.fa.fa-moon-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-moon-o:before{content:"\f186"}.fa.fa-pagelines,.fa.fa-renren,.fa.fa-stack-exchange,.fa.fa-vk,.fa.fa-weibo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-arrow-circle-o-right{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-right:before{content:"\f35a"}.fa.fa-arrow-circle-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-arrow-circle-o-left:before{content:"\f359"}.fa.fa-caret-square-o-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-caret-square-o-left:before{content:"\f191"}.fa.fa-toggle-left{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-toggle-left:before{content:"\f191"}.fa.fa-dot-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-dot-circle-o:before{content:"\f192"}.fa.fa-vimeo-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-try:before,.fa.fa-turkish-lira:before{content:"\f195"}.fa.fa-plus-square-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-plus-square-o:before{content:"\f0fe"}.fa.fa-openid,.fa.fa-slack,.fa.fa-wordpress{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bank:before,.fa.fa-institution:before{content:"\f19c"}.fa.fa-mortar-board:before{content:"\f19d"}.fa.fa-delicious,.fa.fa-digg,.fa.fa-drupal,.fa.fa-google,.fa.fa-joomla,.fa.fa-pied-piper-alt,.fa.fa-pied-piper-pp,.fa.fa-reddit,.fa.fa-reddit-square,.fa.fa-stumbleupon,.fa.fa-stumbleupon-circle,.fa.fa-yahoo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-spoon:before{content:"\f2e5"}.fa.fa-behance,.fa.fa-behance-square,.fa.fa-steam,.fa.fa-steam-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-automobile:before{content:"\f1b9"}.fa.fa-envelope-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-o:before{content:"\f0e0"}.fa.fa-deviantart,.fa.fa-soundcloud,.fa.fa-spotify{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-file-pdf-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-pdf-o:before{content:"\f1c1"}.fa.fa-file-word-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-word-o:before{content:"\f1c2"}.fa.fa-file-excel-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-excel-o:before{content:"\f1c3"}.fa.fa-file-powerpoint-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-powerpoint-o:before{content:"\f1c4"}.fa.fa-file-image-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-image-o:before{content:"\f1c5"}.fa.fa-file-photo-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-photo-o:before{content:"\f1c5"}.fa.fa-file-picture-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-picture-o:before{content:"\f1c5"}.fa.fa-file-archive-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-archive-o:before{content:"\f1c6"}.fa.fa-file-zip-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-zip-o:before{content:"\f1c6"}.fa.fa-file-audio-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-audio-o:before{content:"\f1c7"}.fa.fa-file-sound-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-sound-o:before{content:"\f1c7"}.fa.fa-file-video-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-video-o:before{content:"\f1c8"}.fa.fa-file-movie-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-movie-o:before{content:"\f1c8"}.fa.fa-file-code-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-file-code-o:before{content:"\f1c9"}.fa.fa-codepen,.fa.fa-jsfiddle,.fa.fa-vine{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-life-bouy,.fa.fa-life-ring{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-bouy:before{content:"\f1cd"}.fa.fa-life-buoy{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-buoy:before{content:"\f1cd"}.fa.fa-life-saver{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-life-saver:before{content:"\f1cd"}.fa.fa-support{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-support:before{content:"\f1cd"}.fa.fa-circle-o-notch:before{content:"\f1ce"}.fa.fa-ra,.fa.fa-rebel{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ra:before{content:"\f1d0"}.fa.fa-resistance{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-resistance:before{content:"\f1d0"}.fa.fa-empire,.fa.fa-ge{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-ge:before{content:"\f1d1"}.fa.fa-git,.fa.fa-git-square,.fa.fa-hacker-news,.fa.fa-y-combinator-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-y-combinator-square:before{content:"\f1d4"}.fa.fa-yc-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc-square:before{content:"\f1d4"}.fa.fa-qq,.fa.fa-tencent-weibo,.fa.fa-wechat,.fa.fa-weixin{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wechat:before{content:"\f1d7"}.fa.fa-send:before{content:"\f1d8"}.fa.fa-paper-plane-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-paper-plane-o:before{content:"\f1d8"}.fa.fa-send-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-send-o:before{content:"\f1d8"}.fa.fa-circle-thin{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-circle-thin:before{content:"\f111"}.fa.fa-header:before{content:"\f1dc"}.fa.fa-sliders:before{content:"\f1de"}.fa.fa-futbol-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-futbol-o:before{content:"\f1e3"}.fa.fa-soccer-ball-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-soccer-ball-o:before{content:"\f1e3"}.fa.fa-slideshare,.fa.fa-twitch,.fa.fa-yelp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-newspaper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-newspaper-o:before{content:"\f1ea"}.fa.fa-cc-amex,.fa.fa-cc-discover,.fa.fa-cc-mastercard,.fa.fa-cc-paypal,.fa.fa-cc-stripe,.fa.fa-cc-visa,.fa.fa-google-wallet,.fa.fa-paypal{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-bell-slash-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-bell-slash-o:before{content:"\f1f6"}.fa.fa-trash:before{content:"\f2ed"}.fa.fa-copyright{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-eyedropper:before{content:"\f1fb"}.fa.fa-area-chart:before{content:"\f1fe"}.fa.fa-pie-chart:before{content:"\f200"}.fa.fa-line-chart:before{content:"\f201"}.fa.fa-angellist,.fa.fa-ioxhost,.fa.fa-lastfm,.fa.fa-lastfm-square{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cc{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-cc:before{content:"\f20a"}.fa.fa-ils:before,.fa.fa-shekel:before,.fa.fa-sheqel:before{content:"\f20b"}.fa.fa-meanpath{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-meanpath:before{content:"\f2b4"}.fa.fa-buysellads,.fa.fa-connectdevelop,.fa.fa-dashcube,.fa.fa-forumbee,.fa.fa-leanpub,.fa.fa-sellsy,.fa.fa-shirtsinbulk,.fa.fa-simplybuilt,.fa.fa-skyatlas{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-diamond{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-diamond:before{content:"\f3a5"}.fa.fa-intersex:before{content:"\f224"}.fa.fa-facebook-official{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-facebook-official:before{content:"\f09a"}.fa.fa-pinterest-p,.fa.fa-whatsapp{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-hotel:before{content:"\f236"}.fa.fa-medium,.fa.fa-viacoin,.fa.fa-y-combinator,.fa.fa-yc{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-yc:before{content:"\f23b"}.fa.fa-expeditedssl,.fa.fa-opencart,.fa.fa-optin-monster{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-battery-4:before,.fa.fa-battery:before{content:"\f240"}.fa.fa-battery-3:before{content:"\f241"}.fa.fa-battery-2:before{content:"\f242"}.fa.fa-battery-1:before{content:"\f243"}.fa.fa-battery-0:before{content:"\f244"}.fa.fa-object-group,.fa.fa-object-ungroup,.fa.fa-sticky-note-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-sticky-note-o:before{content:"\f249"}.fa.fa-cc-diners-club,.fa.fa-cc-jcb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-clone,.fa.fa-hourglass-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hourglass-o:before{content:"\f254"}.fa.fa-hourglass-1:before{content:"\f251"}.fa.fa-hourglass-2:before{content:"\f252"}.fa.fa-hourglass-3:before{content:"\f253"}.fa.fa-hand-rock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-rock-o:before{content:"\f255"}.fa.fa-hand-grab-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-grab-o:before{content:"\f255"}.fa.fa-hand-paper-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-paper-o:before{content:"\f256"}.fa.fa-hand-stop-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-stop-o:before{content:"\f256"}.fa.fa-hand-scissors-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-scissors-o:before{content:"\f257"}.fa.fa-hand-lizard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-lizard-o:before{content:"\f258"}.fa.fa-hand-spock-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-spock-o:before{content:"\f259"}.fa.fa-hand-pointer-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-pointer-o:before{content:"\f25a"}.fa.fa-hand-peace-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-hand-peace-o:before{content:"\f25b"}.fa.fa-registered{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-chrome,.fa.fa-creative-commons,.fa.fa-firefox,.fa.fa-get-pocket,.fa.fa-gg,.fa.fa-gg-circle,.fa.fa-internet-explorer,.fa.fa-odnoklassniki,.fa.fa-odnoklassniki-square,.fa.fa-opera,.fa.fa-safari,.fa.fa-tripadvisor,.fa.fa-wikipedia-w{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-television:before{content:"\f26c"}.fa.fa-500px,.fa.fa-amazon,.fa.fa-contao{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-calendar-plus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-plus-o:before{content:"\f271"}.fa.fa-calendar-minus-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-minus-o:before{content:"\f272"}.fa.fa-calendar-times-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-times-o:before{content:"\f273"}.fa.fa-calendar-check-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-calendar-check-o:before{content:"\f274"}.fa.fa-map-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-map-o:before{content:"\f279"}.fa.fa-commenting:before{content:"\f4ad"}.fa.fa-commenting-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-commenting-o:before{content:"\f4ad"}.fa.fa-houzz,.fa.fa-vimeo{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-vimeo:before{content:"\f27d"}.fa.fa-black-tie,.fa.fa-edge,.fa.fa-fonticons,.fa.fa-reddit-alien{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-credit-card-alt:before{content:"\f09d"}.fa.fa-codiepie,.fa.fa-fort-awesome,.fa.fa-mixcloud,.fa.fa-modx,.fa.fa-product-hunt,.fa.fa-scribd,.fa.fa-usb{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-pause-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-pause-circle-o:before{content:"\f28b"}.fa.fa-stop-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-stop-circle-o:before{content:"\f28d"}.fa.fa-bluetooth,.fa.fa-bluetooth-b,.fa.fa-envira,.fa.fa-gitlab,.fa.fa-wheelchair-alt,.fa.fa-wpbeginner,.fa.fa-wpforms{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-wheelchair-alt:before{content:"\f368"}.fa.fa-question-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-question-circle-o:before{content:"\f059"}.fa.fa-volume-control-phone:before{content:"\f2a0"}.fa.fa-asl-interpreting:before{content:"\f2a3"}.fa.fa-deafness:before,.fa.fa-hard-of-hearing:before{content:"\f2a4"}.fa.fa-glide,.fa.fa-glide-g{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-signing:before{content:"\f2a7"}.fa.fa-first-order,.fa.fa-google-plus-official,.fa.fa-pied-piper,.fa.fa-snapchat,.fa.fa-snapchat-ghost,.fa.fa-snapchat-square,.fa.fa-themeisle,.fa.fa-viadeo,.fa.fa-viadeo-square,.fa.fa-yoast{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-official:before{content:"\f2b3"}.fa.fa-google-plus-circle{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-google-plus-circle:before{content:"\f2b3"}.fa.fa-fa,.fa.fa-font-awesome{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-fa:before{content:"\f2b4"}.fa.fa-handshake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-handshake-o:before{content:"\f2b5"}.fa.fa-envelope-open-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-envelope-open-o:before{content:"\f2b6"}.fa.fa-linode{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-address-book-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-book-o:before{content:"\f2b9"}.fa.fa-vcard:before{content:"\f2bb"}.fa.fa-address-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-address-card-o:before{content:"\f2bb"}.fa.fa-vcard-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-vcard-o:before{content:"\f2bb"}.fa.fa-user-circle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-circle-o:before{content:"\f2bd"}.fa.fa-user-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-user-o:before{content:"\f007"}.fa.fa-id-badge{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license:before{content:"\f2c2"}.fa.fa-id-card-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-id-card-o:before{content:"\f2c2"}.fa.fa-drivers-license-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-drivers-license-o:before{content:"\f2c2"}.fa.fa-free-code-camp,.fa.fa-quora,.fa.fa-telegram{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-thermometer-4:before,.fa.fa-thermometer:before{content:"\f2c7"}.fa.fa-thermometer-3:before{content:"\f2c8"}.fa.fa-thermometer-2:before{content:"\f2c9"}.fa.fa-thermometer-1:before{content:"\f2ca"}.fa.fa-thermometer-0:before{content:"\f2cb"}.fa.fa-bathtub:before,.fa.fa-s15:before{content:"\f2cd"}.fa.fa-window-maximize,.fa.fa-window-restore{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle:before{content:"\f410"}.fa.fa-window-close-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-window-close-o:before{content:"\f410"}.fa.fa-times-rectangle-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-times-rectangle-o:before{content:"\f410"}.fa.fa-bandcamp,.fa.fa-eercast,.fa.fa-etsy,.fa.fa-grav,.fa.fa-imdb,.fa.fa-ravelry{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-eercast:before{content:"\f2da"}.fa.fa-snowflake-o{font-family:"Font Awesome 5 Free";font-weight:400}.fa.fa-snowflake-o:before{content:"\f2dc"}.fa.fa-superpowers,.fa.fa-wpexplorer{font-family:"Font Awesome 5 Brands";font-weight:400}.fa.fa-cab:before{content:"\f1ba"} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..cba6c6cce88182cb9374acea956769f87a8b8004 GIT binary patch literal 134294 zcmeFacbpu>nLpgsIrq%;O!wrtGqZVTCu(=4)oQg$pqwQn6p#>Lgb4yeN|3Gne@= za}KkMNi(yUi<#}r1-RacW16X98)nXDw&4CYq^FtXNZ-L+$efL|^HGHPcPR^*3jXyn z-FUjpRPjvf|4_q4DDQlfe5Tiiey`4MJYB={Ri+I!{J(1-3Lw}FW)H(LOXtpAx#+IG zt#2}{HXo_+c_VY?GVSDFaovjRuiInN(K4G`?^f}v@JqM+C-}2hfO=g7I^Rj^cinEz=+;+ z^w|$?4DuX6`X2AtJ=qQeM|<*I#68hF2W3sQgq)`v(XyR{3 z57OsO*wUbBZ~Uj~^X?t=XqTU?qdA_<=TxLg?9lP{(K_X+cg8vGqvpFav>lUWA7H|h z?V@Ran#=<_o*4I@$1~pjp~)jN@mG3}=JW0!nmB~xiS4H8&AwZRJZI47CjRQR1DuK- zVjM63LG*vKFEp>t{ge3)PL_pha*)=AWAmBjyWpBWhrT(?F2(V-$^3hmI4u`j1a+mc zv0ww<{G#c|f7H8o0Oxxq{)BUv9GdvA6Z^zFZua7ojXuOZ zb_m-fEj8~?mazxvdni9@UgPNXtJkIj$J1z=MDz=NC(tA4ZV31G9Ordjo9Q#ntvSx9 z$Kz|q%i1%^=V*P%i|1)w^xX8y!@HB`nsrXKv00wicFKS07>s$(PW9pc;^;kh0K5tt zJEvKX_ujM&%qOqEnd9}x-gk{W$V+L3(x~Y5IogeL8);KxM)NesvzgyTxu*9H^w~XA zb)tXvFai3G@1-@*y}Uz=%MLLt%EIQ&C)dl%O#EfCEN|}7G?YWz@E$$TIra%}j?lI! zxEJ!~9eu|=;A=yS_g+ZnytWQ`vH&_A`05^1$k6fd_zFFz??u~@n5qNkbQ~ma!+kG( zoDmuDtjR6Tcyg3Kf)sidXLz1+vobCurhHI3XdjFoOdectaQVSC2d_DJ!=bAV-E!#m zL-!r}@u6QFwhz}2Pd~i=@R^6tIegyXU576}eC6S54(~mD=i$2#-*@;^hre|A9}Yiv z_?5%|cKG*)|9JT5C^xE%nxoEWd9*P)IJ$83)X^=Y9~wPp^xVeC*d_e;E6(v9Yl~jg21>ju=PWBbg()BfUo!9a(;4&5?CSethINNB(p) zc=Yz8pE~;4qhC1s#L=%EeeUQ>M_)PmFGmj_J$CfZ?^y2y-kJH%@H?M;=dpKQe&>~U zUO&bk>piyd*hi0Dd+f$zdynlqcF(b|9Q*3AXOF#f?1#r*JNAoXzj}AZyTk8(>fHz5 zefixVy!(rH--5Qsysytz9lZG9^@pzX`s|)VKbY*Z0rc69!yh_)?%@j#f8_8U^x2JG zpWTZ-+kg1U!_OXm`SAA-|L*XA9zHb6j>@CPsBg3vebzsEGWu-u=xL)n(Px*A?isyi z^p4THMn6CL#nH#nXD^Qac=Qdg&(0XzJ$A*|)#$UE$M%igGxo``2gV*8dlG&2?Xj1} zUPhn&0Dbn0vEPpU5q)+Pea0S@eHSHnY`Cm~k^^+GfC%Ou^($V!UI#W&GCojd7N-$=GOYFxDGu zjn&2~W2Ld&SY|9WmKckSlZ}&%1;$)sjxpO9Hf9+^#tdV+G0mtMRioD^89hd~VH=jA z8LED(ex<%gKUW*m-qL=p9n}6!`?2;t?IrDb?OWQXw0pEqXjf}jYOAyr>YvoN)PGT5 zRllX)t?pEZ)q|Xr`+WP!&<&wKIBT6pog;3GdtEpkUK)Ne zd?YeA@@#Zk^z`UW(WheFv8Uo}d^mnv{MAHfaxnQ!YH4bJnoXacel=6htjsRW-kyCk zcW+Ce<*oc}g;HU4;ZudTi))LowKA<2wZ7h#Zo9vuyW{Pyx4VDPv!~~erE^L@=)Ix$ zsq$+Twlcr+nQFW?t#(oExAnpLll3AR;NoROVz z)8K=HZ_j*T=J?Rsp)brjW7d&jd3gTt*5OxY56}M2h&s|a^7x$eocVKJm>ZqDdhYJI zUz$5QZ}Ggl=O^diwSZZ0=}GEIcb{B7dDlYU!mW#TFM4KiVDZaK0!toU^2;TEUHa!` zXD@qe`9&+374;RDuH3)MTy@c^L#w~P`mbxwUi0eOch;S??q}6nLTs$nY+*Y!CB&2=bXLr?7Maj?mU0zo97Ikv*DZ@&KW)L;q%|Up!0&)cSU#Y z+V$HDhc7<3`>fqhf5iF7%a;T$8M)-0kKXjrw=VTv`uL@9U$*|Ti!R%L+0QQLFTeMS z!WA3#j9fYG%15u7d)2n9p13-B%_Y~oc5TbG*IoO{btBikc)fc44c9+?L+OUwZ+QBK zH*Z{e+bZ z&hKCIuk63x`QvFnUjLKMpDg~#RX=&_ru=8g%`3lc{q45j$-jH%_m}+s#kY6;2m2qp|Kqto zME~&If42VTz5n^zAJ6~eK`3zg#COP_sgA~6%P_X!NMgt&xolwusn<%iI{nvZ{u?B{ zqFZl>p`h#FUy}7Qnyf{V#7l81&LAli>u#Y~$Q6p&Vsk6xN`+qRa@m|DN}+5nTddZq zD0GlC`beb|qNSlc;?@eqB)OVw3d_X0Vg2@72_Y=2gjEPRB5_(g#S0wAnNrdru4t!x z8cW!;%d$Lg`8xZ|Xet%=#gN7k!r{QO9LM_ogyV=CB!p)Ynl%kgA$*USGEK|!(d@EMBfKjcIxj@pb+n9#Z1>DzpJ2!Q zxS$F2ClG=MX>A(Gj5tK#IhGfLTUtp=L299lU18D_2iYRo4_#Md0!$H5H+N=RBGDFCmMpMM)Bfi^?)goo?Krl%>FZk7-I+}$(~Yac@pL>aBu^VWwU$<| z`pEbZqMv)wM|K_~Clkp>VhLKrTYLBZDBL~r;Dcc&6kc)noKqabRozogImQ3ORQFIl zzH=8jFurQX_U+rp&mu|`v_&RtBqO$ge0pgP|lZxoX2%L zMslSdk}EbUGl@ki4bCm*gho*!qse6L9}@$&-8PW;$2WF9vgQ+?Sn~+!Zf{>RS}uR9 zQoiMua%Jb)`^JA*xc!pbZ@=BMuqNNd1Z8ys&P@_Z64^oxFIDQzXZ)GGUkcFyz=Xtn zoSe>;a-$L=X-AKRg3(xT{68_4L*(LVx?x%*>V!01(?d?I)knUeJ9;P{bAr*|j1Qem zWPPzN2!`Q0@wn?4W-Ltm6j~43aloVT7?WcXmX5<9@*&mc7z+{V`VCut8;`0hgSou`$1EUdgh1Og9i^)eU6V!@SHr5(u}L zmwnW136DRAUEonp<{qYLAEkXSfTw?hd>#Cyh3R6ZF`Jpwp?%ttpU$UZy|-NP=L4YX zNzRU*L{hmIgCNz57#C@f6hZ&Z+XbmgvpOl#=w>C8xJk|pnxxP}q$FkqDRy%xs8Dps zHI2)YIhH@oY0V$gW;nxZcQL5Ct z*V0oe1tEoOK$TinpgKhNc;n6lqN)eJ%;5C61HQp^)Y0 z`^ZJm1FUe!G!u~!=)vN+$u zZ>+TqQ&naqo*vr0fl((WCJsR0Jx^@XM~2~LT1U2$v&bFfljI=`r#JmWF5Vn$;C)B* zZYhUJ=R)K`Cekx{(nGQy!+8IZ@(UiAKeDnNT?K&oaR}u zc^0BaWT!6=;odyD63VB9MM=AZNR@JeK;LOTNy~0l=2R)+1f6oBS|~Qpij>ydUSpX^_f8+QNu~{Ju zZY)MP6^x4~5hxWBp$8%p)+M|E&5sQcL4k6|`k|1rGHc=tS_V-B5<-3=aIEX)XCnlf z1d9U?NuhEP5oL!3)+P?eIqy}*LXkPKHo|$evE2Vy8_)jtwM8Y&@As;@GOfrVkq*_#Dl}^P_6j8c;ARZ8Ae%;}0 zLUJ+*1V>t9ydd)7!H$0l29re<%$k^YD~2rN`DaDNEA6Ed`(>)7JVC!eWyf~BXQcP_ zONjr#AV?<;0Z+Ae_rz|2PWL|!!U>fTE<#Y*iCy!-QPAF38y)bex>$Z{z;BgQHK6c0 z63wx7R#hY|7x3q_HuRODsD?~%ctKTTk=+)@DSTW<&nm5cRoTsj6;2XW#m6Ze*VLhlcV+Jb(j*jwTL3k2=6)!9_5sq0CXG8I&BFoEY_*zY^^A zY%&O*17vn%)AgG+jcE9#Iy+}{u4UEEWd4uECq_2m23gM`tusY75>2f_8=BI8o4T5Y zT0ALMnL)WTRRZ@u_~6g}{O8Lqd+D;vyu6STSCY*LeON~Mn(I(Dm7!d}3N4_?_?yxx z80y8uH$m=M2@MQ6l|0q;DdW#lel-YPsN4Xrfs~+%pvPRu-L|5N9O1`T!HR1X+19ul z@Ga@Bt8?vl=l0dk}IUXq$I<43;eM-Un*+UF7r188Y6{itdiMJYEeX}dn zI?ILb>#TW1dwg@g* z^2Qt3{gs8mMmMyTFcIkR49+JLEegZuAJ?^p%tm4@88d?)of4<~2>#WQpYzpa&)o=z%Dl z#?EI@C2AsTrY*m3p&{|2YUu_m zszF`l6wwUmju@6g0gfy5&5&{tLl85`k-<>#%ArIaCZ8~A&pv=y8b2)BUW6xs$}sgX z^J>MZ6Pofq`^pb7nt_t$4?2}hxz0^xB)#EyEYiQ#+mm3XRLYG1lJ3dIe02Pm(R@Bi zlF|HS-u=(ULT+s9{V~UhZQXJ_V=_}3-$ye|K0sQ%3=H&b4H&_b7{@F#hgrm|Vm3ne z+=<|=%P1bz0KHL;k?WB2T) z251UR>(iOM7ALPgjyicxEz~J1bt?bEgzVxt;5d#TY-0ruhm$X4iO#WiDlFl*voJ5V z3o6HgD-ltWWtKmQiv$fLXrw6SVr;Sv!!|d2=P56Jp_g*Mmx5c!^KWEiHL4&O=nDX6 zu&fSx>6k-Vlj`I4DN%vzC#0Vhqbl2R9VIB9y{?0hPSj!qIj@j;D95mQZ$H=Dm%Y1l zyt@P5p7J2y#P`V|@;EG+8G(wGTn5a-lk&2F|C>=W99z_3Q zSg68kkx#y~ckfGk&x$F6xkKsN_d;rQsj(@!fGCpGD#;lMZxmT~nRwWQw)8l1?tN+e z(Dy*nK~@W-GS&5e_mKk{_^RqKDXFA`c$`zL7jbk7IEY9q0tADEJz?yB zQ=YM9&YX>dWt|AVq#$XM>{I+{Rt^Lsnh(m6tH{BQAg@J4Rrc%AU_e_TK_AlLe&Y?6 z14Ds!3+0HDfSW^QhE@%}=BZm0On)EMjPLQUX^d>#IMP_-XH}AhmaLezAaTT(uq=rc z%%tP^gArB{@M9&F4Tl0DCus_-5;EI}Is}*;P(CYyVG7VUU>|Y7%aH=B%BxsHD)cfs z22=+|BpBkKdT`^WIyr&JcS-AlU31qi(98w>xtaVEk0Hc;7+vMHd>rR*k>vr#Zb>D#vH=BaqaPHWr_Td6#pGK!+`n#JW)kxabR0fFfb&+C3TjEKbpY7AN&tCxr$e zLzA_uAayFYGpHG|o%eIF#i+50BqI0InPod`$sCgX}#QD2-fXVjXy#wVn;9)6Z3fN7t^$h6wKs@-4BU)lQ z&{(i$*2&(Bz>k9WD0ksK0(cKiio`4#T`L#@-V!(0dE6h2o}5b|_!bwhw03C5vNeP8 zX&NUHj2P!;I)13Htj0>wC7| zDa%=4K z`tqgcp1btqS~c0-J9lnxxi0J^=S-V6toNf zxGNl&gYB}J>y5Pcv=<`1SxYVswPy8BAd4MFwl&t%lPo1mJ<)CS;owb$mX<;bKhR>w zdLZJ^@hAK! z0kz%Xbl8`1j@@&^2_Fc);i!~wQd67xaKsVA=jx# zgF4oVp|VpiQ<>7ui&EJcg#5u-j?@=P;=JMBh|#O8RXNFT=!A0<0=LqjX_e`m_$sm0 zkZJ3hs092mD@ur~M|_THNLt9w_|oKif#tPMeq{FS5m+>`{8OJqs)Q_AOcpH>@~!hEhL`K%jOaeLt{kD(nDVQx=Us zP-Bw7o5~g-yEL_EpVis<<@O>RKtvOwf#zi(I{r_$-bzO7;jp{DBd^h$THc=RhSzlj zqTt9h?_0}(c`@w7IBeFdFfKlLg_wrt%E-b(g1!docHzu*z;9u(!fQ-ZoX^gc)mfsz z>YtaTX9p<+f8eK^)ek4J0+cO;U$N;g6TZLIcDt0}Ra5_6I z$UTs{!yjOI2bEP^LlOD<8eV*j7nQGayK!|fn$~O^>qB2qZyDwffhW7zC^q~JmjXiA zyAqMF`QVQ%T(xo~{#K6PxoXwQ7jZ(bs2_?2Z@(Pnz2|?6VOC1TnFQscYC@$>93|9>m=a@+37q@ z11{7~a_ub5C7CRA`8Z2w5rSm;Nu{5qy29g|XV2a|d*xtf=V0d>mgDm|8$i~xXT+|G z&6rJNRWh08c^8y%mgn@89La^+Shm&4MdXy;Of{0tRIccyk_yV4z4@akvvcq>v{0*l zyue|U7oVQVQZ;M#_^{oC~D#?__LX(n~+pS0_@~+*&?g%fIOD zKR`;qz>TTDDf(&ZS}d?2KlPO7S|+<4Ml?)%_uW}nkv{0n`(Ew3^Uh@U3t1B0dLF&p zH~zJs|GZiSFAy;w|BSKpVkztl*cxy=&I=tVasZg?lnp!NhlDjoSabXtxP(U(l8<~c zPWE#KVaGQan3VUkL{i3IyWJi=S4D10gd5RyVRRU7gb6G)C zYCvTMEJf;iEz>@jGOm#f#t zLOLK1X{hOXK0&v^ioOrx0t9mz7A16kAQnI^s<6Yc(Wwq$9~^)UnPd@LaDrh-OcrDb z#X96vMX@S&B033pa#FSnvGxy)&Yi5(3Lu%44gU&coiD1>{G8Mwt~cZH0Q#9jKVOEq znP4C{^FbHno~4RaPNb6n{S4_36$f-L7GX%xo^r^{8G3)(?DqS6G^aNqn{&FYX(Bfi z>Wf#VrSp73F9f)+&P)`Rl0X2=%4sjooD1^=#zyj-0@s>0gQS(}Ad@=Z6klNc4QNrA z|CA4KIDh)-r-MiEBU__SJbc&V>=QpCpUS?5u>}8QhS(u;oj2Fp5fd}1C-IXj`Dy)jdR#8N7MRxas1>iU;qfC60e2qL09We^K?lR_M%!AAea7N|HOmLoTu8@QK z6`UrQr9NDomf>sYEs3@hqAZ1uF!+pE04K`PbBb4^i#_!n?B9!~!zKPzfmnkGk}T{$ zj|l-}pxB-3Z~zV5LcId)I*T+so0Whs)k~0E)TYGKpe^J95jnId0Nxl_^h%biBjAIQ zp2y$&RGtP*}7C0gyc51jFPBoJ6YC5d`EQTbYQPhT9JLRXt<)4T^wBJpa7F z%J>sSIHcgPvs5`zGDRKUT>_h!@FD>ek9a}Yp`sdPVXj!b#hVBef{(G44XU~-vkE5~ z8jxK$UwJOlqKC_=z8Ibod|WOr2x6WW~pq8|nsURVnWKAD#UXi6Mwap6RFC7u`3k*w>p z6S=Hu#(idMu02l&LGb%XpQcfV2Z3u8E?L(nv}wQ#9AW?kHtp$x42OsY4+jwpU1Wg; znd4v3YJ3Ygl)@T77fD$`w70UHSf zv1!1bIFriBR4QF@NK4rE1#~lDsfx}kJ|T@kk~Ef&2tF;&6RmvwMMn>!u#dah}qbRh?PI&3yKbeZl%u}!q2nkg&aWcpjF(I5rK?=Iyb|Cg5 zjfuet0;S*&m7IG#QAO?-?f#siEI66WD{iZFv}7CpUvv$sr*3cgTqCx%A*pAdv%Gs( z#YoRs_uED0%sC12v?udYu!YQ^qxw!-o{Q*xv-N`A8d}^-VzaJWKD}qD6$qqR?n`;o zU9=*2a(8uoP=k3!^<&B}p9imwQG0FD7A<1hP#cZ1YG}pSsEy`X%T$G-Zj&j9fP$Dw zi3a&nXv4E6A?L^!-Qn&6z`a$w`QvB*)HVAQL308|doW^arhjD3EKZRFN<>Wwe%%P$ zfw*C-rZw-*WTAW5<#(?NxyR4W?`rD{VJP7fcYOYU8BVpfX#qs@h!T(ifzuS-GX19C zh*49`d#|U+F7i#rp`!x%Xc3c}lzw4^f4@-XOCR zh(Ur!-*2n{v0iBe0}+HH5LxJVL`DP`^5qg&9~80&?^esvr&L zgfzwlo8j8BL=j$ck#Kaxm!UWCegNG*)hsUp@)+Isjh7*ucX*P0-F3!4RQ;h#o#q!;oKF zKHPuN+P0a~x@KzH%&x{2!^_uRMBL@qrsu5RaFaD2OvaaWcQ1=4*QT#s{z>bm4eQ~r zpO|!ccoeu_R7S#xhZxZK>u$SZBbS2}`hZzzjrz zH>_|pXOm=mn`uf0XA}yJ>kCCzm8HS?;em?8D_un&>qM=VPDH62p?t&;<0(VW+ML$X zQjZ$#9j&@SA`&b5EuSpqA=_BCEzj$&=IQ-BGL(A<$o++wz2@;)f!sg7jod#gRv6z_i0yI`#r5lpiLO zqAz46BrC*AD#Df|-i~+88hXENao0@3Empwe)9uOA;{fyhMpU#dJr~bJ%*x8;Xe0H1 zG}|bn2NJNn%9w-mm=)-Yrb&qCMCw%mw}i{SW;fOM1OYrn0d9I(5oiW_Rit?+lZA{! zC`0oK9wU#{;4*h=ybzDuJ>gg}9xujvf-#)**hspF?y%C}f4Y6`|1SIZ_uf|;#W|+* z3;|xP20m)DfFg7;j~NQ^s~0`yfw(BZIZg$TNAo(HqhPKJ8v*heYzM=TZy;C0CULPjgea=FxsZp}dG!V0(>6xBIVTF}*jwmNiZLFBV5-Su6+%gN% zeJ#o4v1os3mT$Tz39h^O#hY(_k+|b;M|TW%W&PE8zhMd1yRbx2*i&x#op;e$o#tA; zY_k8Wgw+*N?rHRIjX&GkqH9e%{XtsB%@|@&ejfrI-sWjnz;!(4Ph*^^&(sgts0iJu z=C}>w8(DMV&J~S0i~2{ta&dqu zwnW^Yd${X&$Xn0>;cb9_5AzR%g{WtQ1kq-~@y-IphqC$BwI71-ZpW56v(xJqHP#R1 z8Yw@w_YeFtXWf9#n>8z?WfqlZZE#^*u67WYGd1Qi=6D|{8zWw)(u6i}3iWWaQUO5M zR9LH2EFicAmQ)sEhB{@y`KYsxV7^kZ12YJc2tvnm2GW-P2m#UPPsbZRgebR^{nL?B&z=yo=2p{oJuv(sWxNn zMjeyX(@4?1PV)_#myHtxlQOVO|8F~m#9%`$58zz{bG|98@oAc6X`1hp=E3*)iNO!s zOs!bA2Yi6dG@m>yu)%skvjQQ>$FA%jSi$*G=<*DGLXA@_VvjHCGc#; zA5ddt75W&!o`nJ1$i}p2MwXTK>C@X)1j0b+nv#{&w#Z}7AJ@Vh%FAda|;#VbLR6VH<#EVf|VS*e3mhMATC*nVwmAMVCvKbUfpKKVFL^NOq zZD?{<@LqCkc;j%kiub?%~w{A!na5yZY4J?%`S8bA7&fw7cf_r>H)(yFg%S&08sg z%jK18m#4`5Yp-3te0l17IHXedR`Dajg@1YMx{VvJJJJ?!+qkjqF&uGuVI}ey<(04@ zCgq_5ZkB^aIs}@bGp1Oh{D=xQ@BD+aMQ8@JOSw>^mLyFF97H>=z&*Yf0M;pK#ylD% zqlwaYPMi_re@b<9qyqk~iup)KQshO$Nmg}VieyqQKf<5sc!$rNK=AIA!opX9hn(J^$>olKKCserFDD`Vom3i< zRu6LvTsfcyhZqK=GP1QzjV%fp_|)L|SIW8#P{1ZUHR{SSSVG5Zp5wtJZo%v(4}stnCxrKp=pC z3Vb>u;EQ$VBVSWEeU6z5PM4g3j_^RsM_z_t|7XRg`-!b|0pAAV1cuL{c6EN}tQ|B3-?N)TfT zhbSu9isd^I(vubil}$o7hO5F88B)T9$hnIb?}`@UN~>XWX-n%c5a_|#Ef#g^ z30!DtLAH4g=B%Ouq7%{j$Z9(#x#|o}&31&sIefLluC%r*YKbfooX$DL>QdOK>`z;2{EpQqtDQjso_#N(^R#Tx=th8BDq9J zZ|^km=(f&s)@RqFd}h-s6BW>MQ0=s?E?SJb{%kJeMsl%`Y&w(qPf=P4E!Yf2QDug2 zbRsJjFRVp01-J*kHpLE+3*lW1K#NGgCP4T@gZ4%T@nf}75S*4qd(x0kEFsH-6T3kv z=P61J8YxNp0o^B6D2co^YkuwFht7L>Nl#7fpSFrTbK7mx$k#K;Kt>phZ-D zw6Cgrl$FZHClz{NXtW1YL;Uy2-~%pZSr_c55v<|Zj9A<~%pJ_9nJ+U>Vb-}49B8#- z0{~H@96Ek=;<<-I8RE>xLH#ZXZ+~#VQpEsRw4w;rThU_%`9pIf5|fOd%{>H6jQjR|%WBT#myQ z;rjYmZdxDKCyWep-0+CN%^ktV73QAL3Qr7SVPX0!P`a@kQuu5?JU_HW!w=Bd;;?wj zY*Czj%e0my-(t$z4T=7B<;M3SeyG1!vxDj z%$aNv!DjGaLNa>T0d-kW02@4rI&mrWlRdFWWJ$ZD#X9mW>Pf~xM^`G}(dcO{siF$q zM3&>Gf8q00vAQ8_h~a^gFF$$b&9%-!dvR}hR@?M`hp?&h05A+Yefk`LAWSNSW-dWQPsC~{cUfr zZd&w{hZk*nu5taQMK3H~ym*^;LDHgrzb@V{%lA*64D6U$x!{7z%-Tu$=W!Z^+3QG6dG%zdP8iLXZuUjFTlQ|<{o3WA4-RtWZ;EUmiEibT= zNmI1K84C)is0&6XRuXZUd@?$0*+os2<1Kz7v%sITz2Wc=?U9y3FVxlUY;Ly83%x+@ z_%=5z4E8Fm@~2zY1_iBUumFJ4X$3}s_1xj2CELTP>9F@MaMJ;4q3Xu;Ow7i*8wGw> z#r8{5AyNondCPo7S8W>gjlg9BCuol?!&;{NOohBW3Vdi0j5Hed3-qPe0af)SxAX^m!i+Z3qRYO-)_%*z z#fLq?cd^8D=9wB z>ei3=Ev4Mo*9)jkil>r^i^I*EhUvos1FXj=^|3Y=*1IQQcTAr5yg3Dyq5(INHRbbr z6%!_6G8LD6zAw(^xYTu>3^i$&854P(wEBuw>W)f=ulX zd<~c(x56XX3!P&jvzoaG_8LBDKo^Q;Daj`V&k{q&Hcc*SyQToU6k(e|8r1=JP}9S4 zLG6QBs)9QW3ZhlqP?1_E)QCZ-4u)g~TP@H~TuhS+{K1HC!V+Nm4UnJYtwdXkVaQfI znz#Hyf9-U~Z#lU{TbBja7Sy$BtrD^Aa5!XtN&wpwTwx_E1ZM{9d_MRunM_NH*A*!i z<_q`|$_yfEkpRi&INOP3RW5{%WCaZQ7 zxt4ACY5*%<3WSAWMu1{#oPUSobxT8-M6%* z50HZu%%CcZ_!j`s9I_KINim<&k-IAx2pR!=`MMGP@GT(gIFV1 zp~2lI61$X+EIaihyEiS1q)Q-LSfW^CULpHEKVmER^(?wl64*&|JtVXdN~lyhMYI)G zMPP=5?&uC=8gvlU?|L{|({A>rzjvd_3A|Hs<($o!dUo%Kz4-iP^Ul+i^YuVL*9_xM zI1n@qp?r^ySoPMx+|8Tk4xje#xPg!E=;v#2NZ?4q>xY6tIHU#|i{@-zj8%k&W8kmU zJlsE{T1u!ZE?luPqsz!{>5~W05SjP~Lcd*3eLQohcYZ1|XUfatdVWl}8KC@37i$Pm zj3f5IyTp`4TpcDN-V9y^px2a6G89GzZ>xZCTzbF$nMzAbrR7Pw&;L83qjK|-^=xYa zAyF(Tv}Wt6`8i34ZjBEBkR5g`5^%@A9rmY&+k!TLb~bIdkB~x!8iE;b-zQrd+@95p zrnY15nf`z+bFv)>Sg;A(G%Zuzk?4To#F3XmiA3ln>syha9ev&hF)XWcjAgL^fZBs$ z*ircZ2r#Q8%z-e*6j(EjY&{^ z;0;L5A$S3rE@m5b7(-p8a10)3e!;YRxpvOv5q#Oqgh@;Txkb$7`iF@^Kh|=x zAS1j;ljHLvEmlBn4+c^@<&@@^j5^!iQTH%z(G-N%e6p6(5fBM(U6O@H{EXCe z4nX(L%l+r8m!=~Alf)ow!gV^CwQ5nh_q4LFr8Glac+okFcxCOQFFZ)hb51{N%T3pw zG@l25r}FV2JA`(~phxN#nMZM4d>16wC{c~~13Cr*u_YQu3iSaCVsOy_j8VhX!`HC z*2t4tm$;V63%+2YKw3gbw*}E3PZjs3)0Qy39g9tbpBAJJL1s_X7{(9Zca}2`i&;eN z`upxHNBuxHfW~K}gcHHnqcAz~;hRMCKI3CH@6vDffyWM!Ph&1B9`aX(k7GGJoZFba z%zeyb%mLnU;T)?&^O9xT zAM?vtcX_;#w<{T37$VcLKXo=a(-8nEg4@l;}X2g=R-h)Y_L&DQVdg( zMc9QhJyV1{A{+A|#EQALti+IT1#D4r=~PR-i55Ol`&T1^4<5WXqBk#xO~eI78IoYR>EQeDD_1u9 zQF=5V)FR<tW%L2lUkJ3~RD4_IBh00+)#j2@$yww=auK}I+ANQM3T~%GV zzTfBjgwOMNwy7zN=fu;Vvj+hcgcI>lc?rU_!E5Q;_-zpg^x*}&KiFtN(cG%sH8Kg&v2~`i^1ql00w!6STAwb^zTvyoMFo)y| znZ?~85`;lS{u{FcIX7jD>Ep!ja5pr?=O8BN1w9YEl)XTDmL@`L3O<-Ijh)8@&m&fd zM4jcRgp%j_fCjrH)N@)yCIX4DOt();2pgnnFQgN4XJWTupvg08OWPA;jcqchNYbP? zpGQ_6B%X?yxh_ppd>7p`S3!((E60&1AZUTjM}pm)<#Dh=?TG;F)oe2v?-a|fo5ld4 z<653pPo;OQBFO#Z=sSuB*mQ9%a zs02+QbTCyWcQk20VVx`_qwsg@2}29FR&-z23M7SK_q!_1(vJrF>1mQ>L=CqFyIBc8 z4_r4K>@~q=apu%|TrTBnju&&hx*3kb)|)J9kGvw+OCK$nHyc(#({o-ZT%_&=6nwjZ1Ai)ci2y6Je(aTTbiG)NBolEz zQz#ariF7iRE$%5c)A2+|&)t*?Yt`ZK_Tk~-*QHBk2zRvFu=m+wE)SGF%T5LDk6rXT z&5y=>d%^zt#Y5*mU_e{8!_D}KBt0_H2&MN|s-b&gX%mKUuZ!a(={|IYcl|>TJyo{L z@2J-*4cGZ}XvFD;%<^!nRINMZP+DS>L$mnz4hTCn79loo&@n0|CX~d7(LhYGf_vg_ z-n{Q@#gPXHQrZrlr##0U>W_?Qx4gV-_e!=^fOE-4<%&#>Zr8(Lh6?8HZIf5qTlH~2 z1026(<}suJqCB{FPh9sH%fVJgs-x{{s_i(3jBsM_>fXz2H=Af>a?wz;Q?=X>ik_*( zw@r4|?Pfd{jZ3x`>SxG{`r$*p8D}I~4f~cg-5s4vgz(u1xVo1&G2hoS!oQ|fD7m-L zEceE(4UDf;cCJEWkN}W#(VYd(puuAyJ2F1nNmc>rrJ!#q__l~nB%u}_e>GNo1v?{Ye>ZQLj|+a;PwOG)2s zE#=jV=F8T`cV$uK3Rf>4xzAE#vb6E%!P3S{FUgWj6iKboZ2ru9kM6!Ob8Rli{Pfa& zN6ydOK1eCW#-76O^E5u17JknjI`qRskJ0bXBY-v?&%DLWc1l{B5tw$g@X-5fV_PM4ZLLiwz{&O zx%JrIYr3Io66X7Cw$*2xPR6qZFO@x5Z%n)KuTNQJas`37MYqRHYvxmhv=xq@1Qx6A zF*E{vz8@mirHzoiNESh5Hf_c6cbd90Mc~9utWNIip=&thzX;8=PuzQYX(^fsC7b5s zR)X=l8hVW2MqnDRa5)*n3XsbGGeEnD;?Ytiekc8X4xQW-^YT$V8pbn%ZsGTOt&1PijV+)|Kvl%Ca<~k!Q(bw3 z(jU9^bo=ymM&vEYdry(G(9C31!Z@a;nrWqfTk|6NHSk2~r!>tXT1xI4vgf2u_Utt} z)SHakVdFZS1z5{e1VD?s*0FSBNG4SKZeD2r zNqb?TJ@Ina_ud8ASDmHmzx_esa(3JZ~}DX*f738SAmY7o?m+i%*?UN~cAbGV7CY zCludKv~{gy3we@Wm+-b4UO-U#3DYx{LfWPii?=ld#XnD z%MFj;&)3g34mGydKi}AR!9CO%b{o&`@AdXCyfatM)k`7AFZs26IbSI{DpZCN_)V_5 z&fWMCcT7G1NB>cMa^t}lzPa&W4mar8hSK@?#rk)czPo;?abLDE-Dra~Ho{&Q^hY$! z{4U6p@*d3OEH6jHo;nkL&CkY5jmB?th-}0ClZE{Y3;VaAkei`cjAZ%*fhgUMd1T@5 zZZy8#Xk1pWtC@}4uD{+_(T%^kLY>{Z^^tmgyk39Abw3%*JOG@q(RhTdIVNR>+(yI2 zE~T{~ZIsmP%@c1L4Ro@LU4Jxxd`AJJrzQc(O*fx>sy~$ck&R`U-sZ-hi@E>O?=V*V zb1)^d)7|)4Nh?wNWjZqA#x{PBuh0K+D$Y;UX7v_Y;~=kViXl``P8dI%K63P*U{pnb zR4idw4Rpc5Dq4+fJ{Wa32Uhve&hDNo_eMtRqn(BF*pe6BHom$Q;s%iK$=Z>Tl~X5n z*0)VeG&-%Re5vg?t%6f0-`!fB%Z+5&DAZorb^!8|sa}5MyCD#$%7A80di)5f%ojtcCM*S;n)!wJw2s;dgiUl-phQF^`FgzGkKv9pX38CpIlScFFKFA&(^ zU-*mlep8*L*iiKFnUg2a9F9_WXywq=ht3vz>Y2M|YBMjr#N_VhpWk?C<-#$a=a{<0 z{{&fqh9_n^Pbn=qFQg!~`#}r^)p2vF-47}|z2V5#-N#F~oXpy(nyC&rt6J{<95Dx7 zuovo>`TqBt4a0gIh@WY;E&JY|`l%-kEeEhfH-5sn=$;1WC%&q<03X-9MS$--uH!E+ zuTR-lWU{%x5*+sVb3;#G8TE=+zK2x696V~j2HDuNLq9n5p`jmT9QfIxuMNF8^czEe zF!Y~?{$35KrkYi|)IoKFx(iSBBkDc)sy{>BEXg9w(5gG~8{iV#Jygs#|G53}Twt3A zusovqxG%aA`kY^o@Mpi5$qJ$dM{TeN>J0mJXfxT&7Kq+~-pDLB0Zxs$K?V)F7qqOP zcQ2P1oZ6Dx;@2GPA=5Pe92{|EP|2QLtgMt<;*xEgLL_HRNwFcAtp=GTA|Obj z?hC@E!-D|v!V13Rxb1LH-3>$)<>s6c2s!`GRS7z(?l zB^FKZ(nHgijzOu%)uf;=)b(^Zrn%8s3m-MU-FR7}2hI+fu_$)&}ozNqmK48!Gt;W+Hi_CKl3CBwd%k4J}prnsvf**3rN+i*wdS;tGY z{xnxJ!>vSqruw(M4@N@&Rfv+kcU+15P&pB;Pp|-VUMga zT;XP@-VOl?hN5M}Of?3-u##Wc)o7&#yuNi+7QPF#EBz5tbNWfQdQk*XJTm;KTyn9 z5{i0V*RzK^QQZApO}v43K3UACQ{=Bfv%y2rx_SI_ZA-5akymN;jxzjivD(Jd)SI%C zngIh*<%`XHJe)|F;Zh-8`X3fG45Ma*^tnq^CE`Hal(e1fxJvR0G}cFhG4Xe_$JA#6 zeAA5J1xN=5E6@=46LV^=0^EV_wk$oTDgUgsfzwlPh*h zk#0McJ#lEub-R|Tm58s8-SqK7yAW*8RE>f@Nw|eLW5z^2v)Jln!RUk{*<>YAGbctR z?Sd;gkN>q9r)Q|;xPQQlavph=B|jO(?R-k`<~-vzK&uNDsTek$pr8rcu|Sg6=90)1 zw5ZJ+JWnk6%oiSd=nD_MK{-jMGu3et&eFl9zjE#GOZ1w__X$cHj`^+x-zU?R%}n(l z`q~pueC-MK0rq_83n60F#d5t~md}x;rN4c*q&>fz1H9*P!+6|WNQXhKSK%s6rc9w?oWK})wq^8cP+?Iux2Fs%p&w`G7gdVO`?Ubjh2vjCh4Pi*HJ685U9?Jpcb#1 zfawW6^D=?HfB_B2;yV(Q2GsC{w&y95%(an`TV55>xPJ)=fZATHcnvq4EGA*jQa_XL zck7MbLN+(s00#eTIuVVh68GtEPUe2Krh8E>MN~mGpS{Qp^_W{D;P0BTQjqTvj}#Lv z%hsHFp-4xxN}j<`X;5Q4f$RaHrp_ki-J2I;5B6q$8(7B+@15I$wP86xw4!fb{499e zn=fA!&Cfi2=FHP)-d-CSxw|?tQXM2v4MOdO18;icp(_vFea``P_nG(Ja?5+a_)=tP z@1o}|?p=yJaIt@FcJy_3UUB)|f`1yKR-SOBr?4Uxh;WftjC!6zl@}KEF`UjkJF1J-6KcuJ@j~>3tj9?>%wF z{SO{G67Y^{JktpAhBpLxOp>qEk$)R^+F-uVyxsZInKNJd(qzFudv^Y^FI||+pZVUI zn_0@s`u(zgFjqK(+;G6?{{zp%#)nhA=p79X*yjXtlJh6BKN5h=|K0j!xrO3om$~`o z!!JMluq+iWzue7jCVTzarI+Uy3VfX#e)ug9KYU?Hba!>`E5N&+515kh)6kee1V+VK zh*TnHWVSDQ5h@EDViF!f@yb{&>FGRuGzfuj&_WvESL;jZ{Se5a257-(?4tGIT z8J{~O&A2xWID1(=OJ(s~?XO?eSie2JdwP2JTa9=$(~4JYi-3(4PNZ63Tua`}aD?f! z*GwnE8}(eSo_+G7zIuc`S7&}291=`=0DePm%q2*qroHlD&*)6V@Z12?NIwuh74esi zqk|7nmt5_@DJU1mL&n9yh#~JI2yDnbWaiX|6WK?vy6Vwf;@5JGQSAJ1yixT1QVp8r zWNfUFb8_lzF7d=wk3M?U6N%i$-)3tah^ms2I-JSHDl=|kq?V;d8F-Wbj$Qp!5Mu!_ zsR8p4{joiZD#+6VP0>vUYAmt>X^0E&!U~kfHmH*Y;>x1(p|Sd0C8>U$#Ji%=!}fYI zmc1?;o=JWpS+nfhJZGC_ZVkDU?}o#~sW@fd_6vz^qh>p`RbSB_r2dk6S453$e5L+E z^xZ8gh<$G{GebTX)g0jH{QFYko=Er!s60Jl=&4ou>>{h!XX1?P;A59H zwEoRCZ8Vt_Bc)_%(qAOLh>a$01zDuMNh^~9lz_R!Zsa>ms*4W81{^uqU2I?c>jIHv zStQ@Wd~kfZfD7AU4T>W}R^Ub9EFGNutzZj*#hky8zMK;Isr)e6xT_1`VYZSgtht4mMKXme73vvCEn__gA;9)PHSa zJvqB~c6P4{*S8&9S-(54m%f#{Y;4D=2S)zv{)w4-YnQ7{-6LDfe)h=cr&`8mhfmZW z>5PURqL9csULb@3Naq2E*bEP^@;*jrCFGQ7#CZQaQ!~_q+Z18jbb8``k=KLI=ruJ>q zIrHB8P6E|lT}rjAiIJs7(e|U)Z%O;f*#u0mK9U>ignDAMaBMgkZIq}oC{^srM4gol zQ!JtG04a&@ghOxs0eWKgl~Z9dY<>m#>iNwKl}ekuE!xdX>c2CVW{G(WDTD#fi|)*O zYfAG79zIEoqB91HBig6hvi;gIuf6^F!qnbtLdFeGzW0o}dhg^+bzfzy-y5&)s~%84 zvVQx+GnZC&m`~k!=Dj;A8~6HpI)44b*T;dptp84+LwyaC?%xNV*lFQafK;U(D5^o} z41{=adRzq98^|MuZn&^Tk!|<8Q-qrO_zHsYMg4Kx-S~y+9lQNE<=(iyx7Ju*s1}k- z2Nw4DPaeAN?v1r{IN6#luATh0T0Xq}7gi@@)ofAKcCQV0=a^Dr&Q= z9raF7L~M)3%pVOHzaSdPq#G`!4n|X{=$3Tc6GKWpD@*gs=975evT$F8ZTNwQd!;8+ zwWp@Xc8VAEEzy*pPt7!!i+`DlZafxEZ9h|4c0+!oyJvc9)-BqRez{whzGn2uaEjoTlE=mc>m@C{+3iFY+fBY5*heX`420c~3(%m} zS?1o*phUIhw%UGA95OPN@>XzYbtDknL)PGok>Yr4*kL=S?K7r^;_pS((#Xh`19RjU zO-zn00*W`a&Z$~k(1Yz5*;;@T{w5T9S+#DuVry&ZlHJ>8RCQtN?gEU!D$|--ZCcJB zTPbt)ZFe1YR4f*`?AqJknM#8F(3r-JWWscz(4sy7=>+C2VX((mC4P0QzceztHKv#J zVjDm{4$@epn3?u-ky`uC4$KII;f>H&!j;EI{Klb$u{|9xI;+OWVY4cEGm%IqpaxEE zJZGh>*+To89Uw-`ZHG(w_v@TBno63G4J0g&^Ma4%`Ac5JS7;w&M4&Dmx|TM*O`9^B zV?s*W5t~2?g-LB2^r1ofUe>b5 z7{=v|9o8CgPR zqN!51e&kLy_rv#nKs|rUv5gIhk(~Qy^$l{$J3P6~21JE-8Ycy&nE?=(J2DKijebaR?^{-bS2}=M{-GVnLwTG{9@XA?&l}hL=H%!M1!h96WDcsJ z{U3_Q7L=OIrhVPILpXs%77p}tU2t#W({6R>m-wzo6I9z)R-Rp1IW4~AH$Qvq*s~`G zeeRWg#^C)R*G={#0s{P?jm8TY86%swe%=WV`7W4+dE%}}HJs!Pw5aW*v}Pq|DTZ0o z2|&tNV%a`Sgq-;+PDpi|l}@|F=$(Fa!cdFuZd8RMXX5%n8%~Dwp^Smi5-%DV$F5cF zz}?+-q81s4t#nJj3kOso54up(Ufe*t&$?0!Cas181L@LEheCa?{bFPbI6In2L*%PIMOYx0A$i?I2Ld0{w zW%HB19TnfUi*G8%bHNvX+n$9WWyi^rJ3QB$>BL9$cQ{%mldZE)>LI;Deiw5b@O82u z`K7jPl@7}q*N7y|n%-aa-w3@^NHr&6`VXgohjt!_irZm2csISV7vynXZDVRHFI2iYd}qmS%|Ogw|N#JxaKD4tGw|5kdMa3U5fz20L^v=EkN#{RzMpMUbp&m%!|a`!tvUD zmkKfEzPp>xePsLif#u`JmoJ&zTD_`&<=ftN<(BLJu27t~?t^;|p-Zpryz_O{OO7uu zAK%fOUU=KjzilfrG(@|T+_Lkr{h=1A%KpGrvEcXZrn<59_|G2sNcN$BoErPbhrau* z+;@+voj-7G`>8FJ?{56#mj8!6lVDZ;oBCyHCf-E82lp{Z2?%3S%3N z>-PCCjGw6)=89pgn1d;uIFP5>BkD1UIS(UScyBVoH>D8P=It}mOF}&ZyCfuBc*)dU zGGWEb&Y=aI@7rJ&F|6yTgjJki#aW064}IG9pu#XHvQHa@cO3@2Z*ga$s!!&r7=BUl;vJZN})6@D#5Gxr76p<0g_Ocou_v9`qaB zsUja}9*9K}`^B{o^o3z@&*Ehgdj=U#O5DYZ>c{J2i=B=CIK8VsmN?Pdd2KXP_2I%Z zatYH~pKtAmRWjjF+9es6r>J>C>mIQyl~5$(G>VoB?O!ToN7Bxp*xg2Fadm2Zht=J2 z;w1>wik9brhV@dZ`SsCyDC58&ksjST`oI&5PR5gc|5J?kq!vrmmA@Sx2fzVmQwd$YcB@S1{FZeT!+mD|5u?yenFUNsWCB-d%F zv1ZP((|*s-nyJ*D{kaLX7QLj@nb}F8C=|*hi{%lG1}(gO&%@jIJXdaFvovYuc87vb zJv3Em#_%5qE05jpq{W*VjG-+`6_33o-(8uUT3sra`@1J6c6A>+@X&hks;i3Y+FMn6 z{Mg1n92@_!58c$uWO_G$;MT=lZs})EJn_Y~!qumXYd?9GwwC9-9nS0G?Mm>ZctSiQ zJf{oUW~Z$6zj6Kh^<&jL?x-GndVX&1t7ks&E5~Yg+)+FBt&h#!c-xKG3)Fr3=X1Y- zru8{+W^xo?+N__MrRv+9-uHQwUA=_@?RQAd?9JV}^w^>vy}A5H-*-Rt)vJfj8SeN0 zXmRneB`vBx^ZC!)8-H_R<9p9KH*I|HTb}c*YJZ+}@_bUr&%Z=|3Rmc;a24?4f}Y(W zk4k35A`ym4lu@fiG7}1DTOtM>=GC`TMxo!V^kZhqjP)zce!)m(&HDCJH=o*GH#a^o zHugJ{H;uOMxbxGWei*!3wUEmds?&?P_R)2zSiF98a?5+N@g#LRlDFZR6^)O&J-jh8 z=4+eGMS{=j1^Bv)o%R5p^#l@B9xLfgG^P5S0ICE51+3G2W!7g_J)ci*e2}^cNp)K? z-?E&$wr{@+Xo|Yc+W4onwY8(Y`&IHA-}uJeEBC+S26f*no8~tjW1CCo<}S51K8Pya zYOS~1@0+-9^K;|x#Z!B+E|`_duL+5K0X%JXkbz>=8QHc)F;hq$vKhgN@H=H3d;H)+ z8eQN}VXraW=q?lr&0MswJF8J&f+X#IYi;FucB>bSl=CCN&L@_)@0p!35AUPe0~M{O zb}rok(I)vo6Q%l-)wm)p(<+`Rq$lz?)d%DAKtGM)J-&gqgJcP03!PTfk=J^WEev*K z64hET-p>?2QLP%MqA2u*v=8ChU} zlQB+@9qx@xm9vp)Ve0ftnYg7nyVhEVd%ZqnEqa1_F<{$l>(i8#p5 zRqNYS*x>;Y)6YZ}PtJDoJ)bys*h{%7O^sD1jeWZ&PwbpoDBX-s=NKUpEwqD$gyRw% zy=*^P|Uy~^49;9Bn-N7iA+(BNYux81fVK4F!MDffnQ|`HgMhb45 zoAlX?(Vu1#0BBKdmo-Jr)@o}wlk)U@vHS7vNW6V=YrX7h*}|5~cg!|tDb4BMX>2`k zeO{Yxmx`C>Efw3HF~h5_u9p`V$L_v*mz&NwN4Lyh=0wTf@8lx= zr6+eQb$BaORKqu{6-LKBQeQ)Us*;LCk$lM1^R`nA)EGH1L=avT$MZ3K2PQ|S%RO`i zS%NQ5oDz2691;UWK$L;gN{kE4YAx_sV=7DMcvYF|zsQ5Dh}yF)ZMUoC{BqoiRx_2( z>@W~R+fTI?b8fD7!?s*m#Y2Tk$O~mh9V1Q_$*b#6f3kQ(GC{vYT3pmil1(FS9XlKn5RB5cB?=`yoJ%COfsn8Pgur-f zf`ds$JqQJ(6xacmp+|iMbu+bv!9@VSmUzyu;iUYc)I=n%hXX8-aH3>c9r36!$1@sVsY5<2Z)(Yyptm+BuP=qB5bux?|*A zKb0J5RK}7iKU@He$5Yy^9Dg|Ny$OT~(o?-?Th?8%aA~;R&5Ta3 z-7;y1w?6pO4?cLTH@$1)&raXi8d8=&=XcuGrsr z_rJS3dCS^i8LO-zgR$zX$nK#4kA4KZl+has(5#IU`=Wo^Xa^B~(Lek)cKhOgntYba zzUV&-W*h~$L$+jJ&!+9p!te!fpZA?e*vO>)@?^rB+a9)75Xh@5mb-l}lAJ6jvKhn8 zxUxZIG7;@=kC?K-?iDk#z3U|>D}FkohyUz%fA@F)eemQmhl78XAKX6A-L}FmtO5M#{4BZ!h3) zLklCZKhY#xKQZ6wXRdtC{!)2-d^AGHQMs%BNUlIiZJ0!Z%1phg07m)CbAR^Tu=WeH z_IC9Kf3*Cq@~FSi`nA^l;@qt(d)g!EG%=m3)-|Vc$}R5OIs36EH@+J+RdylJ4fmIUW#c(ZuqL0WTt*(P}Hc-bf zUKrBE(K{QA=g9IvhS4%`tjWUgd1$~qBYA}}Ukouc7^_XW>%r5($;QL@f1lq}lq89I zaB#A=+)0S+B=s`pYj?l^G;331}`f=VE`oSGA=vCfMZs*OS{R!a?6dr{j- z4pRXUP25uH{Ju^&l*nfjD3j(SeDz+eu<_MoNh19r-%d?dY9%9WhUWXDkpxcM$n53^ zMe?Y>JjXwCm*uXQ+k48Yv>HxAP8;IPu*HXJ?MQcYvN3wts-&|aeNtVM@Ti~oj@kh~ zIT@;XNmA|k@uR6MK*?gr@7Lp%^xVQQgveZ7qt+&65C(aP0FUg36#Nb4Y_^-;mr;e2qvEV0Oy!@%L9m7vTf0FVMJ{S8d z8dB}z0+uN#X(5@5VTg?9%SrtB)20i&#n38?)WD zHC1RfNoF429FhNc_ks$C$0?e)GUeB6Yd5dmCIosI%dhyjMd$k0V~8|JIkS+Hoo_(f z1JyD^OG^*F6%W}=pk%yie5k<(I3A0&O$VlesAINcvGKUP0oFpl=qVOsuTiG{{F!*% zLxZJDJ};AxNK3iaj2ksWR3+@>FtYRK>0i6RL9D~Nd>9tQQ^?OVLw60`i;j?ib=k%% zvH6jerDl6pOfpGF45q*jkhWcvfGqlO7V_ghPOQGriV*;2O<%`T(8*3KpZ_ZSsVv!; z_8r+AxQ*04$DP2YJ0MY|mTFk_;R4XqD)l}zbrgMQCwN&cStO;8vRFl>zgbhKi0n3o z0mCT`u$iPK)c4+rA}BYKqHm5 z9_pI^QC*^;fko?D55N7CwyLP3dAX+Cyt+}-yt4MVraBW!dyKTgJhUQ8QQ}+;E7jJ_ zrR%n<#PkpJjitwDH~wn-)mwgj`|fRzF7Mqwk=;#Q>=+c3tJAyJS4S$?CynBc;hj8h z4PL>Q)pOYEQXhb)D_)h3wW)235=A@c^~G+IW)hf<{VBGwg%lN^KH%1o($?0NH(dI_ zYl{H;$pYE=tsk`l5krU$Lpiponj-q93Q!H=M{I~b?llg!+vB-YsbOM zFF$zTax`5J)^*}VRBjW_V8Y9|>yfYeG}Rug6x$I`piztLMej!Eme20obvxCnM<^>+p4Te1 ztcSn#VRaS!H>6j)(JGn3g=ol)Mx;zC`0r36uE!xRGVDYN4$pK2bge3Z(++*HR?+4u z=0+CFs@fUnke<4B$CWp&u&Zed@4Rkyy;TsNq>Z0e>f;(!Q>)7(orq!2!?dBSNIFin zqfnxdGm8@xF3=3G*;*=B7n=pk%1jS~;reWAefIj5Va!b@vU1avJ177_ip0e>M)?&< zLwQQ!0H*Du5yv#ZL0Al%M#4Rs8~Q6xx!d0jCy;h88M2jS_$vlFem>&rSAm1@PeSmm z-Lk_fPlaXt(=OnZBops~L^H|7*epIea>dVGv3Zc6`{5s!KK)9aQ^Bef1B}x$85p!S zeAGc-?Ga=^q30qc&?l}6TvjZS7{xFeB?Cb)B;*EcdU|~CY=_y@pTWB5QGA#ncn7fpBrIx@JJBJw!|_nn zGHMd)tx$*}Heo6O2)Q|bRi-j`c|05|)CHJ?`GZ8zoY6Y?c|(sGj|I>8fXdTzeUk#{ zVeF@Zp_Q|ViXD+krCB4CF!d<0a(L8@40${xg*&CNlb85SG8C*)j375Q59YTI;l0*`TWHJ;DEkwev8!NS_#le6R*!*XaFDH24cq>rdLfCJx zL39=jqB~QeK^k#?ZaG8=ja0S?%)C7SdE=c@XT#P{ebY<`-4CUgiE@GCha4yrr@qZC zAqIN76=~98>q%QbA@?s7@Ip@y>k3hDA*{F4tCJ@qzDG4>Gp66T?Gno>1WqWrp>4i& z4^@W^Ojuz-%ZDNl8!2Gko{hO?{TLRsB#?Naq;+Xz&7_hD&@QFDvtwwUnRAA1Y2O4; zk)Z>hr_@ty;O|_e-Wr*?uk~=)LUh6qkB%>&q+t;(M!=FWL|JOYDoDId50z}#NBDwc zPnU4!Ea2tFwH1(oNIL1oLve9`{poSizsAdvbY#Q~PcbxUi6|Vzxo4CRw^l34iDd4h zSs3aH@We3cdU%`4BIJ-cnxKYPU$$B#$H65%BIx9Wyrs?mnW&W6ILXMrG?=24i} zv|>GKj(Oa-2FJil>VK#&5O2Dkx68!|y&j$GRlg0Cc;VlZ5&FWfr0Po_yZCnoVhC_t zuL6Cg>;+LyyvlorJ_7ABo`h;7 zl{O4K9*Jx^2Vb#;V*tWCHj?HQkELC=P)jDY(rP?a`});M;c_1Mx?TwU;JtsVB_sn0 zHajoDW#mmZC>sLIX-2FXBoXUG1R>}^Tq6AfhL{u>IB>vtq;Y+KZJR@nXESvj^i`dW z4VivrEW_A9B9Bk8lW@w*O{aJupvDqL+=(U`Wrp8kLv3NU4vnT;;PXw{(oaVQ8Y#DxKLuz76 zKanwN&`%OXD~RI+X85MGSo%UB(9?*Z<)r=CB)!!oYfGxq7R<2y{_+C4L$n>P+_ z+j`2-WvZSzzI<%&O^%tdj&DECjFtV9ttSlqz}9WY4gGS->_7MXrky5zvKmy&ky
  • -hVoDd!sPW~|*- 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

    I7ktX3;2a z!Q^2NTULA9Xz4VDl090rjrrg9_cz6c)i(8Qv$2EpcW+zpBe`vRw-4}#wqtgI7XBRo z0dRq?Z3QnV7k6}^m!f@_lG?6XccZP>k>QQDrNe3=INQ@_xy8DhLaW_JjEc6M@DQzD zy$hJA!92~Dr8CqO57yO4EN2GcsrB=197<;t2WdRKKiyI7G6S%PB2Q+r6hq{#p7~C=|TC>~U;tsIGqH1r& zq7%ejCauZ$T8*MgVNQTV*sWaHZQw zyH<4{39K0K7Q#)po2Id2G<}@VrO|+n2LPd4FIhEqXlo>Ty;C#UVT4*dU5NvDO0#B$ z4wzAq%FyNr%a*%?@M!yK$rg;3M|O4SgVwKjI=0k26*Dw%W?%k?7zb6=+yN%uO zfrK2;j(cybUbZ9Wu~o4rVgZo=My<AGKpb5{L4TKxcy#Y}%x#4sdxknqF{8HSHj)0V=o2_4IDb>g6rPKK zga2t%)z~%E2HEN9Z;H0N-ECUSzP>0_AVr~>$M-ynhqla4UE8r*JlhN3swtvyy(&U7K*xTKmbjZJ7+gC*Q(0GEcgNjnIQyH^+YMH;`k; ze)2PVurv9jtI+c-msv8pIvl2C*rrFJO{=0tViESP1P~CVKd?3tdtL>idt*mwq6gx= z&s{sUGGH;fX)wwdJw--trv#J_pFaY_<{rLn@Kqld_)+vKF#Q&SFJRRe`-5vD2TVi3 z3Y40L%SK*Bpfgw!EC&dtC_cVt)ixk4Ms>+(BZoNV*|J)VQniLwjLuu$0-VD9HjO6Y zKx{^YA6C|G4P@0L|EkgfT>5H4NPdflEZgh(XdK6^XW&ANel4>JILQ$TH@s;+HtCCv_}s+rwDi%WZ`1=9p0 zw!-MtY~XfzOQ~J0GC0UIU3Le+&?&()JI+qic6Dq%x<;#^8P!&)QSzxi<|TpMUQ~Z- z(=wV`sk5;G3h1MBh59@wF|D3NRZ13+%Lj5ZZ6tjeR<7CwzFskvTE^B|z4l%enTx8_Lc!_V tQ}Nuu$|~3i@UJG&)t*y)k*%w@#|J;^49B;>vGG;4{mxNbf%{wUKLeisFF61J literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg new file mode 100644 index 0000000..b9881a4 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.svg @@ -0,0 +1,3717 @@ + + + + +Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-brands-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..8d75deddae520da95d3cf111f4ccbf3361074292 GIT binary patch literal 133988 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 z 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 OvGs=*>()Ih1OWi|n4ByC literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.eot new file mode 100644 index 0000000000000000000000000000000000000000..a4e598936b3eb6ceb0080dccccdcd49bfe95ca98 GIT binary patch literal 34034 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 + + + +Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.ttf new file mode 100644 index 0000000000000000000000000000000000000000..7157aafbacdb095b479ae52f59e28e19ce61d79a GIT binary patch literal 33736 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 b5?7;>Z>>sQQ*PhZo%{_-QW_Bdb7%h#hbB&U literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-regular-400.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..56328948b3b1bacb23a13af9d727fd75c0343448 GIT binary patch literal 13224 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 literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg new file mode 100644 index 0000000..00296e9 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.svg @@ -0,0 +1,5034 @@ + + + + +Created by FontForge 20201107 at Wed Aug 4 12:25:29 2021 + By Robert Madole +Copyright (c) Font Awesome + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.ttf new file mode 100644 index 0000000000000000000000000000000000000000..25abf389e22db851b03dd14d87ca10acb8b6b44b GIT binary patch literal 202744 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 R_Uou~eShdq`k`O*{{v{mwVeO} literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff new file mode 100644 index 0000000000000000000000000000000000000000..23ee663443a7c6d2393dbcb713b07c566f40c925 GIT binary patch literal 101648 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

      j< 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%0D?I3ov(fVN| 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 M_kYo)8A$*D0I2Z0cmMzZ literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 b/Penilaian-Esai/public/assets/css/@fortawesome/fontawesome-free/webfonts/fa-solid-900.woff2 new file mode 100644 index 0000000000000000000000000000000000000000..2217164f0c05a385d7d0d83e030fdbae01e99304 GIT binary patch literal 78268 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'd1Mlv9Dcqdu7tF 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 V=VGRl8m#`%cC;f?eCPlA^&g!Ko?QR{ literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/css/bootstrap.min.css b/Penilaian-Esai/public/assets/css/bootstrap.min.css new file mode 100644 index 0000000..6ee5956 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/bootstrap.min.css @@ -0,0 +1,7 @@ +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors + * Copyright 2011-2021 Twitter, Inc. + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */:root{--blue:#007bff;--indigo:#6610f2;--purple:#6f42c1;--pink:#e83e8c;--red:#dc3545;--orange:#fd7e14;--yellow:#ffc107;--green:#28a745;--teal:#20c997;--cyan:#17a2b8;--white:#fff;--gray:#6c757d;--gray-dark:#343a40;--primary:#007bff;--secondary:#6c757d;--success:#28a745;--info:#17a2b8;--warning:#ffc107;--danger:#dc3545;--light:#f8f9fa;--dark:#343a40;--breakpoint-xs:0;--breakpoint-sm:576px;--breakpoint-md:768px;--breakpoint-lg:992px;--breakpoint-xl:1200px;--font-family-sans-serif:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-family-monospace:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace}*,::after,::before{box-sizing:border-box}html{font-family:sans-serif;line-height:1.15;-webkit-text-size-adjust:100%;-webkit-tap-highlight-color:transparent}article,aside,figcaption,figure,footer,header,hgroup,main,nav,section{display:block}body{margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-size:1rem;font-weight:400;line-height:1.5;color:#212529;text-align:left;background-color:#fff}[tabindex="-1"]:focus:not(:focus-visible){outline:0!important}hr{box-sizing:content-box;height:0;overflow:visible}h1,h2,h3,h4,h5,h6{margin-top:0;margin-bottom:.5rem}p{margin-top:0;margin-bottom:1rem}abbr[data-original-title],abbr[title]{text-decoration:underline;-webkit-text-decoration:underline dotted;text-decoration:underline dotted;cursor:help;border-bottom:0;-webkit-text-decoration-skip-ink:none;text-decoration-skip-ink:none}address{margin-bottom:1rem;font-style:normal;line-height:inherit}dl,ol,ul{margin-top:0;margin-bottom:1rem}ol ol,ol ul,ul ol,ul ul{margin-bottom:0}dt{font-weight:700}dd{margin-bottom:.5rem;margin-left:0}blockquote{margin:0 0 1rem}b,strong{font-weight:bolder}small{font-size:80%}sub,sup{position:relative;font-size:75%;line-height:0;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}a{color:#007bff;text-decoration:none;background-color:transparent}a:hover{color:#0056b3;text-decoration:underline}a:not([href]):not([class]){color:inherit;text-decoration:none}a:not([href]):not([class]):hover{color:inherit;text-decoration:none}code,kbd,pre,samp{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;font-size:1em}pre{margin-top:0;margin-bottom:1rem;overflow:auto;-ms-overflow-style:scrollbar}figure{margin:0 0 1rem}img{vertical-align:middle;border-style:none}svg{overflow:hidden;vertical-align:middle}table{border-collapse:collapse}caption{padding-top:.75rem;padding-bottom:.75rem;color:#6c757d;text-align:left;caption-side:bottom}th{text-align:inherit;text-align:-webkit-match-parent}label{display:inline-block;margin-bottom:.5rem}button{border-radius:0}button:focus:not(:focus-visible){outline:0}button,input,optgroup,select,textarea{margin:0;font-family:inherit;font-size:inherit;line-height:inherit}button,input{overflow:visible}button,select{text-transform:none}[role=button]{cursor:pointer}select{word-wrap:normal}[type=button],[type=reset],[type=submit],button{-webkit-appearance:button}[type=button]:not(:disabled),[type=reset]:not(:disabled),[type=submit]:not(:disabled),button:not(:disabled){cursor:pointer}[type=button]::-moz-focus-inner,[type=reset]::-moz-focus-inner,[type=submit]::-moz-focus-inner,button::-moz-focus-inner{padding:0;border-style:none}input[type=checkbox],input[type=radio]{box-sizing:border-box;padding:0}textarea{overflow:auto;resize:vertical}fieldset{min-width:0;padding:0;margin:0;border:0}legend{display:block;width:100%;max-width:100%;padding:0;margin-bottom:.5rem;font-size:1.5rem;line-height:inherit;color:inherit;white-space:normal}progress{vertical-align:baseline}[type=number]::-webkit-inner-spin-button,[type=number]::-webkit-outer-spin-button{height:auto}[type=search]{outline-offset:-2px;-webkit-appearance:none}[type=search]::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{font:inherit;-webkit-appearance:button}output{display:inline-block}summary{display:list-item;cursor:pointer}template{display:none}[hidden]{display:none!important}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{margin-bottom:.5rem;font-weight:500;line-height:1.2}.h1,h1{font-size:2.5rem}.h2,h2{font-size:2rem}.h3,h3{font-size:1.75rem}.h4,h4{font-size:1.5rem}.h5,h5{font-size:1.25rem}.h6,h6{font-size:1rem}.lead{font-size:1.25rem;font-weight:300}.display-1{font-size:6rem;font-weight:300;line-height:1.2}.display-2{font-size:5.5rem;font-weight:300;line-height:1.2}.display-3{font-size:4.5rem;font-weight:300;line-height:1.2}.display-4{font-size:3.5rem;font-weight:300;line-height:1.2}hr{margin-top:1rem;margin-bottom:1rem;border:0;border-top:1px solid rgba(0,0,0,.1)}.small,small{font-size:80%;font-weight:400}.mark,mark{padding:.2em;background-color:#fcf8e3}.list-unstyled{padding-left:0;list-style:none}.list-inline{padding-left:0;list-style:none}.list-inline-item{display:inline-block}.list-inline-item:not(:last-child){margin-right:.5rem}.initialism{font-size:90%;text-transform:uppercase}.blockquote{margin-bottom:1rem;font-size:1.25rem}.blockquote-footer{display:block;font-size:80%;color:#6c757d}.blockquote-footer::before{content:"\2014\00A0"}.img-fluid{max-width:100%;height:auto}.img-thumbnail{padding:.25rem;background-color:#fff;border:1px solid #dee2e6;border-radius:.25rem;max-width:100%;height:auto}.figure{display:inline-block}.figure-img{margin-bottom:.5rem;line-height:1}.figure-caption{font-size:90%;color:#6c757d}code{font-size:87.5%;color:#e83e8c;word-wrap:break-word}a>code{color:inherit}kbd{padding:.2rem .4rem;font-size:87.5%;color:#fff;background-color:#212529;border-radius:.2rem}kbd kbd{padding:0;font-size:100%;font-weight:700}pre{display:block;font-size:87.5%;color:#212529}pre code{font-size:inherit;color:inherit;word-break:normal}.pre-scrollable{max-height:340px;overflow-y:scroll}.container,.container-fluid,.container-lg,.container-md,.container-sm,.container-xl{width:100%;padding-right:15px;padding-left:15px;margin-right:auto;margin-left:auto}@media (min-width:576px){.container,.container-sm{max-width:540px}}@media (min-width:768px){.container,.container-md,.container-sm{max-width:720px}}@media (min-width:992px){.container,.container-lg,.container-md,.container-sm{max-width:960px}}@media (min-width:1200px){.container,.container-lg,.container-md,.container-sm,.container-xl{max-width:1140px}}.row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-15px;margin-left:-15px}.no-gutters{margin-right:0;margin-left:0}.no-gutters>.col,.no-gutters>[class*=col-]{padding-right:0;padding-left:0}.col,.col-1,.col-10,.col-11,.col-12,.col-2,.col-3,.col-4,.col-5,.col-6,.col-7,.col-8,.col-9,.col-auto,.col-lg,.col-lg-1,.col-lg-10,.col-lg-11,.col-lg-12,.col-lg-2,.col-lg-3,.col-lg-4,.col-lg-5,.col-lg-6,.col-lg-7,.col-lg-8,.col-lg-9,.col-lg-auto,.col-md,.col-md-1,.col-md-10,.col-md-11,.col-md-12,.col-md-2,.col-md-3,.col-md-4,.col-md-5,.col-md-6,.col-md-7,.col-md-8,.col-md-9,.col-md-auto,.col-sm,.col-sm-1,.col-sm-10,.col-sm-11,.col-sm-12,.col-sm-2,.col-sm-3,.col-sm-4,.col-sm-5,.col-sm-6,.col-sm-7,.col-sm-8,.col-sm-9,.col-sm-auto,.col-xl,.col-xl-1,.col-xl-10,.col-xl-11,.col-xl-12,.col-xl-2,.col-xl-3,.col-xl-4,.col-xl-5,.col-xl-6,.col-xl-7,.col-xl-8,.col-xl-9,.col-xl-auto{position:relative;width:100%;padding-right:15px;padding-left:15px}.col{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-first{-ms-flex-order:-1;order:-1}.order-last{-ms-flex-order:13;order:13}.order-0{-ms-flex-order:0;order:0}.order-1{-ms-flex-order:1;order:1}.order-2{-ms-flex-order:2;order:2}.order-3{-ms-flex-order:3;order:3}.order-4{-ms-flex-order:4;order:4}.order-5{-ms-flex-order:5;order:5}.order-6{-ms-flex-order:6;order:6}.order-7{-ms-flex-order:7;order:7}.order-8{-ms-flex-order:8;order:8}.order-9{-ms-flex-order:9;order:9}.order-10{-ms-flex-order:10;order:10}.order-11{-ms-flex-order:11;order:11}.order-12{-ms-flex-order:12;order:12}.offset-1{margin-left:8.333333%}.offset-2{margin-left:16.666667%}.offset-3{margin-left:25%}.offset-4{margin-left:33.333333%}.offset-5{margin-left:41.666667%}.offset-6{margin-left:50%}.offset-7{margin-left:58.333333%}.offset-8{margin-left:66.666667%}.offset-9{margin-left:75%}.offset-10{margin-left:83.333333%}.offset-11{margin-left:91.666667%}@media (min-width:576px){.col-sm{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-sm-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-sm-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-sm-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-sm-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-sm-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-sm-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-sm-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-sm-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-sm-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-sm-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-sm-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-sm-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-sm-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-sm-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-sm-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-sm-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-sm-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-sm-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-sm-first{-ms-flex-order:-1;order:-1}.order-sm-last{-ms-flex-order:13;order:13}.order-sm-0{-ms-flex-order:0;order:0}.order-sm-1{-ms-flex-order:1;order:1}.order-sm-2{-ms-flex-order:2;order:2}.order-sm-3{-ms-flex-order:3;order:3}.order-sm-4{-ms-flex-order:4;order:4}.order-sm-5{-ms-flex-order:5;order:5}.order-sm-6{-ms-flex-order:6;order:6}.order-sm-7{-ms-flex-order:7;order:7}.order-sm-8{-ms-flex-order:8;order:8}.order-sm-9{-ms-flex-order:9;order:9}.order-sm-10{-ms-flex-order:10;order:10}.order-sm-11{-ms-flex-order:11;order:11}.order-sm-12{-ms-flex-order:12;order:12}.offset-sm-0{margin-left:0}.offset-sm-1{margin-left:8.333333%}.offset-sm-2{margin-left:16.666667%}.offset-sm-3{margin-left:25%}.offset-sm-4{margin-left:33.333333%}.offset-sm-5{margin-left:41.666667%}.offset-sm-6{margin-left:50%}.offset-sm-7{margin-left:58.333333%}.offset-sm-8{margin-left:66.666667%}.offset-sm-9{margin-left:75%}.offset-sm-10{margin-left:83.333333%}.offset-sm-11{margin-left:91.666667%}}@media (min-width:768px){.col-md{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-md-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-md-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-md-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-md-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-md-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-md-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-md-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-md-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-md-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-md-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-md-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-md-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-md-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-md-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-md-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-md-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-md-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-md-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-md-first{-ms-flex-order:-1;order:-1}.order-md-last{-ms-flex-order:13;order:13}.order-md-0{-ms-flex-order:0;order:0}.order-md-1{-ms-flex-order:1;order:1}.order-md-2{-ms-flex-order:2;order:2}.order-md-3{-ms-flex-order:3;order:3}.order-md-4{-ms-flex-order:4;order:4}.order-md-5{-ms-flex-order:5;order:5}.order-md-6{-ms-flex-order:6;order:6}.order-md-7{-ms-flex-order:7;order:7}.order-md-8{-ms-flex-order:8;order:8}.order-md-9{-ms-flex-order:9;order:9}.order-md-10{-ms-flex-order:10;order:10}.order-md-11{-ms-flex-order:11;order:11}.order-md-12{-ms-flex-order:12;order:12}.offset-md-0{margin-left:0}.offset-md-1{margin-left:8.333333%}.offset-md-2{margin-left:16.666667%}.offset-md-3{margin-left:25%}.offset-md-4{margin-left:33.333333%}.offset-md-5{margin-left:41.666667%}.offset-md-6{margin-left:50%}.offset-md-7{margin-left:58.333333%}.offset-md-8{margin-left:66.666667%}.offset-md-9{margin-left:75%}.offset-md-10{margin-left:83.333333%}.offset-md-11{margin-left:91.666667%}}@media (min-width:992px){.col-lg{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-lg-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-lg-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-lg-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-lg-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-lg-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-lg-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-lg-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-lg-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-lg-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-lg-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-lg-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-lg-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-lg-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-lg-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-lg-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-lg-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-lg-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-lg-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-lg-first{-ms-flex-order:-1;order:-1}.order-lg-last{-ms-flex-order:13;order:13}.order-lg-0{-ms-flex-order:0;order:0}.order-lg-1{-ms-flex-order:1;order:1}.order-lg-2{-ms-flex-order:2;order:2}.order-lg-3{-ms-flex-order:3;order:3}.order-lg-4{-ms-flex-order:4;order:4}.order-lg-5{-ms-flex-order:5;order:5}.order-lg-6{-ms-flex-order:6;order:6}.order-lg-7{-ms-flex-order:7;order:7}.order-lg-8{-ms-flex-order:8;order:8}.order-lg-9{-ms-flex-order:9;order:9}.order-lg-10{-ms-flex-order:10;order:10}.order-lg-11{-ms-flex-order:11;order:11}.order-lg-12{-ms-flex-order:12;order:12}.offset-lg-0{margin-left:0}.offset-lg-1{margin-left:8.333333%}.offset-lg-2{margin-left:16.666667%}.offset-lg-3{margin-left:25%}.offset-lg-4{margin-left:33.333333%}.offset-lg-5{margin-left:41.666667%}.offset-lg-6{margin-left:50%}.offset-lg-7{margin-left:58.333333%}.offset-lg-8{margin-left:66.666667%}.offset-lg-9{margin-left:75%}.offset-lg-10{margin-left:83.333333%}.offset-lg-11{margin-left:91.666667%}}@media (min-width:1200px){.col-xl{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;max-width:100%}.row-cols-xl-1>*{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.row-cols-xl-2>*{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.row-cols-xl-3>*{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.row-cols-xl-4>*{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.row-cols-xl-5>*{-ms-flex:0 0 20%;flex:0 0 20%;max-width:20%}.row-cols-xl-6>*{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-auto{-ms-flex:0 0 auto;flex:0 0 auto;width:auto;max-width:100%}.col-xl-1{-ms-flex:0 0 8.333333%;flex:0 0 8.333333%;max-width:8.333333%}.col-xl-2{-ms-flex:0 0 16.666667%;flex:0 0 16.666667%;max-width:16.666667%}.col-xl-3{-ms-flex:0 0 25%;flex:0 0 25%;max-width:25%}.col-xl-4{-ms-flex:0 0 33.333333%;flex:0 0 33.333333%;max-width:33.333333%}.col-xl-5{-ms-flex:0 0 41.666667%;flex:0 0 41.666667%;max-width:41.666667%}.col-xl-6{-ms-flex:0 0 50%;flex:0 0 50%;max-width:50%}.col-xl-7{-ms-flex:0 0 58.333333%;flex:0 0 58.333333%;max-width:58.333333%}.col-xl-8{-ms-flex:0 0 66.666667%;flex:0 0 66.666667%;max-width:66.666667%}.col-xl-9{-ms-flex:0 0 75%;flex:0 0 75%;max-width:75%}.col-xl-10{-ms-flex:0 0 83.333333%;flex:0 0 83.333333%;max-width:83.333333%}.col-xl-11{-ms-flex:0 0 91.666667%;flex:0 0 91.666667%;max-width:91.666667%}.col-xl-12{-ms-flex:0 0 100%;flex:0 0 100%;max-width:100%}.order-xl-first{-ms-flex-order:-1;order:-1}.order-xl-last{-ms-flex-order:13;order:13}.order-xl-0{-ms-flex-order:0;order:0}.order-xl-1{-ms-flex-order:1;order:1}.order-xl-2{-ms-flex-order:2;order:2}.order-xl-3{-ms-flex-order:3;order:3}.order-xl-4{-ms-flex-order:4;order:4}.order-xl-5{-ms-flex-order:5;order:5}.order-xl-6{-ms-flex-order:6;order:6}.order-xl-7{-ms-flex-order:7;order:7}.order-xl-8{-ms-flex-order:8;order:8}.order-xl-9{-ms-flex-order:9;order:9}.order-xl-10{-ms-flex-order:10;order:10}.order-xl-11{-ms-flex-order:11;order:11}.order-xl-12{-ms-flex-order:12;order:12}.offset-xl-0{margin-left:0}.offset-xl-1{margin-left:8.333333%}.offset-xl-2{margin-left:16.666667%}.offset-xl-3{margin-left:25%}.offset-xl-4{margin-left:33.333333%}.offset-xl-5{margin-left:41.666667%}.offset-xl-6{margin-left:50%}.offset-xl-7{margin-left:58.333333%}.offset-xl-8{margin-left:66.666667%}.offset-xl-9{margin-left:75%}.offset-xl-10{margin-left:83.333333%}.offset-xl-11{margin-left:91.666667%}}.table{width:100%;margin-bottom:1rem;color:#212529}.table td,.table th{padding:.75rem;vertical-align:top;border-top:1px solid #dee2e6}.table thead th{vertical-align:bottom;border-bottom:2px solid #dee2e6}.table tbody+tbody{border-top:2px solid #dee2e6}.table-sm td,.table-sm th{padding:.3rem}.table-bordered{border:1px solid #dee2e6}.table-bordered td,.table-bordered th{border:1px solid #dee2e6}.table-bordered thead td,.table-bordered thead th{border-bottom-width:2px}.table-borderless tbody+tbody,.table-borderless td,.table-borderless th,.table-borderless thead th{border:0}.table-striped tbody tr:nth-of-type(odd){background-color:rgba(0,0,0,.05)}.table-hover tbody tr:hover{color:#212529;background-color:rgba(0,0,0,.075)}.table-primary,.table-primary>td,.table-primary>th{background-color:#b8daff}.table-primary tbody+tbody,.table-primary td,.table-primary th,.table-primary thead th{border-color:#7abaff}.table-hover .table-primary:hover{background-color:#9fcdff}.table-hover .table-primary:hover>td,.table-hover .table-primary:hover>th{background-color:#9fcdff}.table-secondary,.table-secondary>td,.table-secondary>th{background-color:#d6d8db}.table-secondary tbody+tbody,.table-secondary td,.table-secondary th,.table-secondary thead th{border-color:#b3b7bb}.table-hover .table-secondary:hover{background-color:#c8cbcf}.table-hover .table-secondary:hover>td,.table-hover .table-secondary:hover>th{background-color:#c8cbcf}.table-success,.table-success>td,.table-success>th{background-color:#c3e6cb}.table-success tbody+tbody,.table-success td,.table-success th,.table-success thead th{border-color:#8fd19e}.table-hover .table-success:hover{background-color:#b1dfbb}.table-hover .table-success:hover>td,.table-hover .table-success:hover>th{background-color:#b1dfbb}.table-info,.table-info>td,.table-info>th{background-color:#bee5eb}.table-info tbody+tbody,.table-info td,.table-info th,.table-info thead th{border-color:#86cfda}.table-hover .table-info:hover{background-color:#abdde5}.table-hover .table-info:hover>td,.table-hover .table-info:hover>th{background-color:#abdde5}.table-warning,.table-warning>td,.table-warning>th{background-color:#ffeeba}.table-warning tbody+tbody,.table-warning td,.table-warning th,.table-warning thead th{border-color:#ffdf7e}.table-hover .table-warning:hover{background-color:#ffe8a1}.table-hover .table-warning:hover>td,.table-hover .table-warning:hover>th{background-color:#ffe8a1}.table-danger,.table-danger>td,.table-danger>th{background-color:#f5c6cb}.table-danger tbody+tbody,.table-danger td,.table-danger th,.table-danger thead th{border-color:#ed969e}.table-hover .table-danger:hover{background-color:#f1b0b7}.table-hover .table-danger:hover>td,.table-hover .table-danger:hover>th{background-color:#f1b0b7}.table-light,.table-light>td,.table-light>th{background-color:#fdfdfe}.table-light tbody+tbody,.table-light td,.table-light th,.table-light thead th{border-color:#fbfcfc}.table-hover .table-light:hover{background-color:#ececf6}.table-hover .table-light:hover>td,.table-hover .table-light:hover>th{background-color:#ececf6}.table-dark,.table-dark>td,.table-dark>th{background-color:#c6c8ca}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#95999c}.table-hover .table-dark:hover{background-color:#b9bbbe}.table-hover .table-dark:hover>td,.table-hover .table-dark:hover>th{background-color:#b9bbbe}.table-active,.table-active>td,.table-active>th{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover{background-color:rgba(0,0,0,.075)}.table-hover .table-active:hover>td,.table-hover .table-active:hover>th{background-color:rgba(0,0,0,.075)}.table .thead-dark th{color:#fff;background-color:#343a40;border-color:#454d55}.table .thead-light th{color:#495057;background-color:#e9ecef;border-color:#dee2e6}.table-dark{color:#fff;background-color:#343a40}.table-dark td,.table-dark th,.table-dark thead th{border-color:#454d55}.table-dark.table-bordered{border:0}.table-dark.table-striped tbody tr:nth-of-type(odd){background-color:rgba(255,255,255,.05)}.table-dark.table-hover tbody tr:hover{color:#fff;background-color:rgba(255,255,255,.075)}@media (max-width:575.98px){.table-responsive-sm{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-sm>.table-bordered{border:0}}@media (max-width:767.98px){.table-responsive-md{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-md>.table-bordered{border:0}}@media (max-width:991.98px){.table-responsive-lg{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-lg>.table-bordered{border:0}}@media (max-width:1199.98px){.table-responsive-xl{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive-xl>.table-bordered{border:0}}.table-responsive{display:block;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.table-responsive>.table-bordered{border:0}.form-control{display:block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;background-clip:padding-box;border:1px solid #ced4da;border-radius:.25rem;transition:border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.form-control{transition:none}}.form-control::-ms-expand{background-color:transparent;border:0}.form-control:focus{color:#495057;background-color:#fff;border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.form-control::-webkit-input-placeholder{color:#6c757d;opacity:1}.form-control::-moz-placeholder{color:#6c757d;opacity:1}.form-control:-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::-ms-input-placeholder{color:#6c757d;opacity:1}.form-control::placeholder{color:#6c757d;opacity:1}.form-control:disabled,.form-control[readonly]{background-color:#e9ecef;opacity:1}input[type=date].form-control,input[type=datetime-local].form-control,input[type=month].form-control,input[type=time].form-control{-webkit-appearance:none;-moz-appearance:none;appearance:none}select.form-control:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}select.form-control:focus::-ms-value{color:#495057;background-color:#fff}.form-control-file,.form-control-range{display:block;width:100%}.col-form-label{padding-top:calc(.375rem + 1px);padding-bottom:calc(.375rem + 1px);margin-bottom:0;font-size:inherit;line-height:1.5}.col-form-label-lg{padding-top:calc(.5rem + 1px);padding-bottom:calc(.5rem + 1px);font-size:1.25rem;line-height:1.5}.col-form-label-sm{padding-top:calc(.25rem + 1px);padding-bottom:calc(.25rem + 1px);font-size:.875rem;line-height:1.5}.form-control-plaintext{display:block;width:100%;padding:.375rem 0;margin-bottom:0;font-size:1rem;line-height:1.5;color:#212529;background-color:transparent;border:solid transparent;border-width:1px 0}.form-control-plaintext.form-control-lg,.form-control-plaintext.form-control-sm{padding-right:0;padding-left:0}.form-control-sm{height:calc(1.5em + .5rem + 2px);padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.form-control-lg{height:calc(1.5em + 1rem + 2px);padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}select.form-control[multiple],select.form-control[size]{height:auto}textarea.form-control{height:auto}.form-group{margin-bottom:1rem}.form-text{display:block;margin-top:.25rem}.form-row{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;margin-right:-5px;margin-left:-5px}.form-row>.col,.form-row>[class*=col-]{padding-right:5px;padding-left:5px}.form-check{position:relative;display:block;padding-left:1.25rem}.form-check-input{position:absolute;margin-top:.3rem;margin-left:-1.25rem}.form-check-input:disabled~.form-check-label,.form-check-input[disabled]~.form-check-label{color:#6c757d}.form-check-label{margin-bottom:0}.form-check-inline{display:-ms-inline-flexbox;display:inline-flex;-ms-flex-align:center;align-items:center;padding-left:0;margin-right:.75rem}.form-check-inline .form-check-input{position:static;margin-top:0;margin-right:.3125rem;margin-left:0}.valid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#28a745}.valid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(40,167,69,.9);border-radius:.25rem}.form-row>.col>.valid-tooltip,.form-row>[class*=col-]>.valid-tooltip{left:5px}.is-valid~.valid-feedback,.is-valid~.valid-tooltip,.was-validated :valid~.valid-feedback,.was-validated :valid~.valid-tooltip{display:block}.form-control.is-valid,.was-validated .form-control:valid{border-color:#28a745;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-valid:focus,.was-validated .form-control:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.was-validated select.form-control:valid,select.form-control.is-valid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:valid,textarea.form-control.is-valid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-valid,.was-validated .custom-select:valid{border-color:#28a745;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%2328a745' d='M2.3 6.73L.6 4.53c-.4-1.04.46-1.4 1.1-.8l1.1 1.4 3.4-3.8c.6-.63 1.6-.27 1.2.7l-4 4.6c-.43.5-.8.4-1.1.1z'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-valid:focus,.was-validated .custom-select:valid:focus{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.form-check-input.is-valid~.form-check-label,.was-validated .form-check-input:valid~.form-check-label{color:#28a745}.form-check-input.is-valid~.valid-feedback,.form-check-input.is-valid~.valid-tooltip,.was-validated .form-check-input:valid~.valid-feedback,.was-validated .form-check-input:valid~.valid-tooltip{display:block}.custom-control-input.is-valid~.custom-control-label,.was-validated .custom-control-input:valid~.custom-control-label{color:#28a745}.custom-control-input.is-valid~.custom-control-label::before,.was-validated .custom-control-input:valid~.custom-control-label::before{border-color:#28a745}.custom-control-input.is-valid:checked~.custom-control-label::before,.was-validated .custom-control-input:valid:checked~.custom-control-label::before{border-color:#34ce57;background-color:#34ce57}.custom-control-input.is-valid:focus~.custom-control-label::before,.was-validated .custom-control-input:valid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.custom-control-input.is-valid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:valid:focus:not(:checked)~.custom-control-label::before{border-color:#28a745}.custom-file-input.is-valid~.custom-file-label,.was-validated .custom-file-input:valid~.custom-file-label{border-color:#28a745}.custom-file-input.is-valid:focus~.custom-file-label,.was-validated .custom-file-input:valid:focus~.custom-file-label{border-color:#28a745;box-shadow:0 0 0 .2rem rgba(40,167,69,.25)}.invalid-feedback{display:none;width:100%;margin-top:.25rem;font-size:80%;color:#dc3545}.invalid-tooltip{position:absolute;top:100%;left:0;z-index:5;display:none;max-width:100%;padding:.25rem .5rem;margin-top:.1rem;font-size:.875rem;line-height:1.5;color:#fff;background-color:rgba(220,53,69,.9);border-radius:.25rem}.form-row>.col>.invalid-tooltip,.form-row>[class*=col-]>.invalid-tooltip{left:5px}.is-invalid~.invalid-feedback,.is-invalid~.invalid-tooltip,.was-validated :invalid~.invalid-feedback,.was-validated :invalid~.invalid-tooltip{display:block}.form-control.is-invalid,.was-validated .form-control:invalid{border-color:#dc3545;padding-right:calc(1.5em + .75rem)!important;background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right calc(.375em + .1875rem) center;background-size:calc(.75em + .375rem) calc(.75em + .375rem)}.form-control.is-invalid:focus,.was-validated .form-control:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.was-validated select.form-control:invalid,select.form-control.is-invalid{padding-right:3rem!important;background-position:right 1.5rem center}.was-validated textarea.form-control:invalid,textarea.form-control.is-invalid{padding-right:calc(1.5em + .75rem);background-position:top calc(.375em + .1875rem) right calc(.375em + .1875rem)}.custom-select.is-invalid,.was-validated .custom-select:invalid{border-color:#dc3545;padding-right:calc(.75em + 2.3125rem)!important;background:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat,#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' fill='none' stroke='%23dc3545' viewBox='0 0 12 12'%3e%3ccircle cx='6' cy='6' r='4.5'/%3e%3cpath stroke-linejoin='round' d='M5.8 3.6h.4L6 6.5z'/%3e%3ccircle cx='6' cy='8.2' r='.6' fill='%23dc3545' stroke='none'/%3e%3c/svg%3e") center right 1.75rem/calc(.75em + .375rem) calc(.75em + .375rem) no-repeat}.custom-select.is-invalid:focus,.was-validated .custom-select:invalid:focus{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-check-input.is-invalid~.form-check-label,.was-validated .form-check-input:invalid~.form-check-label{color:#dc3545}.form-check-input.is-invalid~.invalid-feedback,.form-check-input.is-invalid~.invalid-tooltip,.was-validated .form-check-input:invalid~.invalid-feedback,.was-validated .form-check-input:invalid~.invalid-tooltip{display:block}.custom-control-input.is-invalid~.custom-control-label,.was-validated .custom-control-input:invalid~.custom-control-label{color:#dc3545}.custom-control-input.is-invalid~.custom-control-label::before,.was-validated .custom-control-input:invalid~.custom-control-label::before{border-color:#dc3545}.custom-control-input.is-invalid:checked~.custom-control-label::before,.was-validated .custom-control-input:invalid:checked~.custom-control-label::before{border-color:#e4606d;background-color:#e4606d}.custom-control-input.is-invalid:focus~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.custom-control-input.is-invalid:focus:not(:checked)~.custom-control-label::before,.was-validated .custom-control-input:invalid:focus:not(:checked)~.custom-control-label::before{border-color:#dc3545}.custom-file-input.is-invalid~.custom-file-label,.was-validated .custom-file-input:invalid~.custom-file-label{border-color:#dc3545}.custom-file-input.is-invalid:focus~.custom-file-label,.was-validated .custom-file-input:invalid:focus~.custom-file-label{border-color:#dc3545;box-shadow:0 0 0 .2rem rgba(220,53,69,.25)}.form-inline{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center}.form-inline .form-check{width:100%}@media (min-width:576px){.form-inline label{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;margin-bottom:0}.form-inline .form-group{display:-ms-flexbox;display:flex;-ms-flex:0 0 auto;flex:0 0 auto;-ms-flex-flow:row wrap;flex-flow:row wrap;-ms-flex-align:center;align-items:center;margin-bottom:0}.form-inline .form-control{display:inline-block;width:auto;vertical-align:middle}.form-inline .form-control-plaintext{display:inline-block}.form-inline .custom-select,.form-inline .input-group{width:auto}.form-inline .form-check{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:auto;padding-left:0}.form-inline .form-check-input{position:relative;-ms-flex-negative:0;flex-shrink:0;margin-top:0;margin-right:.25rem;margin-left:0}.form-inline .custom-control{-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center}.form-inline .custom-control-label{margin-bottom:0}}.btn{display:inline-block;font-weight:400;color:#212529;text-align:center;vertical-align:middle;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;background-color:transparent;border:1px solid transparent;padding:.375rem .75rem;font-size:1rem;line-height:1.5;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:hover{color:#212529;text-decoration:none}.btn.focus,.btn:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.btn.disabled,.btn:disabled{opacity:.65}.btn:not(:disabled):not(.disabled){cursor:pointer}a.btn.disabled,fieldset:disabled a.btn{pointer-events:none}.btn-primary{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:hover{color:#fff;background-color:#0069d9;border-color:#0062cc}.btn-primary.focus,.btn-primary:focus{color:#fff;background-color:#0069d9;border-color:#0062cc;box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-primary.disabled,.btn-primary:disabled{color:#fff;background-color:#007bff;border-color:#007bff}.btn-primary:not(:disabled):not(.disabled).active,.btn-primary:not(:disabled):not(.disabled):active,.show>.btn-primary.dropdown-toggle{color:#fff;background-color:#0062cc;border-color:#005cbf}.btn-primary:not(:disabled):not(.disabled).active:focus,.btn-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(38,143,255,.5)}.btn-secondary{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:hover{color:#fff;background-color:#5a6268;border-color:#545b62}.btn-secondary.focus,.btn-secondary:focus{color:#fff;background-color:#5a6268;border-color:#545b62;box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-secondary.disabled,.btn-secondary:disabled{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-secondary:not(:disabled):not(.disabled).active,.btn-secondary:not(:disabled):not(.disabled):active,.show>.btn-secondary.dropdown-toggle{color:#fff;background-color:#545b62;border-color:#4e555b}.btn-secondary:not(:disabled):not(.disabled).active:focus,.btn-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(130,138,145,.5)}.btn-success{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:hover{color:#fff;background-color:#218838;border-color:#1e7e34}.btn-success.focus,.btn-success:focus{color:#fff;background-color:#218838;border-color:#1e7e34;box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-success.disabled,.btn-success:disabled{color:#fff;background-color:#28a745;border-color:#28a745}.btn-success:not(:disabled):not(.disabled).active,.btn-success:not(:disabled):not(.disabled):active,.show>.btn-success.dropdown-toggle{color:#fff;background-color:#1e7e34;border-color:#1c7430}.btn-success:not(:disabled):not(.disabled).active:focus,.btn-success:not(:disabled):not(.disabled):active:focus,.show>.btn-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(72,180,97,.5)}.btn-info{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:hover{color:#fff;background-color:#138496;border-color:#117a8b}.btn-info.focus,.btn-info:focus{color:#fff;background-color:#138496;border-color:#117a8b;box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-info.disabled,.btn-info:disabled{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-info:not(:disabled):not(.disabled).active,.btn-info:not(:disabled):not(.disabled):active,.show>.btn-info.dropdown-toggle{color:#fff;background-color:#117a8b;border-color:#10707f}.btn-info:not(:disabled):not(.disabled).active:focus,.btn-info:not(:disabled):not(.disabled):active:focus,.show>.btn-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(58,176,195,.5)}.btn-warning{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:hover{color:#212529;background-color:#e0a800;border-color:#d39e00}.btn-warning.focus,.btn-warning:focus{color:#212529;background-color:#e0a800;border-color:#d39e00;box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-warning.disabled,.btn-warning:disabled{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-warning:not(:disabled):not(.disabled).active,.btn-warning:not(:disabled):not(.disabled):active,.show>.btn-warning.dropdown-toggle{color:#212529;background-color:#d39e00;border-color:#c69500}.btn-warning:not(:disabled):not(.disabled).active:focus,.btn-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(222,170,12,.5)}.btn-danger{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:hover{color:#fff;background-color:#c82333;border-color:#bd2130}.btn-danger.focus,.btn-danger:focus{color:#fff;background-color:#c82333;border-color:#bd2130;box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-danger.disabled,.btn-danger:disabled{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-danger:not(:disabled):not(.disabled).active,.btn-danger:not(:disabled):not(.disabled):active,.show>.btn-danger.dropdown-toggle{color:#fff;background-color:#bd2130;border-color:#b21f2d}.btn-danger:not(:disabled):not(.disabled).active:focus,.btn-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(225,83,97,.5)}.btn-light{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:hover{color:#212529;background-color:#e2e6ea;border-color:#dae0e5}.btn-light.focus,.btn-light:focus{color:#212529;background-color:#e2e6ea;border-color:#dae0e5;box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-light.disabled,.btn-light:disabled{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-light:not(:disabled):not(.disabled).active,.btn-light:not(:disabled):not(.disabled):active,.show>.btn-light.dropdown-toggle{color:#212529;background-color:#dae0e5;border-color:#d3d9df}.btn-light:not(:disabled):not(.disabled).active:focus,.btn-light:not(:disabled):not(.disabled):active:focus,.show>.btn-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(216,217,219,.5)}.btn-dark{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:hover{color:#fff;background-color:#23272b;border-color:#1d2124}.btn-dark.focus,.btn-dark:focus{color:#fff;background-color:#23272b;border-color:#1d2124;box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-dark.disabled,.btn-dark:disabled{color:#fff;background-color:#343a40;border-color:#343a40}.btn-dark:not(:disabled):not(.disabled).active,.btn-dark:not(:disabled):not(.disabled):active,.show>.btn-dark.dropdown-toggle{color:#fff;background-color:#1d2124;border-color:#171a1d}.btn-dark:not(:disabled):not(.disabled).active:focus,.btn-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(82,88,93,.5)}.btn-outline-primary{color:#007bff;border-color:#007bff}.btn-outline-primary:hover{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary.focus,.btn-outline-primary:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-primary.disabled,.btn-outline-primary:disabled{color:#007bff;background-color:transparent}.btn-outline-primary:not(:disabled):not(.disabled).active,.btn-outline-primary:not(:disabled):not(.disabled):active,.show>.btn-outline-primary.dropdown-toggle{color:#fff;background-color:#007bff;border-color:#007bff}.btn-outline-primary:not(:disabled):not(.disabled).active:focus,.btn-outline-primary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-primary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.btn-outline-secondary{color:#6c757d;border-color:#6c757d}.btn-outline-secondary:hover{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary.focus,.btn-outline-secondary:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-secondary.disabled,.btn-outline-secondary:disabled{color:#6c757d;background-color:transparent}.btn-outline-secondary:not(:disabled):not(.disabled).active,.btn-outline-secondary:not(:disabled):not(.disabled):active,.show>.btn-outline-secondary.dropdown-toggle{color:#fff;background-color:#6c757d;border-color:#6c757d}.btn-outline-secondary:not(:disabled):not(.disabled).active:focus,.btn-outline-secondary:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-secondary.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.btn-outline-success{color:#28a745;border-color:#28a745}.btn-outline-success:hover{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success.focus,.btn-outline-success:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-success.disabled,.btn-outline-success:disabled{color:#28a745;background-color:transparent}.btn-outline-success:not(:disabled):not(.disabled).active,.btn-outline-success:not(:disabled):not(.disabled):active,.show>.btn-outline-success.dropdown-toggle{color:#fff;background-color:#28a745;border-color:#28a745}.btn-outline-success:not(:disabled):not(.disabled).active:focus,.btn-outline-success:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-success.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.btn-outline-info{color:#17a2b8;border-color:#17a2b8}.btn-outline-info:hover{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info.focus,.btn-outline-info:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-info.disabled,.btn-outline-info:disabled{color:#17a2b8;background-color:transparent}.btn-outline-info:not(:disabled):not(.disabled).active,.btn-outline-info:not(:disabled):not(.disabled):active,.show>.btn-outline-info.dropdown-toggle{color:#fff;background-color:#17a2b8;border-color:#17a2b8}.btn-outline-info:not(:disabled):not(.disabled).active:focus,.btn-outline-info:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-info.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.btn-outline-warning{color:#ffc107;border-color:#ffc107}.btn-outline-warning:hover{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning.focus,.btn-outline-warning:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-warning.disabled,.btn-outline-warning:disabled{color:#ffc107;background-color:transparent}.btn-outline-warning:not(:disabled):not(.disabled).active,.btn-outline-warning:not(:disabled):not(.disabled):active,.show>.btn-outline-warning.dropdown-toggle{color:#212529;background-color:#ffc107;border-color:#ffc107}.btn-outline-warning:not(:disabled):not(.disabled).active:focus,.btn-outline-warning:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-warning.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.btn-outline-danger{color:#dc3545;border-color:#dc3545}.btn-outline-danger:hover{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger.focus,.btn-outline-danger:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-danger.disabled,.btn-outline-danger:disabled{color:#dc3545;background-color:transparent}.btn-outline-danger:not(:disabled):not(.disabled).active,.btn-outline-danger:not(:disabled):not(.disabled):active,.show>.btn-outline-danger.dropdown-toggle{color:#fff;background-color:#dc3545;border-color:#dc3545}.btn-outline-danger:not(:disabled):not(.disabled).active:focus,.btn-outline-danger:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-danger.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.btn-outline-light{color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:hover{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light.focus,.btn-outline-light:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-light.disabled,.btn-outline-light:disabled{color:#f8f9fa;background-color:transparent}.btn-outline-light:not(:disabled):not(.disabled).active,.btn-outline-light:not(:disabled):not(.disabled):active,.show>.btn-outline-light.dropdown-toggle{color:#212529;background-color:#f8f9fa;border-color:#f8f9fa}.btn-outline-light:not(:disabled):not(.disabled).active:focus,.btn-outline-light:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-light.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.btn-outline-dark{color:#343a40;border-color:#343a40}.btn-outline-dark:hover{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark.focus,.btn-outline-dark:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-outline-dark.disabled,.btn-outline-dark:disabled{color:#343a40;background-color:transparent}.btn-outline-dark:not(:disabled):not(.disabled).active,.btn-outline-dark:not(:disabled):not(.disabled):active,.show>.btn-outline-dark.dropdown-toggle{color:#fff;background-color:#343a40;border-color:#343a40}.btn-outline-dark:not(:disabled):not(.disabled).active:focus,.btn-outline-dark:not(:disabled):not(.disabled):active:focus,.show>.btn-outline-dark.dropdown-toggle:focus{box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.btn-link{font-weight:400;color:#007bff;text-decoration:none}.btn-link:hover{color:#0056b3;text-decoration:underline}.btn-link.focus,.btn-link:focus{text-decoration:underline}.btn-link.disabled,.btn-link:disabled{color:#6c757d;pointer-events:none}.btn-group-lg>.btn,.btn-lg{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.btn-group-sm>.btn,.btn-sm{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.btn-block{display:block;width:100%}.btn-block+.btn-block{margin-top:.5rem}input[type=button].btn-block,input[type=reset].btn-block,input[type=submit].btn-block{width:100%}.fade{transition:opacity .15s linear}@media (prefers-reduced-motion:reduce){.fade{transition:none}}.fade:not(.show){opacity:0}.collapse:not(.show){display:none}.collapsing{position:relative;height:0;overflow:hidden;transition:height .35s ease}@media (prefers-reduced-motion:reduce){.collapsing{transition:none}}.dropdown,.dropleft,.dropright,.dropup{position:relative}.dropdown-toggle{white-space:nowrap}.dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid;border-right:.3em solid transparent;border-bottom:0;border-left:.3em solid transparent}.dropdown-toggle:empty::after{margin-left:0}.dropdown-menu{position:absolute;top:100%;left:0;z-index:1000;display:none;float:left;min-width:10rem;padding:.5rem 0;margin:.125rem 0 0;font-size:1rem;color:#212529;text-align:left;list-style:none;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.15);border-radius:.25rem}.dropdown-menu-left{right:auto;left:0}.dropdown-menu-right{right:0;left:auto}@media (min-width:576px){.dropdown-menu-sm-left{right:auto;left:0}.dropdown-menu-sm-right{right:0;left:auto}}@media (min-width:768px){.dropdown-menu-md-left{right:auto;left:0}.dropdown-menu-md-right{right:0;left:auto}}@media (min-width:992px){.dropdown-menu-lg-left{right:auto;left:0}.dropdown-menu-lg-right{right:0;left:auto}}@media (min-width:1200px){.dropdown-menu-xl-left{right:auto;left:0}.dropdown-menu-xl-right{right:0;left:auto}}.dropup .dropdown-menu{top:auto;bottom:100%;margin-top:0;margin-bottom:.125rem}.dropup .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:0;border-right:.3em solid transparent;border-bottom:.3em solid;border-left:.3em solid transparent}.dropup .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-menu{top:0;right:auto;left:100%;margin-top:0;margin-left:.125rem}.dropright .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:0;border-bottom:.3em solid transparent;border-left:.3em solid}.dropright .dropdown-toggle:empty::after{margin-left:0}.dropright .dropdown-toggle::after{vertical-align:0}.dropleft .dropdown-menu{top:0;right:100%;left:auto;margin-top:0;margin-right:.125rem}.dropleft .dropdown-toggle::after{display:inline-block;margin-left:.255em;vertical-align:.255em;content:""}.dropleft .dropdown-toggle::after{display:none}.dropleft .dropdown-toggle::before{display:inline-block;margin-right:.255em;vertical-align:.255em;content:"";border-top:.3em solid transparent;border-right:.3em solid;border-bottom:.3em solid transparent}.dropleft .dropdown-toggle:empty::after{margin-left:0}.dropleft .dropdown-toggle::before{vertical-align:0}.dropdown-menu[x-placement^=bottom],.dropdown-menu[x-placement^=left],.dropdown-menu[x-placement^=right],.dropdown-menu[x-placement^=top]{right:auto;bottom:auto}.dropdown-divider{height:0;margin:.5rem 0;overflow:hidden;border-top:1px solid #e9ecef}.dropdown-item{display:block;width:100%;padding:.25rem 1.5rem;clear:both;font-weight:400;color:#212529;text-align:inherit;white-space:nowrap;background-color:transparent;border:0}.dropdown-item:focus,.dropdown-item:hover{color:#16181b;text-decoration:none;background-color:#e9ecef}.dropdown-item.active,.dropdown-item:active{color:#fff;text-decoration:none;background-color:#007bff}.dropdown-item.disabled,.dropdown-item:disabled{color:#adb5bd;pointer-events:none;background-color:transparent}.dropdown-menu.show{display:block}.dropdown-header{display:block;padding:.5rem 1.5rem;margin-bottom:0;font-size:.875rem;color:#6c757d;white-space:nowrap}.dropdown-item-text{display:block;padding:.25rem 1.5rem;color:#212529}.btn-group,.btn-group-vertical{position:relative;display:-ms-inline-flexbox;display:inline-flex;vertical-align:middle}.btn-group-vertical>.btn,.btn-group>.btn{position:relative;-ms-flex:1 1 auto;flex:1 1 auto}.btn-group-vertical>.btn:hover,.btn-group>.btn:hover{z-index:1}.btn-group-vertical>.btn.active,.btn-group-vertical>.btn:active,.btn-group-vertical>.btn:focus,.btn-group>.btn.active,.btn-group>.btn:active,.btn-group>.btn:focus{z-index:1}.btn-toolbar{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-pack:start;justify-content:flex-start}.btn-toolbar .input-group{width:auto}.btn-group>.btn-group:not(:first-child),.btn-group>.btn:not(:first-child){margin-left:-1px}.btn-group>.btn-group:not(:last-child)>.btn,.btn-group>.btn:not(:last-child):not(.dropdown-toggle){border-top-right-radius:0;border-bottom-right-radius:0}.btn-group>.btn-group:not(:first-child)>.btn,.btn-group>.btn:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.dropdown-toggle-split{padding-right:.5625rem;padding-left:.5625rem}.dropdown-toggle-split::after,.dropright .dropdown-toggle-split::after,.dropup .dropdown-toggle-split::after{margin-left:0}.dropleft .dropdown-toggle-split::before{margin-right:0}.btn-group-sm>.btn+.dropdown-toggle-split,.btn-sm+.dropdown-toggle-split{padding-right:.375rem;padding-left:.375rem}.btn-group-lg>.btn+.dropdown-toggle-split,.btn-lg+.dropdown-toggle-split{padding-right:.75rem;padding-left:.75rem}.btn-group-vertical{-ms-flex-direction:column;flex-direction:column;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:center;justify-content:center}.btn-group-vertical>.btn,.btn-group-vertical>.btn-group{width:100%}.btn-group-vertical>.btn-group:not(:first-child),.btn-group-vertical>.btn:not(:first-child){margin-top:-1px}.btn-group-vertical>.btn-group:not(:last-child)>.btn,.btn-group-vertical>.btn:not(:last-child):not(.dropdown-toggle){border-bottom-right-radius:0;border-bottom-left-radius:0}.btn-group-vertical>.btn-group:not(:first-child)>.btn,.btn-group-vertical>.btn:not(:first-child){border-top-left-radius:0;border-top-right-radius:0}.btn-group-toggle>.btn,.btn-group-toggle>.btn-group>.btn{margin-bottom:0}.btn-group-toggle>.btn input[type=checkbox],.btn-group-toggle>.btn input[type=radio],.btn-group-toggle>.btn-group>.btn input[type=checkbox],.btn-group-toggle>.btn-group>.btn input[type=radio]{position:absolute;clip:rect(0,0,0,0);pointer-events:none}.input-group{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:stretch;align-items:stretch;width:100%}.input-group>.custom-file,.input-group>.custom-select,.input-group>.form-control,.input-group>.form-control-plaintext{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;width:1%;min-width:0;margin-bottom:0}.input-group>.custom-file+.custom-file,.input-group>.custom-file+.custom-select,.input-group>.custom-file+.form-control,.input-group>.custom-select+.custom-file,.input-group>.custom-select+.custom-select,.input-group>.custom-select+.form-control,.input-group>.form-control+.custom-file,.input-group>.form-control+.custom-select,.input-group>.form-control+.form-control,.input-group>.form-control-plaintext+.custom-file,.input-group>.form-control-plaintext+.custom-select,.input-group>.form-control-plaintext+.form-control{margin-left:-1px}.input-group>.custom-file .custom-file-input:focus~.custom-file-label,.input-group>.custom-select:focus,.input-group>.form-control:focus{z-index:3}.input-group>.custom-file .custom-file-input:focus{z-index:4}.input-group>.custom-select:not(:first-child),.input-group>.form-control:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.input-group>.custom-file{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center}.input-group>.custom-file:not(:last-child) .custom-file-label,.input-group>.custom-file:not(:last-child) .custom-file-label::after{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.custom-file:not(:first-child) .custom-file-label{border-top-left-radius:0;border-bottom-left-radius:0}.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label,.input-group:not(.has-validation)>.custom-file:not(:last-child) .custom-file-label::after,.input-group:not(.has-validation)>.custom-select:not(:last-child),.input-group:not(.has-validation)>.form-control:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label,.input-group.has-validation>.custom-file:nth-last-child(n+3) .custom-file-label::after,.input-group.has-validation>.custom-select:nth-last-child(n+3),.input-group.has-validation>.form-control:nth-last-child(n+3){border-top-right-radius:0;border-bottom-right-radius:0}.input-group-append,.input-group-prepend{display:-ms-flexbox;display:flex}.input-group-append .btn,.input-group-prepend .btn{position:relative;z-index:2}.input-group-append .btn:focus,.input-group-prepend .btn:focus{z-index:3}.input-group-append .btn+.btn,.input-group-append .btn+.input-group-text,.input-group-append .input-group-text+.btn,.input-group-append .input-group-text+.input-group-text,.input-group-prepend .btn+.btn,.input-group-prepend .btn+.input-group-text,.input-group-prepend .input-group-text+.btn,.input-group-prepend .input-group-text+.input-group-text{margin-left:-1px}.input-group-prepend{margin-right:-1px}.input-group-append{margin-left:-1px}.input-group-text{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.375rem .75rem;margin-bottom:0;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;text-align:center;white-space:nowrap;background-color:#e9ecef;border:1px solid #ced4da;border-radius:.25rem}.input-group-text input[type=checkbox],.input-group-text input[type=radio]{margin-top:0}.input-group-lg>.custom-select,.input-group-lg>.form-control:not(textarea){height:calc(1.5em + 1rem + 2px)}.input-group-lg>.custom-select,.input-group-lg>.form-control,.input-group-lg>.input-group-append>.btn,.input-group-lg>.input-group-append>.input-group-text,.input-group-lg>.input-group-prepend>.btn,.input-group-lg>.input-group-prepend>.input-group-text{padding:.5rem 1rem;font-size:1.25rem;line-height:1.5;border-radius:.3rem}.input-group-sm>.custom-select,.input-group-sm>.form-control:not(textarea){height:calc(1.5em + .5rem + 2px)}.input-group-sm>.custom-select,.input-group-sm>.form-control,.input-group-sm>.input-group-append>.btn,.input-group-sm>.input-group-append>.input-group-text,.input-group-sm>.input-group-prepend>.btn,.input-group-sm>.input-group-prepend>.input-group-text{padding:.25rem .5rem;font-size:.875rem;line-height:1.5;border-radius:.2rem}.input-group-lg>.custom-select,.input-group-sm>.custom-select{padding-right:1.75rem}.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.btn,.input-group.has-validation>.input-group-append:nth-last-child(n+3)>.input-group-text,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.btn,.input-group:not(.has-validation)>.input-group-append:not(:last-child)>.input-group-text,.input-group>.input-group-append:last-child>.btn:not(:last-child):not(.dropdown-toggle),.input-group>.input-group-append:last-child>.input-group-text:not(:last-child),.input-group>.input-group-prepend>.btn,.input-group>.input-group-prepend>.input-group-text{border-top-right-radius:0;border-bottom-right-radius:0}.input-group>.input-group-append>.btn,.input-group>.input-group-append>.input-group-text,.input-group>.input-group-prepend:first-child>.btn:not(:first-child),.input-group>.input-group-prepend:first-child>.input-group-text:not(:first-child),.input-group>.input-group-prepend:not(:first-child)>.btn,.input-group>.input-group-prepend:not(:first-child)>.input-group-text{border-top-left-radius:0;border-bottom-left-radius:0}.custom-control{position:relative;z-index:1;display:block;min-height:1.5rem;padding-left:1.5rem;-webkit-print-color-adjust:exact;color-adjust:exact}.custom-control-inline{display:-ms-inline-flexbox;display:inline-flex;margin-right:1rem}.custom-control-input{position:absolute;left:0;z-index:-1;width:1rem;height:1.25rem;opacity:0}.custom-control-input:checked~.custom-control-label::before{color:#fff;border-color:#007bff;background-color:#007bff}.custom-control-input:focus~.custom-control-label::before{box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-control-input:focus:not(:checked)~.custom-control-label::before{border-color:#80bdff}.custom-control-input:not(:disabled):active~.custom-control-label::before{color:#fff;background-color:#b3d7ff;border-color:#b3d7ff}.custom-control-input:disabled~.custom-control-label,.custom-control-input[disabled]~.custom-control-label{color:#6c757d}.custom-control-input:disabled~.custom-control-label::before,.custom-control-input[disabled]~.custom-control-label::before{background-color:#e9ecef}.custom-control-label{position:relative;margin-bottom:0;vertical-align:top}.custom-control-label::before{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;pointer-events:none;content:"";background-color:#fff;border:#adb5bd solid 1px}.custom-control-label::after{position:absolute;top:.25rem;left:-1.5rem;display:block;width:1rem;height:1rem;content:"";background:50%/50% 50% no-repeat}.custom-checkbox .custom-control-label::before{border-radius:.25rem}.custom-checkbox .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath fill='%23fff' d='M6.564.75l-3.59 3.612-1.538-1.55L0 4.26l2.974 2.99L8 2.193z'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::before{border-color:#007bff;background-color:#007bff}.custom-checkbox .custom-control-input:indeterminate~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='4' viewBox='0 0 4 4'%3e%3cpath stroke='%23fff' d='M0 2h4'/%3e%3c/svg%3e")}.custom-checkbox .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-checkbox .custom-control-input:disabled:indeterminate~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-radio .custom-control-label::before{border-radius:50%}.custom-radio .custom-control-input:checked~.custom-control-label::after{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='-4 -4 8 8'%3e%3ccircle r='3' fill='%23fff'/%3e%3c/svg%3e")}.custom-radio .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-switch{padding-left:2.25rem}.custom-switch .custom-control-label::before{left:-2.25rem;width:1.75rem;pointer-events:all;border-radius:.5rem}.custom-switch .custom-control-label::after{top:calc(.25rem + 2px);left:calc(-2.25rem + 2px);width:calc(1rem - 4px);height:calc(1rem - 4px);background-color:#adb5bd;border-radius:.5rem;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:transform .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out,-webkit-transform .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-switch .custom-control-label::after{transition:none}}.custom-switch .custom-control-input:checked~.custom-control-label::after{background-color:#fff;-webkit-transform:translateX(.75rem);transform:translateX(.75rem)}.custom-switch .custom-control-input:disabled:checked~.custom-control-label::before{background-color:rgba(0,123,255,.5)}.custom-select{display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);padding:.375rem 1.75rem .375rem .75rem;font-size:1rem;font-weight:400;line-height:1.5;color:#495057;vertical-align:middle;background:#fff url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='4' height='5' viewBox='0 0 4 5'%3e%3cpath fill='%23343a40' d='M2 0L0 2h4zm0 5L0 3h4z'/%3e%3c/svg%3e") right .75rem center/8px 10px no-repeat;border:1px solid #ced4da;border-radius:.25rem;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-select:focus{border-color:#80bdff;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-select:focus::-ms-value{color:#495057;background-color:#fff}.custom-select[multiple],.custom-select[size]:not([size="1"]){height:auto;padding-right:.75rem;background-image:none}.custom-select:disabled{color:#6c757d;background-color:#e9ecef}.custom-select::-ms-expand{display:none}.custom-select:-moz-focusring{color:transparent;text-shadow:0 0 0 #495057}.custom-select-sm{height:calc(1.5em + .5rem + 2px);padding-top:.25rem;padding-bottom:.25rem;padding-left:.5rem;font-size:.875rem}.custom-select-lg{height:calc(1.5em + 1rem + 2px);padding-top:.5rem;padding-bottom:.5rem;padding-left:1rem;font-size:1.25rem}.custom-file{position:relative;display:inline-block;width:100%;height:calc(1.5em + .75rem + 2px);margin-bottom:0}.custom-file-input{position:relative;z-index:2;width:100%;height:calc(1.5em + .75rem + 2px);margin:0;overflow:hidden;opacity:0}.custom-file-input:focus~.custom-file-label{border-color:#80bdff;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.custom-file-input:disabled~.custom-file-label,.custom-file-input[disabled]~.custom-file-label{background-color:#e9ecef}.custom-file-input:lang(en)~.custom-file-label::after{content:"Browse"}.custom-file-input~.custom-file-label[data-browse]::after{content:attr(data-browse)}.custom-file-label{position:absolute;top:0;right:0;left:0;z-index:1;height:calc(1.5em + .75rem + 2px);padding:.375rem .75rem;overflow:hidden;font-weight:400;line-height:1.5;color:#495057;background-color:#fff;border:1px solid #ced4da;border-radius:.25rem}.custom-file-label::after{position:absolute;top:0;right:0;bottom:0;z-index:3;display:block;height:calc(1.5em + .75rem);padding:.375rem .75rem;line-height:1.5;color:#495057;content:"Browse";background-color:#e9ecef;border-left:inherit;border-radius:0 .25rem .25rem 0}.custom-range{width:100%;height:1.4rem;padding:0;background-color:transparent;-webkit-appearance:none;-moz-appearance:none;appearance:none}.custom-range:focus{outline:0}.custom-range:focus::-webkit-slider-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-moz-range-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range:focus::-ms-thumb{box-shadow:0 0 0 1px #fff,0 0 0 .2rem rgba(0,123,255,.25)}.custom-range::-moz-focus-outer{border:0}.custom-range::-webkit-slider-thumb{width:1rem;height:1rem;margin-top:-.25rem;background-color:#007bff;border:0;border-radius:1rem;-webkit-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-webkit-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-webkit-slider-thumb{-webkit-transition:none;transition:none}}.custom-range::-webkit-slider-thumb:active{background-color:#b3d7ff}.custom-range::-webkit-slider-runnable-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-moz-range-thumb{width:1rem;height:1rem;background-color:#007bff;border:0;border-radius:1rem;-moz-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;-moz-appearance:none;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-moz-range-thumb{-moz-transition:none;transition:none}}.custom-range::-moz-range-thumb:active{background-color:#b3d7ff}.custom-range::-moz-range-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:#dee2e6;border-color:transparent;border-radius:1rem}.custom-range::-ms-thumb{width:1rem;height:1rem;margin-top:0;margin-right:.2rem;margin-left:.2rem;background-color:#007bff;border:0;border-radius:1rem;-ms-transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out;appearance:none}@media (prefers-reduced-motion:reduce){.custom-range::-ms-thumb{-ms-transition:none;transition:none}}.custom-range::-ms-thumb:active{background-color:#b3d7ff}.custom-range::-ms-track{width:100%;height:.5rem;color:transparent;cursor:pointer;background-color:transparent;border-color:transparent;border-width:.5rem}.custom-range::-ms-fill-lower{background-color:#dee2e6;border-radius:1rem}.custom-range::-ms-fill-upper{margin-right:15px;background-color:#dee2e6;border-radius:1rem}.custom-range:disabled::-webkit-slider-thumb{background-color:#adb5bd}.custom-range:disabled::-webkit-slider-runnable-track{cursor:default}.custom-range:disabled::-moz-range-thumb{background-color:#adb5bd}.custom-range:disabled::-moz-range-track{cursor:default}.custom-range:disabled::-ms-thumb{background-color:#adb5bd}.custom-control-label::before,.custom-file-label,.custom-select{transition:background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.custom-control-label::before,.custom-file-label,.custom-select{transition:none}}.nav{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding-left:0;margin-bottom:0;list-style:none}.nav-link{display:block;padding:.5rem 1rem}.nav-link:focus,.nav-link:hover{text-decoration:none}.nav-link.disabled{color:#6c757d;pointer-events:none;cursor:default}.nav-tabs{border-bottom:1px solid #dee2e6}.nav-tabs .nav-link{margin-bottom:-1px;border:1px solid transparent;border-top-left-radius:.25rem;border-top-right-radius:.25rem}.nav-tabs .nav-link:focus,.nav-tabs .nav-link:hover{border-color:#e9ecef #e9ecef #dee2e6}.nav-tabs .nav-link.disabled{color:#6c757d;background-color:transparent;border-color:transparent}.nav-tabs .nav-item.show .nav-link,.nav-tabs .nav-link.active{color:#495057;background-color:#fff;border-color:#dee2e6 #dee2e6 #fff}.nav-tabs .dropdown-menu{margin-top:-1px;border-top-left-radius:0;border-top-right-radius:0}.nav-pills .nav-link{border-radius:.25rem}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{color:#fff;background-color:#007bff}.nav-fill .nav-item,.nav-fill>.nav-link{-ms-flex:1 1 auto;flex:1 1 auto;text-align:center}.nav-justified .nav-item,.nav-justified>.nav-link{-ms-flex-preferred-size:0;flex-basis:0;-ms-flex-positive:1;flex-grow:1;text-align:center}.tab-content>.tab-pane{display:none}.tab-content>.active{display:block}.navbar{position:relative;display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between;padding:.5rem 1rem}.navbar .container,.navbar .container-fluid,.navbar .container-lg,.navbar .container-md,.navbar .container-sm,.navbar .container-xl{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:justify;justify-content:space-between}.navbar-brand{display:inline-block;padding-top:.3125rem;padding-bottom:.3125rem;margin-right:1rem;font-size:1.25rem;line-height:inherit;white-space:nowrap}.navbar-brand:focus,.navbar-brand:hover{text-decoration:none}.navbar-nav{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;list-style:none}.navbar-nav .nav-link{padding-right:0;padding-left:0}.navbar-nav .dropdown-menu{position:static;float:none}.navbar-text{display:inline-block;padding-top:.5rem;padding-bottom:.5rem}.navbar-collapse{-ms-flex-preferred-size:100%;flex-basis:100%;-ms-flex-positive:1;flex-grow:1;-ms-flex-align:center;align-items:center}.navbar-toggler{padding:.25rem .75rem;font-size:1.25rem;line-height:1;background-color:transparent;border:1px solid transparent;border-radius:.25rem}.navbar-toggler:focus,.navbar-toggler:hover{text-decoration:none}.navbar-toggler-icon{display:inline-block;width:1.5em;height:1.5em;vertical-align:middle;content:"";background:50%/100% 100% no-repeat}.navbar-nav-scroll{max-height:75vh;overflow-y:auto}@media (max-width:575.98px){.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{padding-right:0;padding-left:0}}@media (min-width:576px){.navbar-expand-sm{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-sm .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-sm .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-sm .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-sm>.container,.navbar-expand-sm>.container-fluid,.navbar-expand-sm>.container-lg,.navbar-expand-sm>.container-md,.navbar-expand-sm>.container-sm,.navbar-expand-sm>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-sm .navbar-nav-scroll{overflow:visible}.navbar-expand-sm .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-sm .navbar-toggler{display:none}}@media (max-width:767.98px){.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{padding-right:0;padding-left:0}}@media (min-width:768px){.navbar-expand-md{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-md .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-md .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-md .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-md>.container,.navbar-expand-md>.container-fluid,.navbar-expand-md>.container-lg,.navbar-expand-md>.container-md,.navbar-expand-md>.container-sm,.navbar-expand-md>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-md .navbar-nav-scroll{overflow:visible}.navbar-expand-md .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-md .navbar-toggler{display:none}}@media (max-width:991.98px){.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{padding-right:0;padding-left:0}}@media (min-width:992px){.navbar-expand-lg{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-lg .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-lg .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-lg .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-lg>.container,.navbar-expand-lg>.container-fluid,.navbar-expand-lg>.container-lg,.navbar-expand-lg>.container-md,.navbar-expand-lg>.container-sm,.navbar-expand-lg>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-lg .navbar-nav-scroll{overflow:visible}.navbar-expand-lg .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-lg .navbar-toggler{display:none}}@media (max-width:1199.98px){.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{padding-right:0;padding-left:0}}@media (min-width:1200px){.navbar-expand-xl{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand-xl .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand-xl .navbar-nav .dropdown-menu{position:absolute}.navbar-expand-xl .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand-xl>.container,.navbar-expand-xl>.container-fluid,.navbar-expand-xl>.container-lg,.navbar-expand-xl>.container-md,.navbar-expand-xl>.container-sm,.navbar-expand-xl>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand-xl .navbar-nav-scroll{overflow:visible}.navbar-expand-xl .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand-xl .navbar-toggler{display:none}}.navbar-expand{-ms-flex-flow:row nowrap;flex-flow:row nowrap;-ms-flex-pack:start;justify-content:flex-start}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{padding-right:0;padding-left:0}.navbar-expand .navbar-nav{-ms-flex-direction:row;flex-direction:row}.navbar-expand .navbar-nav .dropdown-menu{position:absolute}.navbar-expand .navbar-nav .nav-link{padding-right:.5rem;padding-left:.5rem}.navbar-expand>.container,.navbar-expand>.container-fluid,.navbar-expand>.container-lg,.navbar-expand>.container-md,.navbar-expand>.container-sm,.navbar-expand>.container-xl{-ms-flex-wrap:nowrap;flex-wrap:nowrap}.navbar-expand .navbar-nav-scroll{overflow:visible}.navbar-expand .navbar-collapse{display:-ms-flexbox!important;display:flex!important;-ms-flex-preferred-size:auto;flex-basis:auto}.navbar-expand .navbar-toggler{display:none}.navbar-light .navbar-brand{color:rgba(0,0,0,.9)}.navbar-light .navbar-brand:focus,.navbar-light .navbar-brand:hover{color:rgba(0,0,0,.9)}.navbar-light .navbar-nav .nav-link{color:rgba(0,0,0,.5)}.navbar-light .navbar-nav .nav-link:focus,.navbar-light .navbar-nav .nav-link:hover{color:rgba(0,0,0,.7)}.navbar-light .navbar-nav .nav-link.disabled{color:rgba(0,0,0,.3)}.navbar-light .navbar-nav .active>.nav-link,.navbar-light .navbar-nav .nav-link.active,.navbar-light .navbar-nav .nav-link.show,.navbar-light .navbar-nav .show>.nav-link{color:rgba(0,0,0,.9)}.navbar-light .navbar-toggler{color:rgba(0,0,0,.5);border-color:rgba(0,0,0,.1)}.navbar-light .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%280, 0, 0, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-light .navbar-text{color:rgba(0,0,0,.5)}.navbar-light .navbar-text a{color:rgba(0,0,0,.9)}.navbar-light .navbar-text a:focus,.navbar-light .navbar-text a:hover{color:rgba(0,0,0,.9)}.navbar-dark .navbar-brand{color:#fff}.navbar-dark .navbar-brand:focus,.navbar-dark .navbar-brand:hover{color:#fff}.navbar-dark .navbar-nav .nav-link{color:rgba(255,255,255,.5)}.navbar-dark .navbar-nav .nav-link:focus,.navbar-dark .navbar-nav .nav-link:hover{color:rgba(255,255,255,.75)}.navbar-dark .navbar-nav .nav-link.disabled{color:rgba(255,255,255,.25)}.navbar-dark .navbar-nav .active>.nav-link,.navbar-dark .navbar-nav .nav-link.active,.navbar-dark .navbar-nav .nav-link.show,.navbar-dark .navbar-nav .show>.nav-link{color:#fff}.navbar-dark .navbar-toggler{color:rgba(255,255,255,.5);border-color:rgba(255,255,255,.1)}.navbar-dark .navbar-toggler-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' width='30' height='30' viewBox='0 0 30 30'%3e%3cpath stroke='rgba%28255, 255, 255, 0.5%29' stroke-linecap='round' stroke-miterlimit='10' stroke-width='2' d='M4 7h22M4 15h22M4 23h22'/%3e%3c/svg%3e")}.navbar-dark .navbar-text{color:rgba(255,255,255,.5)}.navbar-dark .navbar-text a{color:#fff}.navbar-dark .navbar-text a:focus,.navbar-dark .navbar-text a:hover{color:#fff}.card{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;min-width:0;word-wrap:break-word;background-color:#fff;background-clip:border-box;border:1px solid rgba(0,0,0,.125);border-radius:.25rem}.card>hr{margin-right:0;margin-left:0}.card>.list-group{border-top:inherit;border-bottom:inherit}.card>.list-group:first-child{border-top-width:0;border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card>.list-group:last-child{border-bottom-width:0;border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card>.card-header+.list-group,.card>.list-group+.card-footer{border-top:0}.card-body{-ms-flex:1 1 auto;flex:1 1 auto;min-height:1px;padding:1.25rem}.card-title{margin-bottom:.75rem}.card-subtitle{margin-top:-.375rem;margin-bottom:0}.card-text:last-child{margin-bottom:0}.card-link:hover{text-decoration:none}.card-link+.card-link{margin-left:1.25rem}.card-header{padding:.75rem 1.25rem;margin-bottom:0;background-color:rgba(0,0,0,.03);border-bottom:1px solid rgba(0,0,0,.125)}.card-header:first-child{border-radius:calc(.25rem - 1px) calc(.25rem - 1px) 0 0}.card-footer{padding:.75rem 1.25rem;background-color:rgba(0,0,0,.03);border-top:1px solid rgba(0,0,0,.125)}.card-footer:last-child{border-radius:0 0 calc(.25rem - 1px) calc(.25rem - 1px)}.card-header-tabs{margin-right:-.625rem;margin-bottom:-.75rem;margin-left:-.625rem;border-bottom:0}.card-header-pills{margin-right:-.625rem;margin-left:-.625rem}.card-img-overlay{position:absolute;top:0;right:0;bottom:0;left:0;padding:1.25rem;border-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom,.card-img-top{-ms-flex-negative:0;flex-shrink:0;width:100%}.card-img,.card-img-top{border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.card-img,.card-img-bottom{border-bottom-right-radius:calc(.25rem - 1px);border-bottom-left-radius:calc(.25rem - 1px)}.card-deck .card{margin-bottom:15px}@media (min-width:576px){.card-deck{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap;margin-right:-15px;margin-left:-15px}.card-deck .card{-ms-flex:1 0 0%;flex:1 0 0%;margin-right:15px;margin-bottom:0;margin-left:15px}}.card-group>.card{margin-bottom:15px}@media (min-width:576px){.card-group{display:-ms-flexbox;display:flex;-ms-flex-flow:row wrap;flex-flow:row wrap}.card-group>.card{-ms-flex:1 0 0%;flex:1 0 0%;margin-bottom:0}.card-group>.card+.card{margin-left:0;border-left:0}.card-group>.card:not(:last-child){border-top-right-radius:0;border-bottom-right-radius:0}.card-group>.card:not(:last-child) .card-header,.card-group>.card:not(:last-child) .card-img-top{border-top-right-radius:0}.card-group>.card:not(:last-child) .card-footer,.card-group>.card:not(:last-child) .card-img-bottom{border-bottom-right-radius:0}.card-group>.card:not(:first-child){border-top-left-radius:0;border-bottom-left-radius:0}.card-group>.card:not(:first-child) .card-header,.card-group>.card:not(:first-child) .card-img-top{border-top-left-radius:0}.card-group>.card:not(:first-child) .card-footer,.card-group>.card:not(:first-child) .card-img-bottom{border-bottom-left-radius:0}}.card-columns .card{margin-bottom:.75rem}@media (min-width:576px){.card-columns{-webkit-column-count:3;-moz-column-count:3;column-count:3;-webkit-column-gap:1.25rem;-moz-column-gap:1.25rem;column-gap:1.25rem;orphans:1;widows:1}.card-columns .card{display:inline-block;width:100%}}.accordion{overflow-anchor:none}.accordion>.card{overflow:hidden}.accordion>.card:not(:last-of-type){border-bottom:0;border-bottom-right-radius:0;border-bottom-left-radius:0}.accordion>.card:not(:first-of-type){border-top-left-radius:0;border-top-right-radius:0}.accordion>.card>.card-header{border-radius:0;margin-bottom:-1px}.breadcrumb{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;padding:.75rem 1rem;margin-bottom:1rem;list-style:none;background-color:#e9ecef;border-radius:.25rem}.breadcrumb-item+.breadcrumb-item{padding-left:.5rem}.breadcrumb-item+.breadcrumb-item::before{float:left;padding-right:.5rem;color:#6c757d;content:"/"}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:underline}.breadcrumb-item+.breadcrumb-item:hover::before{text-decoration:none}.breadcrumb-item.active{color:#6c757d}.pagination{display:-ms-flexbox;display:flex;padding-left:0;list-style:none;border-radius:.25rem}.page-link{position:relative;display:block;padding:.5rem .75rem;margin-left:-1px;line-height:1.25;color:#007bff;background-color:#fff;border:1px solid #dee2e6}.page-link:hover{z-index:2;color:#0056b3;text-decoration:none;background-color:#e9ecef;border-color:#dee2e6}.page-link:focus{z-index:3;outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.25)}.page-item:first-child .page-link{margin-left:0;border-top-left-radius:.25rem;border-bottom-left-radius:.25rem}.page-item:last-child .page-link{border-top-right-radius:.25rem;border-bottom-right-radius:.25rem}.page-item.active .page-link{z-index:3;color:#fff;background-color:#007bff;border-color:#007bff}.page-item.disabled .page-link{color:#6c757d;pointer-events:none;cursor:auto;background-color:#fff;border-color:#dee2e6}.pagination-lg .page-link{padding:.75rem 1.5rem;font-size:1.25rem;line-height:1.5}.pagination-lg .page-item:first-child .page-link{border-top-left-radius:.3rem;border-bottom-left-radius:.3rem}.pagination-lg .page-item:last-child .page-link{border-top-right-radius:.3rem;border-bottom-right-radius:.3rem}.pagination-sm .page-link{padding:.25rem .5rem;font-size:.875rem;line-height:1.5}.pagination-sm .page-item:first-child .page-link{border-top-left-radius:.2rem;border-bottom-left-radius:.2rem}.pagination-sm .page-item:last-child .page-link{border-top-right-radius:.2rem;border-bottom-right-radius:.2rem}.badge{display:inline-block;padding:.25em .4em;font-size:75%;font-weight:700;line-height:1;text-align:center;white-space:nowrap;vertical-align:baseline;border-radius:.25rem;transition:color .15s ease-in-out,background-color .15s ease-in-out,border-color .15s ease-in-out,box-shadow .15s ease-in-out}@media (prefers-reduced-motion:reduce){.badge{transition:none}}a.badge:focus,a.badge:hover{text-decoration:none}.badge:empty{display:none}.btn .badge{position:relative;top:-1px}.badge-pill{padding-right:.6em;padding-left:.6em;border-radius:10rem}.badge-primary{color:#fff;background-color:#007bff}a.badge-primary:focus,a.badge-primary:hover{color:#fff;background-color:#0062cc}a.badge-primary.focus,a.badge-primary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(0,123,255,.5)}.badge-secondary{color:#fff;background-color:#6c757d}a.badge-secondary:focus,a.badge-secondary:hover{color:#fff;background-color:#545b62}a.badge-secondary.focus,a.badge-secondary:focus{outline:0;box-shadow:0 0 0 .2rem rgba(108,117,125,.5)}.badge-success{color:#fff;background-color:#28a745}a.badge-success:focus,a.badge-success:hover{color:#fff;background-color:#1e7e34}a.badge-success.focus,a.badge-success:focus{outline:0;box-shadow:0 0 0 .2rem rgba(40,167,69,.5)}.badge-info{color:#fff;background-color:#17a2b8}a.badge-info:focus,a.badge-info:hover{color:#fff;background-color:#117a8b}a.badge-info.focus,a.badge-info:focus{outline:0;box-shadow:0 0 0 .2rem rgba(23,162,184,.5)}.badge-warning{color:#212529;background-color:#ffc107}a.badge-warning:focus,a.badge-warning:hover{color:#212529;background-color:#d39e00}a.badge-warning.focus,a.badge-warning:focus{outline:0;box-shadow:0 0 0 .2rem rgba(255,193,7,.5)}.badge-danger{color:#fff;background-color:#dc3545}a.badge-danger:focus,a.badge-danger:hover{color:#fff;background-color:#bd2130}a.badge-danger.focus,a.badge-danger:focus{outline:0;box-shadow:0 0 0 .2rem rgba(220,53,69,.5)}.badge-light{color:#212529;background-color:#f8f9fa}a.badge-light:focus,a.badge-light:hover{color:#212529;background-color:#dae0e5}a.badge-light.focus,a.badge-light:focus{outline:0;box-shadow:0 0 0 .2rem rgba(248,249,250,.5)}.badge-dark{color:#fff;background-color:#343a40}a.badge-dark:focus,a.badge-dark:hover{color:#fff;background-color:#1d2124}a.badge-dark.focus,a.badge-dark:focus{outline:0;box-shadow:0 0 0 .2rem rgba(52,58,64,.5)}.jumbotron{padding:2rem 1rem;margin-bottom:2rem;background-color:#e9ecef;border-radius:.3rem}@media (min-width:576px){.jumbotron{padding:4rem 2rem}}.jumbotron-fluid{padding-right:0;padding-left:0;border-radius:0}.alert{position:relative;padding:.75rem 1.25rem;margin-bottom:1rem;border:1px solid transparent;border-radius:.25rem}.alert-heading{color:inherit}.alert-link{font-weight:700}.alert-dismissible{padding-right:4rem}.alert-dismissible .close{position:absolute;top:0;right:0;z-index:2;padding:.75rem 1.25rem;color:inherit}.alert-primary{color:#004085;background-color:#cce5ff;border-color:#b8daff}.alert-primary hr{border-top-color:#9fcdff}.alert-primary .alert-link{color:#002752}.alert-secondary{color:#383d41;background-color:#e2e3e5;border-color:#d6d8db}.alert-secondary hr{border-top-color:#c8cbcf}.alert-secondary .alert-link{color:#202326}.alert-success{color:#155724;background-color:#d4edda;border-color:#c3e6cb}.alert-success hr{border-top-color:#b1dfbb}.alert-success .alert-link{color:#0b2e13}.alert-info{color:#0c5460;background-color:#d1ecf1;border-color:#bee5eb}.alert-info hr{border-top-color:#abdde5}.alert-info .alert-link{color:#062c33}.alert-warning{color:#856404;background-color:#fff3cd;border-color:#ffeeba}.alert-warning hr{border-top-color:#ffe8a1}.alert-warning .alert-link{color:#533f03}.alert-danger{color:#721c24;background-color:#f8d7da;border-color:#f5c6cb}.alert-danger hr{border-top-color:#f1b0b7}.alert-danger .alert-link{color:#491217}.alert-light{color:#818182;background-color:#fefefe;border-color:#fdfdfe}.alert-light hr{border-top-color:#ececf6}.alert-light .alert-link{color:#686868}.alert-dark{color:#1b1e21;background-color:#d6d8d9;border-color:#c6c8ca}.alert-dark hr{border-top-color:#b9bbbe}.alert-dark .alert-link{color:#040505}@-webkit-keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}@keyframes progress-bar-stripes{from{background-position:1rem 0}to{background-position:0 0}}.progress{display:-ms-flexbox;display:flex;height:1rem;overflow:hidden;line-height:0;font-size:.75rem;background-color:#e9ecef;border-radius:.25rem}.progress-bar{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;overflow:hidden;color:#fff;text-align:center;white-space:nowrap;background-color:#007bff;transition:width .6s ease}@media (prefers-reduced-motion:reduce){.progress-bar{transition:none}}.progress-bar-striped{background-image:linear-gradient(45deg,rgba(255,255,255,.15) 25%,transparent 25%,transparent 50%,rgba(255,255,255,.15) 50%,rgba(255,255,255,.15) 75%,transparent 75%,transparent);background-size:1rem 1rem}.progress-bar-animated{-webkit-animation:1s linear infinite progress-bar-stripes;animation:1s linear infinite progress-bar-stripes}@media (prefers-reduced-motion:reduce){.progress-bar-animated{-webkit-animation:none;animation:none}}.media{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start}.media-body{-ms-flex:1;flex:1}.list-group{display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;padding-left:0;margin-bottom:0;border-radius:.25rem}.list-group-item-action{width:100%;color:#495057;text-align:inherit}.list-group-item-action:focus,.list-group-item-action:hover{z-index:1;color:#495057;text-decoration:none;background-color:#f8f9fa}.list-group-item-action:active{color:#212529;background-color:#e9ecef}.list-group-item{position:relative;display:block;padding:.75rem 1.25rem;background-color:#fff;border:1px solid rgba(0,0,0,.125)}.list-group-item:first-child{border-top-left-radius:inherit;border-top-right-radius:inherit}.list-group-item:last-child{border-bottom-right-radius:inherit;border-bottom-left-radius:inherit}.list-group-item.disabled,.list-group-item:disabled{color:#6c757d;pointer-events:none;background-color:#fff}.list-group-item.active{z-index:2;color:#fff;background-color:#007bff;border-color:#007bff}.list-group-item+.list-group-item{border-top-width:0}.list-group-item+.list-group-item.active{margin-top:-1px;border-top-width:1px}.list-group-horizontal{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal>.list-group-item.active{margin-top:0}.list-group-horizontal>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}@media (min-width:576px){.list-group-horizontal-sm{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-sm>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-sm>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-sm>.list-group-item.active{margin-top:0}.list-group-horizontal-sm>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-sm>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:768px){.list-group-horizontal-md{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-md>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-md>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-md>.list-group-item.active{margin-top:0}.list-group-horizontal-md>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-md>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:992px){.list-group-horizontal-lg{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-lg>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-lg>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-lg>.list-group-item.active{margin-top:0}.list-group-horizontal-lg>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-lg>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}@media (min-width:1200px){.list-group-horizontal-xl{-ms-flex-direction:row;flex-direction:row}.list-group-horizontal-xl>.list-group-item:first-child{border-bottom-left-radius:.25rem;border-top-right-radius:0}.list-group-horizontal-xl>.list-group-item:last-child{border-top-right-radius:.25rem;border-bottom-left-radius:0}.list-group-horizontal-xl>.list-group-item.active{margin-top:0}.list-group-horizontal-xl>.list-group-item+.list-group-item{border-top-width:1px;border-left-width:0}.list-group-horizontal-xl>.list-group-item+.list-group-item.active{margin-left:-1px;border-left-width:1px}}.list-group-flush{border-radius:0}.list-group-flush>.list-group-item{border-width:0 0 1px}.list-group-flush>.list-group-item:last-child{border-bottom-width:0}.list-group-item-primary{color:#004085;background-color:#b8daff}.list-group-item-primary.list-group-item-action:focus,.list-group-item-primary.list-group-item-action:hover{color:#004085;background-color:#9fcdff}.list-group-item-primary.list-group-item-action.active{color:#fff;background-color:#004085;border-color:#004085}.list-group-item-secondary{color:#383d41;background-color:#d6d8db}.list-group-item-secondary.list-group-item-action:focus,.list-group-item-secondary.list-group-item-action:hover{color:#383d41;background-color:#c8cbcf}.list-group-item-secondary.list-group-item-action.active{color:#fff;background-color:#383d41;border-color:#383d41}.list-group-item-success{color:#155724;background-color:#c3e6cb}.list-group-item-success.list-group-item-action:focus,.list-group-item-success.list-group-item-action:hover{color:#155724;background-color:#b1dfbb}.list-group-item-success.list-group-item-action.active{color:#fff;background-color:#155724;border-color:#155724}.list-group-item-info{color:#0c5460;background-color:#bee5eb}.list-group-item-info.list-group-item-action:focus,.list-group-item-info.list-group-item-action:hover{color:#0c5460;background-color:#abdde5}.list-group-item-info.list-group-item-action.active{color:#fff;background-color:#0c5460;border-color:#0c5460}.list-group-item-warning{color:#856404;background-color:#ffeeba}.list-group-item-warning.list-group-item-action:focus,.list-group-item-warning.list-group-item-action:hover{color:#856404;background-color:#ffe8a1}.list-group-item-warning.list-group-item-action.active{color:#fff;background-color:#856404;border-color:#856404}.list-group-item-danger{color:#721c24;background-color:#f5c6cb}.list-group-item-danger.list-group-item-action:focus,.list-group-item-danger.list-group-item-action:hover{color:#721c24;background-color:#f1b0b7}.list-group-item-danger.list-group-item-action.active{color:#fff;background-color:#721c24;border-color:#721c24}.list-group-item-light{color:#818182;background-color:#fdfdfe}.list-group-item-light.list-group-item-action:focus,.list-group-item-light.list-group-item-action:hover{color:#818182;background-color:#ececf6}.list-group-item-light.list-group-item-action.active{color:#fff;background-color:#818182;border-color:#818182}.list-group-item-dark{color:#1b1e21;background-color:#c6c8ca}.list-group-item-dark.list-group-item-action:focus,.list-group-item-dark.list-group-item-action:hover{color:#1b1e21;background-color:#b9bbbe}.list-group-item-dark.list-group-item-action.active{color:#fff;background-color:#1b1e21;border-color:#1b1e21}.close{float:right;font-size:1.5rem;font-weight:700;line-height:1;color:#000;text-shadow:0 1px 0 #fff;opacity:.5}.close:hover{color:#000;text-decoration:none}.close:not(:disabled):not(.disabled):focus,.close:not(:disabled):not(.disabled):hover{opacity:.75}button.close{padding:0;background-color:transparent;border:0}a.close.disabled{pointer-events:none}.toast{-ms-flex-preferred-size:350px;flex-basis:350px;max-width:350px;font-size:.875rem;background-color:rgba(255,255,255,.85);background-clip:padding-box;border:1px solid rgba(0,0,0,.1);box-shadow:0 .25rem .75rem rgba(0,0,0,.1);opacity:0;border-radius:.25rem}.toast:not(:last-child){margin-bottom:.75rem}.toast.showing{opacity:1}.toast.show{display:block;opacity:1}.toast.hide{display:none}.toast-header{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;padding:.25rem .75rem;color:#6c757d;background-color:rgba(255,255,255,.85);background-clip:padding-box;border-bottom:1px solid rgba(0,0,0,.05);border-top-left-radius:calc(.25rem - 1px);border-top-right-radius:calc(.25rem - 1px)}.toast-body{padding:.75rem}.modal-open{overflow:hidden}.modal-open .modal{overflow-x:hidden;overflow-y:auto}.modal{position:fixed;top:0;left:0;z-index:1050;display:none;width:100%;height:100%;overflow:hidden;outline:0}.modal-dialog{position:relative;width:auto;margin:.5rem;pointer-events:none}.modal.fade .modal-dialog{transition:-webkit-transform .3s ease-out;transition:transform .3s ease-out;transition:transform .3s ease-out,-webkit-transform .3s ease-out;-webkit-transform:translate(0,-50px);transform:translate(0,-50px)}@media (prefers-reduced-motion:reduce){.modal.fade .modal-dialog{transition:none}}.modal.show .modal-dialog{-webkit-transform:none;transform:none}.modal.modal-static .modal-dialog{-webkit-transform:scale(1.02);transform:scale(1.02)}.modal-dialog-scrollable{display:-ms-flexbox;display:flex;max-height:calc(100% - 1rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 1rem);overflow:hidden}.modal-dialog-scrollable .modal-footer,.modal-dialog-scrollable .modal-header{-ms-flex-negative:0;flex-shrink:0}.modal-dialog-scrollable .modal-body{overflow-y:auto}.modal-dialog-centered{display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;min-height:calc(100% - 1rem)}.modal-dialog-centered::before{display:block;height:calc(100vh - 1rem);height:-webkit-min-content;height:-moz-min-content;height:min-content;content:""}.modal-dialog-centered.modal-dialog-scrollable{-ms-flex-direction:column;flex-direction:column;-ms-flex-pack:center;justify-content:center;height:100%}.modal-dialog-centered.modal-dialog-scrollable .modal-content{max-height:none}.modal-dialog-centered.modal-dialog-scrollable::before{content:none}.modal-content{position:relative;display:-ms-flexbox;display:flex;-ms-flex-direction:column;flex-direction:column;width:100%;pointer-events:auto;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem;outline:0}.modal-backdrop{position:fixed;top:0;left:0;z-index:1040;width:100vw;height:100vh;background-color:#000}.modal-backdrop.fade{opacity:0}.modal-backdrop.show{opacity:.5}.modal-header{display:-ms-flexbox;display:flex;-ms-flex-align:start;align-items:flex-start;-ms-flex-pack:justify;justify-content:space-between;padding:1rem 1rem;border-bottom:1px solid #dee2e6;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.modal-header .close{padding:1rem 1rem;margin:-1rem -1rem -1rem auto}.modal-title{margin-bottom:0;line-height:1.5}.modal-body{position:relative;-ms-flex:1 1 auto;flex:1 1 auto;padding:1rem}.modal-footer{display:-ms-flexbox;display:flex;-ms-flex-wrap:wrap;flex-wrap:wrap;-ms-flex-align:center;align-items:center;-ms-flex-pack:end;justify-content:flex-end;padding:.75rem;border-top:1px solid #dee2e6;border-bottom-right-radius:calc(.3rem - 1px);border-bottom-left-radius:calc(.3rem - 1px)}.modal-footer>*{margin:.25rem}.modal-scrollbar-measure{position:absolute;top:-9999px;width:50px;height:50px;overflow:scroll}@media (min-width:576px){.modal-dialog{max-width:500px;margin:1.75rem auto}.modal-dialog-scrollable{max-height:calc(100% - 3.5rem)}.modal-dialog-scrollable .modal-content{max-height:calc(100vh - 3.5rem)}.modal-dialog-centered{min-height:calc(100% - 3.5rem)}.modal-dialog-centered::before{height:calc(100vh - 3.5rem);height:-webkit-min-content;height:-moz-min-content;height:min-content}.modal-sm{max-width:300px}}@media (min-width:992px){.modal-lg,.modal-xl{max-width:800px}}@media (min-width:1200px){.modal-xl{max-width:1140px}}.tooltip{position:absolute;z-index:1070;display:block;margin:0;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;opacity:0}.tooltip.show{opacity:.9}.tooltip .arrow{position:absolute;display:block;width:.8rem;height:.4rem}.tooltip .arrow::before{position:absolute;content:"";border-color:transparent;border-style:solid}.bs-tooltip-auto[x-placement^=top],.bs-tooltip-top{padding:.4rem 0}.bs-tooltip-auto[x-placement^=top] .arrow,.bs-tooltip-top .arrow{bottom:0}.bs-tooltip-auto[x-placement^=top] .arrow::before,.bs-tooltip-top .arrow::before{top:0;border-width:.4rem .4rem 0;border-top-color:#000}.bs-tooltip-auto[x-placement^=right],.bs-tooltip-right{padding:0 .4rem}.bs-tooltip-auto[x-placement^=right] .arrow,.bs-tooltip-right .arrow{left:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=right] .arrow::before,.bs-tooltip-right .arrow::before{right:0;border-width:.4rem .4rem .4rem 0;border-right-color:#000}.bs-tooltip-auto[x-placement^=bottom],.bs-tooltip-bottom{padding:.4rem 0}.bs-tooltip-auto[x-placement^=bottom] .arrow,.bs-tooltip-bottom .arrow{top:0}.bs-tooltip-auto[x-placement^=bottom] .arrow::before,.bs-tooltip-bottom .arrow::before{bottom:0;border-width:0 .4rem .4rem;border-bottom-color:#000}.bs-tooltip-auto[x-placement^=left],.bs-tooltip-left{padding:0 .4rem}.bs-tooltip-auto[x-placement^=left] .arrow,.bs-tooltip-left .arrow{right:0;width:.4rem;height:.8rem}.bs-tooltip-auto[x-placement^=left] .arrow::before,.bs-tooltip-left .arrow::before{left:0;border-width:.4rem 0 .4rem .4rem;border-left-color:#000}.tooltip-inner{max-width:200px;padding:.25rem .5rem;color:#fff;text-align:center;background-color:#000;border-radius:.25rem}.popover{position:absolute;top:0;left:0;z-index:1060;display:block;max-width:276px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans","Liberation Sans",sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";font-style:normal;font-weight:400;line-height:1.5;text-align:left;text-align:start;text-decoration:none;text-shadow:none;text-transform:none;letter-spacing:normal;word-break:normal;word-spacing:normal;white-space:normal;line-break:auto;font-size:.875rem;word-wrap:break-word;background-color:#fff;background-clip:padding-box;border:1px solid rgba(0,0,0,.2);border-radius:.3rem}.popover .arrow{position:absolute;display:block;width:1rem;height:.5rem;margin:0 .3rem}.popover .arrow::after,.popover .arrow::before{position:absolute;display:block;content:"";border-color:transparent;border-style:solid}.bs-popover-auto[x-placement^=top],.bs-popover-top{margin-bottom:.5rem}.bs-popover-auto[x-placement^=top]>.arrow,.bs-popover-top>.arrow{bottom:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=top]>.arrow::before,.bs-popover-top>.arrow::before{bottom:0;border-width:.5rem .5rem 0;border-top-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=top]>.arrow::after,.bs-popover-top>.arrow::after{bottom:1px;border-width:.5rem .5rem 0;border-top-color:#fff}.bs-popover-auto[x-placement^=right],.bs-popover-right{margin-left:.5rem}.bs-popover-auto[x-placement^=right]>.arrow,.bs-popover-right>.arrow{left:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=right]>.arrow::before,.bs-popover-right>.arrow::before{left:0;border-width:.5rem .5rem .5rem 0;border-right-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=right]>.arrow::after,.bs-popover-right>.arrow::after{left:1px;border-width:.5rem .5rem .5rem 0;border-right-color:#fff}.bs-popover-auto[x-placement^=bottom],.bs-popover-bottom{margin-top:.5rem}.bs-popover-auto[x-placement^=bottom]>.arrow,.bs-popover-bottom>.arrow{top:calc(-.5rem - 1px)}.bs-popover-auto[x-placement^=bottom]>.arrow::before,.bs-popover-bottom>.arrow::before{top:0;border-width:0 .5rem .5rem .5rem;border-bottom-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=bottom]>.arrow::after,.bs-popover-bottom>.arrow::after{top:1px;border-width:0 .5rem .5rem .5rem;border-bottom-color:#fff}.bs-popover-auto[x-placement^=bottom] .popover-header::before,.bs-popover-bottom .popover-header::before{position:absolute;top:0;left:50%;display:block;width:1rem;margin-left:-.5rem;content:"";border-bottom:1px solid #f7f7f7}.bs-popover-auto[x-placement^=left],.bs-popover-left{margin-right:.5rem}.bs-popover-auto[x-placement^=left]>.arrow,.bs-popover-left>.arrow{right:calc(-.5rem - 1px);width:.5rem;height:1rem;margin:.3rem 0}.bs-popover-auto[x-placement^=left]>.arrow::before,.bs-popover-left>.arrow::before{right:0;border-width:.5rem 0 .5rem .5rem;border-left-color:rgba(0,0,0,.25)}.bs-popover-auto[x-placement^=left]>.arrow::after,.bs-popover-left>.arrow::after{right:1px;border-width:.5rem 0 .5rem .5rem;border-left-color:#fff}.popover-header{padding:.5rem .75rem;margin-bottom:0;font-size:1rem;background-color:#f7f7f7;border-bottom:1px solid #ebebeb;border-top-left-radius:calc(.3rem - 1px);border-top-right-radius:calc(.3rem - 1px)}.popover-header:empty{display:none}.popover-body{padding:.5rem .75rem;color:#212529}.carousel{position:relative}.carousel.pointer-event{-ms-touch-action:pan-y;touch-action:pan-y}.carousel-inner{position:relative;width:100%;overflow:hidden}.carousel-inner::after{display:block;clear:both;content:""}.carousel-item{position:relative;display:none;float:left;width:100%;margin-right:-100%;-webkit-backface-visibility:hidden;backface-visibility:hidden;transition:-webkit-transform .6s ease-in-out;transition:transform .6s ease-in-out;transition:transform .6s ease-in-out,-webkit-transform .6s ease-in-out}@media (prefers-reduced-motion:reduce){.carousel-item{transition:none}}.carousel-item-next,.carousel-item-prev,.carousel-item.active{display:block}.active.carousel-item-right,.carousel-item-next:not(.carousel-item-left){-webkit-transform:translateX(100%);transform:translateX(100%)}.active.carousel-item-left,.carousel-item-prev:not(.carousel-item-right){-webkit-transform:translateX(-100%);transform:translateX(-100%)}.carousel-fade .carousel-item{opacity:0;transition-property:opacity;-webkit-transform:none;transform:none}.carousel-fade .carousel-item-next.carousel-item-left,.carousel-fade .carousel-item-prev.carousel-item-right,.carousel-fade .carousel-item.active{z-index:1;opacity:1}.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{z-index:0;opacity:0;transition:opacity 0s .6s}@media (prefers-reduced-motion:reduce){.carousel-fade .active.carousel-item-left,.carousel-fade .active.carousel-item-right{transition:none}}.carousel-control-next,.carousel-control-prev{position:absolute;top:0;bottom:0;z-index:1;display:-ms-flexbox;display:flex;-ms-flex-align:center;align-items:center;-ms-flex-pack:center;justify-content:center;width:15%;padding:0;color:#fff;text-align:center;background:0 0;border:0;opacity:.5;transition:opacity .15s ease}@media (prefers-reduced-motion:reduce){.carousel-control-next,.carousel-control-prev{transition:none}}.carousel-control-next:focus,.carousel-control-next:hover,.carousel-control-prev:focus,.carousel-control-prev:hover{color:#fff;text-decoration:none;outline:0;opacity:.9}.carousel-control-prev{left:0}.carousel-control-next{right:0}.carousel-control-next-icon,.carousel-control-prev-icon{display:inline-block;width:20px;height:20px;background:50%/100% 100% no-repeat}.carousel-control-prev-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M5.25 0l-4 4 4 4 1.5-1.5L4.25 4l2.5-2.5L5.25 0z'/%3e%3c/svg%3e")}.carousel-control-next-icon{background-image:url("data:image/svg+xml,%3csvg xmlns='http://www.w3.org/2000/svg' fill='%23fff' width='8' height='8' viewBox='0 0 8 8'%3e%3cpath d='M2.75 0l-1.5 1.5L3.75 4l-2.5 2.5L2.75 8l4-4-4-4z'/%3e%3c/svg%3e")}.carousel-indicators{position:absolute;right:0;bottom:0;left:0;z-index:15;display:-ms-flexbox;display:flex;-ms-flex-pack:center;justify-content:center;padding-left:0;margin-right:15%;margin-left:15%;list-style:none}.carousel-indicators li{box-sizing:content-box;-ms-flex:0 1 auto;flex:0 1 auto;width:30px;height:3px;margin-right:3px;margin-left:3px;text-indent:-999px;cursor:pointer;background-color:#fff;background-clip:padding-box;border-top:10px solid transparent;border-bottom:10px solid transparent;opacity:.5;transition:opacity .6s ease}@media (prefers-reduced-motion:reduce){.carousel-indicators li{transition:none}}.carousel-indicators .active{opacity:1}.carousel-caption{position:absolute;right:15%;bottom:20px;left:15%;z-index:10;padding-top:20px;padding-bottom:20px;color:#fff;text-align:center}@-webkit-keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}@keyframes spinner-border{to{-webkit-transform:rotate(360deg);transform:rotate(360deg)}}.spinner-border{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;border:.25em solid currentColor;border-right-color:transparent;border-radius:50%;-webkit-animation:.75s linear infinite spinner-border;animation:.75s linear infinite spinner-border}.spinner-border-sm{width:1rem;height:1rem;border-width:.2em}@-webkit-keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}@keyframes spinner-grow{0%{-webkit-transform:scale(0);transform:scale(0)}50%{opacity:1;-webkit-transform:none;transform:none}}.spinner-grow{display:inline-block;width:2rem;height:2rem;vertical-align:-.125em;background-color:currentColor;border-radius:50%;opacity:0;-webkit-animation:.75s linear infinite spinner-grow;animation:.75s linear infinite spinner-grow}.spinner-grow-sm{width:1rem;height:1rem}@media (prefers-reduced-motion:reduce){.spinner-border,.spinner-grow{-webkit-animation-duration:1.5s;animation-duration:1.5s}}.align-baseline{vertical-align:baseline!important}.align-top{vertical-align:top!important}.align-middle{vertical-align:middle!important}.align-bottom{vertical-align:bottom!important}.align-text-bottom{vertical-align:text-bottom!important}.align-text-top{vertical-align:text-top!important}.bg-primary{background-color:#007bff!important}a.bg-primary:focus,a.bg-primary:hover,button.bg-primary:focus,button.bg-primary:hover{background-color:#0062cc!important}.bg-secondary{background-color:#6c757d!important}a.bg-secondary:focus,a.bg-secondary:hover,button.bg-secondary:focus,button.bg-secondary:hover{background-color:#545b62!important}.bg-success{background-color:#28a745!important}a.bg-success:focus,a.bg-success:hover,button.bg-success:focus,button.bg-success:hover{background-color:#1e7e34!important}.bg-info{background-color:#17a2b8!important}a.bg-info:focus,a.bg-info:hover,button.bg-info:focus,button.bg-info:hover{background-color:#117a8b!important}.bg-warning{background-color:#ffc107!important}a.bg-warning:focus,a.bg-warning:hover,button.bg-warning:focus,button.bg-warning:hover{background-color:#d39e00!important}.bg-danger{background-color:#dc3545!important}a.bg-danger:focus,a.bg-danger:hover,button.bg-danger:focus,button.bg-danger:hover{background-color:#bd2130!important}.bg-light{background-color:#f8f9fa!important}a.bg-light:focus,a.bg-light:hover,button.bg-light:focus,button.bg-light:hover{background-color:#dae0e5!important}.bg-dark{background-color:#343a40!important}a.bg-dark:focus,a.bg-dark:hover,button.bg-dark:focus,button.bg-dark:hover{background-color:#1d2124!important}.bg-white{background-color:#fff!important}.bg-transparent{background-color:transparent!important}.border{border:1px solid #dee2e6!important}.border-top{border-top:1px solid #dee2e6!important}.border-right{border-right:1px solid #dee2e6!important}.border-bottom{border-bottom:1px solid #dee2e6!important}.border-left{border-left:1px solid #dee2e6!important}.border-0{border:0!important}.border-top-0{border-top:0!important}.border-right-0{border-right:0!important}.border-bottom-0{border-bottom:0!important}.border-left-0{border-left:0!important}.border-primary{border-color:#007bff!important}.border-secondary{border-color:#6c757d!important}.border-success{border-color:#28a745!important}.border-info{border-color:#17a2b8!important}.border-warning{border-color:#ffc107!important}.border-danger{border-color:#dc3545!important}.border-light{border-color:#f8f9fa!important}.border-dark{border-color:#343a40!important}.border-white{border-color:#fff!important}.rounded-sm{border-radius:.2rem!important}.rounded{border-radius:.25rem!important}.rounded-top{border-top-left-radius:.25rem!important;border-top-right-radius:.25rem!important}.rounded-right{border-top-right-radius:.25rem!important;border-bottom-right-radius:.25rem!important}.rounded-bottom{border-bottom-right-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-left{border-top-left-radius:.25rem!important;border-bottom-left-radius:.25rem!important}.rounded-lg{border-radius:.3rem!important}.rounded-circle{border-radius:50%!important}.rounded-pill{border-radius:50rem!important}.rounded-0{border-radius:0!important}.clearfix::after{display:block;clear:both;content:""}.d-none{display:none!important}.d-inline{display:inline!important}.d-inline-block{display:inline-block!important}.d-block{display:block!important}.d-table{display:table!important}.d-table-row{display:table-row!important}.d-table-cell{display:table-cell!important}.d-flex{display:-ms-flexbox!important;display:flex!important}.d-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}@media (min-width:576px){.d-sm-none{display:none!important}.d-sm-inline{display:inline!important}.d-sm-inline-block{display:inline-block!important}.d-sm-block{display:block!important}.d-sm-table{display:table!important}.d-sm-table-row{display:table-row!important}.d-sm-table-cell{display:table-cell!important}.d-sm-flex{display:-ms-flexbox!important;display:flex!important}.d-sm-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:768px){.d-md-none{display:none!important}.d-md-inline{display:inline!important}.d-md-inline-block{display:inline-block!important}.d-md-block{display:block!important}.d-md-table{display:table!important}.d-md-table-row{display:table-row!important}.d-md-table-cell{display:table-cell!important}.d-md-flex{display:-ms-flexbox!important;display:flex!important}.d-md-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:992px){.d-lg-none{display:none!important}.d-lg-inline{display:inline!important}.d-lg-inline-block{display:inline-block!important}.d-lg-block{display:block!important}.d-lg-table{display:table!important}.d-lg-table-row{display:table-row!important}.d-lg-table-cell{display:table-cell!important}.d-lg-flex{display:-ms-flexbox!important;display:flex!important}.d-lg-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media (min-width:1200px){.d-xl-none{display:none!important}.d-xl-inline{display:inline!important}.d-xl-inline-block{display:inline-block!important}.d-xl-block{display:block!important}.d-xl-table{display:table!important}.d-xl-table-row{display:table-row!important}.d-xl-table-cell{display:table-cell!important}.d-xl-flex{display:-ms-flexbox!important;display:flex!important}.d-xl-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}@media print{.d-print-none{display:none!important}.d-print-inline{display:inline!important}.d-print-inline-block{display:inline-block!important}.d-print-block{display:block!important}.d-print-table{display:table!important}.d-print-table-row{display:table-row!important}.d-print-table-cell{display:table-cell!important}.d-print-flex{display:-ms-flexbox!important;display:flex!important}.d-print-inline-flex{display:-ms-inline-flexbox!important;display:inline-flex!important}}.embed-responsive{position:relative;display:block;width:100%;padding:0;overflow:hidden}.embed-responsive::before{display:block;content:""}.embed-responsive .embed-responsive-item,.embed-responsive embed,.embed-responsive iframe,.embed-responsive object,.embed-responsive video{position:absolute;top:0;bottom:0;left:0;width:100%;height:100%;border:0}.embed-responsive-21by9::before{padding-top:42.857143%}.embed-responsive-16by9::before{padding-top:56.25%}.embed-responsive-4by3::before{padding-top:75%}.embed-responsive-1by1::before{padding-top:100%}.flex-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-center{-ms-flex-align:center!important;align-items:center!important}.align-items-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}@media (min-width:576px){.flex-sm-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-sm-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-sm-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-sm-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-sm-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-sm-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-sm-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-sm-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-sm-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-sm-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-sm-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-sm-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-sm-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-sm-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-sm-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-sm-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-sm-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-sm-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-sm-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-sm-center{-ms-flex-align:center!important;align-items:center!important}.align-items-sm-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-sm-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-sm-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-sm-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-sm-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-sm-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-sm-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-sm-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-sm-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-sm-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-sm-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-sm-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-sm-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-sm-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:768px){.flex-md-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-md-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-md-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-md-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-md-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-md-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-md-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-md-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-md-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-md-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-md-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-md-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-md-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-md-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-md-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-md-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-md-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-md-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-md-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-md-center{-ms-flex-align:center!important;align-items:center!important}.align-items-md-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-md-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-md-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-md-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-md-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-md-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-md-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-md-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-md-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-md-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-md-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-md-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-md-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-md-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:992px){.flex-lg-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-lg-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-lg-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-lg-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-lg-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-lg-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-lg-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-lg-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-lg-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-lg-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-lg-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-lg-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-lg-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-lg-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-lg-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-lg-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-lg-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-lg-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-lg-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-lg-center{-ms-flex-align:center!important;align-items:center!important}.align-items-lg-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-lg-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-lg-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-lg-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-lg-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-lg-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-lg-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-lg-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-lg-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-lg-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-lg-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-lg-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-lg-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-lg-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}@media (min-width:1200px){.flex-xl-row{-ms-flex-direction:row!important;flex-direction:row!important}.flex-xl-column{-ms-flex-direction:column!important;flex-direction:column!important}.flex-xl-row-reverse{-ms-flex-direction:row-reverse!important;flex-direction:row-reverse!important}.flex-xl-column-reverse{-ms-flex-direction:column-reverse!important;flex-direction:column-reverse!important}.flex-xl-wrap{-ms-flex-wrap:wrap!important;flex-wrap:wrap!important}.flex-xl-nowrap{-ms-flex-wrap:nowrap!important;flex-wrap:nowrap!important}.flex-xl-wrap-reverse{-ms-flex-wrap:wrap-reverse!important;flex-wrap:wrap-reverse!important}.flex-xl-fill{-ms-flex:1 1 auto!important;flex:1 1 auto!important}.flex-xl-grow-0{-ms-flex-positive:0!important;flex-grow:0!important}.flex-xl-grow-1{-ms-flex-positive:1!important;flex-grow:1!important}.flex-xl-shrink-0{-ms-flex-negative:0!important;flex-shrink:0!important}.flex-xl-shrink-1{-ms-flex-negative:1!important;flex-shrink:1!important}.justify-content-xl-start{-ms-flex-pack:start!important;justify-content:flex-start!important}.justify-content-xl-end{-ms-flex-pack:end!important;justify-content:flex-end!important}.justify-content-xl-center{-ms-flex-pack:center!important;justify-content:center!important}.justify-content-xl-between{-ms-flex-pack:justify!important;justify-content:space-between!important}.justify-content-xl-around{-ms-flex-pack:distribute!important;justify-content:space-around!important}.align-items-xl-start{-ms-flex-align:start!important;align-items:flex-start!important}.align-items-xl-end{-ms-flex-align:end!important;align-items:flex-end!important}.align-items-xl-center{-ms-flex-align:center!important;align-items:center!important}.align-items-xl-baseline{-ms-flex-align:baseline!important;align-items:baseline!important}.align-items-xl-stretch{-ms-flex-align:stretch!important;align-items:stretch!important}.align-content-xl-start{-ms-flex-line-pack:start!important;align-content:flex-start!important}.align-content-xl-end{-ms-flex-line-pack:end!important;align-content:flex-end!important}.align-content-xl-center{-ms-flex-line-pack:center!important;align-content:center!important}.align-content-xl-between{-ms-flex-line-pack:justify!important;align-content:space-between!important}.align-content-xl-around{-ms-flex-line-pack:distribute!important;align-content:space-around!important}.align-content-xl-stretch{-ms-flex-line-pack:stretch!important;align-content:stretch!important}.align-self-xl-auto{-ms-flex-item-align:auto!important;align-self:auto!important}.align-self-xl-start{-ms-flex-item-align:start!important;align-self:flex-start!important}.align-self-xl-end{-ms-flex-item-align:end!important;align-self:flex-end!important}.align-self-xl-center{-ms-flex-item-align:center!important;align-self:center!important}.align-self-xl-baseline{-ms-flex-item-align:baseline!important;align-self:baseline!important}.align-self-xl-stretch{-ms-flex-item-align:stretch!important;align-self:stretch!important}}.float-left{float:left!important}.float-right{float:right!important}.float-none{float:none!important}@media (min-width:576px){.float-sm-left{float:left!important}.float-sm-right{float:right!important}.float-sm-none{float:none!important}}@media (min-width:768px){.float-md-left{float:left!important}.float-md-right{float:right!important}.float-md-none{float:none!important}}@media (min-width:992px){.float-lg-left{float:left!important}.float-lg-right{float:right!important}.float-lg-none{float:none!important}}@media (min-width:1200px){.float-xl-left{float:left!important}.float-xl-right{float:right!important}.float-xl-none{float:none!important}}.user-select-all{-webkit-user-select:all!important;-moz-user-select:all!important;user-select:all!important}.user-select-auto{-webkit-user-select:auto!important;-moz-user-select:auto!important;-ms-user-select:auto!important;user-select:auto!important}.user-select-none{-webkit-user-select:none!important;-moz-user-select:none!important;-ms-user-select:none!important;user-select:none!important}.overflow-auto{overflow:auto!important}.overflow-hidden{overflow:hidden!important}.position-static{position:static!important}.position-relative{position:relative!important}.position-absolute{position:absolute!important}.position-fixed{position:fixed!important}.position-sticky{position:-webkit-sticky!important;position:sticky!important}.fixed-top{position:fixed;top:0;right:0;left:0;z-index:1030}.fixed-bottom{position:fixed;right:0;bottom:0;left:0;z-index:1030}@supports ((position:-webkit-sticky) or (position:sticky)){.sticky-top{position:-webkit-sticky;position:sticky;top:0;z-index:1020}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.sr-only-focusable:active,.sr-only-focusable:focus{position:static;width:auto;height:auto;overflow:visible;clip:auto;white-space:normal}.shadow-sm{box-shadow:0 .125rem .25rem rgba(0,0,0,.075)!important}.shadow{box-shadow:0 .5rem 1rem rgba(0,0,0,.15)!important}.shadow-lg{box-shadow:0 1rem 3rem rgba(0,0,0,.175)!important}.shadow-none{box-shadow:none!important}.w-25{width:25%!important}.w-50{width:50%!important}.w-75{width:75%!important}.w-100{width:100%!important}.w-auto{width:auto!important}.h-25{height:25%!important}.h-50{height:50%!important}.h-75{height:75%!important}.h-100{height:100%!important}.h-auto{height:auto!important}.mw-100{max-width:100%!important}.mh-100{max-height:100%!important}.min-vw-100{min-width:100vw!important}.min-vh-100{min-height:100vh!important}.vw-100{width:100vw!important}.vh-100{height:100vh!important}.m-0{margin:0!important}.mt-0,.my-0{margin-top:0!important}.mr-0,.mx-0{margin-right:0!important}.mb-0,.my-0{margin-bottom:0!important}.ml-0,.mx-0{margin-left:0!important}.m-1{margin:.25rem!important}.mt-1,.my-1{margin-top:.25rem!important}.mr-1,.mx-1{margin-right:.25rem!important}.mb-1,.my-1{margin-bottom:.25rem!important}.ml-1,.mx-1{margin-left:.25rem!important}.m-2{margin:.5rem!important}.mt-2,.my-2{margin-top:.5rem!important}.mr-2,.mx-2{margin-right:.5rem!important}.mb-2,.my-2{margin-bottom:.5rem!important}.ml-2,.mx-2{margin-left:.5rem!important}.m-3{margin:1rem!important}.mt-3,.my-3{margin-top:1rem!important}.mr-3,.mx-3{margin-right:1rem!important}.mb-3,.my-3{margin-bottom:1rem!important}.ml-3,.mx-3{margin-left:1rem!important}.m-4{margin:1.5rem!important}.mt-4,.my-4{margin-top:1.5rem!important}.mr-4,.mx-4{margin-right:1.5rem!important}.mb-4,.my-4{margin-bottom:1.5rem!important}.ml-4,.mx-4{margin-left:1.5rem!important}.m-5{margin:3rem!important}.mt-5,.my-5{margin-top:3rem!important}.mr-5,.mx-5{margin-right:3rem!important}.mb-5,.my-5{margin-bottom:3rem!important}.ml-5,.mx-5{margin-left:3rem!important}.p-0{padding:0!important}.pt-0,.py-0{padding-top:0!important}.pr-0,.px-0{padding-right:0!important}.pb-0,.py-0{padding-bottom:0!important}.pl-0,.px-0{padding-left:0!important}.p-1{padding:.25rem!important}.pt-1,.py-1{padding-top:.25rem!important}.pr-1,.px-1{padding-right:.25rem!important}.pb-1,.py-1{padding-bottom:.25rem!important}.pl-1,.px-1{padding-left:.25rem!important}.p-2{padding:.5rem!important}.pt-2,.py-2{padding-top:.5rem!important}.pr-2,.px-2{padding-right:.5rem!important}.pb-2,.py-2{padding-bottom:.5rem!important}.pl-2,.px-2{padding-left:.5rem!important}.p-3{padding:1rem!important}.pt-3,.py-3{padding-top:1rem!important}.pr-3,.px-3{padding-right:1rem!important}.pb-3,.py-3{padding-bottom:1rem!important}.pl-3,.px-3{padding-left:1rem!important}.p-4{padding:1.5rem!important}.pt-4,.py-4{padding-top:1.5rem!important}.pr-4,.px-4{padding-right:1.5rem!important}.pb-4,.py-4{padding-bottom:1.5rem!important}.pl-4,.px-4{padding-left:1.5rem!important}.p-5{padding:3rem!important}.pt-5,.py-5{padding-top:3rem!important}.pr-5,.px-5{padding-right:3rem!important}.pb-5,.py-5{padding-bottom:3rem!important}.pl-5,.px-5{padding-left:3rem!important}.m-n1{margin:-.25rem!important}.mt-n1,.my-n1{margin-top:-.25rem!important}.mr-n1,.mx-n1{margin-right:-.25rem!important}.mb-n1,.my-n1{margin-bottom:-.25rem!important}.ml-n1,.mx-n1{margin-left:-.25rem!important}.m-n2{margin:-.5rem!important}.mt-n2,.my-n2{margin-top:-.5rem!important}.mr-n2,.mx-n2{margin-right:-.5rem!important}.mb-n2,.my-n2{margin-bottom:-.5rem!important}.ml-n2,.mx-n2{margin-left:-.5rem!important}.m-n3{margin:-1rem!important}.mt-n3,.my-n3{margin-top:-1rem!important}.mr-n3,.mx-n3{margin-right:-1rem!important}.mb-n3,.my-n3{margin-bottom:-1rem!important}.ml-n3,.mx-n3{margin-left:-1rem!important}.m-n4{margin:-1.5rem!important}.mt-n4,.my-n4{margin-top:-1.5rem!important}.mr-n4,.mx-n4{margin-right:-1.5rem!important}.mb-n4,.my-n4{margin-bottom:-1.5rem!important}.ml-n4,.mx-n4{margin-left:-1.5rem!important}.m-n5{margin:-3rem!important}.mt-n5,.my-n5{margin-top:-3rem!important}.mr-n5,.mx-n5{margin-right:-3rem!important}.mb-n5,.my-n5{margin-bottom:-3rem!important}.ml-n5,.mx-n5{margin-left:-3rem!important}.m-auto{margin:auto!important}.mt-auto,.my-auto{margin-top:auto!important}.mr-auto,.mx-auto{margin-right:auto!important}.mb-auto,.my-auto{margin-bottom:auto!important}.ml-auto,.mx-auto{margin-left:auto!important}@media (min-width:576px){.m-sm-0{margin:0!important}.mt-sm-0,.my-sm-0{margin-top:0!important}.mr-sm-0,.mx-sm-0{margin-right:0!important}.mb-sm-0,.my-sm-0{margin-bottom:0!important}.ml-sm-0,.mx-sm-0{margin-left:0!important}.m-sm-1{margin:.25rem!important}.mt-sm-1,.my-sm-1{margin-top:.25rem!important}.mr-sm-1,.mx-sm-1{margin-right:.25rem!important}.mb-sm-1,.my-sm-1{margin-bottom:.25rem!important}.ml-sm-1,.mx-sm-1{margin-left:.25rem!important}.m-sm-2{margin:.5rem!important}.mt-sm-2,.my-sm-2{margin-top:.5rem!important}.mr-sm-2,.mx-sm-2{margin-right:.5rem!important}.mb-sm-2,.my-sm-2{margin-bottom:.5rem!important}.ml-sm-2,.mx-sm-2{margin-left:.5rem!important}.m-sm-3{margin:1rem!important}.mt-sm-3,.my-sm-3{margin-top:1rem!important}.mr-sm-3,.mx-sm-3{margin-right:1rem!important}.mb-sm-3,.my-sm-3{margin-bottom:1rem!important}.ml-sm-3,.mx-sm-3{margin-left:1rem!important}.m-sm-4{margin:1.5rem!important}.mt-sm-4,.my-sm-4{margin-top:1.5rem!important}.mr-sm-4,.mx-sm-4{margin-right:1.5rem!important}.mb-sm-4,.my-sm-4{margin-bottom:1.5rem!important}.ml-sm-4,.mx-sm-4{margin-left:1.5rem!important}.m-sm-5{margin:3rem!important}.mt-sm-5,.my-sm-5{margin-top:3rem!important}.mr-sm-5,.mx-sm-5{margin-right:3rem!important}.mb-sm-5,.my-sm-5{margin-bottom:3rem!important}.ml-sm-5,.mx-sm-5{margin-left:3rem!important}.p-sm-0{padding:0!important}.pt-sm-0,.py-sm-0{padding-top:0!important}.pr-sm-0,.px-sm-0{padding-right:0!important}.pb-sm-0,.py-sm-0{padding-bottom:0!important}.pl-sm-0,.px-sm-0{padding-left:0!important}.p-sm-1{padding:.25rem!important}.pt-sm-1,.py-sm-1{padding-top:.25rem!important}.pr-sm-1,.px-sm-1{padding-right:.25rem!important}.pb-sm-1,.py-sm-1{padding-bottom:.25rem!important}.pl-sm-1,.px-sm-1{padding-left:.25rem!important}.p-sm-2{padding:.5rem!important}.pt-sm-2,.py-sm-2{padding-top:.5rem!important}.pr-sm-2,.px-sm-2{padding-right:.5rem!important}.pb-sm-2,.py-sm-2{padding-bottom:.5rem!important}.pl-sm-2,.px-sm-2{padding-left:.5rem!important}.p-sm-3{padding:1rem!important}.pt-sm-3,.py-sm-3{padding-top:1rem!important}.pr-sm-3,.px-sm-3{padding-right:1rem!important}.pb-sm-3,.py-sm-3{padding-bottom:1rem!important}.pl-sm-3,.px-sm-3{padding-left:1rem!important}.p-sm-4{padding:1.5rem!important}.pt-sm-4,.py-sm-4{padding-top:1.5rem!important}.pr-sm-4,.px-sm-4{padding-right:1.5rem!important}.pb-sm-4,.py-sm-4{padding-bottom:1.5rem!important}.pl-sm-4,.px-sm-4{padding-left:1.5rem!important}.p-sm-5{padding:3rem!important}.pt-sm-5,.py-sm-5{padding-top:3rem!important}.pr-sm-5,.px-sm-5{padding-right:3rem!important}.pb-sm-5,.py-sm-5{padding-bottom:3rem!important}.pl-sm-5,.px-sm-5{padding-left:3rem!important}.m-sm-n1{margin:-.25rem!important}.mt-sm-n1,.my-sm-n1{margin-top:-.25rem!important}.mr-sm-n1,.mx-sm-n1{margin-right:-.25rem!important}.mb-sm-n1,.my-sm-n1{margin-bottom:-.25rem!important}.ml-sm-n1,.mx-sm-n1{margin-left:-.25rem!important}.m-sm-n2{margin:-.5rem!important}.mt-sm-n2,.my-sm-n2{margin-top:-.5rem!important}.mr-sm-n2,.mx-sm-n2{margin-right:-.5rem!important}.mb-sm-n2,.my-sm-n2{margin-bottom:-.5rem!important}.ml-sm-n2,.mx-sm-n2{margin-left:-.5rem!important}.m-sm-n3{margin:-1rem!important}.mt-sm-n3,.my-sm-n3{margin-top:-1rem!important}.mr-sm-n3,.mx-sm-n3{margin-right:-1rem!important}.mb-sm-n3,.my-sm-n3{margin-bottom:-1rem!important}.ml-sm-n3,.mx-sm-n3{margin-left:-1rem!important}.m-sm-n4{margin:-1.5rem!important}.mt-sm-n4,.my-sm-n4{margin-top:-1.5rem!important}.mr-sm-n4,.mx-sm-n4{margin-right:-1.5rem!important}.mb-sm-n4,.my-sm-n4{margin-bottom:-1.5rem!important}.ml-sm-n4,.mx-sm-n4{margin-left:-1.5rem!important}.m-sm-n5{margin:-3rem!important}.mt-sm-n5,.my-sm-n5{margin-top:-3rem!important}.mr-sm-n5,.mx-sm-n5{margin-right:-3rem!important}.mb-sm-n5,.my-sm-n5{margin-bottom:-3rem!important}.ml-sm-n5,.mx-sm-n5{margin-left:-3rem!important}.m-sm-auto{margin:auto!important}.mt-sm-auto,.my-sm-auto{margin-top:auto!important}.mr-sm-auto,.mx-sm-auto{margin-right:auto!important}.mb-sm-auto,.my-sm-auto{margin-bottom:auto!important}.ml-sm-auto,.mx-sm-auto{margin-left:auto!important}}@media (min-width:768px){.m-md-0{margin:0!important}.mt-md-0,.my-md-0{margin-top:0!important}.mr-md-0,.mx-md-0{margin-right:0!important}.mb-md-0,.my-md-0{margin-bottom:0!important}.ml-md-0,.mx-md-0{margin-left:0!important}.m-md-1{margin:.25rem!important}.mt-md-1,.my-md-1{margin-top:.25rem!important}.mr-md-1,.mx-md-1{margin-right:.25rem!important}.mb-md-1,.my-md-1{margin-bottom:.25rem!important}.ml-md-1,.mx-md-1{margin-left:.25rem!important}.m-md-2{margin:.5rem!important}.mt-md-2,.my-md-2{margin-top:.5rem!important}.mr-md-2,.mx-md-2{margin-right:.5rem!important}.mb-md-2,.my-md-2{margin-bottom:.5rem!important}.ml-md-2,.mx-md-2{margin-left:.5rem!important}.m-md-3{margin:1rem!important}.mt-md-3,.my-md-3{margin-top:1rem!important}.mr-md-3,.mx-md-3{margin-right:1rem!important}.mb-md-3,.my-md-3{margin-bottom:1rem!important}.ml-md-3,.mx-md-3{margin-left:1rem!important}.m-md-4{margin:1.5rem!important}.mt-md-4,.my-md-4{margin-top:1.5rem!important}.mr-md-4,.mx-md-4{margin-right:1.5rem!important}.mb-md-4,.my-md-4{margin-bottom:1.5rem!important}.ml-md-4,.mx-md-4{margin-left:1.5rem!important}.m-md-5{margin:3rem!important}.mt-md-5,.my-md-5{margin-top:3rem!important}.mr-md-5,.mx-md-5{margin-right:3rem!important}.mb-md-5,.my-md-5{margin-bottom:3rem!important}.ml-md-5,.mx-md-5{margin-left:3rem!important}.p-md-0{padding:0!important}.pt-md-0,.py-md-0{padding-top:0!important}.pr-md-0,.px-md-0{padding-right:0!important}.pb-md-0,.py-md-0{padding-bottom:0!important}.pl-md-0,.px-md-0{padding-left:0!important}.p-md-1{padding:.25rem!important}.pt-md-1,.py-md-1{padding-top:.25rem!important}.pr-md-1,.px-md-1{padding-right:.25rem!important}.pb-md-1,.py-md-1{padding-bottom:.25rem!important}.pl-md-1,.px-md-1{padding-left:.25rem!important}.p-md-2{padding:.5rem!important}.pt-md-2,.py-md-2{padding-top:.5rem!important}.pr-md-2,.px-md-2{padding-right:.5rem!important}.pb-md-2,.py-md-2{padding-bottom:.5rem!important}.pl-md-2,.px-md-2{padding-left:.5rem!important}.p-md-3{padding:1rem!important}.pt-md-3,.py-md-3{padding-top:1rem!important}.pr-md-3,.px-md-3{padding-right:1rem!important}.pb-md-3,.py-md-3{padding-bottom:1rem!important}.pl-md-3,.px-md-3{padding-left:1rem!important}.p-md-4{padding:1.5rem!important}.pt-md-4,.py-md-4{padding-top:1.5rem!important}.pr-md-4,.px-md-4{padding-right:1.5rem!important}.pb-md-4,.py-md-4{padding-bottom:1.5rem!important}.pl-md-4,.px-md-4{padding-left:1.5rem!important}.p-md-5{padding:3rem!important}.pt-md-5,.py-md-5{padding-top:3rem!important}.pr-md-5,.px-md-5{padding-right:3rem!important}.pb-md-5,.py-md-5{padding-bottom:3rem!important}.pl-md-5,.px-md-5{padding-left:3rem!important}.m-md-n1{margin:-.25rem!important}.mt-md-n1,.my-md-n1{margin-top:-.25rem!important}.mr-md-n1,.mx-md-n1{margin-right:-.25rem!important}.mb-md-n1,.my-md-n1{margin-bottom:-.25rem!important}.ml-md-n1,.mx-md-n1{margin-left:-.25rem!important}.m-md-n2{margin:-.5rem!important}.mt-md-n2,.my-md-n2{margin-top:-.5rem!important}.mr-md-n2,.mx-md-n2{margin-right:-.5rem!important}.mb-md-n2,.my-md-n2{margin-bottom:-.5rem!important}.ml-md-n2,.mx-md-n2{margin-left:-.5rem!important}.m-md-n3{margin:-1rem!important}.mt-md-n3,.my-md-n3{margin-top:-1rem!important}.mr-md-n3,.mx-md-n3{margin-right:-1rem!important}.mb-md-n3,.my-md-n3{margin-bottom:-1rem!important}.ml-md-n3,.mx-md-n3{margin-left:-1rem!important}.m-md-n4{margin:-1.5rem!important}.mt-md-n4,.my-md-n4{margin-top:-1.5rem!important}.mr-md-n4,.mx-md-n4{margin-right:-1.5rem!important}.mb-md-n4,.my-md-n4{margin-bottom:-1.5rem!important}.ml-md-n4,.mx-md-n4{margin-left:-1.5rem!important}.m-md-n5{margin:-3rem!important}.mt-md-n5,.my-md-n5{margin-top:-3rem!important}.mr-md-n5,.mx-md-n5{margin-right:-3rem!important}.mb-md-n5,.my-md-n5{margin-bottom:-3rem!important}.ml-md-n5,.mx-md-n5{margin-left:-3rem!important}.m-md-auto{margin:auto!important}.mt-md-auto,.my-md-auto{margin-top:auto!important}.mr-md-auto,.mx-md-auto{margin-right:auto!important}.mb-md-auto,.my-md-auto{margin-bottom:auto!important}.ml-md-auto,.mx-md-auto{margin-left:auto!important}}@media (min-width:992px){.m-lg-0{margin:0!important}.mt-lg-0,.my-lg-0{margin-top:0!important}.mr-lg-0,.mx-lg-0{margin-right:0!important}.mb-lg-0,.my-lg-0{margin-bottom:0!important}.ml-lg-0,.mx-lg-0{margin-left:0!important}.m-lg-1{margin:.25rem!important}.mt-lg-1,.my-lg-1{margin-top:.25rem!important}.mr-lg-1,.mx-lg-1{margin-right:.25rem!important}.mb-lg-1,.my-lg-1{margin-bottom:.25rem!important}.ml-lg-1,.mx-lg-1{margin-left:.25rem!important}.m-lg-2{margin:.5rem!important}.mt-lg-2,.my-lg-2{margin-top:.5rem!important}.mr-lg-2,.mx-lg-2{margin-right:.5rem!important}.mb-lg-2,.my-lg-2{margin-bottom:.5rem!important}.ml-lg-2,.mx-lg-2{margin-left:.5rem!important}.m-lg-3{margin:1rem!important}.mt-lg-3,.my-lg-3{margin-top:1rem!important}.mr-lg-3,.mx-lg-3{margin-right:1rem!important}.mb-lg-3,.my-lg-3{margin-bottom:1rem!important}.ml-lg-3,.mx-lg-3{margin-left:1rem!important}.m-lg-4{margin:1.5rem!important}.mt-lg-4,.my-lg-4{margin-top:1.5rem!important}.mr-lg-4,.mx-lg-4{margin-right:1.5rem!important}.mb-lg-4,.my-lg-4{margin-bottom:1.5rem!important}.ml-lg-4,.mx-lg-4{margin-left:1.5rem!important}.m-lg-5{margin:3rem!important}.mt-lg-5,.my-lg-5{margin-top:3rem!important}.mr-lg-5,.mx-lg-5{margin-right:3rem!important}.mb-lg-5,.my-lg-5{margin-bottom:3rem!important}.ml-lg-5,.mx-lg-5{margin-left:3rem!important}.p-lg-0{padding:0!important}.pt-lg-0,.py-lg-0{padding-top:0!important}.pr-lg-0,.px-lg-0{padding-right:0!important}.pb-lg-0,.py-lg-0{padding-bottom:0!important}.pl-lg-0,.px-lg-0{padding-left:0!important}.p-lg-1{padding:.25rem!important}.pt-lg-1,.py-lg-1{padding-top:.25rem!important}.pr-lg-1,.px-lg-1{padding-right:.25rem!important}.pb-lg-1,.py-lg-1{padding-bottom:.25rem!important}.pl-lg-1,.px-lg-1{padding-left:.25rem!important}.p-lg-2{padding:.5rem!important}.pt-lg-2,.py-lg-2{padding-top:.5rem!important}.pr-lg-2,.px-lg-2{padding-right:.5rem!important}.pb-lg-2,.py-lg-2{padding-bottom:.5rem!important}.pl-lg-2,.px-lg-2{padding-left:.5rem!important}.p-lg-3{padding:1rem!important}.pt-lg-3,.py-lg-3{padding-top:1rem!important}.pr-lg-3,.px-lg-3{padding-right:1rem!important}.pb-lg-3,.py-lg-3{padding-bottom:1rem!important}.pl-lg-3,.px-lg-3{padding-left:1rem!important}.p-lg-4{padding:1.5rem!important}.pt-lg-4,.py-lg-4{padding-top:1.5rem!important}.pr-lg-4,.px-lg-4{padding-right:1.5rem!important}.pb-lg-4,.py-lg-4{padding-bottom:1.5rem!important}.pl-lg-4,.px-lg-4{padding-left:1.5rem!important}.p-lg-5{padding:3rem!important}.pt-lg-5,.py-lg-5{padding-top:3rem!important}.pr-lg-5,.px-lg-5{padding-right:3rem!important}.pb-lg-5,.py-lg-5{padding-bottom:3rem!important}.pl-lg-5,.px-lg-5{padding-left:3rem!important}.m-lg-n1{margin:-.25rem!important}.mt-lg-n1,.my-lg-n1{margin-top:-.25rem!important}.mr-lg-n1,.mx-lg-n1{margin-right:-.25rem!important}.mb-lg-n1,.my-lg-n1{margin-bottom:-.25rem!important}.ml-lg-n1,.mx-lg-n1{margin-left:-.25rem!important}.m-lg-n2{margin:-.5rem!important}.mt-lg-n2,.my-lg-n2{margin-top:-.5rem!important}.mr-lg-n2,.mx-lg-n2{margin-right:-.5rem!important}.mb-lg-n2,.my-lg-n2{margin-bottom:-.5rem!important}.ml-lg-n2,.mx-lg-n2{margin-left:-.5rem!important}.m-lg-n3{margin:-1rem!important}.mt-lg-n3,.my-lg-n3{margin-top:-1rem!important}.mr-lg-n3,.mx-lg-n3{margin-right:-1rem!important}.mb-lg-n3,.my-lg-n3{margin-bottom:-1rem!important}.ml-lg-n3,.mx-lg-n3{margin-left:-1rem!important}.m-lg-n4{margin:-1.5rem!important}.mt-lg-n4,.my-lg-n4{margin-top:-1.5rem!important}.mr-lg-n4,.mx-lg-n4{margin-right:-1.5rem!important}.mb-lg-n4,.my-lg-n4{margin-bottom:-1.5rem!important}.ml-lg-n4,.mx-lg-n4{margin-left:-1.5rem!important}.m-lg-n5{margin:-3rem!important}.mt-lg-n5,.my-lg-n5{margin-top:-3rem!important}.mr-lg-n5,.mx-lg-n5{margin-right:-3rem!important}.mb-lg-n5,.my-lg-n5{margin-bottom:-3rem!important}.ml-lg-n5,.mx-lg-n5{margin-left:-3rem!important}.m-lg-auto{margin:auto!important}.mt-lg-auto,.my-lg-auto{margin-top:auto!important}.mr-lg-auto,.mx-lg-auto{margin-right:auto!important}.mb-lg-auto,.my-lg-auto{margin-bottom:auto!important}.ml-lg-auto,.mx-lg-auto{margin-left:auto!important}}@media (min-width:1200px){.m-xl-0{margin:0!important}.mt-xl-0,.my-xl-0{margin-top:0!important}.mr-xl-0,.mx-xl-0{margin-right:0!important}.mb-xl-0,.my-xl-0{margin-bottom:0!important}.ml-xl-0,.mx-xl-0{margin-left:0!important}.m-xl-1{margin:.25rem!important}.mt-xl-1,.my-xl-1{margin-top:.25rem!important}.mr-xl-1,.mx-xl-1{margin-right:.25rem!important}.mb-xl-1,.my-xl-1{margin-bottom:.25rem!important}.ml-xl-1,.mx-xl-1{margin-left:.25rem!important}.m-xl-2{margin:.5rem!important}.mt-xl-2,.my-xl-2{margin-top:.5rem!important}.mr-xl-2,.mx-xl-2{margin-right:.5rem!important}.mb-xl-2,.my-xl-2{margin-bottom:.5rem!important}.ml-xl-2,.mx-xl-2{margin-left:.5rem!important}.m-xl-3{margin:1rem!important}.mt-xl-3,.my-xl-3{margin-top:1rem!important}.mr-xl-3,.mx-xl-3{margin-right:1rem!important}.mb-xl-3,.my-xl-3{margin-bottom:1rem!important}.ml-xl-3,.mx-xl-3{margin-left:1rem!important}.m-xl-4{margin:1.5rem!important}.mt-xl-4,.my-xl-4{margin-top:1.5rem!important}.mr-xl-4,.mx-xl-4{margin-right:1.5rem!important}.mb-xl-4,.my-xl-4{margin-bottom:1.5rem!important}.ml-xl-4,.mx-xl-4{margin-left:1.5rem!important}.m-xl-5{margin:3rem!important}.mt-xl-5,.my-xl-5{margin-top:3rem!important}.mr-xl-5,.mx-xl-5{margin-right:3rem!important}.mb-xl-5,.my-xl-5{margin-bottom:3rem!important}.ml-xl-5,.mx-xl-5{margin-left:3rem!important}.p-xl-0{padding:0!important}.pt-xl-0,.py-xl-0{padding-top:0!important}.pr-xl-0,.px-xl-0{padding-right:0!important}.pb-xl-0,.py-xl-0{padding-bottom:0!important}.pl-xl-0,.px-xl-0{padding-left:0!important}.p-xl-1{padding:.25rem!important}.pt-xl-1,.py-xl-1{padding-top:.25rem!important}.pr-xl-1,.px-xl-1{padding-right:.25rem!important}.pb-xl-1,.py-xl-1{padding-bottom:.25rem!important}.pl-xl-1,.px-xl-1{padding-left:.25rem!important}.p-xl-2{padding:.5rem!important}.pt-xl-2,.py-xl-2{padding-top:.5rem!important}.pr-xl-2,.px-xl-2{padding-right:.5rem!important}.pb-xl-2,.py-xl-2{padding-bottom:.5rem!important}.pl-xl-2,.px-xl-2{padding-left:.5rem!important}.p-xl-3{padding:1rem!important}.pt-xl-3,.py-xl-3{padding-top:1rem!important}.pr-xl-3,.px-xl-3{padding-right:1rem!important}.pb-xl-3,.py-xl-3{padding-bottom:1rem!important}.pl-xl-3,.px-xl-3{padding-left:1rem!important}.p-xl-4{padding:1.5rem!important}.pt-xl-4,.py-xl-4{padding-top:1.5rem!important}.pr-xl-4,.px-xl-4{padding-right:1.5rem!important}.pb-xl-4,.py-xl-4{padding-bottom:1.5rem!important}.pl-xl-4,.px-xl-4{padding-left:1.5rem!important}.p-xl-5{padding:3rem!important}.pt-xl-5,.py-xl-5{padding-top:3rem!important}.pr-xl-5,.px-xl-5{padding-right:3rem!important}.pb-xl-5,.py-xl-5{padding-bottom:3rem!important}.pl-xl-5,.px-xl-5{padding-left:3rem!important}.m-xl-n1{margin:-.25rem!important}.mt-xl-n1,.my-xl-n1{margin-top:-.25rem!important}.mr-xl-n1,.mx-xl-n1{margin-right:-.25rem!important}.mb-xl-n1,.my-xl-n1{margin-bottom:-.25rem!important}.ml-xl-n1,.mx-xl-n1{margin-left:-.25rem!important}.m-xl-n2{margin:-.5rem!important}.mt-xl-n2,.my-xl-n2{margin-top:-.5rem!important}.mr-xl-n2,.mx-xl-n2{margin-right:-.5rem!important}.mb-xl-n2,.my-xl-n2{margin-bottom:-.5rem!important}.ml-xl-n2,.mx-xl-n2{margin-left:-.5rem!important}.m-xl-n3{margin:-1rem!important}.mt-xl-n3,.my-xl-n3{margin-top:-1rem!important}.mr-xl-n3,.mx-xl-n3{margin-right:-1rem!important}.mb-xl-n3,.my-xl-n3{margin-bottom:-1rem!important}.ml-xl-n3,.mx-xl-n3{margin-left:-1rem!important}.m-xl-n4{margin:-1.5rem!important}.mt-xl-n4,.my-xl-n4{margin-top:-1.5rem!important}.mr-xl-n4,.mx-xl-n4{margin-right:-1.5rem!important}.mb-xl-n4,.my-xl-n4{margin-bottom:-1.5rem!important}.ml-xl-n4,.mx-xl-n4{margin-left:-1.5rem!important}.m-xl-n5{margin:-3rem!important}.mt-xl-n5,.my-xl-n5{margin-top:-3rem!important}.mr-xl-n5,.mx-xl-n5{margin-right:-3rem!important}.mb-xl-n5,.my-xl-n5{margin-bottom:-3rem!important}.ml-xl-n5,.mx-xl-n5{margin-left:-3rem!important}.m-xl-auto{margin:auto!important}.mt-xl-auto,.my-xl-auto{margin-top:auto!important}.mr-xl-auto,.mx-xl-auto{margin-right:auto!important}.mb-xl-auto,.my-xl-auto{margin-bottom:auto!important}.ml-xl-auto,.mx-xl-auto{margin-left:auto!important}}.stretched-link::after{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;pointer-events:auto;content:"";background-color:rgba(0,0,0,0)}.text-monospace{font-family:SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace!important}.text-justify{text-align:justify!important}.text-wrap{white-space:normal!important}.text-nowrap{white-space:nowrap!important}.text-truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.text-left{text-align:left!important}.text-right{text-align:right!important}.text-center{text-align:center!important}@media (min-width:576px){.text-sm-left{text-align:left!important}.text-sm-right{text-align:right!important}.text-sm-center{text-align:center!important}}@media (min-width:768px){.text-md-left{text-align:left!important}.text-md-right{text-align:right!important}.text-md-center{text-align:center!important}}@media (min-width:992px){.text-lg-left{text-align:left!important}.text-lg-right{text-align:right!important}.text-lg-center{text-align:center!important}}@media (min-width:1200px){.text-xl-left{text-align:left!important}.text-xl-right{text-align:right!important}.text-xl-center{text-align:center!important}}.text-lowercase{text-transform:lowercase!important}.text-uppercase{text-transform:uppercase!important}.text-capitalize{text-transform:capitalize!important}.font-weight-light{font-weight:300!important}.font-weight-lighter{font-weight:lighter!important}.font-weight-normal{font-weight:400!important}.font-weight-bold{font-weight:700!important}.font-weight-bolder{font-weight:bolder!important}.font-italic{font-style:italic!important}.text-white{color:#fff!important}.text-primary{color:#007bff!important}a.text-primary:focus,a.text-primary:hover{color:#0056b3!important}.text-secondary{color:#6c757d!important}a.text-secondary:focus,a.text-secondary:hover{color:#494f54!important}.text-success{color:#28a745!important}a.text-success:focus,a.text-success:hover{color:#19692c!important}.text-info{color:#17a2b8!important}a.text-info:focus,a.text-info:hover{color:#0f6674!important}.text-warning{color:#ffc107!important}a.text-warning:focus,a.text-warning:hover{color:#ba8b00!important}.text-danger{color:#dc3545!important}a.text-danger:focus,a.text-danger:hover{color:#a71d2a!important}.text-light{color:#f8f9fa!important}a.text-light:focus,a.text-light:hover{color:#cbd3da!important}.text-dark{color:#343a40!important}a.text-dark:focus,a.text-dark:hover{color:#121416!important}.text-body{color:#212529!important}.text-muted{color:#6c757d!important}.text-black-50{color:rgba(0,0,0,.5)!important}.text-white-50{color:rgba(255,255,255,.5)!important}.text-hide{font:0/0 a;color:transparent;text-shadow:none;background-color:transparent;border:0}.text-decoration-none{text-decoration:none!important}.text-break{word-break:break-word!important;word-wrap:break-word!important}.text-reset{color:inherit!important}.visible{visibility:visible!important}.invisible{visibility:hidden!important}@media print{*,::after,::before{text-shadow:none!important;box-shadow:none!important}a:not(.btn){text-decoration:underline}abbr[title]::after{content:" (" attr(title) ")"}pre{white-space:pre-wrap!important}blockquote,pre{border:1px solid #adb5bd;page-break-inside:avoid}img,tr{page-break-inside:avoid}h2,h3,p{orphans:3;widows:3}h2,h3{page-break-after:avoid}@page{size:a3}body{min-width:992px!important}.container{min-width:992px!important}.navbar{display:none}.badge{border:1px solid #000}.table{border-collapse:collapse!important}.table td,.table th{background-color:#fff!important}.table-bordered td,.table-bordered th{border:1px solid #dee2e6!important}.table-dark{color:inherit}.table-dark tbody+tbody,.table-dark td,.table-dark th,.table-dark thead th{border-color:#dee2e6}.table .thead-dark th{color:inherit;border-color:#dee2e6}} +/*# sourceMappingURL=bootstrap.min.css.map */ \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/iziToast.min.css b/Penilaian-Esai/public/assets/css/iziToast.min.css new file mode 100644 index 0000000..321823f --- /dev/null +++ b/Penilaian-Esai/public/assets/css/iziToast.min.css @@ -0,0 +1,6 @@ +/* +* iziToast | v1.4.0 +* http://izitoast.marcelodolce.com +* by Marcelo Dolce. +*/ +.iziToast-capsule{font-size:0;height:0;width:100%;transform:translateZ(0);backface-visibility:hidden;transition:transform .5s cubic-bezier(.25,.8,.25,1),height .5s cubic-bezier(.25,.8,.25,1)}.iziToast-capsule,.iziToast-capsule *{box-sizing:border-box}.iziToast-overlay{display:block;position:fixed;top:-100px;left:0;right:0;bottom:-100px;z-index:997}.iziToast{display:inline-block;clear:both;position:relative;font-family:'Lato',Tahoma,Arial;font-size:14px;padding:8px 45px 9px 0;background:rgba(238,238,238,.9);border-color:rgba(238,238,238,.9);width:100%;pointer-events:all;cursor:default;transform:translateX(0);-webkit-touch-callout:none;-webkit-user-select:none;-khtml-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none;min-height:54px}.iziToast>.iziToast-progressbar{position:absolute;left:0;bottom:0;width:100%;z-index:1;background:rgba(255,255,255,.2)}.iziToast>.iziToast-progressbar>div{height:2px;width:100%;background:rgba(0,0,0,.3);border-radius:0 0 3px 3px}.iziToast.iziToast-balloon:before{content:'';position:absolute;right:8px;left:auto;width:0;height:0;top:100%;border-right:0 solid transparent;border-left:15px solid transparent;border-top:10px solid #000;border-top-color:inherit;border-radius:0}.iziToast.iziToast-balloon .iziToast-progressbar{top:0;bottom:auto}.iziToast.iziToast-balloon>div{border-radius:0 0 0 3px}.iziToast>.iziToast-cover{position:absolute;left:0;top:0;bottom:0;height:100%;margin:0;background-size:100%;background-position:50% 50%;background-repeat:no-repeat;background-color:rgba(0,0,0,.1)}.iziToast>.iziToast-close{position:absolute;right:0;top:0;border:0;padding:0;opacity:.6;width:42px;height:100%;background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAYAAABzenr0AAAABHNCSVQICAgIfAhkiAAAAAlwSFlzAAAJPAAACTwBcGfW0QAAABl0RVh0U29mdHdhcmUAd3d3Lmlua3NjYXBlLm9yZ5vuPBoAAAD3SURBVFiF1ZdtDoMgDEBfdi4PwAX8vLFn0qT7wxantojKupmQmCi8R4tSACpgjC2ICCUbEBa8ingjsU1AXRBeR8aLN64FiknswN8CYefBBDQ3whuFESy7WyQMeC0ipEI0A+0FeBvHUFN8xPaUhAH/iKoWsnXHGegy4J0yxialOfaHJAz4bhRzQzgDvdGnz4GbAonZbCQMuBm1K/kcFu8Mp1N2cFFpsxsMuJqqbIGExGl4loARajU1twskJLLhIsID7+tvUoDnIjTg5T9DPH9EBrz8rxjPzciAl9+O8SxI8CzJ8CxKFfh3ynK8Dyb8wNHM/XDqejx/AtNyPO87tNybAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:8px;cursor:pointer;outline:0}.iziToast>.iziToast-close:hover{opacity:1}.iziToast>.iziToast-body{position:relative;padding:0 0 0 10px;height:auto;min-height:36px;margin:0 0 0 15px;text-align:left}.iziToast>.iziToast-body:after{content:"";display:table;clear:both}.iziToast>.iziToast-body .iziToast-texts{margin:10px 0 0;padding-right:2px;display:inline-block;float:left}.iziToast>.iziToast-body .iziToast-inputs{min-height:19px;float:left;margin:3px -2px}.iziToast>.iziToast-body .iziToast-inputs>input:not([type=checkbox]):not([type=radio]),.iziToast>.iziToast-body .iziToast-inputs>select{position:relative;display:inline-block;margin:2px;border-radius:2px;border:0;padding:4px 7px;font-size:13px;letter-spacing:.02em;background:rgba(0,0,0,.1);color:#000;box-shadow:0 0 0 1px rgba(0,0,0,.2);min-height:26px}.iziToast>.iziToast-body .iziToast-inputs>input:not([type=checkbox]):not([type=radio]):focus,.iziToast>.iziToast-body .iziToast-inputs>select:focus{box-shadow:0 0 0 1px rgba(0,0,0,.6)}.iziToast>.iziToast-body .iziToast-buttons{min-height:17px;float:left;margin:4px -2px}.iziToast>.iziToast-body .iziToast-buttons>a,.iziToast>.iziToast-body .iziToast-buttons>button,.iziToast>.iziToast-body .iziToast-buttons>input:not([type=checkbox]):not([type=radio]){position:relative;display:inline-block;margin:2px;border-radius:2px;border:0;padding:5px 10px;font-size:12px;letter-spacing:.02em;cursor:pointer;background:rgba(0,0,0,.1);color:#000}.iziToast>.iziToast-body .iziToast-buttons>a:hover,.iziToast>.iziToast-body .iziToast-buttons>button:hover,.iziToast>.iziToast-body .iziToast-buttons>input:not([type=checkbox]):not([type=radio]):hover{background:rgba(0,0,0,.2)}.iziToast>.iziToast-body .iziToast-buttons>a:focus,.iziToast>.iziToast-body .iziToast-buttons>button:focus,.iziToast>.iziToast-body .iziToast-buttons>input:not([type=checkbox]):not([type=radio]):focus{box-shadow:0 0 0 1px rgba(0,0,0,.6)}.iziToast>.iziToast-body .iziToast-buttons>a:active,.iziToast>.iziToast-body .iziToast-buttons>button:active,.iziToast>.iziToast-body .iziToast-buttons>input:not([type=checkbox]):not([type=radio]):active{top:1px}.iziToast>.iziToast-body .iziToast-icon{position:absolute;left:0;top:50%;display:table;font-size:23px;line-height:24px;margin-top:-12px;color:#000;width:24px;height:24px}.iziToast>.iziToast-body .iziToast-icon.ico-info{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAflBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACCtoPsAAAAKXRSTlMA6PsIvDob+OapavVhWRYPrIry2MxGQ97czsOzpJaMcE0qJQOwVtKjfxCVFeIAAAI3SURBVFjDlJPZsoIwEETnCiGyb8q+qmjl/3/wFmGKwjBROS9QWbtnOqDDGPq4MdMkSc0m7gcDDhF4NRdv8NoL4EcMpzoJglPl/KTDz4WW3IdvXEvxkfIKn7BMZb1bFK4yZFqghZ03jk0nG8N5NBwzx9xU5cxAg8fXi20/hDdC316lcA8o7t16eRuQvW1XGd2d2P8QSHQDDbdIII/9CR3lUF+lbucfJy4WfMS64EJPORnrZxtfc2pjJdnbuags3l04TTtJMXrdTph4Pyg4XAjugAJqMDf5Rf+oXx2/qi4u6nipakIi7CsgiuMSEF9IGKg8heQJKkxIfFSUU/egWSwNrS1fPDtLfon8sZOcYUQml1Qv9a3kfwsEUyJEMgFBKzdV8o3Iw9yAjg1jdLQCV4qbd3no8yD2GugaC3oMbF0NYHCpJYSDhNI5N2DAWB4F4z9Aj/04Cna/x7eVAQ17vRjQZPh+G/kddYv0h49yY4NWNDWMMOMUIRYvlTECmrN8pUAjo5RCMn8KoPmbJ/+Appgnk//Sy90GYBCGgm7IAskQ7D9hFKW4ApB1ei3FSYD9PjGAKygAV+ARFYBH5BsVgG9kkBSAQWKUFYBRZpkUgGVinRWAdUZQDABBQdIcAElDVBUAUUXWHQBZx1gMAGMprM0AsLbVXHsA5trZe93/wp3svQ0YNb/jWV3AIOLsMtlznSNOH7JqjOpDVh7z8qCZR10ftvO4nxeOvPLkpSuvfXnxzKtvXr7j+v8C5ii0e71At7cAAAAASUVORK5CYII=) no-repeat 50% 50%;background-size:85%}.iziToast>.iziToast-body .iziToast-icon.ico-warning{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAAkFBMVEUAAAAAAAABAAIAAAABAAIAAAMAAAABAAIBAAIBAAIAAAIAAAABAAIAAAABAAICAAICAAIAAAIAAAAAAAAAAAABAAIBAAIAAAMAAAABAAIBAAMBAAECAAIAAAIAAAIAAAABAAIBAAIBAAMBAAIBAAEAAAIAAAMAAAAAAAABAAECAAICAAIAAAIAAAMAAAQAAAE05yNAAAAAL3RSTlMAB+kD7V8Q+PXicwv7I9iYhkAzJxnx01IV5cmnk2xmHfzexsK4eEw5L7Gei39aRw640awAAAHQSURBVFjD7ZfJdoJAEEWJgCiI4oDiPM8m7///LidErRO7sHrY5u7YXLr7vKqu9kTC0HPmo9n8cJbEQOzqqAdAUHeUZACQuTkGDQBoDJwkHZR0XBz9FkpafXuHP0SJ09mGeJLZ5wwlTmcbA0THPmdEK7XPGTG1zxmInn3OiJ19zkB0jSVTKExMHT0wjAwlWzC0fSPHF1gWRpIhWMYm7fYTFcQGlbemf4dFfdTGg0B/KXM8qBU/3wntbq7rSGqvJ9kla6IpueFJet8fxfem5yhykjyOgNaWF1qSGd5JMNNxpNF7SZQaVh5JzLrTCZIEJ1GyEyVyd+pClMjdaSJK5O40giSRu5PfFiVyd1pAksjdKRnrSsbVdbiHrgT7yss315fkVQPLFQrL+4FHeOXKO5YRFEKv5AiFaMlKLlBpJuVCJlC5sJfvCgztru/3NmBYccPgGTxRAzxn1XGEMUf58pXZvjoOsOCgjL08+b53mtfAM/SVsZcjKLtysQZPqIy9HPP3m/3zKItRwT0LyQo8sTr26tcO83DIUMWIJjierHLsJda/tbNBFY0BP/bKtcM8HNIWCK3aYR4OMzgxo5w5EFLOLKDExXAm9gI4E3iAO94/Ct/lKWuM2LMGbgAAAABJRU5ErkJggg==) no-repeat 50% 50%;background-size:85%}.iziToast>.iziToast-body .iziToast-icon.ico-error{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAeFBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVyEiIAAAAJ3RSTlMA3BsB98QV8uSyWVUFz7+kcWMM2LuZioBpTUVBNcq2qaibj4d1azLZZYABAAACZElEQVRYw7WX25KCMAyGAxUoFDkpiohnV97/DXeGBtoOUprZ2dyo1K82fxKbwJJVp+KQZ7so2mX5oThVQLKwjDe9YZu4DF3ptAn6rxY0qQPOEq9fNC9ha3y77a22ba24v+9Xbe8v8x03dPOC2/NdvB6xeSreLfGJpnx0TyotKqLm2s7Jd/WO6ivXNp0tCy02R/aFz5VQ5wUPlUL5fIfj5KIlVGU0nWHm/5QtoTVMWY8mzIVu1K9O7XH2JiU/xnOOT39gnUfj+lFHddx4tFjL3/H8jjzaFCy2Rf0c/fdQyQszI8BDR973IyMSKa4krjxAiW/lkRvMP+bKK9WbYS1ASQg8dKjaUGlYPwRe/WoIkz8tiQchH5QAEMv6T0k8MD4mUyWr4E7jAWqZ+xWcMIYkXvlwggJ3IvFK+wIOcpXAo8n8P0COAaXyKH4OsjBuZB4ew0IGu+H1SebhNazsQBbWm8yj+hFuUJB5eMsN0IUXmYendAFFfJB5uEkRMYwxmcd6zDGRtmQePEykAgubymMRFmMxCSIPCRbTuFNN5OGORTjmNGc0Po0m8Uv0gcCry6xUhR2QeLii9tofbEfhz/qvNti+OfPqNm2Mq6105FUMvdT4GPmufMiV8PqBMkc+DdT1bjYYbjzU/ew23VP4n3mLAz4n8Jtv/Ui3ceTT2mzz5o1mZt0gnBpmsdjqRqVlmplcPdqa7X23kL9brdm2t/uBYDPn2+tyu48mtIGD10JTuUrukVrbCFiwDzcHrPjxKt7PW+AZQyT/WESO+1WL7f3o+WLHL2dYMSZsg6dg/z360ofvP4//v1NPzgs28WlWAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:80%}.iziToast>.iziToast-body .iziToast-icon.ico-success{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAABt0UjBAAAACnRSTlMApAPhIFn82wgGv8mVtwAAAKVJREFUSMft0LEJAkEARNFFFEw1NFJb8CKjAy1AEOzAxNw+bEEEg6nyFjbY4LOzcBwX7S/gwUxoTdIn+Jbv4Lv8bx446+kB6VsBtK0B+wbMCKxrwL33wOrVeeChX28n7KTOTjgoEu6DRSYAgAAAAkAmAIAAAAIACQIkMkACAAgAIACAyECBKAOJuCagTJwSUCaUAEMAABEBRwAAEQFLbCJgO4bW+AZKGnktR+jAFAAAAABJRU5ErkJggg==) no-repeat 50% 50%;background-size:85%}.iziToast>.iziToast-body .iziToast-icon.ico-question{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEhFovxTxAAAEDklEQVRo3s2ZTWgTQRTHf03ipTRUqghNSgsRjHgQrFUQC6JgD1Kak3gQUUoPqRdBglf1oBehBws9Cn4cGk+1SOmh2upBxAYVoeJHrR9tgq0i1Cq0lqYeks7MbpPdmU00/c8hm9n33v/t7Nt5M2+qMEWQI0QIibZKRrQpHvLL2KI2wnQzzBKrDm2RIeKEy01dTYKUI7G1ZRknQXV5yP10kTYgly1NF/5S6duZ8ES+1iZodyaocrjXxE0OFeifYYgp0mRIkwFChAkRJsIxGgrIP+I0n82fvZW5dc/zkss0O2o1c5mX6/TmaDWl77RFe5YkUW3tKEmyFv0lOvXJ/fTYnmCEFuMRbGHEZqVHLyT9DFjUJmkzJl9DG5MWWwM6Llif/gF1nukB6nhgGwUXdFrE+wiURA8QoM9i0zEWWpXQW+ZsyeRrOMuyEo5Fv4gmy4dXPvqcC+pH2VRYaMwy+OWG+iLGCgm0W0Kv9HdvR8ASjmKCXpuK/bxiV/76A/v5UdDIZuKcJGjrnec5KZ7wwsWFOp6xPX/9mt2sqDe7FO+Kf/fXHBPPDWpdXGhTpLvUG9VKwh1xMDDjkvu+cNDFBTk7ptX1QkKZ850m3duu6fcrWxwdaFFyREJ2j4vOpKP6Du6z4uJCv8sYJIVkCnJBGGZaBONO3roY2EqNrSfIPi7SKP4fdXyNUd6I6wbSAHEl33tFLe+FlSsusnK90A0+oEPcuufZgXnOi+u9LrKSJQZQw6LwqBnv2CKsfHORbFbyQhA6xN/pEuihSdj56Co7LWRjPiKie6gkB2LiKuUqK5kiPkLiz1QJ9K1cNXBAMoUCigNpQ9IqDtMI1HKA4/jyvUsaoSyZLA5kjOjDPFZen8Ql5TsvBskUgjciIPSX3QAXC86DT7VWvlEh/xZ+ij9BDVWJ0QL0SbZq6QaFxoLPcXPmBLveLCc4wXdDK6s+6/vwhCSniFLPXW0NJe5UB8zKCsviqpc7vGPVQFcyZbyPwGD+d5ZnxmNWlhG4xSBZZjivjIWHEQgoDkSMjMwTo54569JSE5IpA7EyJSMTyGTUAUFlO1ZKOtaHTMeL1PhYYFTcihmY2cQ5+ullj7EDkiVfVez2sCTz8yiv84djhg7IJVk81xFWJlPdfHBG0flkRC/zQFZ+DSllNtfDdUsOMCliyGX5uOzU3ZhIXFDof4m1gDuKbEx0t2YS25gVGpcMnr/I1kx3c6piB8P8ZoqEwfMX3ZyCXynJTmq/U7NUXqfUzCbWL1wqVKBQUeESzQYoUlW8TAcVL1RCxUu1G6BYXfFyfQ4VPbDI4T8d2WzgQ6sc/vmxnTsqfHCZQzUJxm1h5dxS5Tu6lQgTZ0ipqRVqSwzTbbLHMt+c19iO76tsx/cLZub+Ali+tYC93olEAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjE3KzAyOjAwjKtfjgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxNyswMjowMP325zIAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:85%}.iziToast>.iziToast-body .iziToast-message,.iziToast>.iziToast-body .iziToast-title{padding:0;font-size:14px;line-height:16px;text-align:left;float:left;white-space:normal}.iziToast>.iziToast-body .iziToast-title{color:#000;margin:0}.iziToast>.iziToast-body .iziToast-message{margin:0 0 10px;color:rgba(0,0,0,.6)}.iziToast.iziToast-animateInside .iziToast-buttons-child,.iziToast.iziToast-animateInside .iziToast-icon,.iziToast.iziToast-animateInside .iziToast-inputs-child,.iziToast.iziToast-animateInside .iziToast-message,.iziToast.iziToast-animateInside .iziToast-title{opacity:0}.iziToast-target{position:relative;width:100%;margin:0 auto}.iziToast-target .iziToast-capsule{overflow:hidden}.iziToast-target .iziToast-capsule:after{visibility:hidden;display:block;font-size:0;content:" ";clear:both;height:0}.iziToast-target .iziToast-capsule .iziToast{width:100%;float:left}.iziToast-wrapper{z-index:99999;position:fixed;width:100%;pointer-events:none;display:flex;flex-direction:column}.iziToast-wrapper .iziToast.iziToast-balloon:before{border-right:0 solid transparent;border-left:15px solid transparent;border-top:10px solid #000;border-top-color:inherit;right:8px;left:auto}.iziToast-wrapper-bottomLeft{left:0;bottom:0;text-align:left}.iziToast-wrapper-bottomLeft .iziToast.iziToast-balloon:before,.iziToast-wrapper-topLeft .iziToast.iziToast-balloon:before{border-right:15px solid transparent;border-left:0 solid transparent;right:auto;left:8px}.iziToast-wrapper-bottomRight{right:0;bottom:0;text-align:right}.iziToast-wrapper-topLeft{left:0;top:0;text-align:left}.iziToast-wrapper-topRight{top:0;right:0;text-align:right}.iziToast-wrapper-topCenter{top:0;left:0;right:0;text-align:center}.iziToast-wrapper-bottomCenter,.iziToast-wrapper-center{bottom:0;left:0;right:0;text-align:center}.iziToast-wrapper-center{top:0;justify-content:center;flex-flow:column;align-items:center}.iziToast-rtl{direction:rtl;padding:8px 0 9px 45px;font-family:Tahoma,'Lato',Arial}.iziToast-rtl .iziToast-cover{left:auto;right:0}.iziToast-rtl .iziToast-close{right:auto;left:0}.iziToast-rtl .iziToast-body{padding:0 10px 0 0;margin:0 16px 0 0;text-align:right}.iziToast-rtl .iziToast-body .iziToast-buttons,.iziToast-rtl .iziToast-body .iziToast-inputs,.iziToast-rtl .iziToast-body .iziToast-message,.iziToast-rtl .iziToast-body .iziToast-texts,.iziToast-rtl .iziToast-body .iziToast-title{float:right;text-align:right}.iziToast-rtl .iziToast-body .iziToast-icon{left:auto;right:0}@media only screen and (min-width:568px){.iziToast-wrapper{padding:10px 15px}.iziToast{margin:5px 0;border-radius:3px;width:auto}.iziToast:after{content:'';z-index:-1;position:absolute;top:0;left:0;width:100%;height:100%;border-radius:3px;box-shadow:inset 0 -10px 20px -10px rgba(0,0,0,.2),inset 0 0 5px rgba(0,0,0,.1),0 8px 8px -5px rgba(0,0,0,.25)}.iziToast:not(.iziToast-rtl) .iziToast-cover{border-radius:3px 0 0 3px}.iziToast.iziToast-rtl .iziToast-cover{border-radius:0 3px 3px 0}.iziToast.iziToast-color-dark:after{box-shadow:inset 0 -10px 20px -10px rgba(255,255,255,.3),0 10px 10px -5px rgba(0,0,0,.25)}.iziToast.iziToast-balloon .iziToast-progressbar{background:0 0}.iziToast.iziToast-balloon:after{box-shadow:0 10px 10px -5px rgba(0,0,0,.25),inset 0 10px 20px -5px rgba(0,0,0,.25)}.iziToast-target .iziToast:after{box-shadow:inset 0 -10px 20px -10px rgba(0,0,0,.2),inset 0 0 5px rgba(0,0,0,.1)}}.iziToast.iziToast-theme-dark{background:#565c70;border-color:#565c70}.iziToast.iziToast-theme-dark .iziToast-title{color:#fff}.iziToast.iziToast-theme-dark .iziToast-message{color:rgba(255,255,255,.7);font-weight:300}.iziToast.iziToast-theme-dark .iziToast-close{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAACAAAAAgCAQAAADZc7J/AAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfgCR4OIQIPSao6AAAAwElEQVRIx72VUQ6EIAwFmz2XB+AConhjzqTJ7JeGKhLYlyx/BGdoBVpjIpMJNjgIZDKTkQHYmYfwmR2AfAqGFBcO2QjXZCd24bEggvd1KBx+xlwoDpYmvnBUUy68DYXD77ESr8WDtYqvxRex7a8oHP4Wo1Mkt5I68Mc+qYqv1h5OsZmZsQ3gj/02h6cO/KEYx29hu3R+VTTwz6D3TymIP1E8RvEiiVdZfEzicxYLiljSxKIqlnW5seitTW6uYnv/Aqh4whX3mEUrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE2LTA5LTMwVDE0OjMzOjAyKzAyOjAwl6RMVgAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNi0wOS0zMFQxNDozMzowMiswMjowMOb59OoAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:8px}.iziToast.iziToast-theme-dark .iziToast-icon{color:#fff}.iziToast.iziToast-theme-dark .iziToast-icon.ico-info{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAflBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////vroaSAAAAKXRSTlMA6PsIvDob+OapavVhWRYPrIry2MxGQ97czsOzpJaMcE0qJQOwVtKjfxCVFeIAAAI3SURBVFjDlJPZsoIwEETnCiGyb8q+qmjl/3/wFmGKwjBROS9QWbtnOqDDGPq4MdMkSc0m7gcDDhF4NRdv8NoL4EcMpzoJglPl/KTDz4WW3IdvXEvxkfIKn7BMZb1bFK4yZFqghZ03jk0nG8N5NBwzx9xU5cxAg8fXi20/hDdC316lcA8o7t16eRuQvW1XGd2d2P8QSHQDDbdIII/9CR3lUF+lbucfJy4WfMS64EJPORnrZxtfc2pjJdnbuags3l04TTtJMXrdTph4Pyg4XAjugAJqMDf5Rf+oXx2/qi4u6nipakIi7CsgiuMSEF9IGKg8heQJKkxIfFSUU/egWSwNrS1fPDtLfon8sZOcYUQml1Qv9a3kfwsEUyJEMgFBKzdV8o3Iw9yAjg1jdLQCV4qbd3no8yD2GugaC3oMbF0NYHCpJYSDhNI5N2DAWB4F4z9Aj/04Cna/x7eVAQ17vRjQZPh+G/kddYv0h49yY4NWNDWMMOMUIRYvlTECmrN8pUAjo5RCMn8KoPmbJ/+Appgnk//Sy90GYBCGgm7IAskQ7D9hFKW4ApB1ei3FSYD9PjGAKygAV+ARFYBH5BsVgG9kkBSAQWKUFYBRZpkUgGVinRWAdUZQDABBQdIcAElDVBUAUUXWHQBZx1gMAGMprM0AsLbVXHsA5trZe93/wp3svQ0YNb/jWV3AIOLsMtlznSNOH7JqjOpDVh7z8qCZR10ftvO4nxeOvPLkpSuvfXnxzKtvXr7j+v8C5ii0e71At7cAAAAASUVORK5CYII=) no-repeat 50% 50%;background-size:85%}.iziToast.iziToast-theme-dark .iziToast-icon.ico-warning{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEQAAABECAMAAAAPzWOAAAAAllBMVEUAAAD////+//3+//3+//3///////z+//3+//3+//3////////////9//3////+//39//3///3////////////+//3+//39//3///z+//z+//7///3///3///3///3////////+//3+//3+//3+//z+//3+//7///3///z////////+//79//3///3///z///v+//3///+trXouAAAAMHRSTlMAB+j87RBf+PXiCwQClSPYhkAzJxnx05tSyadzcmxmHRbp5d7Gwrh4TDkvsYt/WkdQzCITAAAB1UlEQVRYw+3XaXKCQBCGYSIIighoxCVqNJrEPfly/8vFImKXduNsf/Mc4K1y7FnwlMLQc/bUbj85R6bA1LXRDICg6RjJcZa7NQYtnLUGTpERSiOXxrOPkv9s30iGKDmtbYir3H7OUHJa2ylAuvZzRvzUfs7Ii/2cgfTt54x82s8ZSM848gJmYtroQzA2jHwA+LkBIEuMGt+QIng1igzlyMrkuP2CyOi47axRaYTL5jhDJehoR+aovC29s3iIyly3Eb+hRCvZo2qsGTnhKr2cLDS+J73GsqBI9W80UCmWWpEuhIjh6ZRGjyNRarjzKGJ2Ou2himCvjHwqI+rTqQdlRH06TZQR9ek0hiqiPp06mV4ke7QPX6ERUZxO8Uo3sqrfhxvoRrCpvXwL/UjR9GRHMIvLgke4d5QbiwhM6JV2YKKF4vIl7XIBkwm4keryJVmvk/TfwcmPwQNkUQuyA2/sYGwnXL7GPu4bW1jYsmevrNj09/MGZMOEPXslQVqO8hqykD17JfPHP/bmo2yGGpdZiH3IZvzZa7B3+IdDjjpjesHJcvbs5dZ/e+cddVoDdvlq7x12Nac+iN7e4R8OXTjp0pw5CGnOLNDEzeBs5gVwFniAO+8f8wvfeXP2hyqnmwAAAABJRU5ErkJggg==) no-repeat 50% 50%;background-size:85%}.iziToast.iziToast-theme-dark .iziToast-icon.ico-error{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAMAAACdt4HsAAAAeFBMVEUAAAD////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////GqOSsAAAAJ3RSTlMA3BsB98QV8uSyWVUFz6RxYwzYvbupmYqAaU1FQTXKv7abj4d1azKNUit3AAACZElEQVRYw7WXaZOCMAyGw30UORRQBLxX/v8/3BkaWjrY2szO5otKfGrzJrEp6Kw6F8f8sI+i/SE/FucKSBaWiT8p5idlaEtnXTB9tKDLLHAvdSatOan3je93k9F2vRF36+mr1a6eH2NFNydoHq/ieU/UXcWjjk9XykdNWq2ywtp4tXL6Wb2T/MqtzzZutsrNyfvA51KoQROhVCjfrnASIRpSVUZiD5v4RbWExjRdJzSmOsZFvzYz59kRSr6V5zE+/QELHkNdb3VRx45HS1b1u+zfkkcbRAZ3qJ9l/A4qefHUDMShJe+6kZKJDD2pLQ9Q4lu+5Q7rz7Plperd7AtQEgIPI6o2dxr2D4GXvxqCiKcn8cD4gxIAEt7/GYkHL16KqeJd0NB4gJbXfgVnzCGJlzGcocCVSLzUvoAj9xJ4NF7/R8gxoVQexc/hgBpSebjPjgPs59cHmYfn7NkDb6wXmUf1I1ygIPPw4gtgCE8yDw8eAop4J/PQcBExjQmZx37MsZB2ZB4cLKQCG5vKYxMWSzMxIg8pNtOyUkvkocEmXGo69mh8FgnxS4yBwMvDrJSNHZB4uC3ayz/YkcIP4lflwVIT+OU07ZSjrbTkZQ6dTPkYubZ8GC/Cqxu6WvJZII93dcCw46GdNqdpTeF/tiMOuDGB9z/NI6NvyWetGPM0g+bVNeovBmamHXWj0nCbEaGeTMN2PWrqd6cM26ZxP2DeJvj+ph/30Zi/GmRbtlK5SptI+nwGGnvH6gUruT+L16MJHF+58rwNIifTV0vM8+hwMeOXAb6Yx0wXT+b999WXfvn+8/X/F7fWzjdTord5AAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:80%}.iziToast.iziToast-theme-dark .iziToast-icon.ico-success{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABABAMAAABYR2ztAAAAIVBMVEUAAAD////////////////////////////////////////PIev5AAAACnRSTlMApAPhIFn82wgGv8mVtwAAAKVJREFUSMft0LEJAkEARNFFFEw1NFJb8CKjAy1AEOzAxNw+bEEEg6nyFjbY4LOzcBwX7S/gwUxoTdIn+Jbv4Lv8bx446+kB6VsBtK0B+wbMCKxrwL33wOrVeeChX28n7KTOTjgoEu6DRSYAgAAAAkAmAIAAAAIACQIkMkACAAgAIACAyECBKAOJuCagTJwSUCaUAEMAABEBRwAAEQFLbCJgO4bW+AZKGnktR+jAFAAAAABJRU5ErkJggg==) no-repeat 50% 50%;background-size:85%}.iziToast.iziToast-theme-dark .iziToast-icon.ico-question{background:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAEAAAABACAQAAAAAYLlVAAAABGdBTUEAALGPC/xhBQAAACBjSFJNAAB6JgAAgIQAAPoAAACA6AAAdTAAAOpgAAA6mAAAF3CculE8AAAAAmJLR0QAAKqNIzIAAAAJcEhZcwAADdcAAA3XAUIom3gAAAAHdElNRQfhCQkUEg18vki+AAAETUlEQVRo3s1ZTWhbRxD+VlIuxsLFCYVIIQYVopBDoK5bKDWUBupDMNbJ5FBKg/FBziUQdE9yaC+FHBrwsdCfQ9RTGoLxwWl+DqHEojUFFydxnB9bInZDqOsErBrr6yGvs/ueX97bldTKo4Pe7puZb3Z33s7srIIjMY1jyCEjP6ImvyX8pF64arSHznKC06wzijY5xSKz7YbuYokV2lODsyyxqz3gSY6z6gCuqcpxJluFH+Z8U+D/0jyHoxFUBHgfvsGHIS9WMIUlVFFDFTUAGWSRQRY5HMeBEP6b+Ew9dh/7INd2jGeO59kfKdXP85zbIbfGQVf4sYC3N1hm3lo6zzIbPvk6x+zBk7wQGMEMB5xncIAzAS0XrFySSV72iS1yyBVcdA1x0afrsoUJgdFfY2+z8ADAXl7zz0KcwJiPfZKpVuABgClO+nRG+QIHDdfb4qlWwUXvKW4Z7vi6L4J9vg+vbfCeCeZH2RfOdMOc/HbCA4BvIW6EMQz7XK/ltd+hP+VzR9mgva2YSfyGI17fA7ynnocqeQNFfIJ0oHsdv6CC2+rXGBN6cQdveY3fcVRtmy/HDete+93zy8jA8zV7YkwYMrjHzRddRsCdiVCwwmh6wg9iTNC7Y9XIF1iS7kbUpsvvGEdPuTfSgAEjRpR096x0liPFD/Eqt2NMuBQzB2XhrACAApjFsuQFh9XdGAX70B3oSuNdnMVBaX+sopYxjwVpHFBVACyKTXNoktjD+6Ll8xhenS9MAAkAI/Lux2YNUOs4I413Ypg1SgEAu7kpFvWjaeJe0fJHDGe/cNaZBkekudw8PMA+0fMwlndZeAsJ5KR/qhUDUJCnSiyvRsolkJHGUgvjH8QXDgZopEzKMKDqCKrwEQ4C6MH7GEXC665buLJG8hlQc4LP4paxfJrOqYVYYY2UARfEIazTbgDg2dB98GebzJd54b8L/iWNdLyooeR6CHyZ+6xk0yKxkYg6nEVSUG4VJ9QJ9cxRCxO+9WiOyvgUeexXP1hLGH5nGuBWVtiSp4vqe3VP0UFWI9Wan4Er3v8q7jjPWVtm4FtcQQMrOKO2nOQCM5AyDMi56FDrKHA/1nyppS1ppBpYaE8wciEjGI2AaeM41kI4doDX4XiT3Qm1gevyruCgZg9P8xIv8m1nCzTKq6oiJ9xTMiZ505P5m8cdZ0CnZMVXHVljM7WMBzxpyDxygtdxoCEFTaMIWbZU85UvBjgUMYy0fBaAF8V1Lj9qWQ1aMZ5f4k9r+AGMSkMP1vZoZih6k6sicc5h/OFHM9vDqU/VIU7zJZdYYsKGH4g4nAJMGiXZRds1pVMoZ69RM5vfkbh0qkBhsnS2RLMLilQdL9MBHS9UAh0v1e6CYnXHy/WeeCcvLDwl/9OVze69tPKM+M+v7eJN6OzFpWdEF0ucDbhVNFXadnVrmJFlkVNGTS2M6pzmhMvltfPhnN2B63sVuL7fcNP3D1TSk2ihosPrAAAAJXRFWHRkYXRlOmNyZWF0ZQAyMDE3LTA5LTA5VDIwOjE4OjEzKzAyOjAweOR7nQAAACV0RVh0ZGF0ZTptb2RpZnkAMjAxNy0wOS0wOVQyMDoxODoxMyswMjowMAm5wyEAAAAZdEVYdFNvZnR3YXJlAHd3dy5pbmtzY2FwZS5vcmeb7jwaAAAAAElFTkSuQmCC) no-repeat 50% 50%;background-size:85%}.iziToast.iziToast-theme-dark .iziToast-buttons>a,.iziToast.iziToast-theme-dark .iziToast-buttons>button,.iziToast.iziToast-theme-dark .iziToast-buttons>input{color:#fff;background:rgba(255,255,255,.1)}.iziToast.iziToast-theme-dark .iziToast-buttons>a:hover,.iziToast.iziToast-theme-dark .iziToast-buttons>button:hover,.iziToast.iziToast-theme-dark .iziToast-buttons>input:hover{background:rgba(255,255,255,.2)}.iziToast.iziToast-theme-dark .iziToast-buttons>a:focus,.iziToast.iziToast-theme-dark .iziToast-buttons>button:focus,.iziToast.iziToast-theme-dark .iziToast-buttons>input:focus{box-shadow:0 0 0 1px rgba(255,255,255,.6)}.iziToast.iziToast-color-red{background:rgba(255,175,180,.9);border-color:rgba(255,175,180,.9)}.iziToast.iziToast-color-orange{background:rgba(255,207,165,.9);border-color:rgba(255,207,165,.9)}.iziToast.iziToast-color-yellow{background:rgba(255,249,178,.9);border-color:rgba(255,249,178,.9)}.iziToast.iziToast-color-blue{background:rgba(157,222,255,.9);border-color:rgba(157,222,255,.9)}.iziToast.iziToast-color-green{background:rgba(166,239,184,.9);border-color:rgba(166,239,184,.9)}.iziToast.iziToast-layout2 .iziToast-body .iziToast-message,.iziToast.iziToast-layout2 .iziToast-body .iziToast-texts{width:100%}.iziToast.iziToast-layout3{border-radius:2px}.iziToast.iziToast-layout3::after{display:none}.iziToast .revealIn,.iziToast.revealIn{-webkit-animation:iziT-revealIn 1s cubic-bezier(.25,1.6,.25,1) both;-moz-animation:iziT-revealIn 1s cubic-bezier(.25,1.6,.25,1) both;animation:iziT-revealIn 1s cubic-bezier(.25,1.6,.25,1) both}.iziToast .slideIn,.iziToast.slideIn{-webkit-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;-moz-animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both;animation:iziT-slideIn 1s cubic-bezier(.16,.81,.32,1) both}.iziToast.bounceInLeft{-webkit-animation:iziT-bounceInLeft .7s ease-in-out both;animation:iziT-bounceInLeft .7s ease-in-out both}.iziToast.bounceInRight{-webkit-animation:iziT-bounceInRight .85s ease-in-out both;animation:iziT-bounceInRight .85s ease-in-out both}.iziToast.bounceInDown{-webkit-animation:iziT-bounceInDown .7s ease-in-out both;animation:iziT-bounceInDown .7s ease-in-out both}.iziToast.bounceInUp{-webkit-animation:iziT-bounceInUp .7s ease-in-out both;animation:iziT-bounceInUp .7s ease-in-out both}.iziToast .fadeIn,.iziToast.fadeIn{-webkit-animation:iziT-fadeIn .5s ease both;animation:iziT-fadeIn .5s ease both}.iziToast.fadeInUp{-webkit-animation:iziT-fadeInUp .7s ease both;animation:iziT-fadeInUp .7s ease both}.iziToast.fadeInDown{-webkit-animation:iziT-fadeInDown .7s ease both;animation:iziT-fadeInDown .7s ease both}.iziToast.fadeInLeft{-webkit-animation:iziT-fadeInLeft .85s cubic-bezier(.25,.8,.25,1) both;animation:iziT-fadeInLeft .85s cubic-bezier(.25,.8,.25,1) both}.iziToast.fadeInRight{-webkit-animation:iziT-fadeInRight .85s cubic-bezier(.25,.8,.25,1) both;animation:iziT-fadeInRight .85s cubic-bezier(.25,.8,.25,1) both}.iziToast.flipInX{-webkit-animation:iziT-flipInX .85s cubic-bezier(.35,0,.25,1) both;animation:iziT-flipInX .85s cubic-bezier(.35,0,.25,1) both}.iziToast.fadeOut{-webkit-animation:iziT-fadeOut .7s ease both;animation:iziT-fadeOut .7s ease both}.iziToast.fadeOutDown{-webkit-animation:iziT-fadeOutDown .7s cubic-bezier(.4,.45,.15,.91) both;animation:iziT-fadeOutDown .7s cubic-bezier(.4,.45,.15,.91) both}.iziToast.fadeOutUp{-webkit-animation:iziT-fadeOutUp .7s cubic-bezier(.4,.45,.15,.91) both;animation:iziT-fadeOutUp .7s cubic-bezier(.4,.45,.15,.91) both}.iziToast.fadeOutLeft{-webkit-animation:iziT-fadeOutLeft .5s ease both;animation:iziT-fadeOutLeft .5s ease both}.iziToast.fadeOutRight{-webkit-animation:iziT-fadeOutRight .5s ease both;animation:iziT-fadeOutRight .5s ease both}.iziToast.flipOutX{-webkit-backface-visibility:visible!important;backface-visibility:visible!important;-webkit-animation:iziT-flipOutX .7s cubic-bezier(.4,.45,.15,.91) both;animation:iziT-flipOutX .7s cubic-bezier(.4,.45,.15,.91) both}.iziToast-overlay.fadeIn{-webkit-animation:iziT-fadeIn .5s ease both;animation:iziT-fadeIn .5s ease both}.iziToast-overlay.fadeOut{-webkit-animation:iziT-fadeOut .7s ease both;animation:iziT-fadeOut .7s ease both}@-webkit-keyframes iziT-revealIn{0%{opacity:0;-webkit-transform:scale3d(.3,.3,1)}to{opacity:1}}@-moz-keyframes iziT-revealIn{0%{opacity:0;-moz-transform:scale3d(.3,.3,1)}to{opacity:1}}@-webkit-keyframes iziT-slideIn{0%{opacity:0;-webkit-transform:translateX(50px)}to{opacity:1;-webkit-transform:translateX(0)}}@-moz-keyframes iziT-slideIn{0%{opacity:0;-moz-transform:translateX(50px)}to{opacity:1;-moz-transform:translateX(0)}}@-webkit-keyframes iziT-bounceInLeft{0%{opacity:0;-webkit-transform:translateX(280px)}50%{opacity:1;-webkit-transform:translateX(-20px)}70%{-webkit-transform:translateX(10px)}to{-webkit-transform:translateX(0)}}@-webkit-keyframes iziT-bounceInRight{0%{opacity:0;-webkit-transform:translateX(-280px)}50%{opacity:1;-webkit-transform:translateX(20px)}70%{-webkit-transform:translateX(-10px)}to{-webkit-transform:translateX(0)}}@-webkit-keyframes iziT-bounceInDown{0%{opacity:0;-webkit-transform:translateY(-200px)}50%{opacity:1;-webkit-transform:translateY(10px)}70%{-webkit-transform:translateY(-5px)}to{-webkit-transform:translateY(0)}}@-webkit-keyframes iziT-bounceInUp{0%{opacity:0;-webkit-transform:translateY(200px)}50%{opacity:1;-webkit-transform:translateY(-10px)}70%{-webkit-transform:translateY(5px)}to{-webkit-transform:translateY(0)}}@-webkit-keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes iziT-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes iziT-fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes iziT-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes iziT-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes iziT-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-webkit-keyframes iziT-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-webkit-keyframes iziT-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-moz-keyframes iziT-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}to{opacity:1}}@-webkit-keyframes iziT-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}to{opacity:1}}@-o-keyframes iziT-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}to{opacity:1}}@keyframes iziT-revealIn{0%{opacity:0;transform:scale3d(.3,.3,1)}to{opacity:1}}@-moz-keyframes iziT-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@-webkit-keyframes iziT-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@-o-keyframes iziT-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@keyframes iziT-slideIn{0%{opacity:0;transform:translateX(50px)}to{opacity:1;transform:translateX(0)}}@-moz-keyframes iziT-bounceInLeft{0%{opacity:0;transform:translateX(280px)}50%{opacity:1;transform:translateX(-20px)}70%{transform:translateX(10px)}to{transform:translateX(0)}}@-webkit-keyframes iziT-bounceInLeft{0%{opacity:0;transform:translateX(280px)}50%{opacity:1;transform:translateX(-20px)}70%{transform:translateX(10px)}to{transform:translateX(0)}}@-o-keyframes iziT-bounceInLeft{0%{opacity:0;transform:translateX(280px)}50%{opacity:1;transform:translateX(-20px)}70%{transform:translateX(10px)}to{transform:translateX(0)}}@keyframes iziT-bounceInLeft{0%{opacity:0;transform:translateX(280px)}50%{opacity:1;transform:translateX(-20px)}70%{transform:translateX(10px)}to{transform:translateX(0)}}@-moz-keyframes iziT-bounceInRight{0%{opacity:0;transform:translateX(-280px)}50%{opacity:1;transform:translateX(20px)}70%{transform:translateX(-10px)}to{transform:translateX(0)}}@-webkit-keyframes iziT-bounceInRight{0%{opacity:0;transform:translateX(-280px)}50%{opacity:1;transform:translateX(20px)}70%{transform:translateX(-10px)}to{transform:translateX(0)}}@-o-keyframes iziT-bounceInRight{0%{opacity:0;transform:translateX(-280px)}50%{opacity:1;transform:translateX(20px)}70%{transform:translateX(-10px)}to{transform:translateX(0)}}@keyframes iziT-bounceInRight{0%{opacity:0;transform:translateX(-280px)}50%{opacity:1;transform:translateX(20px)}70%{transform:translateX(-10px)}to{transform:translateX(0)}}@-moz-keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}@-webkit-keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}@-o-keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}@keyframes iziT-bounceInDown{0%{opacity:0;transform:translateY(-200px)}50%{opacity:1;transform:translateY(10px)}70%{transform:translateY(-5px)}to{transform:translateY(0)}}@-moz-keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@-webkit-keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@-o-keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@keyframes iziT-bounceInUp{0%{opacity:0;transform:translateY(200px)}50%{opacity:1;transform:translateY(-10px)}70%{transform:translateY(5px)}to{transform:translateY(0)}}@-moz-keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@-webkit-keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@-o-keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@keyframes iziT-fadeIn{0%{opacity:0}to{opacity:1}}@-moz-keyframes iziT-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-o-keyframes iziT-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziT-fadeInUp{0%{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-moz-keyframes iziT-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-o-keyframes iziT-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziT-fadeInDown{0%{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-moz-keyframes iziT-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-o-keyframes iziT-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziT-fadeInLeft{0%{opacity:0;-webkit-transform:translate3d(300px,0,0);transform:translate3d(300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-moz-keyframes iziT-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-webkit-keyframes iziT-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-o-keyframes iziT-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@keyframes iziT-fadeInRight{0%{opacity:0;-webkit-transform:translate3d(-300px,0,0);transform:translate3d(-300px,0,0)}to{opacity:1;-webkit-transform:none;transform:none}}@-moz-keyframes iziT-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-webkit-keyframes iziT-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-o-keyframes iziT-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@keyframes iziT-flipInX{0%{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}40%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg)}60%{-webkit-transform:perspective(400px) rotate3d(1,0,0,10deg);transform:perspective(400px) rotate3d(1,0,0,10deg);opacity:1}80%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-5deg);transform:perspective(400px) rotate3d(1,0,0,-5deg)}to{-webkit-transform:perspective(400px);transform:perspective(400px)}}@-moz-keyframes iziT-fadeOut{0%{opacity:1}to{opacity:0}}@-webkit-keyframes iziT-fadeOut{0%{opacity:1}to{opacity:0}}@-o-keyframes iziT-fadeOut{0%{opacity:1}to{opacity:0}}@keyframes iziT-fadeOut{0%{opacity:1}to{opacity:0}}@-moz-keyframes iziT-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-webkit-keyframes iziT-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-o-keyframes iziT-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@keyframes iziT-fadeOutDown{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,100%,0);transform:translate3d(0,100%,0)}}@-moz-keyframes iziT-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-webkit-keyframes iziT-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-o-keyframes iziT-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@keyframes iziT-fadeOutUp{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(0,-100%,0);transform:translate3d(0,-100%,0)}}@-moz-keyframes iziT-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-webkit-keyframes iziT-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-o-keyframes iziT-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@keyframes iziT-fadeOutLeft{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(-200px,0,0);transform:translate3d(-200px,0,0)}}@-moz-keyframes iziT-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-webkit-keyframes iziT-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-o-keyframes iziT-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@keyframes iziT-fadeOutRight{0%{opacity:1}to{opacity:0;-webkit-transform:translate3d(200px,0,0);transform:translate3d(200px,0,0)}}@-moz-keyframes iziT-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-webkit-keyframes iziT-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@-o-keyframes iziT-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}}@keyframes iziT-flipOutX{0%{-webkit-transform:perspective(400px);transform:perspective(400px)}30%{-webkit-transform:perspective(400px) rotate3d(1,0,0,-20deg);transform:perspective(400px) rotate3d(1,0,0,-20deg);opacity:1}to{-webkit-transform:perspective(400px) rotate3d(1,0,0,90deg);transform:perspective(400px) rotate3d(1,0,0,90deg);opacity:0}} \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/css/jquery.dataTables.min.css b/Penilaian-Esai/public/assets/css/jquery.dataTables.min.css new file mode 100644 index 0000000..173ae3c --- /dev/null +++ b/Penilaian-Esai/public/assets/css/jquery.dataTables.min.css @@ -0,0 +1 @@ +table.dataTable td.dt-control{text-align:center;cursor:pointer}table.dataTable td.dt-control:before{height:1em;width:1em;margin-top:-9px;display:inline-block;color:white;border:.15em solid white;border-radius:1em;box-shadow:0 0 .2em #444;box-sizing:content-box;text-align:center;text-indent:0 !important;font-family:"Courier New",Courier,monospace;line-height:1em;content:"+";background-color:#31b131}table.dataTable tr.dt-hasChild td.dt-control:before{content:"-";background-color:#d33333}table.dataTable thead>tr>th.sorting,table.dataTable thead>tr>th.sorting_asc,table.dataTable thead>tr>th.sorting_desc,table.dataTable thead>tr>th.sorting_asc_disabled,table.dataTable thead>tr>th.sorting_desc_disabled,table.dataTable thead>tr>td.sorting,table.dataTable thead>tr>td.sorting_asc,table.dataTable thead>tr>td.sorting_desc,table.dataTable thead>tr>td.sorting_asc_disabled,table.dataTable thead>tr>td.sorting_desc_disabled{cursor:pointer;position:relative;padding-right:26px}table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after{position:absolute;display:block;opacity:.125;right:10px;line-height:9px;font-size:.9em}table.dataTable thead>tr>th.sorting:before,table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:before,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>th.sorting_desc_disabled:before,table.dataTable thead>tr>td.sorting:before,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:before,table.dataTable thead>tr>td.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:before{bottom:50%;content:"▴"}table.dataTable thead>tr>th.sorting:after,table.dataTable thead>tr>th.sorting_asc:after,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>th.sorting_asc_disabled:after,table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting:after,table.dataTable thead>tr>td.sorting_asc:after,table.dataTable thead>tr>td.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc_disabled:after,table.dataTable thead>tr>td.sorting_desc_disabled:after{top:50%;content:"▾"}table.dataTable thead>tr>th.sorting_asc:before,table.dataTable thead>tr>th.sorting_desc:after,table.dataTable thead>tr>td.sorting_asc:before,table.dataTable thead>tr>td.sorting_desc:after{opacity:.6}table.dataTable thead>tr>th.sorting_desc_disabled:after,table.dataTable thead>tr>th.sorting_asc_disabled:before,table.dataTable thead>tr>td.sorting_desc_disabled:after,table.dataTable thead>tr>td.sorting_asc_disabled:before{display:none}table.dataTable thead>tr>th:active,table.dataTable thead>tr>td:active{outline:none}div.dataTables_scrollBody table.dataTable thead>tr>th:before,div.dataTables_scrollBody table.dataTable thead>tr>th:after,div.dataTables_scrollBody table.dataTable thead>tr>td:before,div.dataTables_scrollBody table.dataTable thead>tr>td:after{display:none}div.dataTables_processing{position:absolute;top:50%;left:50%;width:200px;margin-left:-100px;margin-top:-26px;text-align:center;padding:2px}div.dataTables_processing>div:last-child{position:relative;width:80px;height:15px;margin:1em auto}div.dataTables_processing>div:last-child>div{position:absolute;top:0;width:13px;height:13px;border-radius:50%;background:rgba(13, 110, 253, 0.9);animation-timing-function:cubic-bezier(0, 1, 1, 0)}div.dataTables_processing>div:last-child>div:nth-child(1){left:8px;animation:datatables-loader-1 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(2){left:8px;animation:datatables-loader-2 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(3){left:32px;animation:datatables-loader-2 .6s infinite}div.dataTables_processing>div:last-child>div:nth-child(4){left:56px;animation:datatables-loader-3 .6s infinite}@keyframes datatables-loader-1{0%{transform:scale(0)}100%{transform:scale(1)}}@keyframes datatables-loader-3{0%{transform:scale(1)}100%{transform:scale(0)}}@keyframes datatables-loader-2{0%{transform:translate(0, 0)}100%{transform:translate(24px, 0)}}table.dataTable.nowrap th,table.dataTable.nowrap td{white-space:nowrap}table.dataTable th.dt-left,table.dataTable td.dt-left{text-align:left}table.dataTable th.dt-center,table.dataTable td.dt-center,table.dataTable td.dataTables_empty{text-align:center}table.dataTable th.dt-right,table.dataTable td.dt-right{text-align:right}table.dataTable th.dt-justify,table.dataTable td.dt-justify{text-align:justify}table.dataTable th.dt-nowrap,table.dataTable td.dt-nowrap{white-space:nowrap}table.dataTable thead th,table.dataTable thead td,table.dataTable tfoot th,table.dataTable tfoot td{text-align:left}table.dataTable thead th.dt-head-left,table.dataTable thead td.dt-head-left,table.dataTable tfoot th.dt-head-left,table.dataTable tfoot td.dt-head-left{text-align:left}table.dataTable thead th.dt-head-center,table.dataTable thead td.dt-head-center,table.dataTable tfoot th.dt-head-center,table.dataTable tfoot td.dt-head-center{text-align:center}table.dataTable thead th.dt-head-right,table.dataTable thead td.dt-head-right,table.dataTable tfoot th.dt-head-right,table.dataTable tfoot td.dt-head-right{text-align:right}table.dataTable thead th.dt-head-justify,table.dataTable thead td.dt-head-justify,table.dataTable tfoot th.dt-head-justify,table.dataTable tfoot td.dt-head-justify{text-align:justify}table.dataTable thead th.dt-head-nowrap,table.dataTable thead td.dt-head-nowrap,table.dataTable tfoot th.dt-head-nowrap,table.dataTable tfoot td.dt-head-nowrap{white-space:nowrap}table.dataTable tbody th.dt-body-left,table.dataTable tbody td.dt-body-left{text-align:left}table.dataTable tbody th.dt-body-center,table.dataTable tbody td.dt-body-center{text-align:center}table.dataTable tbody th.dt-body-right,table.dataTable tbody td.dt-body-right{text-align:right}table.dataTable tbody th.dt-body-justify,table.dataTable tbody td.dt-body-justify{text-align:justify}table.dataTable tbody th.dt-body-nowrap,table.dataTable tbody td.dt-body-nowrap{white-space:nowrap}table.dataTable{width:100%;margin:0 auto;clear:both;border-collapse:separate;border-spacing:0}table.dataTable thead th,table.dataTable tfoot th{font-weight:bold}table.dataTable thead th,table.dataTable thead td{padding:10px;border-bottom:1px solid rgba(0, 0, 0, 0.3)}table.dataTable thead th:active,table.dataTable thead td:active{outline:none}table.dataTable tfoot th,table.dataTable tfoot td{padding:10px 10px 6px 10px;border-top:1px solid rgba(0, 0, 0, 0.3)}table.dataTable tbody tr{background-color:transparent}table.dataTable tbody tr.selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.9);color:white}table.dataTable tbody th,table.dataTable tbody td{padding:8px 10px}table.dataTable.row-border tbody th,table.dataTable.row-border tbody td,table.dataTable.display tbody th,table.dataTable.display tbody td{border-top:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.row-border tbody tr:first-child th,table.dataTable.row-border tbody tr:first-child td,table.dataTable.display tbody tr:first-child th,table.dataTable.display tbody tr:first-child td{border-top:none}table.dataTable.cell-border tbody th,table.dataTable.cell-border tbody td{border-top:1px solid rgba(0, 0, 0, 0.15);border-right:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.cell-border tbody tr th:first-child,table.dataTable.cell-border tbody tr td:first-child{border-left:1px solid rgba(0, 0, 0, 0.15)}table.dataTable.cell-border tbody tr:first-child th,table.dataTable.cell-border tbody tr:first-child td{border-top:none}table.dataTable.stripe>tbody>tr.odd>*,table.dataTable.display>tbody>tr.odd>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.023)}table.dataTable.stripe>tbody>tr.odd.selected>*,table.dataTable.display>tbody>tr.odd.selected>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.923)}table.dataTable.hover>tbody>tr:hover>*,table.dataTable.display>tbody>tr:hover>*{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.035)}table.dataTable.hover>tbody>tr.selected:hover>*,table.dataTable.display>tbody>tr.selected:hover>*{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.935)}table.dataTable.order-column>tbody tr>.sorting_1,table.dataTable.order-column>tbody tr>.sorting_2,table.dataTable.order-column>tbody tr>.sorting_3,table.dataTable.display>tbody tr>.sorting_1,table.dataTable.display>tbody tr>.sorting_2,table.dataTable.display>tbody tr>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.019)}table.dataTable.order-column>tbody tr.selected>.sorting_1,table.dataTable.order-column>tbody tr.selected>.sorting_2,table.dataTable.order-column>tbody tr.selected>.sorting_3,table.dataTable.display>tbody tr.selected>.sorting_1,table.dataTable.display>tbody tr.selected>.sorting_2,table.dataTable.display>tbody tr.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.919)}table.dataTable.display>tbody>tr.odd>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.054)}table.dataTable.display>tbody>tr.odd>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.047)}table.dataTable.display>tbody>tr.odd>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.odd>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.039)}table.dataTable.display>tbody>tr.odd.selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.954)}table.dataTable.display>tbody>tr.odd.selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.947)}table.dataTable.display>tbody>tr.odd.selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.odd.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.939)}table.dataTable.display>tbody>tr.even>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.019)}table.dataTable.display>tbody>tr.even>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.011)}table.dataTable.display>tbody>tr.even>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.even>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.003)}table.dataTable.display>tbody>tr.even.selected>.sorting_1,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.919)}table.dataTable.display>tbody>tr.even.selected>.sorting_2,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.911)}table.dataTable.display>tbody>tr.even.selected>.sorting_3,table.dataTable.order-column.stripe>tbody>tr.even.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.903)}table.dataTable.display tbody tr:hover>.sorting_1,table.dataTable.order-column.hover tbody tr:hover>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.082)}table.dataTable.display tbody tr:hover>.sorting_2,table.dataTable.order-column.hover tbody tr:hover>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.074)}table.dataTable.display tbody tr:hover>.sorting_3,table.dataTable.order-column.hover tbody tr:hover>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(0, 0, 0, 0.062)}table.dataTable.display tbody tr:hover.selected>.sorting_1,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_1{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.982)}table.dataTable.display tbody tr:hover.selected>.sorting_2,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_2{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.974)}table.dataTable.display tbody tr:hover.selected>.sorting_3,table.dataTable.order-column.hover tbody tr:hover.selected>.sorting_3{box-shadow:inset 0 0 0 9999px rgba(13, 110, 253, 0.962)}table.dataTable.no-footer{border-bottom:1px solid rgba(0, 0, 0, 0.3)}table.dataTable.compact thead th,table.dataTable.compact thead td{padding:4px 17px}table.dataTable.compact tfoot th,table.dataTable.compact tfoot td{padding:4px}table.dataTable.compact tbody th,table.dataTable.compact tbody td{padding:4px}table.dataTable th,table.dataTable td{box-sizing:content-box}.dataTables_wrapper{position:relative;clear:both}.dataTables_wrapper .dataTables_length{float:left}.dataTables_wrapper .dataTables_length select{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;padding:4px}.dataTables_wrapper .dataTables_filter{float:right;text-align:right}.dataTables_wrapper .dataTables_filter input{border:1px solid #aaa;border-radius:3px;padding:5px;background-color:transparent;margin-left:3px}.dataTables_wrapper .dataTables_info{clear:both;float:left;padding-top:.755em}.dataTables_wrapper .dataTables_paginate{float:right;text-align:right;padding-top:.25em}.dataTables_wrapper .dataTables_paginate .paginate_button{box-sizing:border-box;display:inline-block;min-width:1.5em;padding:.5em 1em;margin-left:2px;text-align:center;text-decoration:none !important;cursor:pointer;color:#333 !important;border:1px solid transparent;border-radius:2px}.dataTables_wrapper .dataTables_paginate .paginate_button.current,.dataTables_wrapper .dataTables_paginate .paginate_button.current:hover{color:#333 !important;border:1px solid rgba(0, 0, 0, 0.3);background-color:rgba(230, 230, 230, 0.1);background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, rgba(230, 230, 230, 0.1)), color-stop(100%, rgba(0, 0, 0, 0.1)));background:-webkit-linear-gradient(top, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);background:-moz-linear-gradient(top, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);background:-ms-linear-gradient(top, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);background:-o-linear-gradient(top, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%);background:linear-gradient(to bottom, rgba(230, 230, 230, 0.1) 0%, rgba(0, 0, 0, 0.1) 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button.disabled,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:hover,.dataTables_wrapper .dataTables_paginate .paginate_button.disabled:active{cursor:default;color:#666 !important;border:1px solid transparent;background:transparent;box-shadow:none}.dataTables_wrapper .dataTables_paginate .paginate_button:hover{color:white !important;border:1px solid #111;background-color:#585858;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #585858), color-stop(100%, #111));background:-webkit-linear-gradient(top, #585858 0%, #111 100%);background:-moz-linear-gradient(top, #585858 0%, #111 100%);background:-ms-linear-gradient(top, #585858 0%, #111 100%);background:-o-linear-gradient(top, #585858 0%, #111 100%);background:linear-gradient(to bottom, #585858 0%, #111 100%)}.dataTables_wrapper .dataTables_paginate .paginate_button:active{outline:none;background-color:#2b2b2b;background:-webkit-gradient(linear, left top, left bottom, color-stop(0%, #2b2b2b), color-stop(100%, #0c0c0c));background:-webkit-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-moz-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-ms-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:-o-linear-gradient(top, #2b2b2b 0%, #0c0c0c 100%);background:linear-gradient(to bottom, #2b2b2b 0%, #0c0c0c 100%);box-shadow:inset 0 0 3px #111}.dataTables_wrapper .dataTables_paginate .ellipsis{padding:0 1em}.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter,.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_processing,.dataTables_wrapper .dataTables_paginate{color:#333}.dataTables_wrapper .dataTables_scroll{clear:both}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody{-webkit-overflow-scrolling:touch}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td{vertical-align:middle}.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>thead>tr>td>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>th>div.dataTables_sizing,.dataTables_wrapper .dataTables_scroll div.dataTables_scrollBody>table>tbody>tr>td>div.dataTables_sizing{height:0;overflow:hidden;margin:0 !important;padding:0 !important}.dataTables_wrapper.no-footer .dataTables_scrollBody{border-bottom:1px solid rgba(0, 0, 0, 0.3)}.dataTables_wrapper.no-footer div.dataTables_scrollHead table.dataTable,.dataTables_wrapper.no-footer div.dataTables_scrollBody>table{border-bottom:none}.dataTables_wrapper:after{visibility:hidden;display:block;content:"";clear:both;height:0}@media screen and (max-width: 767px){.dataTables_wrapper .dataTables_info,.dataTables_wrapper .dataTables_paginate{float:none;text-align:center}.dataTables_wrapper .dataTables_paginate{margin-top:.5em}}@media screen and (max-width: 640px){.dataTables_wrapper .dataTables_length,.dataTables_wrapper .dataTables_filter{float:none;text-align:center}.dataTables_wrapper .dataTables_filter{margin-top:.5em}} diff --git a/Penilaian-Esai/public/assets/css/select2.min.css b/Penilaian-Esai/public/assets/css/select2.min.css new file mode 100644 index 0000000..7c18ad5 --- /dev/null +++ b/Penilaian-Esai/public/assets/css/select2.min.css @@ -0,0 +1 @@ +.select2-container{box-sizing:border-box;display:inline-block;margin:0;position:relative;vertical-align:middle}.select2-container .select2-selection--single{box-sizing:border-box;cursor:pointer;display:block;height:28px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--single .select2-selection__rendered{display:block;padding-left:8px;padding-right:20px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-selection--single .select2-selection__clear{position:relative}.select2-container[dir="rtl"] .select2-selection--single .select2-selection__rendered{padding-right:8px;padding-left:20px}.select2-container .select2-selection--multiple{box-sizing:border-box;cursor:pointer;display:block;min-height:32px;user-select:none;-webkit-user-select:none}.select2-container .select2-selection--multiple .select2-selection__rendered{display:inline-block;overflow:hidden;padding-left:8px;text-overflow:ellipsis;white-space:nowrap}.select2-container .select2-search--inline{float:left}.select2-container .select2-search--inline .select2-search__field{box-sizing:border-box;border:none;font-size:100%;margin-top:5px;padding:0}.select2-container .select2-search--inline .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-dropdown{background-color:white;border:1px solid #aaa;border-radius:4px;box-sizing:border-box;display:block;position:absolute;left:-100000px;width:100%;z-index:1051}.select2-results{display:block}.select2-results__options{list-style:none;margin:0;padding:0}.select2-results__option{padding:6px;user-select:none;-webkit-user-select:none}.select2-results__option[aria-selected]{cursor:pointer}.select2-container--open .select2-dropdown{left:0}.select2-container--open .select2-dropdown--above{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--open .select2-dropdown--below{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-search--dropdown{display:block;padding:4px}.select2-search--dropdown .select2-search__field{padding:4px;width:100%;box-sizing:border-box}.select2-search--dropdown .select2-search__field::-webkit-search-cancel-button{-webkit-appearance:none}.select2-search--dropdown.select2-search--hide{display:none}.select2-close-mask{border:0;margin:0;padding:0;display:block;position:fixed;left:0;top:0;min-height:100%;min-width:100%;height:auto;width:auto;opacity:0;z-index:99;background-color:#fff;filter:alpha(opacity=0)}.select2-hidden-accessible{border:0 !important;clip:rect(0 0 0 0) !important;-webkit-clip-path:inset(50%) !important;clip-path:inset(50%) !important;height:1px !important;overflow:hidden !important;padding:0 !important;position:absolute !important;width:1px !important;white-space:nowrap !important}.select2-container--default .select2-selection--single{background-color:#fff;border:1px solid #aaa;border-radius:4px}.select2-container--default .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--default .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold}.select2-container--default .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--default .select2-selection--single .select2-selection__arrow{height:26px;position:absolute;top:1px;right:1px;width:20px}.select2-container--default .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--default[dir="rtl"] .select2-selection--single .select2-selection__arrow{left:1px;right:auto}.select2-container--default.select2-container--disabled .select2-selection--single{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection--single .select2-selection__clear{display:none}.select2-container--default.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--default .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text}.select2-container--default .select2-selection--multiple .select2-selection__rendered{box-sizing:border-box;list-style:none;margin:0;padding:0 5px;width:100%}.select2-container--default .select2-selection--multiple .select2-selection__rendered li{list-style:none}.select2-container--default .select2-selection--multiple .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-top:5px;margin-right:10px;padding:1px}.select2-container--default .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove{color:#999;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--default .select2-selection--multiple .select2-selection__choice__remove:hover{color:#333}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice,.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-search--inline{float:right}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice{margin-left:5px;margin-right:auto}.select2-container--default[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--default.select2-container--focus .select2-selection--multiple{border:solid black 1px;outline:0}.select2-container--default.select2-container--disabled .select2-selection--multiple{background-color:#eee;cursor:default}.select2-container--default.select2-container--disabled .select2-selection__choice__remove{display:none}.select2-container--default.select2-container--open.select2-container--above .select2-selection--single,.select2-container--default.select2-container--open.select2-container--above .select2-selection--multiple{border-top-left-radius:0;border-top-right-radius:0}.select2-container--default.select2-container--open.select2-container--below .select2-selection--single,.select2-container--default.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--default .select2-search--dropdown .select2-search__field{border:1px solid #aaa}.select2-container--default .select2-search--inline .select2-search__field{background:transparent;border:none;outline:0;box-shadow:none;-webkit-appearance:textfield}.select2-container--default .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--default .select2-results__option[role=group]{padding:0}.select2-container--default .select2-results__option[aria-disabled=true]{color:#999}.select2-container--default .select2-results__option[aria-selected=true]{background-color:#ddd}.select2-container--default .select2-results__option .select2-results__option{padding-left:1em}.select2-container--default .select2-results__option .select2-results__option .select2-results__group{padding-left:0}.select2-container--default .select2-results__option .select2-results__option .select2-results__option{margin-left:-1em;padding-left:2em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-2em;padding-left:3em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-3em;padding-left:4em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-4em;padding-left:5em}.select2-container--default .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option .select2-results__option{margin-left:-5em;padding-left:6em}.select2-container--default .select2-results__option--highlighted[aria-selected]{background-color:#5897fb;color:white}.select2-container--default .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic .select2-selection--single{background-color:#f7f7f7;border:1px solid #aaa;border-radius:4px;outline:0;background-image:-webkit-linear-gradient(top, #fff 50%, #eee 100%);background-image:-o-linear-gradient(top, #fff 50%, #eee 100%);background-image:linear-gradient(to bottom, #fff 50%, #eee 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic .select2-selection--single:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--single .select2-selection__rendered{color:#444;line-height:28px}.select2-container--classic .select2-selection--single .select2-selection__clear{cursor:pointer;float:right;font-weight:bold;margin-right:10px}.select2-container--classic .select2-selection--single .select2-selection__placeholder{color:#999}.select2-container--classic .select2-selection--single .select2-selection__arrow{background-color:#ddd;border:none;border-left:1px solid #aaa;border-top-right-radius:4px;border-bottom-right-radius:4px;height:26px;position:absolute;top:1px;right:1px;width:20px;background-image:-webkit-linear-gradient(top, #eee 50%, #ccc 100%);background-image:-o-linear-gradient(top, #eee 50%, #ccc 100%);background-image:linear-gradient(to bottom, #eee 50%, #ccc 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFCCCCCC', GradientType=0)}.select2-container--classic .select2-selection--single .select2-selection__arrow b{border-color:#888 transparent transparent transparent;border-style:solid;border-width:5px 4px 0 4px;height:0;left:50%;margin-left:-4px;margin-top:-2px;position:absolute;top:50%;width:0}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__clear{float:left}.select2-container--classic[dir="rtl"] .select2-selection--single .select2-selection__arrow{border:none;border-right:1px solid #aaa;border-radius:0;border-top-left-radius:4px;border-bottom-left-radius:4px;left:1px;right:auto}.select2-container--classic.select2-container--open .select2-selection--single{border:1px solid #5897fb}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow{background:transparent;border:none}.select2-container--classic.select2-container--open .select2-selection--single .select2-selection__arrow b{border-color:transparent transparent #888 transparent;border-width:0 4px 5px 4px}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--single{border-top:none;border-top-left-radius:0;border-top-right-radius:0;background-image:-webkit-linear-gradient(top, #fff 0%, #eee 50%);background-image:-o-linear-gradient(top, #fff 0%, #eee 50%);background-image:linear-gradient(to bottom, #fff 0%, #eee 50%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFFFFFFF', endColorstr='#FFEEEEEE', GradientType=0)}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--single{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0;background-image:-webkit-linear-gradient(top, #eee 50%, #fff 100%);background-image:-o-linear-gradient(top, #eee 50%, #fff 100%);background-image:linear-gradient(to bottom, #eee 50%, #fff 100%);background-repeat:repeat-x;filter:progid:DXImageTransform.Microsoft.gradient(startColorstr='#FFEEEEEE', endColorstr='#FFFFFFFF', GradientType=0)}.select2-container--classic .select2-selection--multiple{background-color:white;border:1px solid #aaa;border-radius:4px;cursor:text;outline:0}.select2-container--classic .select2-selection--multiple:focus{border:1px solid #5897fb}.select2-container--classic .select2-selection--multiple .select2-selection__rendered{list-style:none;margin:0;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__clear{display:none}.select2-container--classic .select2-selection--multiple .select2-selection__choice{background-color:#e4e4e4;border:1px solid #aaa;border-radius:4px;cursor:default;float:left;margin-right:5px;margin-top:5px;padding:0 5px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove{color:#888;cursor:pointer;display:inline-block;font-weight:bold;margin-right:2px}.select2-container--classic .select2-selection--multiple .select2-selection__choice__remove:hover{color:#555}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice{float:right;margin-left:5px;margin-right:auto}.select2-container--classic[dir="rtl"] .select2-selection--multiple .select2-selection__choice__remove{margin-left:2px;margin-right:auto}.select2-container--classic.select2-container--open .select2-selection--multiple{border:1px solid #5897fb}.select2-container--classic.select2-container--open.select2-container--above .select2-selection--multiple{border-top:none;border-top-left-radius:0;border-top-right-radius:0}.select2-container--classic.select2-container--open.select2-container--below .select2-selection--multiple{border-bottom:none;border-bottom-left-radius:0;border-bottom-right-radius:0}.select2-container--classic .select2-search--dropdown .select2-search__field{border:1px solid #aaa;outline:0}.select2-container--classic .select2-search--inline .select2-search__field{outline:0;box-shadow:none}.select2-container--classic .select2-dropdown{background-color:#fff;border:1px solid transparent}.select2-container--classic .select2-dropdown--above{border-bottom:none}.select2-container--classic .select2-dropdown--below{border-top:none}.select2-container--classic .select2-results>.select2-results__options{max-height:200px;overflow-y:auto}.select2-container--classic .select2-results__option[role=group]{padding:0}.select2-container--classic .select2-results__option[aria-disabled=true]{color:grey}.select2-container--classic .select2-results__option--highlighted[aria-selected]{background-color:#3875d7;color:#fff}.select2-container--classic .select2-results__group{cursor:default;display:block;padding:6px}.select2-container--classic.select2-container--open .select2-dropdown{border-color:#5897fb} diff --git a/Penilaian-Esai/public/assets/css/sweetalert.css b/Penilaian-Esai/public/assets/css/sweetalert.css new file mode 100644 index 0000000..76f159d --- /dev/null +++ b/Penilaian-Esai/public/assets/css/sweetalert.css @@ -0,0 +1,932 @@ +body.stop-scrolling { + height: 100%; + overflow: hidden; } + +.sweet-overlay { + background-color: black; + /* IE8 */ + -ms-filter: "progid:DXImageTransform.Microsoft.Alpha(Opacity=40)"; + /* IE8 */ + background-color: rgba(0, 0, 0, 0.4); + position: fixed; + left: 0; + right: 0; + top: 0; + bottom: 0; + display: none; + z-index: 10000; } + +.sweet-alert { + background-color: white; + font-family: 'Open Sans', 'Helvetica Neue', Helvetica, Arial, sans-serif; + width: 478px; + padding: 17px; + border-radius: 5px; + text-align: center; + position: fixed; + left: 50%; + top: 50%; + margin-left: -256px; + margin-top: -200px; + overflow: hidden; + display: none; + z-index: 99999; } + @media all and (max-width: 540px) { + .sweet-alert { + width: auto; + margin-left: 0; + margin-right: 0; + left: 15px; + right: 15px; } } + .sweet-alert h2 { + color: #575757; + font-size: 30px; + text-align: center; + font-weight: 600; + text-transform: none; + position: relative; + margin: 25px 0; + padding: 0; + line-height: 40px; + display: block; } + .sweet-alert p { + color: #797979; + font-size: 16px; + text-align: center; + font-weight: 300; + position: relative; + text-align: inherit; + float: none; + margin: 0; + padding: 0; + line-height: normal; } + .sweet-alert fieldset { + border: none; + position: relative; } + .sweet-alert .sa-error-container { + background-color: #f1f1f1; + margin-left: -17px; + margin-right: -17px; + overflow: hidden; + padding: 0 10px; + max-height: 0; + webkit-transition: padding 0.15s, max-height 0.15s; + transition: padding 0.15s, max-height 0.15s; } + .sweet-alert .sa-error-container.show { + padding: 10px 0; + max-height: 100px; + webkit-transition: padding 0.2s, max-height 0.2s; + transition: padding 0.25s, max-height 0.25s; } + .sweet-alert .sa-error-container .icon { + display: inline-block; + width: 24px; + height: 24px; + border-radius: 50%; + background-color: #ea7d7d; + color: white; + line-height: 24px; + text-align: center; + margin-right: 3px; } + .sweet-alert .sa-error-container p { + display: inline-block; } + .sweet-alert .sa-input-error { + position: absolute; + top: 29px; + right: 26px; + width: 20px; + height: 20px; + opacity: 0; + -webkit-transform: scale(0.5); + transform: scale(0.5); + -webkit-transform-origin: 50% 50%; + transform-origin: 50% 50%; + -webkit-transition: all 0.1s; + transition: all 0.1s; } + .sweet-alert .sa-input-error::before, .sweet-alert .sa-input-error::after { + content: ""; + width: 20px; + height: 6px; + background-color: #f06e57; + border-radius: 3px; + position: absolute; + top: 50%; + margin-top: -4px; + left: 50%; + margin-left: -9px; } + .sweet-alert .sa-input-error::before { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-input-error::after { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-input-error.show { + opacity: 1; + -webkit-transform: scale(1); + transform: scale(1); } + .sweet-alert input { + width: 100%; + box-sizing: border-box; + border-radius: 3px; + border: 1px solid #d7d7d7; + height: 43px; + margin-top: 10px; + margin-bottom: 17px; + font-size: 18px; + box-shadow: inset 0px 1px 1px rgba(0, 0, 0, 0.06); + padding: 0 12px; + display: none; + -webkit-transition: all 0.3s; + transition: all 0.3s; } + .sweet-alert input:focus { + outline: none; + box-shadow: 0px 0px 3px #c4e6f5; + border: 1px solid #b4dbed; } + .sweet-alert input:focus::-moz-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus:-ms-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input:focus::-webkit-input-placeholder { + transition: opacity 0.3s 0.03s ease; + opacity: 0.5; } + .sweet-alert input::-moz-placeholder { + color: #bdbdbd; } + .sweet-alert input:-ms-input-placeholder { + color: #bdbdbd; } + .sweet-alert input::-webkit-input-placeholder { + color: #bdbdbd; } + .sweet-alert.show-input input { + display: block; } + .sweet-alert .sa-confirm-button-container { + display: inline-block; + position: relative; } + .sweet-alert .la-ball-fall { + position: absolute; + left: 50%; + top: 50%; + margin-left: -27px; + margin-top: 4px; + opacity: 0; + visibility: hidden; } + .sweet-alert button { + background-color: #8CD4F5; + color: white; + border: none; + box-shadow: none; + font-size: 17px; + font-weight: 500; + -webkit-border-radius: 4px; + border-radius: 5px; + padding: 10px 32px; + margin: 26px 5px 0 5px; + cursor: pointer; } + .sweet-alert button:focus { + outline: none; + box-shadow: 0 0 2px rgba(128, 179, 235, 0.5), inset 0 0 0 1px rgba(0, 0, 0, 0.05); } + .sweet-alert button:hover { + background-color: #7ecff4; } + .sweet-alert button:active { + background-color: #5dc2f1; } + .sweet-alert button.cancel { + background-color: #C1C1C1; } + .sweet-alert button.cancel:hover { + background-color: #b9b9b9; } + .sweet-alert button.cancel:active { + background-color: #a8a8a8; } + .sweet-alert button.cancel:focus { + box-shadow: rgba(197, 205, 211, 0.8) 0px 0px 2px, rgba(0, 0, 0, 0.0470588) 0px 0px 0px 1px inset !important; } + .sweet-alert button[disabled] { + opacity: .6; + cursor: default; } + .sweet-alert button.confirm[disabled] { + color: transparent; } + .sweet-alert button.confirm[disabled] ~ .la-ball-fall { + opacity: 1; + visibility: visible; + transition-delay: 0s; } + .sweet-alert button::-moz-focus-inner { + border: 0; } + .sweet-alert[data-has-cancel-button=false] button { + box-shadow: none !important; } + .sweet-alert[data-has-confirm-button=false][data-has-cancel-button=false] { + padding-bottom: 40px; } + .sweet-alert .sa-icon { + width: 80px; + height: 80px; + border: 4px solid gray; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + margin: 20px auto; + padding: 0; + position: relative; + box-sizing: content-box; } + .sweet-alert .sa-icon.sa-error { + border-color: #F27474; } + .sweet-alert .sa-icon.sa-error .sa-x-mark { + position: relative; + display: block; } + .sweet-alert .sa-icon.sa-error .sa-line { + position: absolute; + height: 5px; + width: 47px; + background-color: #F27474; + display: block; + top: 37px; + border-radius: 2px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -webkit-transform: rotate(45deg); + transform: rotate(45deg); + left: 17px; } + .sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + right: 16px; } + .sweet-alert .sa-icon.sa-warning { + border-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-body { + position: absolute; + width: 5px; + height: 47px; + left: 50%; + top: 10px; + -webkit-border-radius: 2px; + border-radius: 2px; + margin-left: -2px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-warning .sa-dot { + position: absolute; + width: 7px; + height: 7px; + -webkit-border-radius: 50%; + border-radius: 50%; + margin-left: -3px; + left: 50%; + bottom: 10px; + background-color: #F8BB86; } + .sweet-alert .sa-icon.sa-info { + border-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::before { + content: ""; + position: absolute; + width: 5px; + height: 29px; + left: 50%; + bottom: 17px; + border-radius: 2px; + margin-left: -2px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-info::after { + content: ""; + position: absolute; + width: 7px; + height: 7px; + border-radius: 50%; + margin-left: -3px; + top: 19px; + background-color: #C9DAE1; } + .sweet-alert .sa-icon.sa-success { + border-color: #A5DC86; } + .sweet-alert .sa-icon.sa-success::before, .sweet-alert .sa-icon.sa-success::after { + content: ''; + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + position: absolute; + width: 60px; + height: 120px; + background: white; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success::before { + -webkit-border-radius: 120px 0 0 120px; + border-radius: 120px 0 0 120px; + top: -7px; + left: -33px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 60px 60px; + transform-origin: 60px 60px; } + .sweet-alert .sa-icon.sa-success::after { + -webkit-border-radius: 0 120px 120px 0; + border-radius: 0 120px 120px 0; + top: -11px; + left: 30px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); + -webkit-transform-origin: 0px 60px; + transform-origin: 0px 60px; } + .sweet-alert .sa-icon.sa-success .sa-placeholder { + width: 80px; + height: 80px; + border: 4px solid rgba(165, 220, 134, 0.2); + -webkit-border-radius: 40px; + border-radius: 40px; + border-radius: 50%; + box-sizing: content-box; + position: absolute; + left: -4px; + top: -4px; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-fix { + width: 5px; + height: 90px; + background-color: white; + position: absolute; + left: 28px; + top: 8px; + z-index: 1; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-success .sa-line { + height: 5px; + background-color: #A5DC86; + display: block; + border-radius: 2px; + position: absolute; + z-index: 2; } + .sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + width: 25px; + left: 14px; + top: 46px; + -webkit-transform: rotate(45deg); + transform: rotate(45deg); } + .sweet-alert .sa-icon.sa-success .sa-line.sa-long { + width: 47px; + right: 8px; + top: 38px; + -webkit-transform: rotate(-45deg); + transform: rotate(-45deg); } + .sweet-alert .sa-icon.sa-custom { + background-size: contain; + border-radius: 0; + border: none; + background-position: center center; + background-repeat: no-repeat; } + +/* + * Animations + */ +@-webkit-keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@keyframes showSweetAlert { + 0% { + transform: scale(0.7); + -webkit-transform: scale(0.7); } + 45% { + transform: scale(1.05); + -webkit-transform: scale(1.05); } + 80% { + transform: scale(0.95); + -webkit-transform: scale(0.95); } + 100% { + transform: scale(1); + -webkit-transform: scale(1); } } + +@-webkit-keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@keyframes hideSweetAlert { + 0% { + transform: scale(1); + -webkit-transform: scale(1); } + 100% { + transform: scale(0.5); + -webkit-transform: scale(0.5); } } + +@-webkit-keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@keyframes slideFromTop { + 0% { + top: 0%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@keyframes slideToTop { + 0% { + top: 50%; } + 100% { + top: 0%; } } + +@-webkit-keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@keyframes slideFromBottom { + 0% { + top: 70%; } + 100% { + top: 50%; } } + +@-webkit-keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +@keyframes slideToBottom { + 0% { + top: 50%; } + 100% { + top: 70%; } } + +.showSweetAlert[data-animation=pop] { + -webkit-animation: showSweetAlert 0.3s; + animation: showSweetAlert 0.3s; } + +.showSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.showSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideFromTop 0.3s; + animation: slideFromTop 0.3s; } + +.showSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideFromBottom 0.3s; + animation: slideFromBottom 0.3s; } + +.hideSweetAlert[data-animation=pop] { + -webkit-animation: hideSweetAlert 0.2s; + animation: hideSweetAlert 0.2s; } + +.hideSweetAlert[data-animation=none] { + -webkit-animation: none; + animation: none; } + +.hideSweetAlert[data-animation=slide-from-top] { + -webkit-animation: slideToTop 0.4s; + animation: slideToTop 0.4s; } + +.hideSweetAlert[data-animation=slide-from-bottom] { + -webkit-animation: slideToBottom 0.3s; + animation: slideToBottom 0.3s; } + +@-webkit-keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@keyframes animateSuccessTip { + 0% { + width: 0; + left: 1px; + top: 19px; } + 54% { + width: 0; + left: 1px; + top: 19px; } + 70% { + width: 50px; + left: -8px; + top: 37px; } + 84% { + width: 17px; + left: 21px; + top: 48px; } + 100% { + width: 25px; + left: 14px; + top: 45px; } } + +@-webkit-keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@keyframes animateSuccessLong { + 0% { + width: 0; + right: 46px; + top: 54px; } + 65% { + width: 0; + right: 46px; + top: 54px; } + 84% { + width: 55px; + right: 0px; + top: 35px; } + 100% { + width: 47px; + right: 8px; + top: 38px; } } + +@-webkit-keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +@keyframes rotatePlaceholder { + 0% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 5% { + transform: rotate(-45deg); + -webkit-transform: rotate(-45deg); } + 12% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } + 100% { + transform: rotate(-405deg); + -webkit-transform: rotate(-405deg); } } + +.animateSuccessTip { + -webkit-animation: animateSuccessTip 0.75s; + animation: animateSuccessTip 0.75s; } + +.animateSuccessLong { + -webkit-animation: animateSuccessLong 0.75s; + animation: animateSuccessLong 0.75s; } + +.sa-icon.sa-success.animate::after { + -webkit-animation: rotatePlaceholder 4.25s ease-in; + animation: rotatePlaceholder 4.25s ease-in; } + +@-webkit-keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +@keyframes animateErrorIcon { + 0% { + transform: rotateX(100deg); + -webkit-transform: rotateX(100deg); + opacity: 0; } + 100% { + transform: rotateX(0deg); + -webkit-transform: rotateX(0deg); + opacity: 1; } } + +.animateErrorIcon { + -webkit-animation: animateErrorIcon 0.5s; + animation: animateErrorIcon 0.5s; } + +@-webkit-keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +@keyframes animateXMark { + 0% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 50% { + transform: scale(0.4); + -webkit-transform: scale(0.4); + margin-top: 26px; + opacity: 0; } + 80% { + transform: scale(1.15); + -webkit-transform: scale(1.15); + margin-top: -6px; } + 100% { + transform: scale(1); + -webkit-transform: scale(1); + margin-top: 0; + opacity: 1; } } + +.animateXMark { + -webkit-animation: animateXMark 0.5s; + animation: animateXMark 0.5s; } + +@-webkit-keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +@keyframes pulseWarning { + 0% { + border-color: #F8D486; } + 100% { + border-color: #F8BB86; } } + +.pulseWarning { + -webkit-animation: pulseWarning 0.75s infinite alternate; + animation: pulseWarning 0.75s infinite alternate; } + +@-webkit-keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +@keyframes pulseWarningIns { + 0% { + background-color: #F8D486; } + 100% { + background-color: #F8BB86; } } + +.pulseWarningIns { + -webkit-animation: pulseWarningIns 0.75s infinite alternate; + animation: pulseWarningIns 0.75s infinite alternate; } + +@-webkit-keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +@keyframes rotate-loading { + 0% { + transform: rotate(0deg); } + 100% { + transform: rotate(360deg); } } + +/* Internet Explorer 9 has some special quirks that are fixed here */ +/* The icons are not animated. */ +/* This file is automatically merged into sweet-alert.min.js through Gulp */ +/* Error icon */ +.sweet-alert .sa-icon.sa-error .sa-line.sa-left { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-error .sa-line.sa-right { + -ms-transform: rotate(-45deg) \9; } + +/* Success icon */ +.sweet-alert .sa-icon.sa-success { + border-color: transparent\9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-tip { + -ms-transform: rotate(45deg) \9; } + +.sweet-alert .sa-icon.sa-success .sa-line.sa-long { + -ms-transform: rotate(-45deg) \9; } + +/*! + * Load Awesome v1.1.0 (http://github.danielcardoso.net/load-awesome/) + * Copyright 2015 Daniel Cardoso <@DanielCardoso> + * Licensed under MIT + */ +.la-ball-fall, +.la-ball-fall > div { + position: relative; + -webkit-box-sizing: border-box; + -moz-box-sizing: border-box; + box-sizing: border-box; } + +.la-ball-fall { + display: block; + font-size: 0; + color: #fff; } + +.la-ball-fall.la-dark { + color: #333; } + +.la-ball-fall > div { + display: inline-block; + float: none; + background-color: currentColor; + border: 0 solid currentColor; } + +.la-ball-fall { + width: 54px; + height: 18px; } + +.la-ball-fall > div { + width: 10px; + height: 10px; + margin: 4px; + border-radius: 100%; + opacity: 0; + -webkit-animation: ball-fall 1s ease-in-out infinite; + -moz-animation: ball-fall 1s ease-in-out infinite; + -o-animation: ball-fall 1s ease-in-out infinite; + animation: ball-fall 1s ease-in-out infinite; } + +.la-ball-fall > div:nth-child(1) { + -webkit-animation-delay: -200ms; + -moz-animation-delay: -200ms; + -o-animation-delay: -200ms; + animation-delay: -200ms; } + +.la-ball-fall > div:nth-child(2) { + -webkit-animation-delay: -100ms; + -moz-animation-delay: -100ms; + -o-animation-delay: -100ms; + animation-delay: -100ms; } + +.la-ball-fall > div:nth-child(3) { + -webkit-animation-delay: 0ms; + -moz-animation-delay: 0ms; + -o-animation-delay: 0ms; + animation-delay: 0ms; } + +.la-ball-fall.la-sm { + width: 26px; + height: 8px; } + +.la-ball-fall.la-sm > div { + width: 4px; + height: 4px; + margin: 2px; } + +.la-ball-fall.la-2x { + width: 108px; + height: 36px; } + +.la-ball-fall.la-2x > div { + width: 20px; + height: 20px; + margin: 8px; } + +.la-ball-fall.la-3x { + width: 162px; + height: 54px; } + +.la-ball-fall.la-3x > div { + width: 30px; + height: 30px; + margin: 12px; } + +/* + * Animation + */ +@-webkit-keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + transform: translateY(145%); } } + +@-moz-keyframes ball-fall { + 0% { + opacity: 0; + -moz-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -moz-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -moz-transform: translateY(145%); + transform: translateY(145%); } } + +@-o-keyframes ball-fall { + 0% { + opacity: 0; + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -o-transform: translateY(145%); + transform: translateY(145%); } } + +@keyframes ball-fall { + 0% { + opacity: 0; + -webkit-transform: translateY(-145%); + -moz-transform: translateY(-145%); + -o-transform: translateY(-145%); + transform: translateY(-145%); } + 10% { + opacity: .5; } + 20% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 80% { + opacity: 1; + -webkit-transform: translateY(0); + -moz-transform: translateY(0); + -o-transform: translateY(0); + transform: translateY(0); } + 90% { + opacity: .5; } + 100% { + opacity: 0; + -webkit-transform: translateY(145%); + -moz-transform: translateY(145%); + -o-transform: translateY(145%); + transform: translateY(145%); } } diff --git a/Penilaian-Esai/public/assets/images/favicon.ico b/Penilaian-Esai/public/assets/images/favicon.ico new file mode 100644 index 0000000000000000000000000000000000000000..6eeaa2a0d393190ce748107222d9a026f992e4a7 GIT binary patch literal 894 zcmZQzU<5(|0R|u`!H~hsz#zuJz@P!dKp_SNAO?xUfG{@$0|>*weY}F;x;`B~@Mg`jC-vo5%k$%{OoKy1zkdA+(K2o3 zEDKGQQ~gcX+N!TtEj1|9e2tL(rheJva*5dKY#gZsIRxM zB;!h75Wi?9l5?>z>S-`t`=OAFp5C?(007k>qM(bnVuyja#;c*qL9N z(Q%=@`f7d2?T&^wySIHjy#MKh?rZrO7i!Bt-@f(!@WDrwB`uD&)%Eqcd3o(gVV7ri zp6ji@(BF7(+uE0x&)(R!?s#YIg_7JW1=-KHZv1@s(DSxD9<^am-%+f#!uU}z9=j>5*%b{WE2`20#tutPWS1# zz4s39d~xOMwaqJzOl{rMU%#oo=xj&xyY1WF&71o?Hs-LOkAD^4SRbV?yXz(e#efNwKXpT1J^s+yE;1`KXoe5&f?1A$tYso}un=1c3AzCL>B&D=RpqN3i1hL&lnclP!D`u*G0#bsJv!oAH) z-rc|T`^Wdkrw?7(xb)_p%`Y#WdAn`Pvz+W#0Rbo6-Ha3zp1gPgjDkZ)k6Gz!@9D0( zG^hL4?)Be4zWep#`{$>RUhUoaq@wgyfd9*oU{6tz+SXQhl3284sj;T&{L=I*bGxt4 z@4vfX%A<*$FN^a&MMa!}GOXuX|8Oj3tosHiJ3*4TN zC7>_x-r1O=t(?KoTC+`+>7&2GzdqLHBg&F)2Q?&EGZ+}|Rpsc~9`m>jw35No)z4*} HQ$iB}HK{Sd literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/images/sort_asc_disabled.png b/Penilaian-Esai/public/assets/images/sort_asc_disabled.png new file mode 100644 index 0000000000000000000000000000000000000000..c9fdd8a1502fda301682e907afde86bc450da10f GIT binary patch literal 146 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S0wixl{&NRXk)AG&AsXkC6C_xhx$boC`TY4@ zxy7GKb-~?6->j|Q{b@g3TV7E(Grjn^aLC2o)_ptHrtUEoT$S@q)~)7U@V;W{6)!%@ u>N?4t-1qslpJw9!O?PJ&w0Cbycxyy87-Q;~nRxO8@-UU*I^KVWyN+&SiMHu5xDOu|HNvwzODfTdXjhVyNu1 z#7^XbGKZ7LW3XeONb$RKLeE*WhqbYpIXPIqK@r4)v+qN8um%99%MPpS9d#7Ed7SL@Bp00i_>zopr0H-Zb Aj{pDw literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/images/sort_desc.png b/Penilaian-Esai/public/assets/images/sort_desc.png new file mode 100644 index 0000000000000000000000000000000000000000..0e156deb5f61d18f9e2ec5da4f6a8c94a5b4fb41 GIT binary patch literal 158 zcmeAS@N?(olHy`uVBq!ia0vp^!XV7S1|*9D%+3I*R8JSj5R22v2@yo z(czD9$NuDl3Ljm9c#_#4$vXUz=f1~&WY3aa=h!;z7fOEN>ySP9QA=6C-^Dmb&tuM= z4Z&=WZU;2WF>e%GI&mWJk^K!jrbro{W;-I>FeCfLGJl3}+Z^2)3Kw?+EoAU?^>bP0 Hl+XkKC^ZT&|Jn0dmaqO^XNm-CGtk!Ur<_=Jws3;%W$<+Mb6Mw<&;$T1GdZXL literal 0 HcmV?d00001 diff --git a/Penilaian-Esai/public/assets/js/bootstrap.min.js b/Penilaian-Esai/public/assets/js/bootstrap.min.js new file mode 100644 index 0000000..3d72895 --- /dev/null +++ b/Penilaian-Esai/public/assets/js/bootstrap.min.js @@ -0,0 +1,1885 @@ +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +/*! + * Bootstrap v4.6.1 (https://getbootstrap.com/) + * Copyright 2011-2021 The Bootstrap Authors (https://github.com/twbs/bootstrap/graphs/contributors) + * Licensed under MIT (https://github.com/twbs/bootstrap/blob/main/LICENSE) + */ +!function (t, e) { + "object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) && "undefined" != typeof module ? e(exports, require("jquery"), require("popper.js")) : "function" == typeof define && define.amd ? define(["exports", "jquery", "popper.js"], e) : e((t = "undefined" != typeof globalThis ? globalThis : t || self).bootstrap = {}, t.jQuery, t.Popper); +}(this, function (t, e, n) { + "use strict"; + + function i(t) { + return t && "object" == _typeof(t) && "default" in t ? t : { + "default": t + }; + } + + var o = i(e), + a = i(n); + + function s(t, e) { + for (var n = 0; n < e.length; n++) { + var i = e[n]; + i.enumerable = i.enumerable || !1, i.configurable = !0, "value" in i && (i.writable = !0), Object.defineProperty(t, i.key, i); + } + } + + function l(t, e, n) { + return e && s(t.prototype, e), n && s(t, n), t; + } + + function r() { + return r = Object.assign || function (t) { + for (var e = 1; e < arguments.length; e++) { + var n = arguments[e]; + + for (var i in n) { + Object.prototype.hasOwnProperty.call(n, i) && (t[i] = n[i]); + } + } + + return t; + }, r.apply(this, arguments); + } + + function u(t, e) { + return u = Object.setPrototypeOf || function (t, e) { + return t.__proto__ = e, t; + }, u(t, e); + } + + var f = "transitionend"; + var d = { + TRANSITION_END: "bsTransitionEnd", + getUID: function getUID(t) { + do { + t += ~~(1e6 * Math.random()); + } while (document.getElementById(t)); + + return t; + }, + getSelectorFromElement: function getSelectorFromElement(t) { + var e = t.getAttribute("data-target"); + + if (!e || "#" === e) { + var n = t.getAttribute("href"); + e = n && "#" !== n ? n.trim() : ""; + } + + try { + return document.querySelector(e) ? e : null; + } catch (t) { + return null; + } + }, + getTransitionDurationFromElement: function getTransitionDurationFromElement(t) { + if (!t) return 0; + var e = o["default"](t).css("transition-duration"), + n = o["default"](t).css("transition-delay"), + i = parseFloat(e), + a = parseFloat(n); + return i || a ? (e = e.split(",")[0], n = n.split(",")[0], 1e3 * (parseFloat(e) + parseFloat(n))) : 0; + }, + reflow: function reflow(t) { + return t.offsetHeight; + }, + triggerTransitionEnd: function triggerTransitionEnd(t) { + o["default"](t).trigger(f); + }, + supportsTransitionEnd: function supportsTransitionEnd() { + return Boolean(f); + }, + isElement: function isElement(t) { + return (t[0] || t).nodeType; + }, + typeCheckConfig: function typeCheckConfig(t, e, n) { + for (var i in n) { + if (Object.prototype.hasOwnProperty.call(n, i)) { + var o = n[i], + a = e[i], + s = a && d.isElement(a) ? "element" : null === (l = a) || "undefined" == typeof l ? "" + l : {}.toString.call(l).match(/\s([a-z]+)/i)[1].toLowerCase(); + if (!new RegExp(o).test(s)) throw new Error(t.toUpperCase() + ': Option "' + i + '" provided type "' + s + '" but expected type "' + o + '".'); + } + } + + var l; + }, + findShadowRoot: function findShadowRoot(t) { + if (!document.documentElement.attachShadow) return null; + + if ("function" == typeof t.getRootNode) { + var e = t.getRootNode(); + return e instanceof ShadowRoot ? e : null; + } + + return t instanceof ShadowRoot ? t : t.parentNode ? d.findShadowRoot(t.parentNode) : null; + }, + jQueryDetection: function jQueryDetection() { + if ("undefined" == typeof o["default"]) throw new TypeError("Bootstrap's JavaScript requires jQuery. jQuery must be included before Bootstrap's JavaScript."); + var t = o["default"].fn.jquery.split(" ")[0].split("."); + if (t[0] < 2 && t[1] < 9 || 1 === t[0] && 9 === t[1] && t[2] < 1 || t[0] >= 4) throw new Error("Bootstrap's JavaScript requires at least jQuery v1.9.1 but less than v4.0.0"); + } + }; + d.jQueryDetection(), o["default"].fn.emulateTransitionEnd = function (t) { + var e = this, + n = !1; + return o["default"](this).one(d.TRANSITION_END, function () { + n = !0; + }), setTimeout(function () { + n || d.triggerTransitionEnd(e); + }, t), this; + }, o["default"].event.special[d.TRANSITION_END] = { + bindType: f, + delegateType: f, + handle: function handle(t) { + if (o["default"](t.target).is(this)) return t.handleObj.handler.apply(this, arguments); + } + }; + + var c = "bs.alert", + h = o["default"].fn.alert, + g = function () { + function t(t) { + this._element = t; + } + + var e = t.prototype; + return e.close = function (t) { + var e = this._element; + t && (e = this._getRootElement(t)), this._triggerCloseEvent(e).isDefaultPrevented() || this._removeElement(e); + }, e.dispose = function () { + o["default"].removeData(this._element, c), this._element = null; + }, e._getRootElement = function (t) { + var e = d.getSelectorFromElement(t), + n = !1; + return e && (n = document.querySelector(e)), n || (n = o["default"](t).closest(".alert")[0]), n; + }, e._triggerCloseEvent = function (t) { + var e = o["default"].Event("close.bs.alert"); + return o["default"](t).trigger(e), e; + }, e._removeElement = function (t) { + var e = this; + + if (o["default"](t).removeClass("show"), o["default"](t).hasClass("fade")) { + var n = d.getTransitionDurationFromElement(t); + o["default"](t).one(d.TRANSITION_END, function (n) { + return e._destroyElement(t, n); + }).emulateTransitionEnd(n); + } else this._destroyElement(t); + }, e._destroyElement = function (t) { + o["default"](t).detach().trigger("closed.bs.alert").remove(); + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this), + i = n.data(c); + i || (i = new t(this), n.data(c, i)), "close" === e && i[e](this); + }); + }, t._handleDismiss = function (t) { + return function (e) { + e && e.preventDefault(), t.close(this); + }; + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }]), t; + }(); + + o["default"](document).on("click.bs.alert.data-api", '[data-dismiss="alert"]', g._handleDismiss(new g())), o["default"].fn.alert = g._jQueryInterface, o["default"].fn.alert.Constructor = g, o["default"].fn.alert.noConflict = function () { + return o["default"].fn.alert = h, g._jQueryInterface; + }; + + var m = "bs.button", + p = o["default"].fn.button, + _ = "active", + v = '[data-toggle^="button"]', + y = 'input:not([type="hidden"])', + b = ".btn", + E = function () { + function t(t) { + this._element = t, this.shouldAvoidTriggerChange = !1; + } + + var e = t.prototype; + return e.toggle = function () { + var t = !0, + e = !0, + n = o["default"](this._element).closest('[data-toggle="buttons"]')[0]; + + if (n) { + var i = this._element.querySelector(y); + + if (i) { + if ("radio" === i.type) if (i.checked && this._element.classList.contains(_)) t = !1;else { + var a = n.querySelector(".active"); + a && o["default"](a).removeClass(_); + } + t && ("checkbox" !== i.type && "radio" !== i.type || (i.checked = !this._element.classList.contains(_)), this.shouldAvoidTriggerChange || o["default"](i).trigger("change")), i.focus(), e = !1; + } + } + + this._element.hasAttribute("disabled") || this._element.classList.contains("disabled") || (e && this._element.setAttribute("aria-pressed", !this._element.classList.contains(_)), t && o["default"](this._element).toggleClass(_)); + }, e.dispose = function () { + o["default"].removeData(this._element, m), this._element = null; + }, t._jQueryInterface = function (e, n) { + return this.each(function () { + var i = o["default"](this), + a = i.data(m); + a || (a = new t(this), i.data(m, a)), a.shouldAvoidTriggerChange = n, "toggle" === e && a[e](); + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }]), t; + }(); + + o["default"](document).on("click.bs.button.data-api", v, function (t) { + var e = t.target, + n = e; + if (o["default"](e).hasClass("btn") || (e = o["default"](e).closest(b)[0]), !e || e.hasAttribute("disabled") || e.classList.contains("disabled")) t.preventDefault();else { + var i = e.querySelector(y); + if (i && (i.hasAttribute("disabled") || i.classList.contains("disabled"))) return void t.preventDefault(); + "INPUT" !== n.tagName && "LABEL" === e.tagName || E._jQueryInterface.call(o["default"](e), "toggle", "INPUT" === n.tagName); + } + }).on("focus.bs.button.data-api blur.bs.button.data-api", v, function (t) { + var e = o["default"](t.target).closest(b)[0]; + o["default"](e).toggleClass("focus", /^focus(in)?$/.test(t.type)); + }), o["default"](window).on("load.bs.button.data-api", function () { + for (var t = [].slice.call(document.querySelectorAll('[data-toggle="buttons"] .btn')), e = 0, n = t.length; e < n; e++) { + var i = t[e], + o = i.querySelector(y); + o.checked || o.hasAttribute("checked") ? i.classList.add(_) : i.classList.remove(_); + } + + for (var a = 0, s = (t = [].slice.call(document.querySelectorAll('[data-toggle="button"]'))).length; a < s; a++) { + var l = t[a]; + "true" === l.getAttribute("aria-pressed") ? l.classList.add(_) : l.classList.remove(_); + } + }), o["default"].fn.button = E._jQueryInterface, o["default"].fn.button.Constructor = E, o["default"].fn.button.noConflict = function () { + return o["default"].fn.button = p, E._jQueryInterface; + }; + + var T = "carousel", + w = "bs.carousel", + C = o["default"].fn[T], + S = "active", + N = "next", + D = "prev", + A = "slid.bs.carousel", + I = ".active.carousel-item", + k = { + interval: 5e3, + keyboard: !0, + slide: !1, + pause: "hover", + wrap: !0, + touch: !0 + }, + O = { + interval: "(number|boolean)", + keyboard: "boolean", + slide: "(boolean|string)", + pause: "(string|boolean)", + wrap: "boolean", + touch: "boolean" + }, + j = { + TOUCH: "touch", + PEN: "pen" + }, + P = function () { + function t(t, e) { + this._items = null, this._interval = null, this._activeElement = null, this._isPaused = !1, this._isSliding = !1, this.touchTimeout = null, this.touchStartX = 0, this.touchDeltaX = 0, this._config = this._getConfig(e), this._element = t, this._indicatorsElement = this._element.querySelector(".carousel-indicators"), this._touchSupported = "ontouchstart" in document.documentElement || navigator.maxTouchPoints > 0, this._pointerEvent = Boolean(window.PointerEvent || window.MSPointerEvent), this._addEventListeners(); + } + + var e = t.prototype; + return e.next = function () { + this._isSliding || this._slide(N); + }, e.nextWhenVisible = function () { + var t = o["default"](this._element); + !document.hidden && t.is(":visible") && "hidden" !== t.css("visibility") && this.next(); + }, e.prev = function () { + this._isSliding || this._slide(D); + }, e.pause = function (t) { + t || (this._isPaused = !0), this._element.querySelector(".carousel-item-next, .carousel-item-prev") && (d.triggerTransitionEnd(this._element), this.cycle(!0)), clearInterval(this._interval), this._interval = null; + }, e.cycle = function (t) { + t || (this._isPaused = !1), this._interval && (clearInterval(this._interval), this._interval = null), this._config.interval && !this._isPaused && (this._updateInterval(), this._interval = setInterval((document.visibilityState ? this.nextWhenVisible : this.next).bind(this), this._config.interval)); + }, e.to = function (t) { + var e = this; + this._activeElement = this._element.querySelector(I); + + var n = this._getItemIndex(this._activeElement); + + if (!(t > this._items.length - 1 || t < 0)) if (this._isSliding) o["default"](this._element).one(A, function () { + return e.to(t); + });else { + if (n === t) return this.pause(), void this.cycle(); + var i = t > n ? N : D; + + this._slide(i, this._items[t]); + } + }, e.dispose = function () { + o["default"](this._element).off(".bs.carousel"), o["default"].removeData(this._element, w), this._items = null, this._config = null, this._element = null, this._interval = null, this._isPaused = null, this._isSliding = null, this._activeElement = null, this._indicatorsElement = null; + }, e._getConfig = function (t) { + return t = r({}, k, t), d.typeCheckConfig(T, t, O), t; + }, e._handleSwipe = function () { + var t = Math.abs(this.touchDeltaX); + + if (!(t <= 40)) { + var e = t / this.touchDeltaX; + this.touchDeltaX = 0, e > 0 && this.prev(), e < 0 && this.next(); + } + }, e._addEventListeners = function () { + var t = this; + this._config.keyboard && o["default"](this._element).on("keydown.bs.carousel", function (e) { + return t._keydown(e); + }), "hover" === this._config.pause && o["default"](this._element).on("mouseenter.bs.carousel", function (e) { + return t.pause(e); + }).on("mouseleave.bs.carousel", function (e) { + return t.cycle(e); + }), this._config.touch && this._addTouchEventListeners(); + }, e._addTouchEventListeners = function () { + var t = this; + + if (this._touchSupported) { + var e = function e(_e2) { + t._pointerEvent && j[_e2.originalEvent.pointerType.toUpperCase()] ? t.touchStartX = _e2.originalEvent.clientX : t._pointerEvent || (t.touchStartX = _e2.originalEvent.touches[0].clientX); + }, + n = function n(e) { + t._pointerEvent && j[e.originalEvent.pointerType.toUpperCase()] && (t.touchDeltaX = e.originalEvent.clientX - t.touchStartX), t._handleSwipe(), "hover" === t._config.pause && (t.pause(), t.touchTimeout && clearTimeout(t.touchTimeout), t.touchTimeout = setTimeout(function (e) { + return t.cycle(e); + }, 500 + t._config.interval)); + }; + + o["default"](this._element.querySelectorAll(".carousel-item img")).on("dragstart.bs.carousel", function (t) { + return t.preventDefault(); + }), this._pointerEvent ? (o["default"](this._element).on("pointerdown.bs.carousel", function (t) { + return e(t); + }), o["default"](this._element).on("pointerup.bs.carousel", function (t) { + return n(t); + }), this._element.classList.add("pointer-event")) : (o["default"](this._element).on("touchstart.bs.carousel", function (t) { + return e(t); + }), o["default"](this._element).on("touchmove.bs.carousel", function (e) { + return function (e) { + t.touchDeltaX = e.originalEvent.touches && e.originalEvent.touches.length > 1 ? 0 : e.originalEvent.touches[0].clientX - t.touchStartX; + }(e); + }), o["default"](this._element).on("touchend.bs.carousel", function (t) { + return n(t); + })); + } + }, e._keydown = function (t) { + if (!/input|textarea/i.test(t.target.tagName)) switch (t.which) { + case 37: + t.preventDefault(), this.prev(); + break; + + case 39: + t.preventDefault(), this.next(); + } + }, e._getItemIndex = function (t) { + return this._items = t && t.parentNode ? [].slice.call(t.parentNode.querySelectorAll(".carousel-item")) : [], this._items.indexOf(t); + }, e._getItemByDirection = function (t, e) { + var n = t === N, + i = t === D, + o = this._getItemIndex(e), + a = this._items.length - 1; + + if ((i && 0 === o || n && o === a) && !this._config.wrap) return e; + var s = (o + (t === D ? -1 : 1)) % this._items.length; + return -1 === s ? this._items[this._items.length - 1] : this._items[s]; + }, e._triggerSlideEvent = function (t, e) { + var n = this._getItemIndex(t), + i = this._getItemIndex(this._element.querySelector(I)), + a = o["default"].Event("slide.bs.carousel", { + relatedTarget: t, + direction: e, + from: i, + to: n + }); + + return o["default"](this._element).trigger(a), a; + }, e._setActiveIndicatorElement = function (t) { + if (this._indicatorsElement) { + var e = [].slice.call(this._indicatorsElement.querySelectorAll(".active")); + o["default"](e).removeClass(S); + + var n = this._indicatorsElement.children[this._getItemIndex(t)]; + + n && o["default"](n).addClass(S); + } + }, e._updateInterval = function () { + var t = this._activeElement || this._element.querySelector(I); + + if (t) { + var e = parseInt(t.getAttribute("data-interval"), 10); + e ? (this._config.defaultInterval = this._config.defaultInterval || this._config.interval, this._config.interval = e) : this._config.interval = this._config.defaultInterval || this._config.interval; + } + }, e._slide = function (t, e) { + var n, + i, + a, + s = this, + l = this._element.querySelector(I), + r = this._getItemIndex(l), + u = e || l && this._getItemByDirection(t, l), + f = this._getItemIndex(u), + c = Boolean(this._interval); + + if (t === N ? (n = "carousel-item-left", i = "carousel-item-next", a = "left") : (n = "carousel-item-right", i = "carousel-item-prev", a = "right"), u && o["default"](u).hasClass(S)) this._isSliding = !1;else if (!this._triggerSlideEvent(u, a).isDefaultPrevented() && l && u) { + this._isSliding = !0, c && this.pause(), this._setActiveIndicatorElement(u), this._activeElement = u; + var h = o["default"].Event(A, { + relatedTarget: u, + direction: a, + from: r, + to: f + }); + + if (o["default"](this._element).hasClass("slide")) { + o["default"](u).addClass(i), d.reflow(u), o["default"](l).addClass(n), o["default"](u).addClass(n); + var g = d.getTransitionDurationFromElement(l); + o["default"](l).one(d.TRANSITION_END, function () { + o["default"](u).removeClass(n + " " + i).addClass(S), o["default"](l).removeClass("active " + i + " " + n), s._isSliding = !1, setTimeout(function () { + return o["default"](s._element).trigger(h); + }, 0); + }).emulateTransitionEnd(g); + } else o["default"](l).removeClass(S), o["default"](u).addClass(S), this._isSliding = !1, o["default"](this._element).trigger(h); + + c && this.cycle(); + } + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this).data(w), + i = r({}, k, o["default"](this).data()); + "object" == _typeof(e) && (i = r({}, i, e)); + var a = "string" == typeof e ? e : i.slide; + if (n || (n = new t(this, i), o["default"](this).data(w, n)), "number" == typeof e) n.to(e);else if ("string" == typeof a) { + if ("undefined" == typeof n[a]) throw new TypeError('No method named "' + a + '"'); + n[a](); + } else i.interval && i.ride && (n.pause(), n.cycle()); + }); + }, t._dataApiClickHandler = function (e) { + var n = d.getSelectorFromElement(this); + + if (n) { + var i = o["default"](n)[0]; + + if (i && o["default"](i).hasClass("carousel")) { + var a = r({}, o["default"](i).data(), o["default"](this).data()), + s = this.getAttribute("data-slide-to"); + s && (a.interval = !1), t._jQueryInterface.call(o["default"](i), a), s && o["default"](i).data(w).to(s), e.preventDefault(); + } + } + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return k; + } + }]), t; + }(); + + o["default"](document).on("click.bs.carousel.data-api", "[data-slide], [data-slide-to]", P._dataApiClickHandler), o["default"](window).on("load.bs.carousel.data-api", function () { + for (var t = [].slice.call(document.querySelectorAll('[data-ride="carousel"]')), e = 0, n = t.length; e < n; e++) { + var i = o["default"](t[e]); + + P._jQueryInterface.call(i, i.data()); + } + }), o["default"].fn[T] = P._jQueryInterface, o["default"].fn[T].Constructor = P, o["default"].fn[T].noConflict = function () { + return o["default"].fn[T] = C, P._jQueryInterface; + }; + + var L = "collapse", + R = "bs.collapse", + x = o["default"].fn[L], + q = "show", + F = "collapse", + Q = "collapsing", + B = "collapsed", + H = "width", + U = '[data-toggle="collapse"]', + M = { + toggle: !0, + parent: "" + }, + W = { + toggle: "boolean", + parent: "(string|element)" + }, + V = function () { + function t(t, e) { + this._isTransitioning = !1, this._element = t, this._config = this._getConfig(e), this._triggerArray = [].slice.call(document.querySelectorAll('[data-toggle="collapse"][href="#' + t.id + '"],[data-toggle="collapse"][data-target="#' + t.id + '"]')); + + for (var n = [].slice.call(document.querySelectorAll(U)), i = 0, o = n.length; i < o; i++) { + var a = n[i], + s = d.getSelectorFromElement(a), + l = [].slice.call(document.querySelectorAll(s)).filter(function (e) { + return e === t; + }); + null !== s && l.length > 0 && (this._selector = s, this._triggerArray.push(a)); + } + + this._parent = this._config.parent ? this._getParent() : null, this._config.parent || this._addAriaAndCollapsedClass(this._element, this._triggerArray), this._config.toggle && this.toggle(); + } + + var e = t.prototype; + return e.toggle = function () { + o["default"](this._element).hasClass(q) ? this.hide() : this.show(); + }, e.show = function () { + var e, + n, + i = this; + + if (!(this._isTransitioning || o["default"](this._element).hasClass(q) || (this._parent && 0 === (e = [].slice.call(this._parent.querySelectorAll(".show, .collapsing")).filter(function (t) { + return "string" == typeof i._config.parent ? t.getAttribute("data-parent") === i._config.parent : t.classList.contains(F); + })).length && (e = null), e && (n = o["default"](e).not(this._selector).data(R)) && n._isTransitioning))) { + var a = o["default"].Event("show.bs.collapse"); + + if (o["default"](this._element).trigger(a), !a.isDefaultPrevented()) { + e && (t._jQueryInterface.call(o["default"](e).not(this._selector), "hide"), n || o["default"](e).data(R, null)); + + var s = this._getDimension(); + + o["default"](this._element).removeClass(F).addClass(Q), this._element.style[s] = 0, this._triggerArray.length && o["default"](this._triggerArray).removeClass(B).attr("aria-expanded", !0), this.setTransitioning(!0); + var l = "scroll" + (s[0].toUpperCase() + s.slice(1)), + r = d.getTransitionDurationFromElement(this._element); + o["default"](this._element).one(d.TRANSITION_END, function () { + o["default"](i._element).removeClass(Q).addClass("collapse show"), i._element.style[s] = "", i.setTransitioning(!1), o["default"](i._element).trigger("shown.bs.collapse"); + }).emulateTransitionEnd(r), this._element.style[s] = this._element[l] + "px"; + } + } + }, e.hide = function () { + var t = this; + + if (!this._isTransitioning && o["default"](this._element).hasClass(q)) { + var e = o["default"].Event("hide.bs.collapse"); + + if (o["default"](this._element).trigger(e), !e.isDefaultPrevented()) { + var n = this._getDimension(); + + this._element.style[n] = this._element.getBoundingClientRect()[n] + "px", d.reflow(this._element), o["default"](this._element).addClass(Q).removeClass("collapse show"); + var i = this._triggerArray.length; + if (i > 0) for (var a = 0; a < i; a++) { + var s = this._triggerArray[a], + l = d.getSelectorFromElement(s); + null !== l && (o["default"]([].slice.call(document.querySelectorAll(l))).hasClass(q) || o["default"](s).addClass(B).attr("aria-expanded", !1)); + } + this.setTransitioning(!0), this._element.style[n] = ""; + var r = d.getTransitionDurationFromElement(this._element); + o["default"](this._element).one(d.TRANSITION_END, function () { + t.setTransitioning(!1), o["default"](t._element).removeClass(Q).addClass(F).trigger("hidden.bs.collapse"); + }).emulateTransitionEnd(r); + } + } + }, e.setTransitioning = function (t) { + this._isTransitioning = t; + }, e.dispose = function () { + o["default"].removeData(this._element, R), this._config = null, this._parent = null, this._element = null, this._triggerArray = null, this._isTransitioning = null; + }, e._getConfig = function (t) { + return (t = r({}, M, t)).toggle = Boolean(t.toggle), d.typeCheckConfig(L, t, W), t; + }, e._getDimension = function () { + return o["default"](this._element).hasClass(H) ? H : "height"; + }, e._getParent = function () { + var e, + n = this; + d.isElement(this._config.parent) ? (e = this._config.parent, "undefined" != typeof this._config.parent.jquery && (e = this._config.parent[0])) : e = document.querySelector(this._config.parent); + var i = '[data-toggle="collapse"][data-parent="' + this._config.parent + '"]', + a = [].slice.call(e.querySelectorAll(i)); + return o["default"](a).each(function (e, i) { + n._addAriaAndCollapsedClass(t._getTargetFromElement(i), [i]); + }), e; + }, e._addAriaAndCollapsedClass = function (t, e) { + var n = o["default"](t).hasClass(q); + e.length && o["default"](e).toggleClass(B, !n).attr("aria-expanded", n); + }, t._getTargetFromElement = function (t) { + var e = d.getSelectorFromElement(t); + return e ? document.querySelector(e) : null; + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this), + i = n.data(R), + a = r({}, M, n.data(), "object" == _typeof(e) && e ? e : {}); + + if (!i && a.toggle && "string" == typeof e && /show|hide/.test(e) && (a.toggle = !1), i || (i = new t(this, a), n.data(R, i)), "string" == typeof e) { + if ("undefined" == typeof i[e]) throw new TypeError('No method named "' + e + '"'); + i[e](); + } + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return M; + } + }]), t; + }(); + + o["default"](document).on("click.bs.collapse.data-api", U, function (t) { + "A" === t.currentTarget.tagName && t.preventDefault(); + var e = o["default"](this), + n = d.getSelectorFromElement(this), + i = [].slice.call(document.querySelectorAll(n)); + o["default"](i).each(function () { + var t = o["default"](this), + n = t.data(R) ? "toggle" : e.data(); + + V._jQueryInterface.call(t, n); + }); + }), o["default"].fn[L] = V._jQueryInterface, o["default"].fn[L].Constructor = V, o["default"].fn[L].noConflict = function () { + return o["default"].fn[L] = x, V._jQueryInterface; + }; + + var z = "dropdown", + K = "bs.dropdown", + X = o["default"].fn[z], + Y = new RegExp("38|40|27"), + $ = "disabled", + J = "show", + G = "dropdown-menu-right", + Z = "hide.bs.dropdown", + tt = "hidden.bs.dropdown", + et = "click.bs.dropdown.data-api", + nt = "keydown.bs.dropdown.data-api", + it = '[data-toggle="dropdown"]', + ot = ".dropdown-menu", + at = { + offset: 0, + flip: !0, + boundary: "scrollParent", + reference: "toggle", + display: "dynamic", + popperConfig: null + }, + st = { + offset: "(number|string|function)", + flip: "boolean", + boundary: "(string|element)", + reference: "(string|element)", + display: "string", + popperConfig: "(null|object)" + }, + lt = function () { + function t(t, e) { + this._element = t, this._popper = null, this._config = this._getConfig(e), this._menu = this._getMenuElement(), this._inNavbar = this._detectNavbar(), this._addEventListeners(); + } + + var e = t.prototype; + return e.toggle = function () { + if (!this._element.disabled && !o["default"](this._element).hasClass($)) { + var e = o["default"](this._menu).hasClass(J); + t._clearMenus(), e || this.show(!0); + } + }, e.show = function (e) { + if (void 0 === e && (e = !1), !(this._element.disabled || o["default"](this._element).hasClass($) || o["default"](this._menu).hasClass(J))) { + var n = { + relatedTarget: this._element + }, + i = o["default"].Event("show.bs.dropdown", n), + s = t._getParentFromElement(this._element); + + if (o["default"](s).trigger(i), !i.isDefaultPrevented()) { + if (!this._inNavbar && e) { + if ("undefined" == typeof a["default"]) throw new TypeError("Bootstrap's dropdowns require Popper (https://popper.js.org)"); + var l = this._element; + "parent" === this._config.reference ? l = s : d.isElement(this._config.reference) && (l = this._config.reference, "undefined" != typeof this._config.reference.jquery && (l = this._config.reference[0])), "scrollParent" !== this._config.boundary && o["default"](s).addClass("position-static"), this._popper = new a["default"](l, this._menu, this._getPopperConfig()); + } + + "ontouchstart" in document.documentElement && 0 === o["default"](s).closest(".navbar-nav").length && o["default"](document.body).children().on("mouseover", null, o["default"].noop), this._element.focus(), this._element.setAttribute("aria-expanded", !0), o["default"](this._menu).toggleClass(J), o["default"](s).toggleClass(J).trigger(o["default"].Event("shown.bs.dropdown", n)); + } + } + }, e.hide = function () { + if (!this._element.disabled && !o["default"](this._element).hasClass($) && o["default"](this._menu).hasClass(J)) { + var e = { + relatedTarget: this._element + }, + n = o["default"].Event(Z, e), + i = t._getParentFromElement(this._element); + + o["default"](i).trigger(n), n.isDefaultPrevented() || (this._popper && this._popper.destroy(), o["default"](this._menu).toggleClass(J), o["default"](i).toggleClass(J).trigger(o["default"].Event(tt, e))); + } + }, e.dispose = function () { + o["default"].removeData(this._element, K), o["default"](this._element).off(".bs.dropdown"), this._element = null, this._menu = null, null !== this._popper && (this._popper.destroy(), this._popper = null); + }, e.update = function () { + this._inNavbar = this._detectNavbar(), null !== this._popper && this._popper.scheduleUpdate(); + }, e._addEventListeners = function () { + var t = this; + o["default"](this._element).on("click.bs.dropdown", function (e) { + e.preventDefault(), e.stopPropagation(), t.toggle(); + }); + }, e._getConfig = function (t) { + return t = r({}, this.constructor.Default, o["default"](this._element).data(), t), d.typeCheckConfig(z, t, this.constructor.DefaultType), t; + }, e._getMenuElement = function () { + if (!this._menu) { + var e = t._getParentFromElement(this._element); + + e && (this._menu = e.querySelector(ot)); + } + + return this._menu; + }, e._getPlacement = function () { + var t = o["default"](this._element.parentNode), + e = "bottom-start"; + return t.hasClass("dropup") ? e = o["default"](this._menu).hasClass(G) ? "top-end" : "top-start" : t.hasClass("dropright") ? e = "right-start" : t.hasClass("dropleft") ? e = "left-start" : o["default"](this._menu).hasClass(G) && (e = "bottom-end"), e; + }, e._detectNavbar = function () { + return o["default"](this._element).closest(".navbar").length > 0; + }, e._getOffset = function () { + var t = this, + e = {}; + return "function" == typeof this._config.offset ? e.fn = function (e) { + return e.offsets = r({}, e.offsets, t._config.offset(e.offsets, t._element)), e; + } : e.offset = this._config.offset, e; + }, e._getPopperConfig = function () { + var t = { + placement: this._getPlacement(), + modifiers: { + offset: this._getOffset(), + flip: { + enabled: this._config.flip + }, + preventOverflow: { + boundariesElement: this._config.boundary + } + } + }; + return "static" === this._config.display && (t.modifiers.applyStyle = { + enabled: !1 + }), r({}, t, this._config.popperConfig); + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this).data(K); + + if (n || (n = new t(this, "object" == _typeof(e) ? e : null), o["default"](this).data(K, n)), "string" == typeof e) { + if ("undefined" == typeof n[e]) throw new TypeError('No method named "' + e + '"'); + n[e](); + } + }); + }, t._clearMenus = function (e) { + if (!e || 3 !== e.which && ("keyup" !== e.type || 9 === e.which)) for (var n = [].slice.call(document.querySelectorAll(it)), i = 0, a = n.length; i < a; i++) { + var s = t._getParentFromElement(n[i]), + l = o["default"](n[i]).data(K), + r = { + relatedTarget: n[i] + }; + + if (e && "click" === e.type && (r.clickEvent = e), l) { + var u = l._menu; + + if (o["default"](s).hasClass(J) && !(e && ("click" === e.type && /input|textarea/i.test(e.target.tagName) || "keyup" === e.type && 9 === e.which) && o["default"].contains(s, e.target))) { + var f = o["default"].Event(Z, r); + o["default"](s).trigger(f), f.isDefaultPrevented() || ("ontouchstart" in document.documentElement && o["default"](document.body).children().off("mouseover", null, o["default"].noop), n[i].setAttribute("aria-expanded", "false"), l._popper && l._popper.destroy(), o["default"](u).removeClass(J), o["default"](s).removeClass(J).trigger(o["default"].Event(tt, r))); + } + } + } + }, t._getParentFromElement = function (t) { + var e, + n = d.getSelectorFromElement(t); + return n && (e = document.querySelector(n)), e || t.parentNode; + }, t._dataApiKeydownHandler = function (e) { + if (!(/input|textarea/i.test(e.target.tagName) ? 32 === e.which || 27 !== e.which && (40 !== e.which && 38 !== e.which || o["default"](e.target).closest(ot).length) : !Y.test(e.which)) && !this.disabled && !o["default"](this).hasClass($)) { + var n = t._getParentFromElement(this), + i = o["default"](n).hasClass(J); + + if (i || 27 !== e.which) { + if (e.preventDefault(), e.stopPropagation(), !i || 27 === e.which || 32 === e.which) return 27 === e.which && o["default"](n.querySelector(it)).trigger("focus"), void o["default"](this).trigger("click"); + var a = [].slice.call(n.querySelectorAll(".dropdown-menu .dropdown-item:not(.disabled):not(:disabled)")).filter(function (t) { + return o["default"](t).is(":visible"); + }); + + if (0 !== a.length) { + var s = a.indexOf(e.target); + 38 === e.which && s > 0 && s--, 40 === e.which && s < a.length - 1 && s++, s < 0 && (s = 0), a[s].focus(); + } + } + } + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return at; + } + }, { + key: "DefaultType", + get: function get() { + return st; + } + }]), t; + }(); + + o["default"](document).on(nt, it, lt._dataApiKeydownHandler).on(nt, ot, lt._dataApiKeydownHandler).on(et + " keyup.bs.dropdown.data-api", lt._clearMenus).on(et, it, function (t) { + t.preventDefault(), t.stopPropagation(), lt._jQueryInterface.call(o["default"](this), "toggle"); + }).on(et, ".dropdown form", function (t) { + t.stopPropagation(); + }), o["default"].fn[z] = lt._jQueryInterface, o["default"].fn[z].Constructor = lt, o["default"].fn[z].noConflict = function () { + return o["default"].fn[z] = X, lt._jQueryInterface; + }; + + var rt = "bs.modal", + ut = o["default"].fn.modal, + ft = "modal-open", + dt = "fade", + ct = "show", + ht = "modal-static", + gt = "hidden.bs.modal", + mt = "show.bs.modal", + pt = "focusin.bs.modal", + _t = "resize.bs.modal", + vt = "click.dismiss.bs.modal", + yt = "keydown.dismiss.bs.modal", + bt = "mousedown.dismiss.bs.modal", + Et = ".fixed-top, .fixed-bottom, .is-fixed, .sticky-top", + Tt = { + backdrop: !0, + keyboard: !0, + focus: !0, + show: !0 + }, + wt = { + backdrop: "(boolean|string)", + keyboard: "boolean", + focus: "boolean", + show: "boolean" + }, + Ct = function () { + function t(t, e) { + this._config = this._getConfig(e), this._element = t, this._dialog = t.querySelector(".modal-dialog"), this._backdrop = null, this._isShown = !1, this._isBodyOverflowing = !1, this._ignoreBackdropClick = !1, this._isTransitioning = !1, this._scrollbarWidth = 0; + } + + var e = t.prototype; + return e.toggle = function (t) { + return this._isShown ? this.hide() : this.show(t); + }, e.show = function (t) { + var e = this; + + if (!this._isShown && !this._isTransitioning) { + var n = o["default"].Event(mt, { + relatedTarget: t + }); + o["default"](this._element).trigger(n), n.isDefaultPrevented() || (this._isShown = !0, o["default"](this._element).hasClass(dt) && (this._isTransitioning = !0), this._checkScrollbar(), this._setScrollbar(), this._adjustDialog(), this._setEscapeEvent(), this._setResizeEvent(), o["default"](this._element).on(vt, '[data-dismiss="modal"]', function (t) { + return e.hide(t); + }), o["default"](this._dialog).on(bt, function () { + o["default"](e._element).one("mouseup.dismiss.bs.modal", function (t) { + o["default"](t.target).is(e._element) && (e._ignoreBackdropClick = !0); + }); + }), this._showBackdrop(function () { + return e._showElement(t); + })); + } + }, e.hide = function (t) { + var e = this; + + if (t && t.preventDefault(), this._isShown && !this._isTransitioning) { + var n = o["default"].Event("hide.bs.modal"); + + if (o["default"](this._element).trigger(n), this._isShown && !n.isDefaultPrevented()) { + this._isShown = !1; + var i = o["default"](this._element).hasClass(dt); + + if (i && (this._isTransitioning = !0), this._setEscapeEvent(), this._setResizeEvent(), o["default"](document).off(pt), o["default"](this._element).removeClass(ct), o["default"](this._element).off(vt), o["default"](this._dialog).off(bt), i) { + var a = d.getTransitionDurationFromElement(this._element); + o["default"](this._element).one(d.TRANSITION_END, function (t) { + return e._hideModal(t); + }).emulateTransitionEnd(a); + } else this._hideModal(); + } + } + }, e.dispose = function () { + [window, this._element, this._dialog].forEach(function (t) { + return o["default"](t).off(".bs.modal"); + }), o["default"](document).off(pt), o["default"].removeData(this._element, rt), this._config = null, this._element = null, this._dialog = null, this._backdrop = null, this._isShown = null, this._isBodyOverflowing = null, this._ignoreBackdropClick = null, this._isTransitioning = null, this._scrollbarWidth = null; + }, e.handleUpdate = function () { + this._adjustDialog(); + }, e._getConfig = function (t) { + return t = r({}, Tt, t), d.typeCheckConfig("modal", t, wt), t; + }, e._triggerBackdropTransition = function () { + var t = this, + e = o["default"].Event("hidePrevented.bs.modal"); + + if (o["default"](this._element).trigger(e), !e.isDefaultPrevented()) { + var n = this._element.scrollHeight > document.documentElement.clientHeight; + n || (this._element.style.overflowY = "hidden"), this._element.classList.add(ht); + var i = d.getTransitionDurationFromElement(this._dialog); + o["default"](this._element).off(d.TRANSITION_END), o["default"](this._element).one(d.TRANSITION_END, function () { + t._element.classList.remove(ht), n || o["default"](t._element).one(d.TRANSITION_END, function () { + t._element.style.overflowY = ""; + }).emulateTransitionEnd(t._element, i); + }).emulateTransitionEnd(i), this._element.focus(); + } + }, e._showElement = function (t) { + var e = this, + n = o["default"](this._element).hasClass(dt), + i = this._dialog ? this._dialog.querySelector(".modal-body") : null; + this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE || document.body.appendChild(this._element), this._element.style.display = "block", this._element.removeAttribute("aria-hidden"), this._element.setAttribute("aria-modal", !0), this._element.setAttribute("role", "dialog"), o["default"](this._dialog).hasClass("modal-dialog-scrollable") && i ? i.scrollTop = 0 : this._element.scrollTop = 0, n && d.reflow(this._element), o["default"](this._element).addClass(ct), this._config.focus && this._enforceFocus(); + + var a = o["default"].Event("shown.bs.modal", { + relatedTarget: t + }), + s = function s() { + e._config.focus && e._element.focus(), e._isTransitioning = !1, o["default"](e._element).trigger(a); + }; + + if (n) { + var l = d.getTransitionDurationFromElement(this._dialog); + o["default"](this._dialog).one(d.TRANSITION_END, s).emulateTransitionEnd(l); + } else s(); + }, e._enforceFocus = function () { + var t = this; + o["default"](document).off(pt).on(pt, function (e) { + document !== e.target && t._element !== e.target && 0 === o["default"](t._element).has(e.target).length && t._element.focus(); + }); + }, e._setEscapeEvent = function () { + var t = this; + this._isShown ? o["default"](this._element).on(yt, function (e) { + t._config.keyboard && 27 === e.which ? (e.preventDefault(), t.hide()) : t._config.keyboard || 27 !== e.which || t._triggerBackdropTransition(); + }) : this._isShown || o["default"](this._element).off(yt); + }, e._setResizeEvent = function () { + var t = this; + this._isShown ? o["default"](window).on(_t, function (e) { + return t.handleUpdate(e); + }) : o["default"](window).off(_t); + }, e._hideModal = function () { + var t = this; + this._element.style.display = "none", this._element.setAttribute("aria-hidden", !0), this._element.removeAttribute("aria-modal"), this._element.removeAttribute("role"), this._isTransitioning = !1, this._showBackdrop(function () { + o["default"](document.body).removeClass(ft), t._resetAdjustments(), t._resetScrollbar(), o["default"](t._element).trigger(gt); + }); + }, e._removeBackdrop = function () { + this._backdrop && (o["default"](this._backdrop).remove(), this._backdrop = null); + }, e._showBackdrop = function (t) { + var e = this, + n = o["default"](this._element).hasClass(dt) ? dt : ""; + + if (this._isShown && this._config.backdrop) { + if (this._backdrop = document.createElement("div"), this._backdrop.className = "modal-backdrop", n && this._backdrop.classList.add(n), o["default"](this._backdrop).appendTo(document.body), o["default"](this._element).on(vt, function (t) { + e._ignoreBackdropClick ? e._ignoreBackdropClick = !1 : t.target === t.currentTarget && ("static" === e._config.backdrop ? e._triggerBackdropTransition() : e.hide()); + }), n && d.reflow(this._backdrop), o["default"](this._backdrop).addClass(ct), !t) return; + if (!n) return void t(); + var i = d.getTransitionDurationFromElement(this._backdrop); + o["default"](this._backdrop).one(d.TRANSITION_END, t).emulateTransitionEnd(i); + } else if (!this._isShown && this._backdrop) { + o["default"](this._backdrop).removeClass(ct); + + var a = function a() { + e._removeBackdrop(), t && t(); + }; + + if (o["default"](this._element).hasClass(dt)) { + var s = d.getTransitionDurationFromElement(this._backdrop); + o["default"](this._backdrop).one(d.TRANSITION_END, a).emulateTransitionEnd(s); + } else a(); + } else t && t(); + }, e._adjustDialog = function () { + var t = this._element.scrollHeight > document.documentElement.clientHeight; + !this._isBodyOverflowing && t && (this._element.style.paddingLeft = this._scrollbarWidth + "px"), this._isBodyOverflowing && !t && (this._element.style.paddingRight = this._scrollbarWidth + "px"); + }, e._resetAdjustments = function () { + this._element.style.paddingLeft = "", this._element.style.paddingRight = ""; + }, e._checkScrollbar = function () { + var t = document.body.getBoundingClientRect(); + this._isBodyOverflowing = Math.round(t.left + t.right) < window.innerWidth, this._scrollbarWidth = this._getScrollbarWidth(); + }, e._setScrollbar = function () { + var t = this; + + if (this._isBodyOverflowing) { + var e = [].slice.call(document.querySelectorAll(Et)), + n = [].slice.call(document.querySelectorAll(".sticky-top")); + o["default"](e).each(function (e, n) { + var i = n.style.paddingRight, + a = o["default"](n).css("padding-right"); + o["default"](n).data("padding-right", i).css("padding-right", parseFloat(a) + t._scrollbarWidth + "px"); + }), o["default"](n).each(function (e, n) { + var i = n.style.marginRight, + a = o["default"](n).css("margin-right"); + o["default"](n).data("margin-right", i).css("margin-right", parseFloat(a) - t._scrollbarWidth + "px"); + }); + var i = document.body.style.paddingRight, + a = o["default"](document.body).css("padding-right"); + o["default"](document.body).data("padding-right", i).css("padding-right", parseFloat(a) + this._scrollbarWidth + "px"); + } + + o["default"](document.body).addClass(ft); + }, e._resetScrollbar = function () { + var t = [].slice.call(document.querySelectorAll(Et)); + o["default"](t).each(function (t, e) { + var n = o["default"](e).data("padding-right"); + o["default"](e).removeData("padding-right"), e.style.paddingRight = n || ""; + }); + var e = [].slice.call(document.querySelectorAll(".sticky-top")); + o["default"](e).each(function (t, e) { + var n = o["default"](e).data("margin-right"); + "undefined" != typeof n && o["default"](e).css("margin-right", n).removeData("margin-right"); + }); + var n = o["default"](document.body).data("padding-right"); + o["default"](document.body).removeData("padding-right"), document.body.style.paddingRight = n || ""; + }, e._getScrollbarWidth = function () { + var t = document.createElement("div"); + t.className = "modal-scrollbar-measure", document.body.appendChild(t); + var e = t.getBoundingClientRect().width - t.clientWidth; + return document.body.removeChild(t), e; + }, t._jQueryInterface = function (e, n) { + return this.each(function () { + var i = o["default"](this).data(rt), + a = r({}, Tt, o["default"](this).data(), "object" == _typeof(e) && e ? e : {}); + + if (i || (i = new t(this, a), o["default"](this).data(rt, i)), "string" == typeof e) { + if ("undefined" == typeof i[e]) throw new TypeError('No method named "' + e + '"'); + i[e](n); + } else a.show && i.show(n); + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return Tt; + } + }]), t; + }(); + + o["default"](document).on("click.bs.modal.data-api", '[data-toggle="modal"]', function (t) { + var e, + n = this, + i = d.getSelectorFromElement(this); + i && (e = document.querySelector(i)); + var a = o["default"](e).data(rt) ? "toggle" : r({}, o["default"](e).data(), o["default"](this).data()); + "A" !== this.tagName && "AREA" !== this.tagName || t.preventDefault(); + var s = o["default"](e).one(mt, function (t) { + t.isDefaultPrevented() || s.one(gt, function () { + o["default"](n).is(":visible") && n.focus(); + }); + }); + + Ct._jQueryInterface.call(o["default"](e), a, this); + }), o["default"].fn.modal = Ct._jQueryInterface, o["default"].fn.modal.Constructor = Ct, o["default"].fn.modal.noConflict = function () { + return o["default"].fn.modal = ut, Ct._jQueryInterface; + }; + var St = ["background", "cite", "href", "itemtype", "longdesc", "poster", "src", "xlink:href"], + Nt = /^(?:(?:https?|mailto|ftp|tel|file|sms):|[^#&/:?]*(?:[#/?]|$))/i, + Dt = /^data:(?:image\/(?:bmp|gif|jpeg|jpg|png|tiff|webp)|video\/(?:mpeg|mp4|ogg|webm)|audio\/(?:mp3|oga|ogg|opus));base64,[\d+/a-z]+=*$/i; + + function At(t, e, n) { + if (0 === t.length) return t; + if (n && "function" == typeof n) return n(t); + + for (var i = new window.DOMParser().parseFromString(t, "text/html"), o = Object.keys(e), a = [].slice.call(i.body.querySelectorAll("*")), s = function s(t, n) { + var i = a[t], + s = i.nodeName.toLowerCase(); + if (-1 === o.indexOf(i.nodeName.toLowerCase())) return i.parentNode.removeChild(i), "continue"; + var l = [].slice.call(i.attributes), + r = [].concat(e["*"] || [], e[s] || []); + l.forEach(function (t) { + (function (t, e) { + var n = t.nodeName.toLowerCase(); + if (-1 !== e.indexOf(n)) return -1 === St.indexOf(n) || Boolean(Nt.test(t.nodeValue) || Dt.test(t.nodeValue)); + + for (var i = e.filter(function (t) { + return t instanceof RegExp; + }), o = 0, a = i.length; o < a; o++) { + if (i[o].test(n)) return !0; + } + + return !1; + })(t, r) || i.removeAttribute(t.nodeName); + }); + }, l = 0, r = a.length; l < r; l++) { + s(l); + } + + return i.body.innerHTML; + } + + var It = "tooltip", + kt = "bs.tooltip", + Ot = o["default"].fn.tooltip, + jt = new RegExp("(^|\\s)bs-tooltip\\S+", "g"), + Pt = ["sanitize", "whiteList", "sanitizeFn"], + Lt = "fade", + Rt = "show", + xt = "show", + qt = "out", + Ft = "hover", + Qt = "focus", + Bt = { + AUTO: "auto", + TOP: "top", + RIGHT: "right", + BOTTOM: "bottom", + LEFT: "left" + }, + Ht = { + animation: !0, + template: '', + trigger: "hover focus", + title: "", + delay: 0, + html: !1, + selector: !1, + placement: "top", + offset: 0, + container: !1, + fallbackPlacement: "flip", + boundary: "scrollParent", + customClass: "", + sanitize: !0, + sanitizeFn: null, + whiteList: { + "*": ["class", "dir", "id", "lang", "role", /^aria-[\w-]*$/i], + a: ["target", "href", "title", "rel"], + area: [], + b: [], + br: [], + col: [], + code: [], + div: [], + em: [], + hr: [], + h1: [], + h2: [], + h3: [], + h4: [], + h5: [], + h6: [], + i: [], + img: ["src", "srcset", "alt", "title", "width", "height"], + li: [], + ol: [], + p: [], + pre: [], + s: [], + small: [], + span: [], + sub: [], + sup: [], + strong: [], + u: [], + ul: [] + }, + popperConfig: null + }, + Ut = { + animation: "boolean", + template: "string", + title: "(string|element|function)", + trigger: "string", + delay: "(number|object)", + html: "boolean", + selector: "(string|boolean)", + placement: "(string|function)", + offset: "(number|string|function)", + container: "(string|element|boolean)", + fallbackPlacement: "(string|array)", + boundary: "(string|element)", + customClass: "(string|function)", + sanitize: "boolean", + sanitizeFn: "(null|function)", + whiteList: "object", + popperConfig: "(null|object)" + }, + Mt = { + HIDE: "hide.bs.tooltip", + HIDDEN: "hidden.bs.tooltip", + SHOW: "show.bs.tooltip", + SHOWN: "shown.bs.tooltip", + INSERTED: "inserted.bs.tooltip", + CLICK: "click.bs.tooltip", + FOCUSIN: "focusin.bs.tooltip", + FOCUSOUT: "focusout.bs.tooltip", + MOUSEENTER: "mouseenter.bs.tooltip", + MOUSELEAVE: "mouseleave.bs.tooltip" + }, + Wt = function () { + function t(t, e) { + if ("undefined" == typeof a["default"]) throw new TypeError("Bootstrap's tooltips require Popper (https://popper.js.org)"); + this._isEnabled = !0, this._timeout = 0, this._hoverState = "", this._activeTrigger = {}, this._popper = null, this.element = t, this.config = this._getConfig(e), this.tip = null, this._setListeners(); + } + + var e = t.prototype; + return e.enable = function () { + this._isEnabled = !0; + }, e.disable = function () { + this._isEnabled = !1; + }, e.toggleEnabled = function () { + this._isEnabled = !this._isEnabled; + }, e.toggle = function (t) { + if (this._isEnabled) if (t) { + var e = this.constructor.DATA_KEY, + n = o["default"](t.currentTarget).data(e); + n || (n = new this.constructor(t.currentTarget, this._getDelegateConfig()), o["default"](t.currentTarget).data(e, n)), n._activeTrigger.click = !n._activeTrigger.click, n._isWithActiveTrigger() ? n._enter(null, n) : n._leave(null, n); + } else { + if (o["default"](this.getTipElement()).hasClass(Rt)) return void this._leave(null, this); + + this._enter(null, this); + } + }, e.dispose = function () { + clearTimeout(this._timeout), o["default"].removeData(this.element, this.constructor.DATA_KEY), o["default"](this.element).off(this.constructor.EVENT_KEY), o["default"](this.element).closest(".modal").off("hide.bs.modal", this._hideModalHandler), this.tip && o["default"](this.tip).remove(), this._isEnabled = null, this._timeout = null, this._hoverState = null, this._activeTrigger = null, this._popper && this._popper.destroy(), this._popper = null, this.element = null, this.config = null, this.tip = null; + }, e.show = function () { + var t = this; + if ("none" === o["default"](this.element).css("display")) throw new Error("Please use show on visible elements"); + var e = o["default"].Event(this.constructor.Event.SHOW); + + if (this.isWithContent() && this._isEnabled) { + o["default"](this.element).trigger(e); + var n = d.findShadowRoot(this.element), + i = o["default"].contains(null !== n ? n : this.element.ownerDocument.documentElement, this.element); + if (e.isDefaultPrevented() || !i) return; + var s = this.getTipElement(), + l = d.getUID(this.constructor.NAME); + s.setAttribute("id", l), this.element.setAttribute("aria-describedby", l), this.setContent(), this.config.animation && o["default"](s).addClass(Lt); + + var r = "function" == typeof this.config.placement ? this.config.placement.call(this, s, this.element) : this.config.placement, + u = this._getAttachment(r); + + this.addAttachmentClass(u); + + var f = this._getContainer(); + + o["default"](s).data(this.constructor.DATA_KEY, this), o["default"].contains(this.element.ownerDocument.documentElement, this.tip) || o["default"](s).appendTo(f), o["default"](this.element).trigger(this.constructor.Event.INSERTED), this._popper = new a["default"](this.element, s, this._getPopperConfig(u)), o["default"](s).addClass(Rt), o["default"](s).addClass(this.config.customClass), "ontouchstart" in document.documentElement && o["default"](document.body).children().on("mouseover", null, o["default"].noop); + + var c = function c() { + t.config.animation && t._fixTransition(); + var e = t._hoverState; + t._hoverState = null, o["default"](t.element).trigger(t.constructor.Event.SHOWN), e === qt && t._leave(null, t); + }; + + if (o["default"](this.tip).hasClass(Lt)) { + var h = d.getTransitionDurationFromElement(this.tip); + o["default"](this.tip).one(d.TRANSITION_END, c).emulateTransitionEnd(h); + } else c(); + } + }, e.hide = function (t) { + var e = this, + n = this.getTipElement(), + i = o["default"].Event(this.constructor.Event.HIDE), + a = function a() { + e._hoverState !== xt && n.parentNode && n.parentNode.removeChild(n), e._cleanTipClass(), e.element.removeAttribute("aria-describedby"), o["default"](e.element).trigger(e.constructor.Event.HIDDEN), null !== e._popper && e._popper.destroy(), t && t(); + }; + + if (o["default"](this.element).trigger(i), !i.isDefaultPrevented()) { + if (o["default"](n).removeClass(Rt), "ontouchstart" in document.documentElement && o["default"](document.body).children().off("mouseover", null, o["default"].noop), this._activeTrigger.click = !1, this._activeTrigger.focus = !1, this._activeTrigger.hover = !1, o["default"](this.tip).hasClass(Lt)) { + var s = d.getTransitionDurationFromElement(n); + o["default"](n).one(d.TRANSITION_END, a).emulateTransitionEnd(s); + } else a(); + + this._hoverState = ""; + } + }, e.update = function () { + null !== this._popper && this._popper.scheduleUpdate(); + }, e.isWithContent = function () { + return Boolean(this.getTitle()); + }, e.addAttachmentClass = function (t) { + o["default"](this.getTipElement()).addClass("bs-tooltip-" + t); + }, e.getTipElement = function () { + return this.tip = this.tip || o["default"](this.config.template)[0], this.tip; + }, e.setContent = function () { + var t = this.getTipElement(); + this.setElementContent(o["default"](t.querySelectorAll(".tooltip-inner")), this.getTitle()), o["default"](t).removeClass("fade show"); + }, e.setElementContent = function (t, e) { + "object" != _typeof(e) || !e.nodeType && !e.jquery ? this.config.html ? (this.config.sanitize && (e = At(e, this.config.whiteList, this.config.sanitizeFn)), t.html(e)) : t.text(e) : this.config.html ? o["default"](e).parent().is(t) || t.empty().append(e) : t.text(o["default"](e).text()); + }, e.getTitle = function () { + var t = this.element.getAttribute("data-original-title"); + return t || (t = "function" == typeof this.config.title ? this.config.title.call(this.element) : this.config.title), t; + }, e._getPopperConfig = function (t) { + var e = this; + return r({}, { + placement: t, + modifiers: { + offset: this._getOffset(), + flip: { + behavior: this.config.fallbackPlacement + }, + arrow: { + element: ".arrow" + }, + preventOverflow: { + boundariesElement: this.config.boundary + } + }, + onCreate: function onCreate(t) { + t.originalPlacement !== t.placement && e._handlePopperPlacementChange(t); + }, + onUpdate: function onUpdate(t) { + return e._handlePopperPlacementChange(t); + } + }, this.config.popperConfig); + }, e._getOffset = function () { + var t = this, + e = {}; + return "function" == typeof this.config.offset ? e.fn = function (e) { + return e.offsets = r({}, e.offsets, t.config.offset(e.offsets, t.element)), e; + } : e.offset = this.config.offset, e; + }, e._getContainer = function () { + return !1 === this.config.container ? document.body : d.isElement(this.config.container) ? o["default"](this.config.container) : o["default"](document).find(this.config.container); + }, e._getAttachment = function (t) { + return Bt[t.toUpperCase()]; + }, e._setListeners = function () { + var t = this; + this.config.trigger.split(" ").forEach(function (e) { + if ("click" === e) o["default"](t.element).on(t.constructor.Event.CLICK, t.config.selector, function (e) { + return t.toggle(e); + });else if ("manual" !== e) { + var n = e === Ft ? t.constructor.Event.MOUSEENTER : t.constructor.Event.FOCUSIN, + i = e === Ft ? t.constructor.Event.MOUSELEAVE : t.constructor.Event.FOCUSOUT; + o["default"](t.element).on(n, t.config.selector, function (e) { + return t._enter(e); + }).on(i, t.config.selector, function (e) { + return t._leave(e); + }); + } + }), this._hideModalHandler = function () { + t.element && t.hide(); + }, o["default"](this.element).closest(".modal").on("hide.bs.modal", this._hideModalHandler), this.config.selector ? this.config = r({}, this.config, { + trigger: "manual", + selector: "" + }) : this._fixTitle(); + }, e._fixTitle = function () { + var t = _typeof(this.element.getAttribute("data-original-title")); + + (this.element.getAttribute("title") || "string" !== t) && (this.element.setAttribute("data-original-title", this.element.getAttribute("title") || ""), this.element.setAttribute("title", "")); + }, e._enter = function (t, e) { + var n = this.constructor.DATA_KEY; + (e = e || o["default"](t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), o["default"](t.currentTarget).data(n, e)), t && (e._activeTrigger["focusin" === t.type ? Qt : Ft] = !0), o["default"](e.getTipElement()).hasClass(Rt) || e._hoverState === xt ? e._hoverState = xt : (clearTimeout(e._timeout), e._hoverState = xt, e.config.delay && e.config.delay.show ? e._timeout = setTimeout(function () { + e._hoverState === xt && e.show(); + }, e.config.delay.show) : e.show()); + }, e._leave = function (t, e) { + var n = this.constructor.DATA_KEY; + (e = e || o["default"](t.currentTarget).data(n)) || (e = new this.constructor(t.currentTarget, this._getDelegateConfig()), o["default"](t.currentTarget).data(n, e)), t && (e._activeTrigger["focusout" === t.type ? Qt : Ft] = !1), e._isWithActiveTrigger() || (clearTimeout(e._timeout), e._hoverState = qt, e.config.delay && e.config.delay.hide ? e._timeout = setTimeout(function () { + e._hoverState === qt && e.hide(); + }, e.config.delay.hide) : e.hide()); + }, e._isWithActiveTrigger = function () { + for (var t in this._activeTrigger) { + if (this._activeTrigger[t]) return !0; + } + + return !1; + }, e._getConfig = function (t) { + var e = o["default"](this.element).data(); + return Object.keys(e).forEach(function (t) { + -1 !== Pt.indexOf(t) && delete e[t]; + }), "number" == typeof (t = r({}, this.constructor.Default, e, "object" == _typeof(t) && t ? t : {})).delay && (t.delay = { + show: t.delay, + hide: t.delay + }), "number" == typeof t.title && (t.title = t.title.toString()), "number" == typeof t.content && (t.content = t.content.toString()), d.typeCheckConfig(It, t, this.constructor.DefaultType), t.sanitize && (t.template = At(t.template, t.whiteList, t.sanitizeFn)), t; + }, e._getDelegateConfig = function () { + var t = {}; + if (this.config) for (var e in this.config) { + this.constructor.Default[e] !== this.config[e] && (t[e] = this.config[e]); + } + return t; + }, e._cleanTipClass = function () { + var t = o["default"](this.getTipElement()), + e = t.attr("class").match(jt); + null !== e && e.length && t.removeClass(e.join("")); + }, e._handlePopperPlacementChange = function (t) { + this.tip = t.instance.popper, this._cleanTipClass(), this.addAttachmentClass(this._getAttachment(t.placement)); + }, e._fixTransition = function () { + var t = this.getTipElement(), + e = this.config.animation; + null === t.getAttribute("x-placement") && (o["default"](t).removeClass(Lt), this.config.animation = !1, this.hide(), this.show(), this.config.animation = e); + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this), + i = n.data(kt), + a = "object" == _typeof(e) && e; + + if ((i || !/dispose|hide/.test(e)) && (i || (i = new t(this, a), n.data(kt, i)), "string" == typeof e)) { + if ("undefined" == typeof i[e]) throw new TypeError('No method named "' + e + '"'); + i[e](); + } + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return Ht; + } + }, { + key: "NAME", + get: function get() { + return It; + } + }, { + key: "DATA_KEY", + get: function get() { + return kt; + } + }, { + key: "Event", + get: function get() { + return Mt; + } + }, { + key: "EVENT_KEY", + get: function get() { + return ".bs.tooltip"; + } + }, { + key: "DefaultType", + get: function get() { + return Ut; + } + }]), t; + }(); + + o["default"].fn.tooltip = Wt._jQueryInterface, o["default"].fn.tooltip.Constructor = Wt, o["default"].fn.tooltip.noConflict = function () { + return o["default"].fn.tooltip = Ot, Wt._jQueryInterface; + }; + + var Vt = "bs.popover", + zt = o["default"].fn.popover, + Kt = new RegExp("(^|\\s)bs-popover\\S+", "g"), + Xt = r({}, Wt.Default, { + placement: "right", + trigger: "click", + content: "", + template: '' + }), + Yt = r({}, Wt.DefaultType, { + content: "(string|element|function)" + }), + $t = { + HIDE: "hide.bs.popover", + HIDDEN: "hidden.bs.popover", + SHOW: "show.bs.popover", + SHOWN: "shown.bs.popover", + INSERTED: "inserted.bs.popover", + CLICK: "click.bs.popover", + FOCUSIN: "focusin.bs.popover", + FOCUSOUT: "focusout.bs.popover", + MOUSEENTER: "mouseenter.bs.popover", + MOUSELEAVE: "mouseleave.bs.popover" + }, + Jt = function (t) { + var e, n; + + function i() { + return t.apply(this, arguments) || this; + } + + n = t, (e = i).prototype = Object.create(n.prototype), e.prototype.constructor = e, u(e, n); + var a = i.prototype; + return a.isWithContent = function () { + return this.getTitle() || this._getContent(); + }, a.addAttachmentClass = function (t) { + o["default"](this.getTipElement()).addClass("bs-popover-" + t); + }, a.getTipElement = function () { + return this.tip = this.tip || o["default"](this.config.template)[0], this.tip; + }, a.setContent = function () { + var t = o["default"](this.getTipElement()); + this.setElementContent(t.find(".popover-header"), this.getTitle()); + + var e = this._getContent(); + + "function" == typeof e && (e = e.call(this.element)), this.setElementContent(t.find(".popover-body"), e), t.removeClass("fade show"); + }, a._getContent = function () { + return this.element.getAttribute("data-content") || this.config.content; + }, a._cleanTipClass = function () { + var t = o["default"](this.getTipElement()), + e = t.attr("class").match(Kt); + null !== e && e.length > 0 && t.removeClass(e.join("")); + }, i._jQueryInterface = function (t) { + return this.each(function () { + var e = o["default"](this).data(Vt), + n = "object" == _typeof(t) ? t : null; + + if ((e || !/dispose|hide/.test(t)) && (e || (e = new i(this, n), o["default"](this).data(Vt, e)), "string" == typeof t)) { + if ("undefined" == typeof e[t]) throw new TypeError('No method named "' + t + '"'); + e[t](); + } + }); + }, l(i, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return Xt; + } + }, { + key: "NAME", + get: function get() { + return "popover"; + } + }, { + key: "DATA_KEY", + get: function get() { + return Vt; + } + }, { + key: "Event", + get: function get() { + return $t; + } + }, { + key: "EVENT_KEY", + get: function get() { + return ".bs.popover"; + } + }, { + key: "DefaultType", + get: function get() { + return Yt; + } + }]), i; + }(Wt); + + o["default"].fn.popover = Jt._jQueryInterface, o["default"].fn.popover.Constructor = Jt, o["default"].fn.popover.noConflict = function () { + return o["default"].fn.popover = zt, Jt._jQueryInterface; + }; + + var Gt = "scrollspy", + Zt = "bs.scrollspy", + te = o["default"].fn[Gt], + ee = "active", + ne = "position", + ie = ".nav, .list-group", + oe = { + offset: 10, + method: "auto", + target: "" + }, + ae = { + offset: "number", + method: "string", + target: "(string|element)" + }, + se = function () { + function t(t, e) { + var n = this; + this._element = t, this._scrollElement = "BODY" === t.tagName ? window : t, this._config = this._getConfig(e), this._selector = this._config.target + " .nav-link," + this._config.target + " .list-group-item," + this._config.target + " .dropdown-item", this._offsets = [], this._targets = [], this._activeTarget = null, this._scrollHeight = 0, o["default"](this._scrollElement).on("scroll.bs.scrollspy", function (t) { + return n._process(t); + }), this.refresh(), this._process(); + } + + var e = t.prototype; + return e.refresh = function () { + var t = this, + e = this._scrollElement === this._scrollElement.window ? "offset" : ne, + n = "auto" === this._config.method ? e : this._config.method, + i = n === ne ? this._getScrollTop() : 0; + this._offsets = [], this._targets = [], this._scrollHeight = this._getScrollHeight(), [].slice.call(document.querySelectorAll(this._selector)).map(function (t) { + var e, + a = d.getSelectorFromElement(t); + + if (a && (e = document.querySelector(a)), e) { + var s = e.getBoundingClientRect(); + if (s.width || s.height) return [o["default"](e)[n]().top + i, a]; + } + + return null; + }).filter(function (t) { + return t; + }).sort(function (t, e) { + return t[0] - e[0]; + }).forEach(function (e) { + t._offsets.push(e[0]), t._targets.push(e[1]); + }); + }, e.dispose = function () { + o["default"].removeData(this._element, Zt), o["default"](this._scrollElement).off(".bs.scrollspy"), this._element = null, this._scrollElement = null, this._config = null, this._selector = null, this._offsets = null, this._targets = null, this._activeTarget = null, this._scrollHeight = null; + }, e._getConfig = function (t) { + if ("string" != typeof (t = r({}, oe, "object" == _typeof(t) && t ? t : {})).target && d.isElement(t.target)) { + var e = o["default"](t.target).attr("id"); + e || (e = d.getUID(Gt), o["default"](t.target).attr("id", e)), t.target = "#" + e; + } + + return d.typeCheckConfig(Gt, t, ae), t; + }, e._getScrollTop = function () { + return this._scrollElement === window ? this._scrollElement.pageYOffset : this._scrollElement.scrollTop; + }, e._getScrollHeight = function () { + return this._scrollElement.scrollHeight || Math.max(document.body.scrollHeight, document.documentElement.scrollHeight); + }, e._getOffsetHeight = function () { + return this._scrollElement === window ? window.innerHeight : this._scrollElement.getBoundingClientRect().height; + }, e._process = function () { + var t = this._getScrollTop() + this._config.offset, + e = this._getScrollHeight(), + n = this._config.offset + e - this._getOffsetHeight(); + + if (this._scrollHeight !== e && this.refresh(), t >= n) { + var i = this._targets[this._targets.length - 1]; + this._activeTarget !== i && this._activate(i); + } else { + if (this._activeTarget && t < this._offsets[0] && this._offsets[0] > 0) return this._activeTarget = null, void this._clear(); + + for (var o = this._offsets.length; o--;) { + this._activeTarget !== this._targets[o] && t >= this._offsets[o] && ("undefined" == typeof this._offsets[o + 1] || t < this._offsets[o + 1]) && this._activate(this._targets[o]); + } + } + }, e._activate = function (t) { + this._activeTarget = t, this._clear(); + + var e = this._selector.split(",").map(function (e) { + return e + '[data-target="' + t + '"],' + e + '[href="' + t + '"]'; + }), + n = o["default"]([].slice.call(document.querySelectorAll(e.join(",")))); + + n.hasClass("dropdown-item") ? (n.closest(".dropdown").find(".dropdown-toggle").addClass(ee), n.addClass(ee)) : (n.addClass(ee), n.parents(ie).prev(".nav-link, .list-group-item").addClass(ee), n.parents(ie).prev(".nav-item").children(".nav-link").addClass(ee)), o["default"](this._scrollElement).trigger("activate.bs.scrollspy", { + relatedTarget: t + }); + }, e._clear = function () { + [].slice.call(document.querySelectorAll(this._selector)).filter(function (t) { + return t.classList.contains(ee); + }).forEach(function (t) { + return t.classList.remove(ee); + }); + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this).data(Zt); + + if (n || (n = new t(this, "object" == _typeof(e) && e), o["default"](this).data(Zt, n)), "string" == typeof e) { + if ("undefined" == typeof n[e]) throw new TypeError('No method named "' + e + '"'); + n[e](); + } + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "Default", + get: function get() { + return oe; + } + }]), t; + }(); + + o["default"](window).on("load.bs.scrollspy.data-api", function () { + for (var t = [].slice.call(document.querySelectorAll('[data-spy="scroll"]')), e = t.length; e--;) { + var n = o["default"](t[e]); + + se._jQueryInterface.call(n, n.data()); + } + }), o["default"].fn[Gt] = se._jQueryInterface, o["default"].fn[Gt].Constructor = se, o["default"].fn[Gt].noConflict = function () { + return o["default"].fn[Gt] = te, se._jQueryInterface; + }; + + var le = "bs.tab", + re = o["default"].fn.tab, + ue = "active", + fe = "fade", + de = "show", + ce = ".active", + he = "> li > .active", + ge = function () { + function t(t) { + this._element = t; + } + + var e = t.prototype; + return e.show = function () { + var t = this; + + if (!(this._element.parentNode && this._element.parentNode.nodeType === Node.ELEMENT_NODE && o["default"](this._element).hasClass(ue) || o["default"](this._element).hasClass("disabled"))) { + var e, + n, + i = o["default"](this._element).closest(".nav, .list-group")[0], + a = d.getSelectorFromElement(this._element); + + if (i) { + var s = "UL" === i.nodeName || "OL" === i.nodeName ? he : ce; + n = (n = o["default"].makeArray(o["default"](i).find(s)))[n.length - 1]; + } + + var l = o["default"].Event("hide.bs.tab", { + relatedTarget: this._element + }), + r = o["default"].Event("show.bs.tab", { + relatedTarget: n + }); + + if (n && o["default"](n).trigger(l), o["default"](this._element).trigger(r), !r.isDefaultPrevented() && !l.isDefaultPrevented()) { + a && (e = document.querySelector(a)), this._activate(this._element, i); + + var u = function u() { + var e = o["default"].Event("hidden.bs.tab", { + relatedTarget: t._element + }), + i = o["default"].Event("shown.bs.tab", { + relatedTarget: n + }); + o["default"](n).trigger(e), o["default"](t._element).trigger(i); + }; + + e ? this._activate(e, e.parentNode, u) : u(); + } + } + }, e.dispose = function () { + o["default"].removeData(this._element, le), this._element = null; + }, e._activate = function (t, e, n) { + var i = this, + a = (!e || "UL" !== e.nodeName && "OL" !== e.nodeName ? o["default"](e).children(ce) : o["default"](e).find(he))[0], + s = n && a && o["default"](a).hasClass(fe), + l = function l() { + return i._transitionComplete(t, a, n); + }; + + if (a && s) { + var r = d.getTransitionDurationFromElement(a); + o["default"](a).removeClass(de).one(d.TRANSITION_END, l).emulateTransitionEnd(r); + } else l(); + }, e._transitionComplete = function (t, e, n) { + if (e) { + o["default"](e).removeClass(ue); + var i = o["default"](e.parentNode).find("> .dropdown-menu .active")[0]; + i && o["default"](i).removeClass(ue), "tab" === e.getAttribute("role") && e.setAttribute("aria-selected", !1); + } + + o["default"](t).addClass(ue), "tab" === t.getAttribute("role") && t.setAttribute("aria-selected", !0), d.reflow(t), t.classList.contains(fe) && t.classList.add(de); + var a = t.parentNode; + + if (a && "LI" === a.nodeName && (a = a.parentNode), a && o["default"](a).hasClass("dropdown-menu")) { + var s = o["default"](t).closest(".dropdown")[0]; + + if (s) { + var l = [].slice.call(s.querySelectorAll(".dropdown-toggle")); + o["default"](l).addClass(ue); + } + + t.setAttribute("aria-expanded", !0); + } + + n && n(); + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this), + i = n.data(le); + + if (i || (i = new t(this), n.data(le, i)), "string" == typeof e) { + if ("undefined" == typeof i[e]) throw new TypeError('No method named "' + e + '"'); + i[e](); + } + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }]), t; + }(); + + o["default"](document).on("click.bs.tab.data-api", '[data-toggle="tab"], [data-toggle="pill"], [data-toggle="list"]', function (t) { + t.preventDefault(), ge._jQueryInterface.call(o["default"](this), "show"); + }), o["default"].fn.tab = ge._jQueryInterface, o["default"].fn.tab.Constructor = ge, o["default"].fn.tab.noConflict = function () { + return o["default"].fn.tab = re, ge._jQueryInterface; + }; + + var me = "bs.toast", + pe = o["default"].fn.toast, + _e = "hide", + ve = "show", + ye = "showing", + be = "click.dismiss.bs.toast", + Ee = { + animation: !0, + autohide: !0, + delay: 500 + }, + Te = { + animation: "boolean", + autohide: "boolean", + delay: "number" + }, + we = function () { + function t(t, e) { + this._element = t, this._config = this._getConfig(e), this._timeout = null, this._setListeners(); + } + + var e = t.prototype; + return e.show = function () { + var t = this, + e = o["default"].Event("show.bs.toast"); + + if (o["default"](this._element).trigger(e), !e.isDefaultPrevented()) { + this._clearTimeout(), this._config.animation && this._element.classList.add("fade"); + + var n = function n() { + t._element.classList.remove(ye), t._element.classList.add(ve), o["default"](t._element).trigger("shown.bs.toast"), t._config.autohide && (t._timeout = setTimeout(function () { + t.hide(); + }, t._config.delay)); + }; + + if (this._element.classList.remove(_e), d.reflow(this._element), this._element.classList.add(ye), this._config.animation) { + var i = d.getTransitionDurationFromElement(this._element); + o["default"](this._element).one(d.TRANSITION_END, n).emulateTransitionEnd(i); + } else n(); + } + }, e.hide = function () { + if (this._element.classList.contains(ve)) { + var t = o["default"].Event("hide.bs.toast"); + o["default"](this._element).trigger(t), t.isDefaultPrevented() || this._close(); + } + }, e.dispose = function () { + this._clearTimeout(), this._element.classList.contains(ve) && this._element.classList.remove(ve), o["default"](this._element).off(be), o["default"].removeData(this._element, me), this._element = null, this._config = null; + }, e._getConfig = function (t) { + return t = r({}, Ee, o["default"](this._element).data(), "object" == _typeof(t) && t ? t : {}), d.typeCheckConfig("toast", t, this.constructor.DefaultType), t; + }, e._setListeners = function () { + var t = this; + o["default"](this._element).on(be, '[data-dismiss="toast"]', function () { + return t.hide(); + }); + }, e._close = function () { + var t = this, + e = function e() { + t._element.classList.add(_e), o["default"](t._element).trigger("hidden.bs.toast"); + }; + + if (this._element.classList.remove(ve), this._config.animation) { + var n = d.getTransitionDurationFromElement(this._element); + o["default"](this._element).one(d.TRANSITION_END, e).emulateTransitionEnd(n); + } else e(); + }, e._clearTimeout = function () { + clearTimeout(this._timeout), this._timeout = null; + }, t._jQueryInterface = function (e) { + return this.each(function () { + var n = o["default"](this), + i = n.data(me); + + if (i || (i = new t(this, "object" == _typeof(e) && e), n.data(me, i)), "string" == typeof e) { + if ("undefined" == typeof i[e]) throw new TypeError('No method named "' + e + '"'); + i[e](this); + } + }); + }, l(t, null, [{ + key: "VERSION", + get: function get() { + return "4.6.1"; + } + }, { + key: "DefaultType", + get: function get() { + return Te; + } + }, { + key: "Default", + get: function get() { + return Ee; + } + }]), t; + }(); + + o["default"].fn.toast = we._jQueryInterface, o["default"].fn.toast.Constructor = we, o["default"].fn.toast.noConflict = function () { + return o["default"].fn.toast = pe, we._jQueryInterface; + }, t.Alert = g, t.Button = E, t.Carousel = P, t.Collapse = V, t.Dropdown = lt, t.Modal = Ct, t.Popover = Jt, t.Scrollspy = se, t.Tab = ge, t.Toast = we, t.Tooltip = Wt, t.Util = d, Object.defineProperty(t, "__esModule", { + value: !0 + }); +}); diff --git a/Penilaian-Esai/public/assets/js/custom/custom-datatable.js b/Penilaian-Esai/public/assets/js/custom/custom-datatable.js new file mode 100644 index 0000000..da3c858 --- /dev/null +++ b/Penilaian-Esai/public/assets/js/custom/custom-datatable.js @@ -0,0 +1,29 @@ +/******/ (() => { // webpackBootstrap +/******/ "use strict"; +var __webpack_exports__ = {}; +/*!********************************************************!*\ + !*** ./resources/assets/js/custom/custom-datatable.js ***! + \********************************************************/ + + +$.extend($.fn.dataTable.defaults, { + 'paging': true, + 'info': true, + 'ordering': true, + 'autoWidth': false, + 'pageLength': 10, + 'language': { + 'search': '', + 'sSearch': 'Search' + }, + "preDrawCallback": function preDrawCallback() { + customSearch(); + } +}); + +function customSearch() { + $('.dataTables_filter input').addClass("form-control"); + $('.dataTables_filter input').attr("placeholder", "Search"); +} +/******/ })() +; \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/js/custom/custom.js b/Penilaian-Esai/public/assets/js/custom/custom.js new file mode 100644 index 0000000..9cf7d81 --- /dev/null +++ b/Penilaian-Esai/public/assets/js/custom/custom.js @@ -0,0 +1,3336 @@ +/******/ (() => { // webpackBootstrap +/******/ var __webpack_modules__ = ({ + +/***/ "./node_modules/jsrender/jsrender.js": +/*!*******************************************!*\ + !*** ./node_modules/jsrender/jsrender.js ***! + \*******************************************/ +/***/ ((module) => { + +/*! JsRender v1.0.11: http://jsviews.com/#jsrender */ +/*! **VERSION FOR WEB** (For NODE.JS see http://jsviews.com/download/jsrender-node.js) */ +/* + * Best-of-breed templating in browser or on Node.js. + * Does not require jQuery, or HTML DOM + * Integrates with JsViews (http://jsviews.com/#jsviews) + * + * Copyright 2021, Boris Moore + * Released under the MIT License. + */ + +//jshint -W018, -W041, -W120 + +(function(factory, global) { + // global var is the this object, which is window when running in the usual browser environment + var $ = global.jQuery; + + if (true) { // CommonJS e.g. Browserify + module.exports = $ + ? factory(global, $) + : function($) { // If no global jQuery, take optional jQuery passed as parameter: require('jsrender')(jQuery) + if ($ && !$.fn) { + throw "Provide jQuery or null"; + } + return factory(global, $); + }; + } else {} +} ( + +// factory (for jsrender.js) +function(global, $) { +"use strict"; + +//========================== Top-level vars ========================== + +// global var is the this object, which is window when running in the usual browser environment +var setGlobals = $ === false; // Only set globals if script block in browser (not AMD and not CommonJS) + +$ = $ && $.fn ? $ : global.jQuery; // $ is jQuery passed in by CommonJS loader (Browserify), or global jQuery. + +var versionNumber = "v1.0.11", + jsvStoreName, rTag, rTmplString, topView, $views, $expando, + _ocp = "_ocp", // Observable contextual parameter + + $isFunction, $isArray, $templates, $converters, $helpers, $tags, $sub, $subSettings, $subSettingsAdvanced, $viewsSettings, + delimOpenChar0, delimOpenChar1, delimCloseChar0, delimCloseChar1, linkChar, setting, baseOnError, + + isRenderCall, + rNewLine = /[ \t]*(\r\n|\n|\r)/g, + rUnescapeQuotes = /\\(['"\\])/g, // Unescape quotes and trim + rEscapeQuotes = /['"\\]/g, // Escape quotes and \ character + rBuildHash = /(?:\x08|^)(onerror:)?(?:(~?)(([\w$.]+):)?([^\x08]+))\x08(,)?([^\x08]+)/gi, + rTestElseIf = /^if\s/, + rFirstElem = /<(\w+)[>\s]/, + rAttrEncode = /[\x00`><"'&=]/g, // Includes > encoding since rConvertMarkers in JsViews does not skip > characters in attribute strings + rIsHtml = /[\x00`><\"'&=]/, + rHasHandlers = /^on[A-Z]|^convert(Back)?$/, + rWrappedInViewMarker = /^\#\d+_`[\s\S]*\/\d+_`$/, + rHtmlEncode = rAttrEncode, + rDataEncode = /[&<>]/g, + rDataUnencode = /&(amp|gt|lt);/g, + rBracketQuote = /\[['"]?|['"]?\]/g, + viewId = 0, + charEntities = { + "&": "&", + "<": "<", + ">": ">", + "\x00": "�", + "'": "'", + '"': """, + "`": "`", + "=": "=" + }, + charsFromEntities = { + amp: "&", + gt: ">", + lt: "<" + }, + HTML = "html", + OBJECT = "object", + tmplAttr = "data-jsv-tmpl", + jsvTmpl = "jsvTmpl", + indexStr = "For #index in nested block use #getIndex().", + cpFnStore = {}, // Compiled furnctions for computed values in template expressions (properties, methods, helpers) + $render = {}, + + jsr = global.jsrender, + jsrToJq = jsr && $ && !$.render, // JsRender already loaded, without jQuery. but we will re-load it now to attach to jQuery + + jsvStores = { + template: { + compile: compileTmpl + }, + tag: { + compile: compileTag + }, + viewModel: { + compile: compileViewModel + }, + helper: {}, + converter: {} + }; + + // views object ($.views if jQuery is loaded, jsrender.views if no jQuery, e.g. in Node.js) + $views = { + jsviews: versionNumber, + sub: { + // subscription, e.g. JsViews integration + rPath: /^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g, + // not object helper view viewProperty pathTokens leafToken + + rPrm: /(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(~?[\w$.^]+)?\s*((\+\+|--)|\+|-|~(?![\w$])|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?(@)?[#~]?[\w$.^]+)([([])?)|(,\s*)|(?:(\()\s*)?\\?(?:(')|("))|(?:\s*(([)\]])(?=[.^]|\s*$|[^([])|[)\]])([([]?))|(\s+)/g, + // lftPrn0 lftPrn bound path operator err eq path2 late prn comma lftPrn2 apos quot rtPrn rtPrnDot prn2 space + + View: View, + Err: JsViewsError, + tmplFn: tmplFn, + parse: parseParams, + extend: $extend, + extendCtx: extendCtx, + syntaxErr: syntaxError, + onStore: { + template: function(name, item) { + if (item === null) { + delete $render[name]; + } else if (name) { + $render[name] = item; + } + } + }, + addSetting: addSetting, + settings: { + allowCode: false + }, + advSet: noop, // Update advanced settings + _thp: tagHandlersFromProps, + _gm: getMethod, + _tg: function() {}, // Constructor for tagDef + _cnvt: convertVal, + _tag: renderTag, + _er: error, + _err: onRenderError, + _cp: retVal, // Get observable contextual parameters (or properties) ~foo=expr. In JsRender, simply returns val. + _sq: function(token) { + if (token === "constructor") { + syntaxError(""); + } + return token; + } + }, + settings: { + delimiters: $viewsDelimiters, + advanced: function(value) { + return value + ? ( + $extend($subSettingsAdvanced, value), + $sub.advSet(), + $viewsSettings + ) + : $subSettingsAdvanced; + } + }, + map: dataMap // If jsObservable loaded first, use that definition of dataMap + }; + +function getDerivedMethod(baseMethod, method) { + return function() { + var ret, + tag = this, + prevBase = tag.base; + + tag.base = baseMethod; // Within method call, calling this.base will call the base method + ret = method.apply(tag, arguments); // Call the method + tag.base = prevBase; // Replace this.base to be the base method of the previous call, for chained calls + return ret; + }; +} + +function getMethod(baseMethod, method) { + // For derived methods (or handlers declared declaratively as in {{:foo onChange=~fooChanged}} replace by a derived method, to allow using this.base(...) + // or this.baseApply(arguments) to call the base implementation. (Equivalent to this._super(...) and this._superApply(arguments) in jQuery UI) + if ($isFunction(method)) { + method = getDerivedMethod( + !baseMethod + ? noop // no base method implementation, so use noop as base method + : baseMethod._d + ? baseMethod // baseMethod is a derived method, so use it + : getDerivedMethod(noop, baseMethod), // baseMethod is not derived so make its base method be the noop method + method + ); + method._d = (baseMethod && baseMethod._d || 0) + 1; // Add flag for derived method (incremented for derived of derived...) + } + return method; +} + +function tagHandlersFromProps(tag, tagCtx) { + var prop, + props = tagCtx.props; + for (prop in props) { + if (rHasHandlers.test(prop) && !(tag[prop] && tag[prop].fix)) { // Don't override handlers with fix expando (used in datepicker and spinner) + tag[prop] = prop !== "convert" ? getMethod(tag.constructor.prototype[prop], props[prop]) : props[prop]; + // Copy over the onFoo props, convert and convertBack from tagCtx.props to tag (overrides values in tagDef). + // Note: unsupported scenario: if handlers are dynamically added ^onFoo=expression this will work, but dynamically removing will not work. + } + } +} + +function retVal(val) { + return val; +} + +function noop() { + return ""; +} + +function dbgBreak(val) { + // Usage examples: {{dbg:...}}, {{:~dbg(...)}}, {{dbg .../}}, {^{for ... onAfterLink=~dbg}} etc. + try { + console.log("JsRender dbg breakpoint: " + val); + throw "dbg breakpoint"; // To break here, stop on caught exceptions. + } + catch (e) {} + return this.base ? this.baseApply(arguments) : val; +} + +function JsViewsError(message) { + // Error exception type for JsViews/JsRender + // Override of $.views.sub.Error is possible + this.name = ($.link ? "JsViews" : "JsRender") + " Error"; + this.message = message || this.name; +} + +function $extend(target, source) { + if (target) { + for (var name in source) { + target[name] = source[name]; + } + return target; + } +} + +(JsViewsError.prototype = new Error()).constructor = JsViewsError; + +//========================== Top-level functions ========================== + +//=================== +// views.delimiters +//=================== + + /** + * Set the tag opening and closing delimiters and 'link' character. Default is "{{", "}}" and "^" + * openChars, closeChars: opening and closing strings, each with two characters + * $.views.settings.delimiters(...) + * + * @param {string} openChars + * @param {string} [closeChars] + * @param {string} [link] + * @returns {Settings} + * + * Get delimiters + * delimsArray = $.views.settings.delimiters() + * + * @returns {string[]} + */ +function $viewsDelimiters(openChars, closeChars, link) { + if (!openChars) { + return $subSettings.delimiters; + } + if ($isArray(openChars)) { + return $viewsDelimiters.apply($views, openChars); + } + linkChar = link ? link[0] : linkChar; + if (!/^(\W|_){5}$/.test(openChars + closeChars + linkChar)) { + error("Invalid delimiters"); // Must be non-word characters, and openChars and closeChars must each be length 2 + } + delimOpenChar0 = openChars[0]; + delimOpenChar1 = openChars[1]; + delimCloseChar0 = closeChars[0]; + delimCloseChar1 = closeChars[1]; + + $subSettings.delimiters = [delimOpenChar0 + delimOpenChar1, delimCloseChar0 + delimCloseChar1, linkChar]; + + // Escape the characters - since they could be regex special characters + openChars = "\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1; // Default is "{^{" + closeChars = "\\" + delimCloseChar0 + "\\" + delimCloseChar1; // Default is "}}" + // Build regex with new delimiters + // [tag (followed by / space or }) or cvtr+colon or html or code] followed by space+params then convertBack? + rTag = "(?:(\\w+(?=[\\/\\s\\" + delimCloseChar0 + "]))|(\\w+)?(:)|(>)|(\\*))\\s*((?:[^\\" + + delimCloseChar0 + "]|\\" + delimCloseChar0 + "(?!\\" + delimCloseChar1 + "))*?)"; + + // Make rTag available to JsViews (or other components) for parsing binding expressions + $sub.rTag = "(?:" + rTag + ")"; + // { ^? { tag+params slash? or closingTag or comment + rTag = new RegExp("(?:" + openChars + rTag + "(\\/)?|\\" + delimOpenChar0 + "(\\" + linkChar + ")?\\" + delimOpenChar1 + "(?:(?:\\/(\\w+))\\s*|!--[\\s\\S]*?--))" + closeChars, "g"); + + // Default: bind tagName cvt cln html code params slash bind2 closeBlk comment + // /(?:{(\^)?{(?:(\w+(?=[\/\s}]))|(\w+)?(:)|(>)|(\*))\s*((?:[^}]|}(?!}))*?)(\/)?|{(\^)?{(?:(?:\/(\w+))\s*|!--[\s\S]*?--))}} + + $sub.rTmpl = new RegExp("^\\s|\\s$|<.*>|([^\\\\]|^)[{}]|" + openChars + ".*" + closeChars); + // $sub.rTmpl looks for initial or final white space, html tags or { or } char not preceded by \\, or JsRender tags {{xxx}}. + // Each of these strings are considered NOT to be jQuery selectors + return $viewsSettings; +} + +//========= +// View.get +//========= + +function getView(inner, type) { //view.get(inner, type) + if (!type && inner !== true) { + // view.get(type) + type = inner; + inner = undefined; + } + + var views, i, l, found, + view = this, + root = type === "root"; + // view.get("root") returns view.root, view.get() returns view.parent, view.get(true) returns view.views[0]. + + if (inner) { + // Go through views - this one, and all nested ones, depth-first - and return first one with given type. + // If type is undefined, i.e. view.get(true), return first child view. + found = type && view.type === type && view; + if (!found) { + views = view.views; + if (view._.useKey) { + for (i in views) { + if (found = type ? views[i].get(inner, type) : views[i]) { + break; + } + } + } else { + for (i = 0, l = views.length; !found && i < l; i++) { + found = type ? views[i].get(inner, type) : views[i]; + } + } + } + } else if (root) { + // Find root view. (view whose parent is top view) + found = view.root; + } else if (type) { + while (view && !found) { + // Go through views - this one, and all parent ones - and return first one with given type. + found = view.type === type ? view : undefined; + view = view.parent; + } + } else { + found = view.parent; + } + return found || undefined; +} + +function getNestedIndex() { + var view = this.get("item"); + return view ? view.index : undefined; +} + +getNestedIndex.depends = function() { + return [this.get("item"), "index"]; +}; + +function getIndex() { + return this.index; +} + +getIndex.depends = "index"; + +//================== +// View.ctxPrm, etc. +//================== + +/* Internal private: view._getOb() */ +function getPathObject(ob, path, ltOb, fn) { + // Iterate through path to late paths: @a.b.c paths + // Return "" (or noop if leaf is a function @a.b.c(...) ) if intermediate object not yet available + var prevOb, tokens, l, + i = 0; + if (ltOb === 1) { + fn = 1; + ltOb = undefined; + } + // Paths like ^a^b^c or ~^a^b^c will not throw if an object in path is undefined. + if (path) { + tokens = path.split("."); + l = tokens.length; + + for (; ob && i < l; i++) { + prevOb = ob; + ob = tokens[i] ? ob[tokens[i]] : ob; + } + } + if (ltOb) { + ltOb.lt = ltOb.lt || i 1, + store = storeView.ctx; + if (key) { + if (!storeView._) { // tagCtx.ctxPrm() call + tagElse = storeView.index; + storeView = storeView.tag; + } + callView = storeView; + if (store && store.hasOwnProperty(key) || (store = $helpers).hasOwnProperty(key)) { + res = store[key]; + if (key === "tag" || key === "tagCtx" || key === "root" || key === "parentTags") { + return res; + } + } else { + store = undefined; + } + if (!isRenderCall && storeView.tagCtx || storeView.linked) { // Data-linked view, or tag instance + if (!res || !res._cxp) { + // Not a contextual parameter + // Set storeView to tag (if this is a tag.ctxPrm() call) or to root view ("data" view of linked template) + storeView = storeView.tagCtx || $isFunction(res) + ? storeView // Is a tag, not a view, or is a computed contextual parameter, so scope to the callView, no the 'scope view' + : (storeView = storeView.scope || storeView, + !storeView.isTop && storeView.ctx.tag // If this view is in a tag, set storeView to the tag + || storeView); + if (res !== undefined && storeView.tagCtx) { + // If storeView is a tag, but the contextual parameter has been set at at higher level (e.g. helpers)... + storeView = storeView.tagCtx.view.scope; // then move storeView to the outer level (scope of tag container view) + } + store = storeView._ocps; + res = store && store.hasOwnProperty(key) && store[key] || res; + if (!(res && res._cxp) && (get || isUpdate)) { + // Create observable contextual parameter + (store || (storeView._ocps = storeView._ocps || {}))[key] + = res + = [{ + _ocp: res, // The observable contextual parameter value + _vw: callView, + _key: key + }]; + res._cxp = { + path: _ocp, + ind: 0, + updateValue: function(val, path) { + $.observable(res[0]).setProperty(_ocp, val); // Set the value (res[0]._ocp) + return this; + } + }; + } + } + if (obsCtxPrm = res && res._cxp) { + // If this helper resource is an observable contextual parameter + if (arguments.length > 2) { + deps = res[1] ? $sub._ceo(res[1].deps) : [_ocp]; // fn deps (with any exprObs cloned using $sub._ceo) + deps.unshift(res[0]); // view + deps._cxp = obsCtxPrm; + // In a context callback for a contextual param, we set get = true, to get ctxPrm [view, dependencies...] array - needed for observe call + return deps; + } + tagElse = obsCtxPrm.tagElse; + newRes = res[1] // linkFn for compiled expression + ? obsCtxPrm.tag && obsCtxPrm.tag.cvtArgs + ? obsCtxPrm.tag.cvtArgs(tagElse, 1)[obsCtxPrm.ind] // = tag.bndArgs() - for tag contextual parameter + : res[1](res[0].data, res[0], $sub) // = fn(data, view, $sub) for compiled binding expression + : res[0]._ocp; // Observable contextual parameter (uninitialized, or initialized as static expression, so no path dependencies) + if (isUpdate) { + $sub._ucp(key, value, storeView, obsCtxPrm); // Update observable contextual parameter + return storeView; + } + res = newRes; + } + } + if (res && $isFunction(res)) { + // If a helper is of type function we will wrap it, so if called with no this pointer it will be called with the + // view as 'this' context. If the helper ~foo() was in a data-link expression, the view will have a 'temporary' linkCtx property too. + // Note that helper functions on deeper paths will have specific this pointers, from the preceding path. + // For example, ~util.foo() will have the ~util object as 'this' pointer + wrapped = function() { + return res.apply((!this || this === global) ? callView : this, arguments); + }; + $extend(wrapped, res); // Attach same expandos (if any) to the wrapped function + } + return wrapped || res; + } +} + +/* Internal private: view._getTmpl() */ +function getTemplate(tmpl) { + return tmpl && (tmpl.fn + ? tmpl + : this.getRsc("templates", tmpl) || $templates(tmpl)); // not yet compiled +} + +//============== +// views._cnvt +//============== + +function convertVal(converter, view, tagCtx, onError) { + // Called from compiled template code for {{:}} + // self is template object or linkCtx object + var tag, linkCtx, value, argsLen, bindTo, + // If tagCtx is an integer, then it is the key for the compiled function to return the boundTag tagCtx + boundTag = typeof tagCtx === "number" && view.tmpl.bnds[tagCtx-1]; + + if (onError === undefined && boundTag && boundTag._lr) { // lateRender + onError = ""; + } + if (onError !== undefined) { + tagCtx = onError = {props: {}, args: [onError]}; + } else if (boundTag) { + tagCtx = boundTag(view.data, view, $sub); + } + boundTag = boundTag._bd && boundTag; + if (converter || boundTag) { + linkCtx = view._lc; // For data-link="{cvt:...}"... See onDataLinkedTagChange + tag = linkCtx && linkCtx.tag; + tagCtx.view = view; + if (!tag) { + tag = $extend(new $sub._tg(), { + _: { + bnd: boundTag, + unlinked: true, + lt: tagCtx.lt // If a late path @some.path has not returned @some object, mark tag as late + }, + inline: !linkCtx, + tagName: ":", + convert: converter, + onArrayChange: true, + flow: true, + tagCtx: tagCtx, + tagCtxs: [tagCtx], + _is: "tag" + }); + argsLen = tagCtx.args.length; + if (argsLen>1) { + bindTo = tag.bindTo = []; + while (argsLen--) { + bindTo.unshift(argsLen); // Bind to all the arguments - generate bindTo array: [0,1,2...] + } + } + if (linkCtx) { + linkCtx.tag = tag; + tag.linkCtx = linkCtx; + } + tagCtx.ctx = extendCtx(tagCtx.ctx, (linkCtx ? linkCtx.view : view).ctx); + tagHandlersFromProps(tag, tagCtx); + } + tag._er = onError && value; + tag.ctx = tagCtx.ctx || tag.ctx || {}; + tagCtx.ctx = undefined; + value = tag.cvtArgs()[0]; // If there is a convertBack but no convert, converter will be "true" + tag._er = onError && value; + } else { + value = tagCtx.args[0]; + } + + // Call onRender (used by JsViews if present, to add binding annotations around rendered content) + value = boundTag && view._.onRender + ? view._.onRender(value, view, tag) + : value; + return value != undefined ? value : ""; +} + +function convertArgs(tagElse, bound) { // tag.cvtArgs() or tag.cvtArgs(tagElse?, true?) + var l, key, boundArgs, args, bindFrom, tag, converter, + tagCtx = this; + + if (tagCtx.tagName) { + tag = tagCtx; + tagCtx = (tag.tagCtxs || [tagCtx])[tagElse||0]; + if (!tagCtx) { + return; + } + } else { + tag = tagCtx.tag; + } + + bindFrom = tag.bindFrom; + args = tagCtx.args; + + if ((converter = tag.convert) && "" + converter === converter) { + converter = converter === "true" + ? undefined + : (tagCtx.view.getRsc("converters", converter) || error("Unknown converter: '" + converter + "'")); + } + + if (converter && !bound) { // If there is a converter, use a copy of the tagCtx.args array for rendering, and replace the args[0] in + args = args.slice(); // the copied array with the converted value. But we do not modify the value of tag.tagCtx.args[0] (the original args array) + } + if (bindFrom) { // Get the values of the boundArgs + boundArgs = []; + l = bindFrom.length; + while (l--) { + key = bindFrom[l]; + boundArgs.unshift(argOrProp(tagCtx, key)); + } + if (bound) { + args = boundArgs; // Call to bndArgs() - returns the boundArgs + } + } + if (converter) { + converter = converter.apply(tag, boundArgs || args); + if (converter === undefined) { + return args; // Returning undefined from a converter is equivalent to not having a converter. + } + bindFrom = bindFrom || [0]; + l = bindFrom.length; + if (!$isArray(converter) || (converter.arg0 !== false && (l === 1 || converter.length !== l || converter.arg0))) { + converter = [converter]; // Returning converter as first arg, even if converter value is an array + bindFrom = [0]; + l = 1; + } + if (bound) { // Call to bndArgs() - so apply converter to all boundArgs + args = converter; // The array of values returned from the converter + } else { // Call to cvtArgs() + while (l--) { + key = bindFrom[l]; + if (+key === key) { + args[key] = converter[l]; + } + } + } + } + return args; +} + +function argOrProp(context, key) { + context = context[+key === key ? "args" : "props"]; + return context && context[key]; +} + +function convertBoundArgs(tagElse) { // tag.bndArgs() + return this.cvtArgs(tagElse, 1); +} + +//============= +// views.tag +//============= + +/* view.getRsc() */ +function getResource(resourceType, itemName) { + var res, store, + view = this; + if ("" + itemName === itemName) { + while ((res === undefined) && view) { + store = view.tmpl && view.tmpl[resourceType]; + res = store && store[itemName]; + view = view.parent; + } + return res || $views[resourceType][itemName]; + } +} + +function renderTag(tagName, parentView, tmpl, tagCtxs, isUpdate, onError) { + function bindToOrBindFrom(type) { + var bindArray = tag[type]; + + if (bindArray !== undefined) { + bindArray = $isArray(bindArray) ? bindArray : [bindArray]; + m = bindArray.length; + while (m--) { + key = bindArray[m]; + if (!isNaN(parseInt(key))) { + bindArray[m] = parseInt(key); // Convert "0" to 0, etc. + } + } + } + + return bindArray || [0]; + } + + parentView = parentView || topView; + var tag, tagDef, template, tags, attr, parentTag, l, m, n, itemRet, tagCtx, tagCtxCtx, ctxPrm, bindTo, bindFrom, initVal, + content, callInit, mapDef, thisMap, args, bdArgs, props, tagDataMap, contentCtx, key, bindFromLength, bindToLength, linkedElement, defaultCtx, + i = 0, + ret = "", + linkCtx = parentView._lc || false, // For data-link="{myTag...}"... See onDataLinkedTagChange + ctx = parentView.ctx, + parentTmpl = tmpl || parentView.tmpl, + // If tagCtxs is an integer, then it is the key for the compiled function to return the boundTag tagCtxs + boundTag = typeof tagCtxs === "number" && parentView.tmpl.bnds[tagCtxs-1]; + + if (tagName._is === "tag") { + tag = tagName; + tagName = tag.tagName; + tagCtxs = tag.tagCtxs; + template = tag.template; + } else { + tagDef = parentView.getRsc("tags", tagName) || error("Unknown tag: {{" + tagName + "}} "); + template = tagDef.template; + } + if (onError === undefined && boundTag && (boundTag._lr = (tagDef.lateRender && boundTag._lr!== false || boundTag._lr))) { + onError = ""; // If lateRender, set temporary onError, to skip initial rendering (and render just "") + } + if (onError !== undefined) { + ret += onError; + tagCtxs = onError = [{props: {}, args: [], params: {props:{}}}]; + } else if (boundTag) { + tagCtxs = boundTag(parentView.data, parentView, $sub); + } + + l = tagCtxs.length; + for (; i < l; i++) { + tagCtx = tagCtxs[i]; + content = tagCtx.tmpl; + if (!linkCtx || !linkCtx.tag || i && !linkCtx.tag.inline || tag._er || content && +content===content) { + // Initialize tagCtx + // For block tags, tagCtx.tmpl is an integer > 0 + if (content && parentTmpl.tmpls) { + tagCtx.tmpl = tagCtx.content = parentTmpl.tmpls[content - 1]; // Set the tmpl property to the content of the block tag + } + tagCtx.index = i; + tagCtx.ctxPrm = contextParameter; + tagCtx.render = renderContent; + tagCtx.cvtArgs = convertArgs; + tagCtx.bndArgs = convertBoundArgs; + tagCtx.view = parentView; + tagCtx.ctx = extendCtx(extendCtx(tagCtx.ctx, tagDef && tagDef.ctx), ctx); // Clone and extend parentView.ctx + } + if (tmpl = tagCtx.props.tmpl) { + // If the tmpl property is overridden, set the value (when initializing, or, in case of binding: ^tmpl=..., when updating) + tagCtx.tmpl = parentView._getTmpl(tmpl); + tagCtx.content = tagCtx.content || tagCtx.tmpl; + } + + if (!tag) { + // This will only be hit for initial tagCtx (not for {{else}}) - if the tag instance does not exist yet + // If the tag has not already been instantiated, we will create a new instance. + // ~tag will access the tag, even within the rendering of the template content of this tag. + // From child/descendant tags, can access using ~tag.parent, or ~parentTags.tagName + tag = new tagDef._ctr(); + callInit = !!tag.init; + + tag.parent = parentTag = ctx && ctx.tag; + tag.tagCtxs = tagCtxs; + + if (linkCtx) { + tag.inline = false; + linkCtx.tag = tag; + } + tag.linkCtx = linkCtx; + if (tag._.bnd = boundTag || linkCtx.fn) { + // Bound if {^{tag...}} or data-link="{tag...}" + tag._.ths = tagCtx.params.props["this"]; // Tag has a this=expr binding, to get javascript reference to tag instance + tag._.lt = tagCtxs.lt; // If a late path @some.path has not returned @some object, mark tag as late + tag._.arrVws = {}; + } else if (tag.dataBoundOnly) { + error(tagName + " must be data-bound:\n{^{" + tagName + "}}"); + } + //TODO better perf for childTags() - keep child tag.tags array, (and remove child, when disposed) + // tag.tags = []; + } else if (linkCtx && linkCtx.fn._lr) { + callInit = !!tag.init; + } + tagDataMap = tag.dataMap; + + tagCtx.tag = tag; + if (tagDataMap && tagCtxs) { + tagCtx.map = tagCtxs[i].map; // Copy over the compiled map instance from the previous tagCtxs to the refreshed ones + } + if (!tag.flow) { + tagCtxCtx = tagCtx.ctx = tagCtx.ctx || {}; + + // tags hash: tag.ctx.tags, merged with parentView.ctx.tags, + tags = tag.parents = tagCtxCtx.parentTags = ctx && extendCtx(tagCtxCtx.parentTags, ctx.parentTags) || {}; + if (parentTag) { + tags[parentTag.tagName] = parentTag; + //TODO better perf for childTags: parentTag.tags.push(tag); + } + tags[tag.tagName] = tagCtxCtx.tag = tag; + tagCtxCtx.tagCtx = tagCtx; + } + } + if (!(tag._er = onError)) { + tagHandlersFromProps(tag, tagCtxs[0]); + tag.rendering = {rndr: tag.rendering}; // Provide object for state during render calls to tag and elses. (Used by {{if}} and {{for}}...) + for (i = 0; i < l; i++) { // Iterate tagCtx for each {{else}} block + tagCtx = tag.tagCtx = tagCtxs[i]; + props = tagCtx.props; + tag.ctx = tagCtx.ctx; + + if (!i) { + if (callInit) { + tag.init(tagCtx, linkCtx, tag.ctx); + callInit = undefined; + } + if (!tagCtx.args.length && tagCtx.argDefault !== false && tag.argDefault !== false) { + tagCtx.args = args = [tagCtx.view.data]; // Missing first arg defaults to the current data context + tagCtx.params.args = ["#data"]; + } + + bindTo = bindToOrBindFrom("bindTo"); + + if (tag.bindTo !== undefined) { + tag.bindTo = bindTo; + } + + if (tag.bindFrom !== undefined) { + tag.bindFrom = bindToOrBindFrom("bindFrom"); + } else if (tag.bindTo) { + tag.bindFrom = tag.bindTo = bindTo; + } + bindFrom = tag.bindFrom || bindTo; + + bindToLength = bindTo.length; + bindFromLength = bindFrom.length; + + if (tag._.bnd && (linkedElement = tag.linkedElement)) { + tag.linkedElement = linkedElement = $isArray(linkedElement) ? linkedElement: [linkedElement]; + + if (bindToLength !== linkedElement.length) { + error("linkedElement not same length as bindTo"); + } + } + if (linkedElement = tag.linkedCtxParam) { + tag.linkedCtxParam = linkedElement = $isArray(linkedElement) ? linkedElement: [linkedElement]; + + if (bindFromLength !== linkedElement.length) { + error("linkedCtxParam not same length as bindFrom/bindTo"); + } + } + + if (bindFrom) { + tag._.fromIndex = {}; // Hash of bindFrom index which has same path value as bindTo index. fromIndex = tag._.fromIndex[toIndex] + tag._.toIndex = {}; // Hash of bindFrom index which has same path value as bindTo index. fromIndex = tag._.fromIndex[toIndex] + n = bindFromLength; + while (n--) { + key = bindFrom[n]; + m = bindToLength; + while (m--) { + if (key === bindTo[m]) { + tag._.fromIndex[m] = n; + tag._.toIndex[n] = m; + } + } + } + } + + if (linkCtx) { + // Set attr on linkCtx to ensure outputting to the correct target attribute. + // Setting either linkCtx.attr or this.attr in the init() allows per-instance choice of target attrib. + linkCtx.attr = tag.attr = linkCtx.attr || tag.attr || linkCtx._dfAt; + } + attr = tag.attr; + tag._.noVws = attr && attr !== HTML; + } + args = tag.cvtArgs(i); + if (tag.linkedCtxParam) { + bdArgs = tag.cvtArgs(i, 1); + m = bindFromLength; + defaultCtx = tag.constructor.prototype.ctx; + while (m--) { + if (ctxPrm = tag.linkedCtxParam[m]) { + key = bindFrom[m]; + initVal = bdArgs[m]; + // Create tag contextual parameter + tagCtx.ctx[ctxPrm] = $sub._cp( + defaultCtx && initVal === undefined ? defaultCtx[ctxPrm]: initVal, + initVal !== undefined && argOrProp(tagCtx.params, key), + tagCtx.view, + tag._.bnd && {tag: tag, cvt: tag.convert, ind: m, tagElse: i} + ); + } + } + } + if ((mapDef = props.dataMap || tagDataMap) && (args.length || props.dataMap)) { + thisMap = tagCtx.map; + if (!thisMap || thisMap.src !== args[0] || isUpdate) { + if (thisMap && thisMap.src) { + thisMap.unmap(); // only called if observable map - not when only used in JsRender, e.g. by {{props}} + } + mapDef.map(args[0], tagCtx, thisMap, !tag._.bnd); + thisMap = tagCtx.map; + } + args = [thisMap.tgt]; + } + + itemRet = undefined; + if (tag.render) { + itemRet = tag.render.apply(tag, args); + if (parentView.linked && itemRet && !rWrappedInViewMarker.test(itemRet)) { + // When a tag renders content from the render method, with data linking then we need to wrap with view markers, if absent, + // to provide a contentView for the tag, which will correctly dispose bindings if deleted. The 'tmpl' for this view will + // be a dumbed-down template which will always return the itemRet string (no matter what the data is). The itemRet string + // is not compiled as template markup, so can include "{{" or "}}" without triggering syntax errors + tmpl = { // 'Dumbed-down' template which always renders 'static' itemRet string + links: [] + }; + tmpl.render = tmpl.fn = function() { + return itemRet; + }; + itemRet = renderWithViews(tmpl, parentView.data, undefined, true, parentView, undefined, undefined, tag); + } + } + if (!args.length) { + args = [parentView]; // no arguments - (e.g. {{else}}) get data context from view. + } + if (itemRet === undefined) { + contentCtx = args[0]; // Default data context for wrapped block content is the first argument + if (tag.contentCtx) { // Set tag.contentCtx to true, to inherit parent context, or to a function to provide alternate context. + contentCtx = tag.contentCtx === true ? parentView : tag.contentCtx(contentCtx); + } + itemRet = tagCtx.render(contentCtx, true) || (isUpdate ? undefined : ""); + } + ret = ret + ? ret + (itemRet || "") + : itemRet !== undefined + ? "" + itemRet + : undefined; // If no return value from render, and no template/content tagCtx.render(...), return undefined + } + tag.rendering = tag.rendering.rndr; // Remove tag.rendering object (if this is outermost render call. (In case of nested calls) + } + tag.tagCtx = tagCtxs[0]; + tag.ctx = tag.tagCtx.ctx; + + if (tag._.noVws && tag.inline) { + // inline tag with attr set to "text" will insert HTML-encoded content - as if it was element-based innerText + ret = attr === "text" + ? $converters.html(ret) + : ""; + } + return boundTag && parentView._.onRender + // Call onRender (used by JsViews if present, to add binding annotations around rendered content) + ? parentView._.onRender(ret, parentView, tag) + : ret; +} + +//================= +// View constructor +//================= + +function View(context, type, parentView, data, template, key, onRender, contentTmpl) { + // Constructor for view object in view hierarchy. (Augmented by JsViews if JsViews is loaded) + var views, parentView_, tag, self_, + self = this, + isArray = type === "array"; + // If the data is an array, this is an 'array view' with a views array for each child 'item view' + // If the data is not an array, this is an 'item view' with a views 'hash' object for any child nested views + + self.content = contentTmpl; + self.views = isArray ? [] : {}; + self.data = data; + self.tmpl = template; + self_ = self._ = { + key: 0, + // ._.useKey is non zero if is not an 'array view' (owning a data array). Use this as next key for adding to child views hash + useKey: isArray ? 0 : 1, + id: "" + viewId++, + onRender: onRender, + bnds: {} + }; + self.linked = !!onRender; + self.type = type || "top"; + if (type) { + self.cache = {_ct: $subSettings._cchCt}; // Used for caching results of computed properties and helpers (view.getCache) + } + + if (!parentView || parentView.type === "top") { + (self.ctx = context || {}).root = self.data; + } + + if (self.parent = parentView) { + self.root = parentView.root || self; // view whose parent is top view + views = parentView.views; + parentView_ = parentView._; + self.isTop = parentView_.scp; // Is top content view of a link("#container", ...) call + self.scope = (!context.tag || context.tag === parentView.ctx.tag) && !self.isTop && parentView.scope || self; + // Scope for contextParams - closest non flow tag ancestor or root view + if (parentView_.useKey) { + // Parent is not an 'array view'. Add this view to its views object + // self._key = is the key in the parent view hash + views[self_.key = "_" + parentView_.useKey++] = self; + self.index = indexStr; + self.getIndex = getNestedIndex; + } else if (views.length === (self_.key = self.index = key)) { // Parent is an 'array view'. Add this view to its views array + views.push(self); // Adding to end of views array. (Using push when possible - better perf than splice) + } else { + views.splice(key, 0, self); // Inserting in views array + } + // If no context was passed in, use parent context + // If context was passed in, it should have been merged already with parent context + self.ctx = context || parentView.ctx; + } else if (type) { + self.root = self; // view whose parent is top view + } +} + +View.prototype = { + get: getView, + getIndex: getIndex, + ctxPrm: contextParameter, + getRsc: getResource, + _getTmpl: getTemplate, + _getOb: getPathObject, + getCache: function(key) { // Get cached value of computed value + if ($subSettings._cchCt > this.cache._ct) { + this.cache = {_ct: $subSettings._cchCt}; + } + return this.cache[key] !== undefined ? this.cache[key] : (this.cache[key] = cpFnStore[key](this.data, this, $sub)); + }, + _is: "view" +}; + +//==================================================== +// Registration +//==================================================== + +function compileChildResources(parentTmpl) { + var storeName, storeNames, resources; + for (storeName in jsvStores) { + storeNames = storeName + "s"; + if (parentTmpl[storeNames]) { + resources = parentTmpl[storeNames]; // Resources not yet compiled + parentTmpl[storeNames] = {}; // Remove uncompiled resources + $views[storeNames](resources, parentTmpl); // Add back in the compiled resources + } + } +} + +//=============== +// compileTag +//=============== + +function compileTag(name, tagDef, parentTmpl) { + var tmpl, baseTag, prop, + compiledDef = new $sub._tg(); + + function Tag() { + var tag = this; + tag._ = { + unlinked: true + }; + tag.inline = true; + tag.tagName = name; + } + + if ($isFunction(tagDef)) { + // Simple tag declared as function. No presenter instantation. + tagDef = { + depends: tagDef.depends, + render: tagDef + }; + } else if ("" + tagDef === tagDef) { + tagDef = {template: tagDef}; + } + + if (baseTag = tagDef.baseTag) { + tagDef.flow = !!tagDef.flow; // Set flow property, so defaults to false even if baseTag has flow=true + baseTag = "" + baseTag === baseTag + ? (parentTmpl && parentTmpl.tags[baseTag] || $tags[baseTag]) + : baseTag; + if (!baseTag) { + error('baseTag: "' + tagDef.baseTag + '" not found'); + } + compiledDef = $extend(compiledDef, baseTag); + + for (prop in tagDef) { + compiledDef[prop] = getMethod(baseTag[prop], tagDef[prop]); + } + } else { + compiledDef = $extend(compiledDef, tagDef); + } + + // Tag declared as object, used as the prototype for tag instantiation (control/presenter) + if ((tmpl = compiledDef.template) !== undefined) { + compiledDef.template = "" + tmpl === tmpl ? ($templates[tmpl] || $templates(tmpl)) : tmpl; + } + (Tag.prototype = compiledDef).constructor = compiledDef._ctr = Tag; + + if (parentTmpl) { + compiledDef._parentTmpl = parentTmpl; + } + return compiledDef; +} + +function baseApply(args) { + // In derived method (or handler declared declaratively as in {{:foo onChange=~fooChanged}} can call base method, + // using this.baseApply(arguments) (Equivalent to this._superApply(arguments) in jQuery UI) + return this.base.apply(this, args); +} + +//=============== +// compileTmpl +//=============== + +function compileTmpl(name, tmpl, parentTmpl, options) { + // tmpl is either a template object, a selector for a template script block, or the name of a compiled template + + //==== nested functions ==== + function lookupTemplate(value) { + // If value is of type string - treat as selector, or name of compiled template + // Return the template object, if already compiled, or the markup string + var currentName, tmpl; + if (("" + value === value) || value.nodeType > 0 && (elem = value)) { + if (!elem) { + if (/^\.?\/[^\\:*?"<>]*$/.test(value)) { + // value="./some/file.html" (or "/some/file.html") + // If the template is not named, use "./some/file.html" as name. + if (tmpl = $templates[name = name || value]) { + value = tmpl; + } else { + // BROWSER-SPECIFIC CODE (not on Node.js): + // Look for server-generated script block with id "./some/file.html" + elem = document.getElementById(value); + } + } else if (value.charAt(0) === "#") { + elem = document.getElementById(value.slice(1)); + } else if ($.fn && !$sub.rTmpl.test(value)) { + try { + elem = $(value, document)[0]; // if jQuery is loaded, test for selector returning elements, and get first element + } catch (e) {} + }// END BROWSER-SPECIFIC CODE + } //BROWSER-SPECIFIC CODE + if (elem) { + if (elem.tagName !== "SCRIPT") { + error(value + ": Use script block, not " + elem.tagName); + } + if (options) { + // We will compile a new template using the markup in the script element + value = elem.innerHTML; + } else { + // We will cache a single copy of the compiled template, and associate it with the name + // (renaming from a previous name if there was one). + currentName = elem.getAttribute(tmplAttr); + if (currentName) { + if (currentName !== jsvTmpl) { + value = $templates[currentName]; + delete $templates[currentName]; + } else if ($.fn) { + value = $.data(elem)[jsvTmpl]; // Get cached compiled template + } + } + if (!currentName || !value) { // Not yet compiled, or cached version lost + name = name || ($.fn ? jsvTmpl : value); + value = compileTmpl(name, elem.innerHTML, parentTmpl, options); + } + value.tmplName = name = name || currentName; + if (name !== jsvTmpl) { + $templates[name] = value; + } + elem.setAttribute(tmplAttr, name); + if ($.fn) { + $.data(elem, jsvTmpl, value); + } + } + } // END BROWSER-SPECIFIC CODE + elem = undefined; + } else if (!value.fn) { + value = undefined; + // If value is not a string. HTML element, or compiled template, return undefined + } + return value; + } + + var elem, compiledTmpl, + tmplOrMarkup = tmpl = tmpl || ""; + $sub._html = $converters.html; + + //==== Compile the template ==== + if (options === 0) { + options = undefined; + tmplOrMarkup = lookupTemplate(tmplOrMarkup); // Top-level compile so do a template lookup + } + + // If options, then this was already compiled from a (script) element template declaration. + // If not, then if tmpl is a template object, use it for options + options = options || (tmpl.markup + ? tmpl.bnds + ? $extend({}, tmpl) + : tmpl + : {} + ); + + options.tmplName = options.tmplName || name || "unnamed"; + if (parentTmpl) { + options._parentTmpl = parentTmpl; + } + // If tmpl is not a markup string or a selector string, then it must be a template object + // In that case, get it from the markup property of the object + if (!tmplOrMarkup && tmpl.markup && (tmplOrMarkup = lookupTemplate(tmpl.markup)) && tmplOrMarkup.fn) { + // If the string references a compiled template object, need to recompile to merge any modified options + tmplOrMarkup = tmplOrMarkup.markup; + } + if (tmplOrMarkup !== undefined) { + if (tmplOrMarkup.render || tmpl.render) { + // tmpl is already compiled, so use it + if (tmplOrMarkup.tmpls) { + compiledTmpl = tmplOrMarkup; + } + } else { + // tmplOrMarkup is a markup string, not a compiled template + // Create template object + tmpl = tmplObject(tmplOrMarkup, options); + // Compile to AST and then to compiled function + tmplFn(tmplOrMarkup.replace(rEscapeQuotes, "\\$&"), tmpl); + } + if (!compiledTmpl) { + compiledTmpl = $extend(function() { + return compiledTmpl.render.apply(compiledTmpl, arguments); + }, tmpl); + + compileChildResources(compiledTmpl); + } + return compiledTmpl; + } +} + +//==== /end of function compileTmpl ==== + +//================= +// compileViewModel +//================= + +function getDefaultVal(defaultVal, data) { + return $isFunction(defaultVal) + ? defaultVal.call(data) + : defaultVal; +} + +function addParentRef(ob, ref, parent) { + Object.defineProperty(ob, ref, { + value: parent, + configurable: true + }); +} + +function compileViewModel(name, type) { + var i, constructor, parent, + viewModels = this, + getters = type.getters, + extend = type.extend, + id = type.id, + proto = $.extend({ + _is: name || "unnamed", + unmap: unmap, + merge: merge + }, extend), + args = "", + cnstr = "", + getterCount = getters ? getters.length : 0, + $observable = $.observable, + getterNames = {}; + + function JsvVm(args) { + constructor.apply(this, args); + } + + function vm() { + return new JsvVm(arguments); + } + + function iterate(data, action) { + var getterType, defaultVal, prop, ob, parentRef, + j = 0; + for (; j < getterCount; j++) { + prop = getters[j]; + getterType = undefined; + if (prop + "" !== prop) { + getterType = prop; + prop = getterType.getter; + parentRef = getterType.parentRef; + } + if ((ob = data[prop]) === undefined && getterType && (defaultVal = getterType.defaultVal) !== undefined) { + ob = getDefaultVal(defaultVal, data); + } + action(ob, getterType && viewModels[getterType.type], prop, parentRef); + } + } + + function map(data) { + data = data + "" === data + ? JSON.parse(data) // Accept JSON string + : data; // or object/array + var l, prop, childOb, parentRef, + j = 0, + ob = data, + arr = []; + + if ($isArray(data)) { + data = data || []; + l = data.length; + for (; j tag. (Not worth adding perf cost) + tmpl.markup = $.trim(tmpl.markup); + } + + return tmpl; +} + +//============== +// registerStore +//============== + +/** +* Internal. Register a store type (used for template, tags, helpers, converters) +*/ +function registerStore(storeName, storeSettings) { + +/** +* Generic store() function to register item, named item, or hash of items +* Also used as hash to store the registered items +* Used as implementation of $.templates(), $.views.templates(), $.views.tags(), $.views.helpers() and $.views.converters() +* +* @param {string|hash} name name - or selector, in case of $.templates(). Or hash of items +* @param {any} [item] (e.g. markup for named template) +* @param {template} [parentTmpl] For item being registered as private resource of template +* @returns {any|$.views} item, e.g. compiled template - or $.views in case of registering hash of items +*/ + function theStore(name, item, parentTmpl) { + // The store is also the function used to add items to the store. e.g. $.templates, or $.views.tags + + // For store of name 'thing', Call as: + // $.views.things(items[, parentTmpl]), + // or $.views.things(name[, item, parentTmpl]) + + var compile, itemName, thisStore, cnt, + onStore = $sub.onStore[storeName]; + + if (name && typeof name === OBJECT && !name.nodeType && !name.markup && !name.getTgt && !(storeName === "viewModel" && name.getters || name.extend)) { + // Call to $.views.things(items[, parentTmpl]), + + // Adding items to the store + // If name is a hash, then item is parentTmpl. Iterate over hash and call store for key. + for (itemName in name) { + theStore(itemName, name[itemName], item); + } + return item || $views; + } + // Adding a single unnamed item to the store + if (name && "" + name !== name) { // name must be a string + parentTmpl = item; + item = name; + name = undefined; + } + thisStore = parentTmpl + ? storeName === "viewModel" + ? parentTmpl + : (parentTmpl[storeNames] = parentTmpl[storeNames] || {}) + : theStore; + compile = storeSettings.compile; + + if (item === undefined) { + item = compile ? name : thisStore[name]; + name = undefined; + } + if (item === null) { + // If item is null, delete this entry + if (name) { + delete thisStore[name]; + } + } else { + if (compile) { + item = compile.call(thisStore, name, item, parentTmpl, 0) || {}; + item._is = storeName; // Only do this for compiled objects (tags, templates...) + } + if (name) { + thisStore[name] = item; + } + } + if (onStore) { + // e.g. JsViews integration + onStore(name, item, parentTmpl, compile); + } + return item; + } + + var storeNames = storeName + "s"; + $views[storeNames] = theStore; +} + +/** +* Add settings such as: +* $.views.settings.allowCode(true) +* @param {boolean} value +* @returns {Settings} +* +* allowCode = $.views.settings.allowCode() +* @returns {boolean} +*/ +function addSetting(st) { + $viewsSettings[st] = $viewsSettings[st] || function(value) { + return arguments.length + ? ($subSettings[st] = value, $viewsSettings) + : $subSettings[st]; + }; +} + +//======================== +// dataMap for render only +//======================== + +function dataMap(mapDef) { + function Map(source, options) { + this.tgt = mapDef.getTgt(source, options); + options.map = this; + } + + if ($isFunction(mapDef)) { + // Simple map declared as function + mapDef = { + getTgt: mapDef + }; + } + + if (mapDef.baseMap) { + mapDef = $extend($extend({}, mapDef.baseMap), mapDef); + } + + mapDef.map = function(source, options) { + return new Map(source, options); + }; + return mapDef; +} + +//============== +// renderContent +//============== + +/** Render the template as a string, using the specified data and helpers/context +* $("#tmpl").render(), tmpl.render(), tagCtx.render(), $.render.namedTmpl() +* +* @param {any} data +* @param {hash} [context] helpers or context +* @param {boolean} [noIteration] +* @param {View} [parentView] internal +* @param {string} [key] internal +* @param {function} [onRender] internal +* @returns {string} rendered template internal +*/ +function renderContent(data, context, noIteration, parentView, key, onRender) { + var i, l, tag, tmpl, tagCtx, isTopRenderCall, prevData, prevIndex, + view = parentView, + result = ""; + + if (context === true) { + noIteration = context; // passing boolean as second param - noIteration + context = undefined; + } else if (typeof context !== OBJECT) { + context = undefined; // context must be a boolean (noIteration) or a plain object + } + + if (tag = this.tag) { + // This is a call from renderTag or tagCtx.render(...) + tagCtx = this; + view = view || tagCtx.view; + tmpl = view._getTmpl(tag.template || tagCtx.tmpl); + if (!arguments.length) { + data = tag.contentCtx && $isFunction(tag.contentCtx) + ? data = tag.contentCtx(data) + : view; // Default data context for wrapped block content is the first argument + } + } else { + // This is a template.render(...) call + tmpl = this; + } + + if (tmpl) { + if (!parentView && data && data._is === "view") { + view = data; // When passing in a view to render or link (and not passing in a parent view) use the passed-in view as parentView + } + + if (view && data === view) { + // Inherit the data from the parent view. + data = view.data; + } + + isTopRenderCall = !view; + isRenderCall = isRenderCall || isTopRenderCall; + if (isTopRenderCall) { + (context = context || {}).root = data; // Provide ~root as shortcut to top-level data. + } + if (!isRenderCall || $subSettingsAdvanced.useViews || tmpl.useViews || view && view !== topView) { + result = renderWithViews(tmpl, data, context, noIteration, view, key, onRender, tag); + } else { + if (view) { // In a block + prevData = view.data; + prevIndex = view.index; + view.index = indexStr; + } else { + view = topView; + prevData = view.data; + view.data = data; + view.ctx = context; + } + if ($isArray(data) && !noIteration) { + // Create a view for the array, whose child views correspond to each data item. (Note: if key and parentView are passed in + // along with parent view, treat as insert -e.g. from view.addViews - so parentView is already the view item for array) + for (i = 0, l = data.length; i < l; i++) { + view.index = i; + view.data = data[i]; + result += tmpl.fn(data[i], view, $sub); + } + } else { + view.data = data; + result += tmpl.fn(data, view, $sub); + } + view.data = prevData; + view.index = prevIndex; + } + if (isTopRenderCall) { + isRenderCall = undefined; + } + } + return result; +} + +function renderWithViews(tmpl, data, context, noIteration, view, key, onRender, tag) { + // Render template against data as a tree of subviews (nested rendered template instances), or as a string (top-level template). + // If the data is the parent view, treat as noIteration, re-render with the same data context. + // tmpl can be a string (e.g. rendered by a tag.render() method), or a compiled template. + var i, l, newView, childView, itemResult, swapContent, contentTmpl, outerOnRender, tmplName, itemVar, newCtx, tagCtx, noLinking, + result = ""; + + if (tag) { + // This is a call from renderTag or tagCtx.render(...) + tmplName = tag.tagName; + tagCtx = tag.tagCtx; + context = context ? extendCtx(context, tag.ctx) : tag.ctx; + + if (tmpl === view.content) { // {{xxx tmpl=#content}} + contentTmpl = tmpl !== view.ctx._wrp // We are rendering the #content + ? view.ctx._wrp // #content was the tagCtx.props.tmpl wrapper of the block content - so within this view, #content will now be the view.ctx._wrp block content + : undefined; // #content was the view.ctx._wrp block content - so within this view, there is no longer any #content to wrap. + } else if (tmpl !== tagCtx.content) { + if (tmpl === tag.template) { // Rendering {{tag}} tag.template, replacing block content. + contentTmpl = tagCtx.tmpl; // Set #content to block content (or wrapped block content if tagCtx.props.tmpl is set) + context._wrp = tagCtx.content; // Pass wrapped block content to nested views + } else { // Rendering tagCtx.props.tmpl wrapper + contentTmpl = tagCtx.content || view.content; // Set #content to wrapped block content + } + } else { + contentTmpl = view.content; // Nested views inherit same wrapped #content property + } + + if (tagCtx.props.link === false) { + // link=false setting on block tag + // We will override inherited value of link by the explicit setting link=false taken from props + // The child views of an unlinked view are also unlinked. So setting child back to true will not have any effect. + context = context || {}; + context.link = false; + } + } + + if (view) { + onRender = onRender || view._.onRender; + noLinking = context && context.link === false; + + if (noLinking && view._.nl) { + onRender = undefined; + } + + context = extendCtx(context, view.ctx); + tagCtx = !tag && view.tag + ? view.tag.tagCtxs[view.tagElse] + : tagCtx; + } + + if (itemVar = tagCtx && tagCtx.props.itemVar) { + if (itemVar[0] !== "~") { + syntaxError("Use itemVar='~myItem'"); + } + itemVar = itemVar.slice(1); + } + + if (key === true) { + swapContent = true; + key = 0; + } + + // If link===false, do not call onRender, so no data-linking marker nodes + if (onRender && tag && tag._.noVws) { + onRender = undefined; + } + outerOnRender = onRender; + if (onRender === true) { + // Used by view.refresh(). Don't create a new wrapper view. + outerOnRender = undefined; + onRender = view._.onRender; + } + // Set additional context on views created here, (as modified context inherited from the parent, and to be inherited by child views) + context = tmpl.helpers + ? extendCtx(tmpl.helpers, context) + : context; + + newCtx = context; + if ($isArray(data) && !noIteration) { + // Create a view for the array, whose child views correspond to each data item. (Note: if key and view are passed in + // along with parent view, treat as insert -e.g. from view.addViews - so view is already the view item for array) + newView = swapContent + ? view + : (key !== undefined && view) + || new View(context, "array", view, data, tmpl, key, onRender, contentTmpl); + newView._.nl= noLinking; + if (view && view._.useKey) { + // Parent is not an 'array view' + newView._.bnd = !tag || tag._.bnd && tag; // For array views that are data bound for collection change events, set the + // view._.bnd property to true for top-level link() or data-link="{for}", or to the tag instance for a data-bound tag, e.g. {^{for ...}} + newView.tag = tag; + } + for (i = 0, l = data.length; i < l; i++) { + // Create a view for each data item. + childView = new View(newCtx, "item", newView, data[i], tmpl, (key || 0) + i, onRender, newView.content); + if (itemVar) { + (childView.ctx = $extend({}, newCtx))[itemVar] = $sub._cp(data[i], "#data", childView); + } + itemResult = tmpl.fn(data[i], childView, $sub); + result += newView._.onRender ? newView._.onRender(itemResult, childView) : itemResult; + } + } else { + // Create a view for singleton data object. The type of the view will be the tag name, e.g. "if" or "mytag" except for + // "item", "array" and "data" views. A "data" view is from programmatic render(object) against a 'singleton'. + newView = swapContent ? view : new View(newCtx, tmplName || "data", view, data, tmpl, key, onRender, contentTmpl); + + if (itemVar) { + (newView.ctx = $extend({}, newCtx))[itemVar] = $sub._cp(data, "#data", newView); + } + + newView.tag = tag; + newView._.nl = noLinking; + result += tmpl.fn(data, newView, $sub); + } + if (tag) { + newView.tagElse = tagCtx.index; + tagCtx.contentView = newView; + } + return outerOnRender ? outerOnRender(result, newView) : result; +} + +//=========================== +// Build and compile template +//=========================== + +// Generate a reusable function that will serve to render a template against data +// (Compile AST then build template function) + +function onRenderError(e, view, fallback) { + var message = fallback !== undefined + ? $isFunction(fallback) + ? fallback.call(view.data, e, view) + : fallback || "" + : "{Error: " + (e.message||e) + "}"; + + if ($subSettings.onError && (fallback = $subSettings.onError.call(view.data, e, fallback && message, view)) !== undefined) { + message = fallback; // There is a settings.debugMode(handler) onError override. Call it, and use return value (if any) to replace message + } + return view && !view._lc ? $converters.html(message) : message; // For data-link=\"{... onError=...}"... See onDataLinkedTagChange +} + +function error(message) { + throw new $sub.Err(message); +} + +function syntaxError(message) { + error("Syntax error\n" + message); +} + +function tmplFn(markup, tmpl, isLinkExpr, convertBack, hasElse) { + // Compile markup to AST (abtract syntax tree) then build the template function code from the AST nodes + // Used for compiling templates, and also by JsViews to build functions for data link expressions + + //==== nested functions ==== + function pushprecedingContent(shift) { + shift -= loc; + if (shift) { + content.push(markup.substr(loc, shift).replace(rNewLine, "\\n")); + } + } + + function blockTagCheck(tagName, block) { + if (tagName) { + tagName += '}}'; + // '{{include}} block has {{/for}} with no open {{for}}' + syntaxError(( + block + ? '{{' + block + '}} block has {{/' + tagName + ' without {{' + tagName + : 'Unmatched or missing {{/' + tagName) + ', in template:\n' + markup); + } + } + + function parseTag(all, bind, tagName, converter, colon, html, codeTag, params, slash, bind2, closeBlock, index) { +/* + + bind tagName cvt cln html code params slash bind2 closeBlk comment +/(?:{(\^)?{(?:(\w+(?=[\/\s}]))|(\w+)?(:)|(>)|(\*))\s*((?:[^}]|}(?!}))*?)(\/)?|{(\^)?{(?:(?:\/(\w+))\s*|!--[\s\S]*?--))}}/g + +(?: + {(\^)?{ bind + (?: + (\w+ tagName + (?=[\/\s}]) + ) + | + (\w+)?(:) converter colon + | + (>) html + | + (\*) codeTag + ) + \s* + ( params + (?:[^}]|}(?!}))*? + ) + (\/)? slash + | + {(\^)?{ bind2 + (?: + (?:\/(\w+))\s* closeBlock + | + !--[\s\S]*?-- comment + ) +) +}}/g + +*/ + if (codeTag && bind || slash && !tagName || params && params.slice(-1) === ":" || bind2) { + syntaxError(all); + } + + // Build abstract syntax tree (AST): [tagName, converter, params, content, hash, bindings, contentMarkup] + if (html) { + colon = ":"; + converter = HTML; + } + slash = slash || isLinkExpr && !hasElse; + + var late, openTagName, isLateOb, + pathBindings = (bind || isLinkExpr) && [[]], // pathBindings is an array of arrays for arg bindings and a hash of arrays for prop bindings + props = "", + args = "", + ctxProps = "", + paramsArgs = "", + paramsProps = "", + paramsCtxProps = "", + onError = "", + useTrigger = "", + // Block tag if not self-closing and not {{:}} or {{>}} (special case) and not a data-link expression + block = !slash && !colon; + + //==== nested helper function ==== + tagName = tagName || (params = params || "#data", colon); // {{:}} is equivalent to {{:#data}} + pushprecedingContent(index); + loc = index + all.length; // location marker - parsed up to here + if (codeTag) { + if (allowCode) { + content.push(["*", "\n" + params.replace(/^:/, "ret+= ").replace(rUnescapeQuotes, "$1") + ";\n"]); + } + } else if (tagName) { + if (tagName === "else") { + if (rTestElseIf.test(params)) { + syntaxError('For "{{else if expr}}" use "{{else expr}}"'); + } + pathBindings = current[9] && [[]]; + current[10] = markup.substring(current[10], index); // contentMarkup for block tag + openTagName = current[11] || current[0] || syntaxError("Mismatched: " + all); + // current[0] is tagName, but for {{else}} nodes, current[11] is tagName of preceding open tag + current = stack.pop(); + content = current[2]; + block = true; + } + if (params) { + // remove newlines from the params string, to avoid compiled code errors for unterminated strings + parseParams(params.replace(rNewLine, " "), pathBindings, tmpl, isLinkExpr) + .replace(rBuildHash, function(all, onerror, isCtxPrm, key, keyToken, keyValue, arg, param) { + if (key === "this:") { + keyValue = "undefined"; // this=some.path is always a to parameter (one-way), so don't need to compile/evaluate some.path initialization + } + if (param) { + isLateOb = isLateOb || param[0] === "@"; + } + key = "'" + keyToken + "':"; + if (arg) { + args += isCtxPrm + keyValue + ","; + paramsArgs += "'" + param + "',"; + } else if (isCtxPrm) { // Contextual parameter, ~foo=expr + ctxProps += key + 'j._cp(' + keyValue + ',"' + param + '",view),'; + // Compiled code for evaluating tagCtx on a tag will have: ctx:{'foo':j._cp(compiledExpr, "expr", view)} + paramsCtxProps += key + "'" + param + "',"; + } else if (onerror) { + onError += keyValue; + } else { + if (keyToken === "trigger") { + useTrigger += keyValue; + } + if (keyToken === "lateRender") { + late = param !== "false"; // Render after first pass + } + props += key + keyValue + ","; + paramsProps += key + "'" + param + "',"; + hasHandlers = hasHandlers || rHasHandlers.test(keyToken); + } + return ""; + }).slice(0, -1); + } + + if (pathBindings && pathBindings[0]) { + pathBindings.pop(); // Remove the binding that was prepared for next arg. (There is always an extra one ready). + } + + newNode = [ + tagName, + converter || !!convertBack || hasHandlers || "", + block && [], + parsedParam(paramsArgs || (tagName === ":" ? "'#data'," : ""), paramsProps, paramsCtxProps), // {{:}} equivalent to {{:#data}} + parsedParam(args || (tagName === ":" ? "data," : ""), props, ctxProps), + onError, + useTrigger, + late, + isLateOb, + pathBindings || 0 + ]; + content.push(newNode); + if (block) { + stack.push(current); + current = newNode; + current[10] = loc; // Store current location of open tag, to be able to add contentMarkup when we reach closing tag + current[11] = openTagName; // Used for checking syntax (matching close tag) + } + } else if (closeBlock) { + blockTagCheck(closeBlock !== current[0] && closeBlock !== current[11] && closeBlock, current[0]); // Check matching close tag name + current[10] = markup.substring(current[10], index); // contentMarkup for block tag + current = stack.pop(); + } + blockTagCheck(!current && closeBlock); + content = current[2]; + } + //==== /end of nested functions ==== + + var i, result, newNode, hasHandlers, bindings, + allowCode = $subSettings.allowCode || tmpl && tmpl.allowCode + || $viewsSettings.allowCode === true, // include direct setting of settings.allowCode true for backward compat only + astTop = [], + loc = 0, + stack = [], + content = astTop, + current = [,,astTop]; + + if (allowCode && tmpl._is) { + tmpl.allowCode = allowCode; + } + +//TODO result = tmplFnsCache[markup]; // Only cache if template is not named and markup length < ..., +//and there are no bindings or subtemplates?? Consider standard optimization for data-link="a.b.c" +// if (result) { +// tmpl.fn = result; +// } else { + +// result = markup; + if (isLinkExpr) { + if (convertBack !== undefined) { + markup = markup.slice(0, -convertBack.length - 2) + delimCloseChar0; + } + markup = delimOpenChar0 + markup + delimCloseChar1; + } + + blockTagCheck(stack[0] && stack[0][2].pop()[0]); + // Build the AST (abstract syntax tree) under astTop + markup.replace(rTag, parseTag); + + pushprecedingContent(markup.length); + + if (loc = astTop[astTop.length - 1]) { + blockTagCheck("" + loc !== loc && (+loc[10] === loc[10]) && loc[0]); + } +// result = tmplFnsCache[markup] = buildCode(astTop, tmpl); +// } + + if (isLinkExpr) { + result = buildCode(astTop, markup, isLinkExpr); + bindings = []; + i = astTop.length; + while (i--) { + bindings.unshift(astTop[i][9]); // With data-link expressions, pathBindings array for tagCtx[i] is astTop[i][9] + } + setPaths(result, bindings); + } else { + result = buildCode(astTop, tmpl); + } + return result; +} + +function setPaths(fn, pathsArr) { + var key, paths, + i = 0, + l = pathsArr.length; + fn.deps = []; + fn.paths = []; // The array of path binding (array/dictionary)s for each tag/else block's args and props + for (; i < l; i++) { + fn.paths.push(paths = pathsArr[i]); + for (key in paths) { + if (key !== "_jsvto" && paths.hasOwnProperty(key) && paths[key].length && !paths[key].skp) { + fn.deps = fn.deps.concat(paths[key]); // deps is the concatenation of the paths arrays for the different bindings + } + } + } +} + +function parsedParam(args, props, ctx) { + return [args.slice(0, -1), props.slice(0, -1), ctx.slice(0, -1)]; +} + +function paramStructure(paramCode, paramVals) { + return '\n\tparams:{args:[' + paramCode[0] + '],\n\tprops:{' + paramCode[1] + '}' + + (paramCode[2] ? ',\n\tctx:{' + paramCode[2] + '}' : "") + + '},\n\targs:[' + paramVals[0] + '],\n\tprops:{' + paramVals[1] + '}' + + (paramVals[2] ? ',\n\tctx:{' + paramVals[2] + '}' : ""); +} + +function parseParams(params, pathBindings, tmpl, isLinkExpr) { + + function parseTokens(all, lftPrn0, lftPrn, bound, path, operator, err, eq, path2, late, prn, + comma, lftPrn2, apos, quot, rtPrn, rtPrnDot, prn2, space, index, full) { + // /(\()(?=\s*\()|(?:([([])\s*)?(?:(\^?)(~?[\w$.^]+)?\s*((\+\+|--)|\+|-|~(?![\w$])|&&|\|\||===|!==|==|!=|<=|>=|[<>%*:?\/]|(=))\s*|(!*?(@)?[#~]?[\w$.^]+)([([])?)|(,\s*)|(?:(\()\s*)?\\?(?:(')|("))|(?:\s*(([)\]])(?=[.^]|\s*$|[^([])|[)\]])([([]?))|(\s+)/g, + //lftPrn0 lftPrn bound path operator err eq path2 late prn comma lftPrn2 apos quot rtPrn rtPrnDot prn2 space + // (left paren? followed by (path? followed by operator) or (path followed by paren?)) or comma or apos or quot or right paren or space + + function parsePath(allPath, not, object, helper, view, viewProperty, pathTokens, leafToken) { + // /^(!*?)(?:null|true|false|\d[\d.]*|([\w$]+|\.|~([\w$]+)|#(view|([\w$]+))?)([\w$.^]*?)(?:[.[^]([\w$]+)\]?)?)$/g, + // not object helper view viewProperty pathTokens leafToken + subPath = object === "."; + if (object) { + path = path.slice(not.length); + if (/^\.?constructor$/.test(leafToken||path)) { + syntaxError(allPath); + } + if (!subPath) { + allPath = (late // late path @a.b.c: not throw on 'property of undefined' if a undefined, and will use _getOb() after linking to resolve late. + ? (isLinkExpr ? '' : '(ltOb.lt=ltOb.lt||') + '(ob=' + : "" + ) + + (helper + ? 'view.ctxPrm("' + helper + '")' + : view + ? "view" + : "data") + + (late + ? ')===undefined' + (isLinkExpr ? '' : ')') + '?"":view._getOb(ob,"' + : "" + ) + + (leafToken + ? (viewProperty + ? "." + viewProperty + : helper + ? "" + : (view ? "" : "." + object) + ) + (pathTokens || "") + : (leafToken = helper ? "" : view ? viewProperty || "" : object, "")); + allPath = allPath + (leafToken ? "." + leafToken : ""); + + allPath = not + (allPath.slice(0, 9) === "view.data" + ? allPath.slice(5) // convert #view.data... to data... + : allPath) + + (late + ? (isLinkExpr ? '"': '",ltOb') + (prn ? ',1)':')') + : "" + ); + } + if (bindings) { + binds = named === "_linkTo" ? (bindto = pathBindings._jsvto = pathBindings._jsvto || []) : bndCtx.bd; + if (theOb = subPath && binds[binds.length-1]) { + if (theOb._cpfn) { // Computed property exprOb + while (theOb.sb) { + theOb = theOb.sb; + } + if (theOb.prm) { + if (theOb.bnd) { + path = "^" + path.slice(1); + } + theOb.sb = path; + theOb.bnd = theOb.bnd || path[0] === "^"; + } + } + } else { + binds.push(path); + } + if (prn && !subPath) { + pathStart[fnDp] = ind; + compiledPathStart[fnDp] = compiledPath[fnDp].length; + } + } + } + return allPath; + } + + //bound = bindings && bound; + if (bound && !eq) { + path = bound + path; // e.g. some.fn(...)^some.path - so here path is "^some.path" + } + operator = operator || ""; + lftPrn2 = lftPrn2 || ""; + lftPrn = lftPrn || lftPrn0 || lftPrn2; + path = path || path2; + + if (late && (late = !/\)|]/.test(full[index-1]))) { + path = path.slice(1).split(".").join("^"); // Late path @z.b.c. Use "^" rather than "." to ensure that deep binding will be used + } + // Could do this - but not worth perf cost?? :- + // if (!path.lastIndexOf("#data.", 0)) { path = path.slice(6); } // If path starts with "#data.", remove that. + prn = prn || prn2 || ""; + var expr, binds, theOb, newOb, subPath, lftPrnFCall, ret, + ind = index; + + if (!aposed && !quoted) { + if (err) { + syntaxError(params); + } + if (rtPrnDot && bindings) { + // This is a binding to a path in which an object is returned by a helper/data function/expression, e.g. foo()^x.y or (a?b:c)^x.y + // We create a compiled function to get the object instance (which will be called when the dependent data of the subexpression changes, + // to return the new object, and trigger re-binding of the subsequent path) + expr = pathStart[fnDp-1]; + if (full.length - 1 > ind - (expr || 0)) { // We need to compile a subexpression + expr = $.trim(full.slice(expr, ind + all.length)); + binds = bindto || bndStack[fnDp-1].bd; + // Insert exprOb object, to be used during binding to return the computed object + theOb = binds[binds.length-1]; + if (theOb && theOb.prm) { + while (theOb.sb && theOb.sb.prm) { + theOb = theOb.sb; + } + newOb = theOb.sb = {path: theOb.sb, bnd: theOb.bnd}; + } else { + binds.push(newOb = {path: binds.pop()}); // Insert exprOb object, to be used during binding to return the computed object + } + if (theOb && theOb.sb === newOb) { + compiledPath[fnDp] = compiledPath[fnDp-1].slice(theOb._cpPthSt) + compiledPath[fnDp]; + compiledPath[fnDp-1] = compiledPath[fnDp-1].slice(0, theOb._cpPthSt); + } + newOb._cpPthSt = compiledPathStart[fnDp-1]; + newOb._cpKey = expr; + + compiledPath[fnDp] += full.slice(prevIndex, index); + prevIndex = index; + + newOb._cpfn = cpFnStore[expr] = cpFnStore[expr] || // Compiled function for computed value: get from store, or compile and store + new Function("data,view,j", // Compiled function for computed value in template + "//" + expr + "\nvar v;\nreturn ((v=" + compiledPath[fnDp] + (rtPrn === "]" ? ")]" : rtPrn) + ")!=null?v:null);"); + + compiledPath[fnDp-1] += (fnCall[prnDp] && $subSettingsAdvanced.cache ? "view.getCache(\"" + expr.replace(rEscapeQuotes, "\\$&") + "\"" : compiledPath[fnDp]); + + newOb.prm = bndCtx.bd; + newOb.bnd = newOb.bnd || newOb.path && newOb.path.indexOf("^") >= 0; + } + compiledPath[fnDp] = ""; + } + if (prn === "[") { + prn = "[j._sq("; + } + if (lftPrn === "[") { + lftPrn = "[j._sq("; + } + } + ret = (aposed + // within single-quoted string + ? (aposed = !apos, (aposed ? all : lftPrn2 + '"')) + : quoted + // within double-quoted string + ? (quoted = !quot, (quoted ? all : lftPrn2 + '"')) + : + ( + (lftPrn + ? ( + prnStack[++prnDp] = true, + prnInd[prnDp] = 0, + bindings && ( + pathStart[fnDp++] = ind++, + bndCtx = bndStack[fnDp] = {bd: []}, + compiledPath[fnDp] = "", + compiledPathStart[fnDp] = 1 + ), + lftPrn) // Left paren, (not a function call paren) + : "") + + (space + ? (prnDp + ? "" // A space within parens or within function call parens, so not a separator for tag args + // New arg or prop - so insert backspace \b (\x08) as separator for named params, used subsequently by rBuildHash, and prepare new bindings array + : (paramIndex = full.slice(paramIndex, ind), named + ? (named = boundName = bindto = false, "\b") + : "\b,") + paramIndex + (paramIndex = ind + all.length, bindings && pathBindings.push(bndCtx.bd = []), "\b") + ) + : eq + // named param. Remove bindings for arg and create instead bindings array for prop + ? (fnDp && syntaxError(params), bindings && pathBindings.pop(), named = "_" + path, boundName = bound, paramIndex = ind + all.length, + bindings && ((bindings = bndCtx.bd = pathBindings[named] = []), bindings.skp = !bound), path + ':') + : path + // path + ? (path.split("^").join(".").replace($sub.rPath, parsePath) + + (prn || operator) + ) + : operator + // operator + ? operator + : rtPrn + // function + ? rtPrn === "]" ? ")]" : ")" + : comma + ? (fnCall[prnDp] || syntaxError(params), ",") // We don't allow top-level literal arrays or objects + : lftPrn0 + ? "" + : (aposed = apos, quoted = quot, '"') + )) + ); + + if (!aposed && !quoted) { + if (rtPrn) { + fnCall[prnDp] = false; + prnDp--; + } + } + + if (bindings) { + if (!aposed && !quoted) { + if (rtPrn) { + if (prnStack[prnDp+1]) { + bndCtx = bndStack[--fnDp]; + prnStack[prnDp+1] = false; + } + prnStart = prnInd[prnDp+1]; + } + if (prn) { + prnInd[prnDp+1] = compiledPath[fnDp].length + (lftPrn ? 1 : 0); + if (path || rtPrn) { + bndCtx = bndStack[++fnDp] = {bd: []}; + prnStack[prnDp+1] = true; + } + } + } + + compiledPath[fnDp] = (compiledPath[fnDp]||"") + full.slice(prevIndex, index); + prevIndex = index+all.length; + + if (!aposed && !quoted) { + if (lftPrnFCall = lftPrn && prnStack[prnDp+1]) { + compiledPath[fnDp-1] += lftPrn; + compiledPathStart[fnDp-1]++; + } + if (prn === "(" && subPath && !newOb) { + compiledPath[fnDp] = compiledPath[fnDp-1].slice(prnStart) + compiledPath[fnDp]; + compiledPath[fnDp-1] = compiledPath[fnDp-1].slice(0, prnStart); + } + } + compiledPath[fnDp] += lftPrnFCall ? ret.slice(1) : ret; + } + + if (!aposed && !quoted && prn) { + prnDp++; + if (path && prn === "(") { + fnCall[prnDp] = true; + } + } + + if (!aposed && !quoted && prn2) { + if (bindings) { + compiledPath[fnDp] += prn; + } + ret += prn; + } + return ret; + } + + var named, bindto, boundName, result, + quoted, // boolean for string content in double quotes + aposed, // or in single quotes + bindings = pathBindings && pathBindings[0], // bindings array for the first arg + bndCtx = {bd: bindings}, + bndStack = {0: bndCtx}, + paramIndex = 0, // list, + // The following are used for tracking path parsing including nested paths, such as "a.b(c^d + (e))^f", and chained computed paths such as + // "a.b().c^d().e.f().g" - which has four chained paths, "a.b()", "^c.d()", ".e.f()" and ".g" + prnDp = 0, // For tracking paren depth (not function call parens) + fnDp = 0, // For tracking depth of function call parens + prnInd = {}, // We are in a function call + prnStart = 0, // tracks the start of the current path such as c^d() in the above example + prnStack = {}, // tracks parens which are not function calls, and so are associated with new bndStack contexts + fnCall = {}, // We are in a function call + pathStart = {},// tracks the start of the current path such as c^d() in the above example + compiledPathStart = {0: 0}, + compiledPath = {0:""}, + prevIndex = 0; + + if (params[0] === "@") { + params = params.replace(rBracketQuote, "."); + } + result = (params + (tmpl ? " " : "")).replace($sub.rPrm, parseTokens); + + if (bindings) { + result = compiledPath[0]; + } + + return !prnDp && result || syntaxError(params); // Syntax error if unbalanced parens in params expression +} + +function buildCode(ast, tmpl, isLinkExpr) { + // Build the template function code from the AST nodes, and set as property on the passed-in template object + // Used for compiling templates, and also by JsViews to build functions for data link expressions + var i, node, tagName, converter, tagCtx, hasTag, hasEncoder, getsVal, hasCnvt, useCnvt, tmplBindings, pathBindings, params, boundOnErrStart, + boundOnErrEnd, tagRender, nestedTmpls, tmplName, nestedTmpl, tagAndElses, content, markup, nextIsElse, oldCode, isElse, isGetVal, tagCtxFn, + onError, tagStart, trigger, lateRender, retStrOpen, retStrClose, + tmplBindingKey = 0, + useViews = $subSettingsAdvanced.useViews || tmpl.useViews || tmpl.tags || tmpl.templates || tmpl.helpers || tmpl.converters, + code = "", + tmplOptions = {}, + l = ast.length; + + if ("" + tmpl === tmpl) { + tmplName = isLinkExpr ? 'data-link="' + tmpl.replace(rNewLine, " ").slice(1, -1) + '"' : tmpl; + tmpl = 0; + } else { + tmplName = tmpl.tmplName || "unnamed"; + if (tmpl.allowCode) { + tmplOptions.allowCode = true; + } + if (tmpl.debug) { + tmplOptions.debug = true; + } + tmplBindings = tmpl.bnds; + nestedTmpls = tmpl.tmpls; + } + for (i = 0; i < l; i++) { + // AST nodes: [0: tagName, 1: converter, 2: content, 3: params, 4: code, 5: onError, 6: trigger, 7:pathBindings, 8: contentMarkup] + node = ast[i]; + + // Add newline for each callout to t() c() etc. and each markup string + if ("" + node === node) { + // a markup string to be inserted + code += '+"' + node + '"'; + } else { + // a compiled tag expression to be inserted + tagName = node[0]; + if (tagName === "*") { + // Code tag: {{* }} + code += ";\n" + node[1] + "\nret=ret"; + } else { + converter = node[1]; + content = !isLinkExpr && node[2]; + tagCtx = paramStructure(node[3], params = node[4]); + trigger = node[6]; + lateRender = node[7]; + if (node[8]) { // latePath @a.b.c or @~a.b.c + retStrOpen = "\nvar ob,ltOb={},ctxs="; + retStrClose = ";\nctxs.lt=ltOb.lt;\nreturn ctxs;"; + } else { + retStrOpen = "\nreturn "; + retStrClose = ""; + } + markup = node[10] && node[10].replace(rUnescapeQuotes, "$1"); + if (isElse = tagName === "else") { + if (pathBindings) { + pathBindings.push(node[9]); + } + } else { + onError = node[5] || $subSettings.debugMode !== false && "undefined"; // If debugMode not false, set default onError handler on tag to "undefined" (see onRenderError) + if (tmplBindings && (pathBindings = node[9])) { // Array of paths, or false if not data-bound + pathBindings = [pathBindings]; + tmplBindingKey = tmplBindings.push(1); // Add placeholder in tmplBindings for compiled function + } + } + useViews = useViews || params[1] || params[2] || pathBindings || /view.(?!index)/.test(params[0]); + // useViews is for perf optimization. For render() we only use views if necessary - for the more advanced scenarios. + // We use views if there are props, contextual properties or args with #... (other than #index) - but you can force + // using the full view infrastructure, (and pay a perf price) by opting in: Set useViews: true on the template, manually... + if (isGetVal = tagName === ":") { + if (converter) { + tagName = converter === HTML ? ">" : converter + tagName; + } + } else { + if (content) { // TODO optimize - if content.length === 0 or if there is a tmpl="..." specified - set content to null / don't run this compilation code - since content won't get used!! + // Create template object for nested template + nestedTmpl = tmplObject(markup, tmplOptions); + nestedTmpl.tmplName = tmplName + "/" + tagName; + // Compile to AST and then to compiled function + nestedTmpl.useViews = nestedTmpl.useViews || useViews; + buildCode(content, nestedTmpl); + useViews = nestedTmpl.useViews; + nestedTmpls.push(nestedTmpl); + } + + if (!isElse) { + // This is not an else tag. + tagAndElses = tagName; + useViews = useViews || tagName && (!$tags[tagName] || !$tags[tagName].flow); + // Switch to a new code string for this bound tag (and its elses, if it has any) - for returning the tagCtxs array + oldCode = code; + code = ""; + } + nextIsElse = ast[i + 1]; + nextIsElse = nextIsElse && nextIsElse[0] === "else"; + } + tagStart = onError ? ";\ntry{\nret+=" : "\n+"; + boundOnErrStart = ""; + boundOnErrEnd = ""; + + if (isGetVal && (pathBindings || trigger || converter && converter !== HTML || lateRender)) { + // For convertVal we need a compiled function to return the new tagCtx(s) + tagCtxFn = new Function("data,view,j", "// " + tmplName + " " + (++tmplBindingKey) + " " + tagName + + retStrOpen + "{" + tagCtx + "};" + retStrClose); + tagCtxFn._er = onError; + tagCtxFn._tag = tagName; + tagCtxFn._bd = !!pathBindings; // data-linked tag {^{.../}} + tagCtxFn._lr = lateRender; + + if (isLinkExpr) { + return tagCtxFn; + } + + setPaths(tagCtxFn, pathBindings); + tagRender = 'c("' + converter + '",view,'; + useCnvt = true; + boundOnErrStart = tagRender + tmplBindingKey + ","; + boundOnErrEnd = ")"; + } + code += (isGetVal + ? (isLinkExpr ? (onError ? "try{\n" : "") + "return " : tagStart) + (useCnvt // Call _cnvt if there is a converter: {{cnvt: ... }} or {^{cnvt: ... }} + ? (useCnvt = undefined, useViews = hasCnvt = true, tagRender + (tagCtxFn + ? ((tmplBindings[tmplBindingKey - 1] = tagCtxFn), tmplBindingKey) // Store the compiled tagCtxFn in tmpl.bnds, and pass the key to convertVal() + : "{" + tagCtx + "}") + ")") + : tagName === ">" + ? (hasEncoder = true, "h(" + params[0] + ")") + : (getsVal = true, "((v=" + params[0] + ')!=null?v:' + (isLinkExpr ? 'null)' : '"")')) + // Non strict equality so data-link="title{:expr}" with expr=null/undefined removes title attribute + ) + : (hasTag = true, "\n{view:view,content:false,tmpl:" // Add this tagCtx to the compiled code for the tagCtxs to be passed to renderTag() + + (content ? nestedTmpls.length : "false") + "," // For block tags, pass in the key (nestedTmpls.length) to the nested content template + + tagCtx + "},")); + + if (tagAndElses && !nextIsElse) { + // This is a data-link expression or an inline tag without any elses, or the last {{else}} of an inline tag + // We complete the code for returning the tagCtxs array + code = "[" + code.slice(0, -1) + "]"; + tagRender = 't("' + tagAndElses + '",view,this,'; + if (isLinkExpr || pathBindings) { + // This is a bound tag (data-link expression or inline bound tag {^{tag ...}}) so we store a compiled tagCtxs function in tmp.bnds + code = new Function("data,view,j", " // " + tmplName + " " + tmplBindingKey + " " + tagAndElses + retStrOpen + code + + retStrClose); + code._er = onError; + code._tag = tagAndElses; + if (pathBindings) { + setPaths(tmplBindings[tmplBindingKey - 1] = code, pathBindings); + } + code._lr = lateRender; + if (isLinkExpr) { + return code; // For a data-link expression we return the compiled tagCtxs function + } + boundOnErrStart = tagRender + tmplBindingKey + ",undefined,"; + boundOnErrEnd = ")"; + } + + // This is the last {{else}} for an inline tag. + // For a bound tag, pass the tagCtxs fn lookup key to renderTag. + // For an unbound tag, include the code directly for evaluating tagCtxs array + code = oldCode + tagStart + tagRender + (pathBindings && tmplBindingKey || code) + ")"; + pathBindings = 0; + tagAndElses = 0; + } + if (onError && !nextIsElse) { + useViews = true; + code += ';\n}catch(e){ret' + (isLinkExpr ? "urn " : "+=") + boundOnErrStart + 'j._err(e,view,' + onError + ')' + boundOnErrEnd + ';}' + (isLinkExpr ? "" : '\nret=ret'); + } + } + } + } + // Include only the var references that are needed in the code + code = "// " + tmplName + + (tmplOptions.debug ? "\ndebugger;" : "") + + "\nvar v" + + (hasTag ? ",t=j._tag" : "") // has tag + + (hasCnvt ? ",c=j._cnvt" : "") // converter + + (hasEncoder ? ",h=j._html" : "") // html converter + + (isLinkExpr + ? (node[8] // late @... path? + ? ", ob" + : "" + ) + ";\n" + : ',ret=""') + + code + + (isLinkExpr ? "\n" : ";\nreturn ret;"); + + try { + code = new Function("data,view,j", code); + } catch (e) { + syntaxError("Compiled template code:\n\n" + code + '\n: "' + (e.message||e) + '"'); + } + if (tmpl) { + tmpl.fn = code; + tmpl.useViews = !!useViews; + } + return code; +} + +//========== +// Utilities +//========== + +// Merge objects, in particular contexts which inherit from parent contexts +function extendCtx(context, parentContext) { + // Return copy of parentContext, unless context is defined and is different, in which case return a new merged context + // If neither context nor parentContext are defined, return undefined + return context && context !== parentContext + ? (parentContext + ? $extend($extend({}, parentContext), context) + : context) + : parentContext && $extend({}, parentContext); +} + +function getTargetProps(source, tagCtx) { + // this pointer is theMap - which has tagCtx.props too + // arguments: tagCtx.args. + var key, prop, + map = tagCtx.map, + propsArr = map && map.propsArr; + + if (!propsArr) { // map.propsArr is the full array of {key:..., prop:...} objects + propsArr = []; + if (typeof source === OBJECT || $isFunction(source)) { + for (key in source) { + prop = source[key]; + if (key !== $expando && source.hasOwnProperty(key) && (!tagCtx.props.noFunctions || !$.isFunction(prop))) { + propsArr.push({key: key, prop: prop}); + } + } + } + if (map) { + map.propsArr = map.options && propsArr; // If bound {^{props}} and not isRenderCall, store propsArr on map (map.options is defined only for bound, && !isRenderCall) + } + } + return getTargetSorted(propsArr, tagCtx); // Obtains map.tgt, by filtering, sorting and splicing the full propsArr +} + +function getTargetSorted(value, tagCtx) { + // getTgt + var mapped, start, end, + tag = tagCtx.tag, + props = tagCtx.props, + propParams = tagCtx.params.props, + filter = props.filter, + sort = props.sort, + directSort = sort === true, + step = parseInt(props.step), + reverse = props.reverse ? -1 : 1; + + if (!$isArray(value)) { + return value; + } + if (directSort || sort && "" + sort === sort) { + // Temporary mapped array holds objects with index and sort-value + mapped = value.map(function(item, i) { + item = directSort ? item : getPathObject(item, sort); + return {i: i, v: "" + item === item ? item.toLowerCase() : item}; + }); + // Sort mapped array + mapped.sort(function(a, b) { + return a.v > b.v ? reverse : a.v < b.v ? -reverse : 0; + }); + // Map to new array with resulting order + value = mapped.map(function(item){ + return value[item.i]; + }); + } else if ((sort || reverse < 0) && !tag.dataMap) { + value = value.slice(); // Clone array first if not already a new array + } + if ($isFunction(sort)) { + value = value.sort(function() { // Wrap the sort function to provide tagCtx as 'this' pointer + return sort.apply(tagCtx, arguments); + }); + } + if (reverse < 0 && (!sort || $isFunction(sort))) { // Reverse result if not already reversed in sort + value = value.reverse(); + } + + if (value.filter && filter) { // IE8 does not support filter + value = value.filter(filter, tagCtx); + if (tagCtx.tag.onFilter) { + tagCtx.tag.onFilter(tagCtx); + } + } + + if (propParams.sorted) { + mapped = (sort || reverse < 0) ? value : value.slice(); + if (tag.sorted) { + $.observable(tag.sorted).refresh(mapped); // Note that this might cause the start and end props to be modified - e.g. by pager tag control + } else { + tagCtx.map.sorted = mapped; + } + } + + start = props.start; // Get current value - after possible changes triggered by tag.sorted refresh() above + end = props.end; + if (propParams.start && start === undefined || propParams.end && end === undefined) { + start = end = 0; + } + if (!isNaN(start) || !isNaN(end)) { // start or end specified, but not the auto-create Number array scenario of {{for start=xxx end=yyy}} + start = +start || 0; + end = end === undefined || end > value.length ? value.length : +end; + value = value.slice(start, end); + } + if (step > 1) { + start = 0; + end = value.length; + mapped = []; + for (; start & ' " ` etc. by corresponding entities. + return text != undefined ? rIsHtml.test(text) && ("" + text).replace(rHtmlEncode, getCharEntity) || text : ""; +} + +function dataEncode(text) { + // Encode just < > and & - intended for 'safe data' along with {{:}} rather than {{>}} + return "" + text === text ? text.replace(rDataEncode, getCharEntity) : text; +} + +function dataUnencode(text) { + // Unencode just < > and & - intended for 'safe data' along with {{:}} rather than {{>}} + return "" + text === text ? text.replace(rDataUnencode, getCharFromEntity) : text; +} + +//========================== Initialize ========================== + +$sub = $views.sub; +$viewsSettings = $views.settings; + +if (!(jsr || $ && $.render)) { + // JsRender/JsViews not already loaded (or loaded without jQuery, and we are now moving from jsrender namespace to jQuery namepace) + for (jsvStoreName in jsvStores) { + registerStore(jsvStoreName, jsvStores[jsvStoreName]); + } + + $converters = $views.converters; + $helpers = $views.helpers; + $tags = $views.tags; + + $sub._tg.prototype = { + baseApply: baseApply, + cvtArgs: convertArgs, + bndArgs: convertBoundArgs, + ctxPrm: contextParameter + }; + + topView = $sub.topView = new View(); + + //BROWSER-SPECIFIC CODE + if ($) { + + //////////////////////////////////////////////////////////////////////////////////////////////// + // jQuery (= $) is loaded + + $.fn.render = $fnRender; + $expando = $.expando; + if ($.observable) { + if (versionNumber !== (versionNumber = $.views.jsviews)) { + // Different version of jsRender was loaded + throw "jquery.observable.js requires jsrender.js " + versionNumber; + } + $extend($sub, $.views.sub); // jquery.observable.js was loaded before jsrender.js + $views.map = $.views.map; + } + + } else { + //////////////////////////////////////////////////////////////////////////////////////////////// + // jQuery is not loaded. + + $ = {}; + + if (setGlobals) { + global.jsrender = $; // We are loading jsrender.js from a script element, not AMD or CommonJS, so set global + } + + // Error warning if jsrender.js is used as template engine on Node.js (e.g. Express or Hapi...) + // Use jsrender-node.js instead... + $.renderFile = $.__express = $.compile = function() { throw "Node.js: use npm jsrender, or jsrender-node.js"; }; + + //END BROWSER-SPECIFIC CODE + $.isFunction = function(ob) { + return typeof ob === "function"; + }; + + $.isArray = Array.isArray || function(obj) { + return ({}.toString).call(obj) === "[object Array]"; + }; + + $sub._jq = function(jq) { // private method to move from JsRender APIs from jsrender namespace to jQuery namespace + if (jq !== $) { + $extend(jq, $); // map over from jsrender namespace to jQuery namespace + $ = jq; + $.fn.render = $fnRender; + delete $.jsrender; + $expando = $.expando; + } + }; + + $.jsrender = versionNumber; + } + $subSettings = $sub.settings; + $subSettings.allowCode = false; + $isFunction = $.isFunction; + $.render = $render; + $.views = $views; + $.templates = $templates = $views.templates; + + for (setting in $subSettings) { + addSetting(setting); + } + + /** + * $.views.settings.debugMode(true) + * @param {boolean} debugMode + * @returns {Settings} + * + * debugMode = $.views.settings.debugMode() + * @returns {boolean} + */ + ($viewsSettings.debugMode = function(debugMode) { + return debugMode === undefined + ? $subSettings.debugMode + : ( + $subSettings._clFns && $subSettings._clFns(), // Clear linkExprStore (cached compiled expressions), since debugMode setting affects compilation for expressions + $subSettings.debugMode = debugMode, + $subSettings.onError = debugMode + "" === debugMode + ? function() { return debugMode; } + : $isFunction(debugMode) + ? debugMode + : undefined, + $viewsSettings); + })(false); // jshint ignore:line + + $subSettingsAdvanced = $subSettings.advanced = { + cache: true, // By default use cached values of computed values (Otherwise, set advanced cache setting to false) + useViews: false, + _jsv: false // For global access to JsViews store + }; + + //========================== Register tags ========================== + + $tags({ + "if": { + render: function(val) { + // This function is called once for {{if}} and once for each {{else}}. + // We will use the tag.rendering object for carrying rendering state across the calls. + // If not done (a previous block has not been rendered), look at expression for this block and render the block if expression is truthy + // Otherwise return "" + var self = this, + tagCtx = self.tagCtx, + ret = (self.rendering.done || !val && (tagCtx.args.length || !tagCtx.index)) + ? "" + : (self.rendering.done = true, + self.selected = tagCtx.index, + undefined); // Test is satisfied, so render content on current context + return ret; + }, + contentCtx: true, // Inherit parent view data context + flow: true + }, + "for": { + sortDataMap: dataMap(getTargetSorted), + init: function(val, cloned) { + this.setDataMap(this.tagCtxs); + }, + render: function(val) { + // This function is called once for {{for}} and once for each {{else}}. + // We will use the tag.rendering object for carrying rendering state across the calls. + var value, filter, srtField, isArray, i, sorted, end, step, + self = this, + tagCtx = self.tagCtx, + range = tagCtx.argDefault === false, + props = tagCtx.props, + iterate = range || tagCtx.args.length, // Not final else and not auto-create range + result = "", + done = 0; + + if (!self.rendering.done) { + value = iterate ? val : tagCtx.view.data; // For the final else, defaults to current data without iteration. + + if (range) { + range = props.reverse ? "unshift" : "push"; + end = +props.end; + step = +props.step || 1; + value = []; // auto-create integer array scenario of {{for start=xxx end=yyy}} + for (i = +props.start || 0; (end - i) * step > 0; i += step) { + value[range](i); + } + } + if (value !== undefined) { + isArray = $isArray(value); + result += tagCtx.render(value, !iterate || props.noIteration); + // Iterates if data is an array, except on final else - or if noIteration property + // set to true. (Use {{include}} to compose templates without array iteration) + done += isArray ? value.length : 1; + } + if (self.rendering.done = done) { + self.selected = tagCtx.index; + } + // If nothing was rendered we will look at the next {{else}}. Otherwise, we are done. + } + return result; + }, + setDataMap: function(tagCtxs) { + var tagCtx, props, paramsProps, + self = this, + l = tagCtxs.length; + while (l--) { + tagCtx = tagCtxs[l]; + props = tagCtx.props; + paramsProps = tagCtx.params.props; + tagCtx.argDefault = props.end === undefined || tagCtx.args.length > 0; // Default to #data except for auto-create range scenario {{for start=xxx end=yyy step=zzz}} + props.dataMap = (tagCtx.argDefault !== false && $isArray(tagCtx.args[0]) && + (paramsProps.sort || paramsProps.start || paramsProps.end || paramsProps.step || paramsProps.filter || paramsProps.reverse + || props.sort || props.start || props.end || props.step || props.filter || props.reverse)) + && self.sortDataMap; + } + }, + flow: true + }, + props: { + baseTag: "for", + dataMap: dataMap(getTargetProps), + init: noop, // Don't execute the base init() of the "for" tag + flow: true + }, + include: { + flow: true + }, + "*": { + // {{* code... }} - Ignored if template.allowCode and $.views.settings.allowCode are false. Otherwise include code in compiled template + render: retVal, + flow: true + }, + ":*": { + // {{:* returnedExpression }} - Ignored if template.allowCode and $.views.settings.allowCode are false. Otherwise include code in compiled template + render: retVal, + flow: true + }, + dbg: $helpers.dbg = $converters.dbg = dbgBreak // Register {{dbg/}}, {{dbg:...}} and ~dbg() to throw and catch, as breakpoints for debugging. + }); + + $converters({ + html: htmlEncode, + attr: htmlEncode, // Includes > encoding since rConvertMarkers in JsViews does not skip > characters in attribute strings + encode: dataEncode, + unencode: dataUnencode, // Includes > encoding since rConvertMarkers in JsViews does not skip > characters in attribute strings + url: function(text) { + // URL encoding helper. + return text != undefined ? encodeURI("" + text) : text === null ? text : ""; // null returns null, e.g. to remove attribute. undefined returns "" + } + }); +} +//========================== Define default delimiters ========================== +$subSettings = $sub.settings; +$isArray = ($||jsr).isArray; +$viewsSettings.delimiters("{{", "}}", "^"); + +if (jsrToJq) { // Moving from jsrender namespace to jQuery namepace - copy over the stored items (templates, converters, helpers...) + jsr.views.sub._jq($); +} +return $ || jsr; +}, window)); + + +/***/ }) + +/******/ }); +/************************************************************************/ +/******/ // The module cache +/******/ var __webpack_module_cache__ = {}; +/******/ +/******/ // The require function +/******/ function __webpack_require__(moduleId) { +/******/ // Check if module is in cache +/******/ var cachedModule = __webpack_module_cache__[moduleId]; +/******/ if (cachedModule !== undefined) { +/******/ return cachedModule.exports; +/******/ } +/******/ // Create a new module (and put it into the cache) +/******/ var module = __webpack_module_cache__[moduleId] = { +/******/ // no module.id needed +/******/ // no module.loaded needed +/******/ exports: {} +/******/ }; +/******/ +/******/ // Execute the module function +/******/ __webpack_modules__[moduleId](module, module.exports, __webpack_require__); +/******/ +/******/ // Return the exports of the module +/******/ return module.exports; +/******/ } +/******/ +/************************************************************************/ +var __webpack_exports__ = {}; +// This entry need to be wrapped in an IIFE because it need to be in strict mode. +(() => { +"use strict"; +/*!**********************************************!*\ + !*** ./resources/assets/js/custom/custom.js ***! + \**********************************************/ + + +var jsrender = __webpack_require__(/*! jsrender */ "./node_modules/jsrender/jsrender.js"); + +$.ajaxSetup({ + headers: { + 'X-CSRF-TOKEN': $('meta[name="csrf-token"]').attr('content') + } +}); +$(document).ajaxComplete(function () { + // Required for Bootstrap tooltips in DataTables + $('[data-toggle="tooltip"]').tooltip({ + 'html': true, + 'offset': 10 + }); +}); +$('input:text:not([readonly="readonly"])').first().focus(); +$(function () { + $('.modal').on('shown.bs.modal', function () { + $(this).find('input:text').first().focus(); + }); +}); + +window.resetModalForm = function (formId, validationBox) { + $(formId)[0].reset(); + $('select.select2Selector').each(function (index, element) { + var drpSelector = '#' + $(this).attr('id'); + $(drpSelector).val(''); + $(drpSelector).trigger('change'); + }); + $(validationBox).hide(); +}; + +window.printErrorMessage = function (selector, errorResult) { + $(selector).show().html(''); + $(selector).text(errorResult.responseJSON.message); +}; + +window.manageAjaxErrors = function (data) { + var errorDivId = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'editValidationErrorsBox'; + + if (data.status == 404) { + iziToast.error({ + title: 'Error!', + message: data.responseJSON.message, + position: 'topRight' + }); + } else { + printErrorMessage('#' + errorDivId, data); + } +}; + +window.displaySuccessMessage = function (message) { + iziToast.success({ + title: 'Success', + message: message, + position: 'topRight' + }); +}; + +window.displayErrorMessage = function (message) { + iziToast.error({ + title: 'Error', + message: message, + position: 'topRight' + }); +}; + +window.deleteItem = function (url, tableId, header) { + var callFunction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + swal({ + title: 'Delete !', + text: 'Are you sure want to delete this "' + header + '" ?', + type: 'warning', + showCancelButton: true, + closeOnConfirm: false, + showLoaderOnConfirm: true, + confirmButtonColor: '#6777ef', + cancelButtonColor: '#d33', + cancelButtonText: 'No', + confirmButtonText: 'Yes' + }, function () { + deleteItemAjax(url, tableId, header, callFunction = null); + }); +}; + +function deleteItemAjax(url, tableId, header) { + var callFunction = arguments.length > 3 && arguments[3] !== undefined ? arguments[3] : null; + $.ajax({ + url: url, + type: 'DELETE', + dataType: 'json', + success: function success(obj) { + if (obj.success) { + if ($(tableId).DataTable().data().count() == 1) { + $(tableId).DataTable().page('previous').draw('page'); + } else { + $(tableId).DataTable().ajax.reload(null, false); + } + } + + swal({ + title: 'Deleted!', + text: header + ' has been deleted.', + type: 'success', + confirmButtonColor: '#6777ef', + timer: 2000 + }); + + if (callFunction) { + eval(callFunction); + } + }, + error: function error(data) { + swal({ + title: '', + text: data.responseJSON.message, + type: 'error', + confirmButtonColor: '#6777ef', + timer: 5000 + }); + } + }); +} + +window.format = function (dateTime) { + var format = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : 'DD-MMM-YYYY'; + return moment(dateTime).format(format); +}; + +window.processingBtn = function (selecter, btnId) { + var state = arguments.length > 2 && arguments[2] !== undefined ? arguments[2] : null; + var loadingButton = $(selecter).find(btnId); + + if (state === 'loading') { + loadingButton.button('loading'); + } else { + loadingButton.button('reset'); + } +}; + +window.prepareTemplateRender = function (templateSelector, data) { + var template = jsrender.templates(templateSelector); + return template.render(data); +}; + +window.isValidFile = function (inputSelector, validationMessageSelector) { + var ext = $(inputSelector).val().split('.').pop().toLowerCase(); + + if ($.inArray(ext, ['gif', 'png', 'jpg', 'jpeg']) == -1) { + $(inputSelector).val(''); + $(validationMessageSelector).removeClass('d-none'); + $(validationMessageSelector).html('The image must be a file of type: jpeg, jpg, png.').show(); + return false; + } + + $(validationMessageSelector).hide(); + return true; +}; + +window.displayPhoto = function (input, selector) { + var displayPreview = true; + + if (input.files && input.files[0]) { + var reader = new FileReader(); + + reader.onload = function (e) { + var image = new Image(); + image.src = e.target.result; + + image.onload = function () { + $(selector).attr('src', e.target.result); + displayPreview = true; + }; + }; + + if (displayPreview) { + reader.readAsDataURL(input.files[0]); + $(selector).show(); + } + } +}; + +window.removeCommas = function (str) { + return str.replace(/,/g, ''); +}; + +window.DatetimepickerDefaults = function (opts) { + return $.extend({}, { + sideBySide: true, + ignoreReadonly: true, + icons: { + close: 'fa fa-times', + time: 'fa fa-clock-o', + date: 'fa fa-calendar', + up: 'fa fa-arrow-up', + down: 'fa fa-arrow-down', + previous: 'fa fa-chevron-left', + next: 'fa fa-chevron-right', + today: 'fa fa-clock-o', + clear: 'fa fa-trash-o' + } + }, opts); +}; + +window.isEmpty = function (value) { + return value === undefined || value === null || value === ''; +}; + +window.screenLock = function () { + $('#overlay-screen-lock').show(); + $('body').css({ + 'pointer-events': 'none', + 'opacity': '0.6' + }); +}; + +window.screenUnLock = function () { + $('body').css({ + 'pointer-events': 'auto', + 'opacity': '1' + }); + $('#overlay-screen-lock').hide(); +}; + +window.onload = function () { + window.startLoader = function () { + $('.infy-loader').show(); + }; + + window.stopLoader = function () { + $('.infy-loader').hide(); + }; // infy loader js + + + stopLoader(); +}; + +$(document).ready(function () { + // script to active parent menu if sub menu has currently active + var hasActiveMenu = $(document).find('.nav-item.dropdown ul li').hasClass('active'); + + if (hasActiveMenu) { + $(document).find('.nav-item.dropdown ul li.active').parent('ul').css('display', 'block'); + $(document).find('.nav-item.dropdown ul li.active').parent('ul').parent('li').addClass('active'); + } +}); + +window.urlValidation = function (value, regex) { + var urlCheck = value == '' ? true : value.match(regex) ? true : false; + + if (!urlCheck) { + return false; + } + + return true; +}; + +$('.languageSelection').on('click', function () { + var languageName = $(this).data('prefix-value'); + $.ajax({ + type: 'POST', + url: '/change-language', + data: { + languageName: languageName + }, + success: function success() { + location.reload(); + } + }); +}); +})(); + +/******/ })() +; \ No newline at end of file diff --git a/Penilaian-Esai/public/assets/js/iziToast.min.js b/Penilaian-Esai/public/assets/js/iziToast.min.js new file mode 100644 index 0000000..73b8417 --- /dev/null +++ b/Penilaian-Esai/public/assets/js/iziToast.min.js @@ -0,0 +1,467 @@ +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +/* +* iziToast | v1.4.0 +* http://izitoast.marcelodolce.com +* by Marcelo Dolce. +*/ +!function (t, e) { + "function" == typeof define && define.amd ? define([], e(t)) : "object" == (typeof exports === "undefined" ? "undefined" : _typeof(exports)) ? module.exports = e(t) : t.iziToast = e(t); +}("undefined" != typeof global ? global : window || this.window || this.global, function (t) { + "use strict"; + + var e = {}, + n = "iziToast", + o = (document.querySelector("body"), !!/Mobi/.test(navigator.userAgent)), + i = /Chrome/.test(navigator.userAgent) && /Google Inc/.test(navigator.vendor), + s = "undefined" != typeof InstallTrigger, + a = ("ontouchstart" in document.documentElement), + r = ["bottomRight", "bottomLeft", "bottomCenter", "topRight", "topLeft", "topCenter", "center"], + l = { + info: { + color: "blue", + icon: "ico-info" + }, + success: { + color: "green", + icon: "ico-success" + }, + warning: { + color: "orange", + icon: "ico-warning" + }, + error: { + color: "red", + icon: "ico-error" + }, + question: { + color: "yellow", + icon: "ico-question" + } + }, + d = 568, + c = {}; + e.children = {}; + var u = { + id: null, + "class": "", + title: "", + titleColor: "", + titleSize: "", + titleLineHeight: "", + message: "", + messageColor: "", + messageSize: "", + messageLineHeight: "", + backgroundColor: "", + theme: "light", + color: "", + icon: "", + iconText: "", + iconColor: "", + iconUrl: null, + image: "", + imageWidth: 50, + maxWidth: null, + zindex: null, + layout: 1, + balloon: !1, + close: !0, + closeOnEscape: !1, + closeOnClick: !1, + displayMode: 0, + position: "bottomRight", + target: "", + targetFirst: !0, + timeout: 5e3, + rtl: !1, + animateInside: !0, + drag: !0, + pauseOnHover: !0, + resetOnHover: !1, + progressBar: !0, + progressBarColor: "", + progressBarEasing: "linear", + overlay: !1, + overlayClose: !1, + overlayColor: "rgba(0, 0, 0, 0.6)", + transitionIn: "fadeInUp", + transitionOut: "fadeOut", + transitionInMobile: "fadeInUp", + transitionOutMobile: "fadeOutDown", + buttons: {}, + inputs: {}, + onOpening: function onOpening() {}, + onOpened: function onOpened() {}, + onClosing: function onClosing() {}, + onClosed: function onClosed() {} + }; + + if ("remove" in Element.prototype || (Element.prototype.remove = function () { + this.parentNode && this.parentNode.removeChild(this); + }), "function" != typeof window.CustomEvent) { + var p = function p(t, e) { + e = e || { + bubbles: !1, + cancelable: !1, + detail: void 0 + }; + var n = document.createEvent("CustomEvent"); + return n.initCustomEvent(t, e.bubbles, e.cancelable, e.detail), n; + }; + + p.prototype = window.Event.prototype, window.CustomEvent = p; + } + + var m = function m(t, e, n) { + if ("[object Object]" === Object.prototype.toString.call(t)) for (var o in t) { + Object.prototype.hasOwnProperty.call(t, o) && e.call(n, t[o], o, t); + } else if (t) for (var i = 0, s = t.length; s > i; i++) { + e.call(n, t[i], i, t); + } + }, + g = function g(t, e) { + var n = {}; + return m(t, function (e, o) { + n[o] = t[o]; + }), m(e, function (t, o) { + n[o] = e[o]; + }), n; + }, + f = function f(t) { + var e = document.createDocumentFragment(), + n = document.createElement("div"); + + for (n.innerHTML = t; n.firstChild;) { + e.appendChild(n.firstChild); + } + + return e; + }, + v = function v(t) { + var e = btoa(encodeURIComponent(t)); + return e.replace(/=/g, ""); + }, + y = function y(t) { + return "#" == t.substring(0, 1) || "rgb" == t.substring(0, 3) || "hsl" == t.substring(0, 3); + }, + h = function h(t) { + try { + return btoa(atob(t)) == t; + } catch (e) { + return !1; + } + }, + b = function () { + return { + move: function move(t, e, o, a) { + var r, + l = .3, + d = 180; + 0 !== a && (t.classList.add(n + "-dragged"), t.style.transform = "translateX(" + a + "px)", a > 0 ? (r = (d - a) / d, l > r && e.hide(g(o, { + transitionOut: "fadeOutRight", + transitionOutMobile: "fadeOutRight" + }), t, "drag")) : (r = (d + a) / d, l > r && e.hide(g(o, { + transitionOut: "fadeOutLeft", + transitionOutMobile: "fadeOutLeft" + }), t, "drag")), t.style.opacity = r, l > r && ((i || s) && (t.style.left = a + "px"), t.parentNode.style.opacity = l, this.stopMoving(t, null))); + }, + startMoving: function startMoving(t, e, n, o) { + o = o || window.event; + var i = a ? o.touches[0].clientX : o.clientX, + s = t.style.transform.replace("px)", ""); + s = s.replace("translateX(", ""); + var r = i - s; + n.transitionIn && t.classList.remove(n.transitionIn), n.transitionInMobile && t.classList.remove(n.transitionInMobile), t.style.transition = "", a ? document.ontouchmove = function (o) { + o.preventDefault(), o = o || window.event; + var i = o.touches[0].clientX, + s = i - r; + b.move(t, e, n, s); + } : document.onmousemove = function (o) { + o.preventDefault(), o = o || window.event; + var i = o.clientX, + s = i - r; + b.move(t, e, n, s); + }; + }, + stopMoving: function stopMoving(t, e) { + a ? document.ontouchmove = function () {} : document.onmousemove = function () {}, t.style.opacity = "", t.style.transform = "", t.classList.contains(n + "-dragged") && (t.classList.remove(n + "-dragged"), t.style.transition = "transform 0.4s ease, opacity 0.4s ease", setTimeout(function () { + t.style.transition = ""; + }, 400)); + } + }; + }(); + + return e.setSetting = function (t, n, o) { + e.children[t][n] = o; + }, e.getSetting = function (t, n) { + return e.children[t][n]; + }, e.destroy = function () { + m(document.querySelectorAll("." + n + "-overlay"), function (t, e) { + t.remove(); + }), m(document.querySelectorAll("." + n + "-wrapper"), function (t, e) { + t.remove(); + }), m(document.querySelectorAll("." + n), function (t, e) { + t.remove(); + }), this.children = {}, document.removeEventListener(n + "-opened", {}, !1), document.removeEventListener(n + "-opening", {}, !1), document.removeEventListener(n + "-closing", {}, !1), document.removeEventListener(n + "-closed", {}, !1), document.removeEventListener("keyup", {}, !1), c = {}; + }, e.settings = function (t) { + e.destroy(), c = t, u = g(u, t || {}); + }, m(l, function (t, n) { + e[n] = function (e) { + var n = g(c, e || {}); + n = g(t, n || {}), this.show(n); + }; + }), e.progress = function (t, e, o) { + var i = this, + s = e.getAttribute("data-iziToast-ref"), + a = g(this.children[s], t || {}), + r = e.querySelector("." + n + "-progressbar div"); + return { + start: function start() { + "undefined" == typeof a.time.REMAINING && (e.classList.remove(n + "-reseted"), null !== r && (r.style.transition = "width " + a.timeout + "ms " + a.progressBarEasing, r.style.width = "0%"), a.time.START = new Date().getTime(), a.time.END = a.time.START + a.timeout, a.time.TIMER = setTimeout(function () { + clearTimeout(a.time.TIMER), e.classList.contains(n + "-closing") || (i.hide(a, e, "timeout"), "function" == typeof o && o.apply(i)); + }, a.timeout), i.setSetting(s, "time", a.time)); + }, + pause: function pause() { + if ("undefined" != typeof a.time.START && !e.classList.contains(n + "-paused") && !e.classList.contains(n + "-reseted")) { + if (e.classList.add(n + "-paused"), a.time.REMAINING = a.time.END - new Date().getTime(), clearTimeout(a.time.TIMER), i.setSetting(s, "time", a.time), null !== r) { + var t = window.getComputedStyle(r), + l = t.getPropertyValue("width"); + r.style.transition = "none", r.style.width = l; + } + + "function" == typeof o && setTimeout(function () { + o.apply(i); + }, 10); + } + }, + resume: function resume() { + "undefined" != typeof a.time.REMAINING ? (e.classList.remove(n + "-paused"), null !== r && (r.style.transition = "width " + a.time.REMAINING + "ms " + a.progressBarEasing, r.style.width = "0%"), a.time.END = new Date().getTime() + a.time.REMAINING, a.time.TIMER = setTimeout(function () { + clearTimeout(a.time.TIMER), e.classList.contains(n + "-closing") || (i.hide(a, e, "timeout"), "function" == typeof o && o.apply(i)); + }, a.time.REMAINING), i.setSetting(s, "time", a.time)) : this.start(); + }, + reset: function reset() { + clearTimeout(a.time.TIMER), delete a.time.REMAINING, i.setSetting(s, "time", a.time), e.classList.add(n + "-reseted"), e.classList.remove(n + "-paused"), null !== r && (r.style.transition = "none", r.style.width = "100%"), "function" == typeof o && setTimeout(function () { + o.apply(i); + }, 10); + } + }; + }, e.hide = function (t, e, i) { + "object" != _typeof(e) && (e = document.querySelector(e)); + var s = this, + a = g(this.children[e.getAttribute("data-iziToast-ref")], t || {}); + a.closedBy = i || null, delete a.time.REMAINING, e.classList.add(n + "-closing"), function () { + var t = document.querySelector("." + n + "-overlay"); + + if (null !== t) { + var e = t.getAttribute("data-iziToast-ref"); + e = e.split(","); + var o = e.indexOf(String(a.ref)); + -1 !== o && e.splice(o, 1), t.setAttribute("data-iziToast-ref", e.join()), 0 === e.length && (t.classList.remove("fadeIn"), t.classList.add("fadeOut"), setTimeout(function () { + t.remove(); + }, 700)); + } + }(), a.transitionIn && e.classList.remove(a.transitionIn), a.transitionInMobile && e.classList.remove(a.transitionInMobile), o || window.innerWidth <= d ? a.transitionOutMobile && e.classList.add(a.transitionOutMobile) : a.transitionOut && e.classList.add(a.transitionOut); + var r = e.parentNode.offsetHeight; + e.parentNode.style.height = r + "px", e.style.pointerEvents = "none", (!o || window.innerWidth > d) && (e.parentNode.style.transitionDelay = "0.2s"); + + try { + var l = new CustomEvent(n + "-closing", { + detail: a, + bubbles: !0, + cancelable: !0 + }); + document.dispatchEvent(l); + } catch (c) { + console.warn(c); + } + + setTimeout(function () { + e.parentNode.style.height = "0px", e.parentNode.style.overflow = "", setTimeout(function () { + delete s.children[a.ref], e.parentNode.remove(); + + try { + var t = new CustomEvent(n + "-closed", { + detail: a, + bubbles: !0, + cancelable: !0 + }); + document.dispatchEvent(t); + } catch (o) { + console.warn(o); + } + + "undefined" != typeof a.onClosed && a.onClosed.apply(null, [a, e, i]); + }, 1e3); + }, 200), "undefined" != typeof a.onClosing && a.onClosing.apply(null, [a, e, i]); + }, e.show = function (t) { + var i = this, + s = g(c, t || {}); + if (s = g(u, s), s.time = {}, null === s.id && (s.id = v(s.title + s.message + s.color)), 1 === s.displayMode || "once" == s.displayMode) try { + if (document.querySelectorAll("." + n + "#" + s.id).length > 0) return !1; + } catch (l) { + console.warn("[" + n + "] Could not find an element with this selector: #" + s.id + ". Try to set an valid id."); + } + if (2 === s.displayMode || "replace" == s.displayMode) try { + m(document.querySelectorAll("." + n + "#" + s.id), function (t, e) { + i.hide(s, t, "replaced"); + }); + } catch (l) { + console.warn("[" + n + "] Could not find an element with this selector: #" + s.id + ". Try to set an valid id."); + } + s.ref = new Date().getTime() + Math.floor(1e7 * Math.random() + 1), e.children[s.ref] = s; + var p = { + body: document.querySelector("body"), + overlay: document.createElement("div"), + toast: document.createElement("div"), + toastBody: document.createElement("div"), + toastTexts: document.createElement("div"), + toastCapsule: document.createElement("div"), + cover: document.createElement("div"), + buttons: document.createElement("div"), + inputs: document.createElement("div"), + icon: s.iconUrl ? document.createElement("img") : document.createElement("i"), + wrapper: null + }; + p.toast.setAttribute("data-iziToast-ref", s.ref), p.toast.appendChild(p.toastBody), p.toastCapsule.appendChild(p.toast), function () { + if (p.toast.classList.add(n), p.toast.classList.add(n + "-opening"), p.toastCapsule.classList.add(n + "-capsule"), p.toastBody.classList.add(n + "-body"), p.toastTexts.classList.add(n + "-texts"), o || window.innerWidth <= d ? s.transitionInMobile && p.toast.classList.add(s.transitionInMobile) : s.transitionIn && p.toast.classList.add(s.transitionIn), s["class"]) { + var t = s["class"].split(" "); + m(t, function (t, e) { + p.toast.classList.add(t); + }); + } + + s.id && (p.toast.id = s.id), s.rtl && (p.toast.classList.add(n + "-rtl"), p.toast.setAttribute("dir", "rtl")), s.layout > 1 && p.toast.classList.add(n + "-layout" + s.layout), s.balloon && p.toast.classList.add(n + "-balloon"), s.maxWidth && (isNaN(s.maxWidth) ? p.toast.style.maxWidth = s.maxWidth : p.toast.style.maxWidth = s.maxWidth + "px"), "" === s.theme && "light" === s.theme || p.toast.classList.add(n + "-theme-" + s.theme), s.color && (y(s.color) ? p.toast.style.background = s.color : p.toast.classList.add(n + "-color-" + s.color)), s.backgroundColor && (p.toast.style.background = s.backgroundColor, s.balloon && (p.toast.style.borderColor = s.backgroundColor)); + }(), function () { + s.image && (p.cover.classList.add(n + "-cover"), p.cover.style.width = s.imageWidth + "px", h(s.image.replace(/ /g, "")) ? p.cover.style.backgroundImage = "url(data:image/png;base64," + s.image.replace(/ /g, "") + ")" : p.cover.style.backgroundImage = "url(" + s.image + ")", s.rtl ? p.toastBody.style.marginRight = s.imageWidth + 10 + "px" : p.toastBody.style.marginLeft = s.imageWidth + 10 + "px", p.toast.appendChild(p.cover)); + }(), function () { + s.close ? (p.buttonClose = document.createElement("button"), p.buttonClose.type = "button", p.buttonClose.classList.add(n + "-close"), p.buttonClose.addEventListener("click", function (t) { + t.target; + i.hide(s, p.toast, "button"); + }), p.toast.appendChild(p.buttonClose)) : s.rtl ? p.toast.style.paddingLeft = "18px" : p.toast.style.paddingRight = "18px"; + }(), function () { + s.progressBar && (p.progressBar = document.createElement("div"), p.progressBarDiv = document.createElement("div"), p.progressBar.classList.add(n + "-progressbar"), p.progressBarDiv.style.background = s.progressBarColor, p.progressBar.appendChild(p.progressBarDiv), p.toast.appendChild(p.progressBar)), s.timeout && (s.pauseOnHover && !s.resetOnHover && (p.toast.addEventListener("mouseenter", function (t) { + i.progress(s, p.toast).pause(); + }), p.toast.addEventListener("mouseleave", function (t) { + i.progress(s, p.toast).resume(); + })), s.resetOnHover && (p.toast.addEventListener("mouseenter", function (t) { + i.progress(s, p.toast).reset(); + }), p.toast.addEventListener("mouseleave", function (t) { + i.progress(s, p.toast).start(); + }))); + }(), function () { + s.iconUrl ? (p.icon.setAttribute("class", n + "-icon"), p.icon.setAttribute("src", s.iconUrl)) : s.icon && (p.icon.setAttribute("class", n + "-icon " + s.icon), s.iconText && p.icon.appendChild(document.createTextNode(s.iconText)), s.iconColor && (p.icon.style.color = s.iconColor)), (s.icon || s.iconUrl) && (s.rtl ? p.toastBody.style.paddingRight = "33px" : p.toastBody.style.paddingLeft = "33px", p.toastBody.appendChild(p.icon)); + }(), function () { + s.title.length > 0 && (p.strong = document.createElement("strong"), p.strong.classList.add(n + "-title"), p.strong.appendChild(f(s.title)), p.toastTexts.appendChild(p.strong), s.titleColor && (p.strong.style.color = s.titleColor), s.titleSize && (isNaN(s.titleSize) ? p.strong.style.fontSize = s.titleSize : p.strong.style.fontSize = s.titleSize + "px"), s.titleLineHeight && (isNaN(s.titleSize) ? p.strong.style.lineHeight = s.titleLineHeight : p.strong.style.lineHeight = s.titleLineHeight + "px")), s.message.length > 0 && (p.p = document.createElement("p"), p.p.classList.add(n + "-message"), p.p.appendChild(f(s.message)), p.toastTexts.appendChild(p.p), s.messageColor && (p.p.style.color = s.messageColor), s.messageSize && (isNaN(s.titleSize) ? p.p.style.fontSize = s.messageSize : p.p.style.fontSize = s.messageSize + "px"), s.messageLineHeight && (isNaN(s.titleSize) ? p.p.style.lineHeight = s.messageLineHeight : p.p.style.lineHeight = s.messageLineHeight + "px")), s.title.length > 0 && s.message.length > 0 && (s.rtl ? p.strong.style.marginLeft = "10px" : 2 === s.layout || s.rtl || (p.strong.style.marginRight = "10px")); + }(), p.toastBody.appendChild(p.toastTexts); + var L; + !function () { + s.inputs.length > 0 && (p.inputs.classList.add(n + "-inputs"), m(s.inputs, function (t, e) { + p.inputs.appendChild(f(t[0])), L = p.inputs.childNodes, L[e].classList.add(n + "-inputs-child"), t[3] && setTimeout(function () { + L[e].focus(); + }, 300), L[e].addEventListener(t[1], function (e) { + var n = t[2]; + return n(i, p.toast, this, e); + }); + }), p.toastBody.appendChild(p.inputs)); + }(), function () { + s.buttons.length > 0 && (p.buttons.classList.add(n + "-buttons"), m(s.buttons, function (t, e) { + p.buttons.appendChild(f(t[0])); + var o = p.buttons.childNodes; + o[e].classList.add(n + "-buttons-child"), t[2] && setTimeout(function () { + o[e].focus(); + }, 300), o[e].addEventListener("click", function (e) { + e.preventDefault(); + var n = t[1]; + return n(i, p.toast, this, e, L); + }); + })), p.toastBody.appendChild(p.buttons); + }(), s.message.length > 0 && (s.inputs.length > 0 || s.buttons.length > 0) && (p.p.style.marginBottom = "0"), (s.inputs.length > 0 || s.buttons.length > 0) && (s.rtl ? p.toastTexts.style.marginLeft = "10px" : p.toastTexts.style.marginRight = "10px", s.inputs.length > 0 && s.buttons.length > 0 && (s.rtl ? p.inputs.style.marginLeft = "8px" : p.inputs.style.marginRight = "8px")), function () { + p.toastCapsule.style.visibility = "hidden", setTimeout(function () { + var t = p.toast.offsetHeight, + e = p.toast.currentStyle || window.getComputedStyle(p.toast), + n = e.marginTop; + n = n.split("px"), n = parseInt(n[0]); + var o = e.marginBottom; + o = o.split("px"), o = parseInt(o[0]), p.toastCapsule.style.visibility = "", p.toastCapsule.style.height = t + o + n + "px", setTimeout(function () { + p.toastCapsule.style.height = "auto", s.target && (p.toastCapsule.style.overflow = "visible"); + }, 500), s.timeout && i.progress(s, p.toast).start(); + }, 100); + }(), function () { + var t = s.position; + if (s.target) p.wrapper = document.querySelector(s.target), p.wrapper.classList.add(n + "-target"), s.targetFirst ? p.wrapper.insertBefore(p.toastCapsule, p.wrapper.firstChild) : p.wrapper.appendChild(p.toastCapsule);else { + if (-1 == r.indexOf(s.position)) return void console.warn("[" + n + "] Incorrect position.\nIt can be › " + r); + t = o || window.innerWidth <= d ? "bottomLeft" == s.position || "bottomRight" == s.position || "bottomCenter" == s.position ? n + "-wrapper-bottomCenter" : "topLeft" == s.position || "topRight" == s.position || "topCenter" == s.position ? n + "-wrapper-topCenter" : n + "-wrapper-center" : n + "-wrapper-" + t, p.wrapper = document.querySelector("." + n + "-wrapper." + t), p.wrapper || (p.wrapper = document.createElement("div"), p.wrapper.classList.add(n + "-wrapper"), p.wrapper.classList.add(t), document.body.appendChild(p.wrapper)), "topLeft" == s.position || "topCenter" == s.position || "topRight" == s.position ? p.wrapper.insertBefore(p.toastCapsule, p.wrapper.firstChild) : p.wrapper.appendChild(p.toastCapsule); + } + isNaN(s.zindex) ? console.warn("[" + n + "] Invalid zIndex.") : p.wrapper.style.zIndex = s.zindex; + }(), function () { + s.overlay && (null !== document.querySelector("." + n + "-overlay.fadeIn") ? (p.overlay = document.querySelector("." + n + "-overlay"), p.overlay.setAttribute("data-iziToast-ref", p.overlay.getAttribute("data-iziToast-ref") + "," + s.ref), isNaN(s.zindex) || null === s.zindex || (p.overlay.style.zIndex = s.zindex - 1)) : (p.overlay.classList.add(n + "-overlay"), p.overlay.classList.add("fadeIn"), p.overlay.style.background = s.overlayColor, p.overlay.setAttribute("data-iziToast-ref", s.ref), isNaN(s.zindex) || null === s.zindex || (p.overlay.style.zIndex = s.zindex - 1), document.querySelector("body").appendChild(p.overlay)), s.overlayClose ? (p.overlay.removeEventListener("click", {}), p.overlay.addEventListener("click", function (t) { + i.hide(s, p.toast, "overlay"); + })) : p.overlay.removeEventListener("click", {})); + }(), function () { + if (s.animateInside) { + p.toast.classList.add(n + "-animateInside"); + var t = [200, 100, 300]; + "bounceInLeft" != s.transitionIn && "bounceInRight" != s.transitionIn || (t = [400, 200, 400]), s.title.length > 0 && setTimeout(function () { + p.strong.classList.add("slideIn"); + }, t[0]), s.message.length > 0 && setTimeout(function () { + p.p.classList.add("slideIn"); + }, t[1]), (s.icon || s.iconUrl) && setTimeout(function () { + p.icon.classList.add("revealIn"); + }, t[2]); + var e = 150; + s.buttons.length > 0 && p.buttons && setTimeout(function () { + m(p.buttons.childNodes, function (t, n) { + setTimeout(function () { + t.classList.add("revealIn"); + }, e), e += 150; + }); + }, s.inputs.length > 0 ? 150 : 0), s.inputs.length > 0 && p.inputs && (e = 150, m(p.inputs.childNodes, function (t, n) { + setTimeout(function () { + t.classList.add("revealIn"); + }, e), e += 150; + })); + } + }(), s.onOpening.apply(null, [s, p.toast]); + + try { + var C = new CustomEvent(n + "-opening", { + detail: s, + bubbles: !0, + cancelable: !0 + }); + document.dispatchEvent(C); + } catch (w) { + console.warn(w); + } + + setTimeout(function () { + p.toast.classList.remove(n + "-opening"), p.toast.classList.add(n + "-opened"); + + try { + var t = new CustomEvent(n + "-opened", { + detail: s, + bubbles: !0, + cancelable: !0 + }); + document.dispatchEvent(t); + } catch (e) { + console.warn(e); + } + + s.onOpened.apply(null, [s, p.toast]); + }, 1e3), s.drag && (a ? (p.toast.addEventListener("touchstart", function (t) { + b.startMoving(this, i, s, t); + }, !1), p.toast.addEventListener("touchend", function (t) { + b.stopMoving(this, t); + }, !1)) : (p.toast.addEventListener("mousedown", function (t) { + t.preventDefault(), b.startMoving(this, i, s, t); + }, !1), p.toast.addEventListener("mouseup", function (t) { + t.preventDefault(), b.stopMoving(this, t); + }, !1))), s.closeOnEscape && document.addEventListener("keyup", function (t) { + t = t || window.event, 27 == t.keyCode && i.hide(s, p.toast, "esc"); + }), s.closeOnClick && p.toast.addEventListener("click", function (t) { + i.hide(s, p.toast, "toast"); + }), i.toast = p.toast; + }, e; +}); diff --git a/Penilaian-Esai/public/assets/js/jquery.dataTables.min.js b/Penilaian-Esai/public/assets/js/jquery.dataTables.min.js new file mode 100644 index 0000000..9590b9f --- /dev/null +++ b/Penilaian-Esai/public/assets/js/jquery.dataTables.min.js @@ -0,0 +1,4566 @@ +function _typeof(obj) { "@babel/helpers - typeof"; return _typeof = "function" == typeof Symbol && "symbol" == typeof Symbol.iterator ? function (obj) { return typeof obj; } : function (obj) { return obj && "function" == typeof Symbol && obj.constructor === Symbol && obj !== Symbol.prototype ? "symbol" : typeof obj; }, _typeof(obj); } + +/*! + SpryMedia Ltd. + + This source file is free software, available under the following license: + MIT license - http://datatables.net/license + + This source file is distributed in the hope that it will be useful, but + WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + or FITNESS FOR A PARTICULAR PURPOSE. See the license files for details. + + For details please refer to: http://www.datatables.net + DataTables 1.12.1 + ©2008-2022 SpryMedia Ltd - datatables.net/license +*/ +var $jscomp = $jscomp || {}; +$jscomp.scope = {}; + +$jscomp.findInternal = function (l, y, A) { + l instanceof String && (l = String(l)); + + for (var q = l.length, E = 0; E < q; E++) { + var P = l[E]; + if (y.call(A, P, E, l)) return { + i: E, + v: P + }; + } + + return { + i: -1, + v: void 0 + }; +}; + +$jscomp.ASSUME_ES5 = !1; +$jscomp.ASSUME_NO_NATIVE_MAP = !1; +$jscomp.ASSUME_NO_NATIVE_SET = !1; +$jscomp.SIMPLE_FROUND_POLYFILL = !1; +$jscomp.ISOLATE_POLYFILLS = !1; +$jscomp.defineProperty = $jscomp.ASSUME_ES5 || "function" == typeof Object.defineProperties ? Object.defineProperty : function (l, y, A) { + if (l == Array.prototype || l == Object.prototype) return l; + l[y] = A.value; + return l; +}; + +$jscomp.getGlobal = function (l) { + l = ["object" == (typeof globalThis === "undefined" ? "undefined" : _typeof(globalThis)) && globalThis, l, "object" == (typeof window === "undefined" ? "undefined" : _typeof(window)) && window, "object" == (typeof self === "undefined" ? "undefined" : _typeof(self)) && self, "object" == (typeof global === "undefined" ? "undefined" : _typeof(global)) && global]; + + for (var y = 0; y < l.length; ++y) { + var A = l[y]; + if (A && A.Math == Math) return A; + } + + throw Error("Cannot find global object"); +}; + +$jscomp.global = $jscomp.getGlobal(this); +$jscomp.IS_SYMBOL_NATIVE = "function" === typeof Symbol && "symbol" === _typeof(Symbol("x")); +$jscomp.TRUST_ES6_POLYFILLS = !$jscomp.ISOLATE_POLYFILLS || $jscomp.IS_SYMBOL_NATIVE; +$jscomp.polyfills = {}; +$jscomp.propertyToPolyfillSymbol = {}; +$jscomp.POLYFILL_PREFIX = "$jscp$"; + +var $jscomp$lookupPolyfilledValue = function $jscomp$lookupPolyfilledValue(l, y) { + var A = $jscomp.propertyToPolyfillSymbol[y]; + if (null == A) return l[y]; + A = l[A]; + return void 0 !== A ? A : l[y]; +}; + +$jscomp.polyfill = function (l, y, A, q) { + y && ($jscomp.ISOLATE_POLYFILLS ? $jscomp.polyfillIsolated(l, y, A, q) : $jscomp.polyfillUnisolated(l, y, A, q)); +}; + +$jscomp.polyfillUnisolated = function (l, y, A, q) { + A = $jscomp.global; + l = l.split("."); + + for (q = 0; q < l.length - 1; q++) { + var E = l[q]; + if (!(E in A)) return; + A = A[E]; + } + + l = l[l.length - 1]; + q = A[l]; + y = y(q); + y != q && null != y && $jscomp.defineProperty(A, l, { + configurable: !0, + writable: !0, + value: y + }); +}; + +$jscomp.polyfillIsolated = function (l, y, A, q) { + var E = l.split("."); + l = 1 === E.length; + q = E[0]; + q = !l && q in $jscomp.polyfills ? $jscomp.polyfills : $jscomp.global; + + for (var P = 0; P < E.length - 1; P++) { + var la = E[P]; + if (!(la in q)) return; + q = q[la]; + } + + E = E[E.length - 1]; + A = $jscomp.IS_SYMBOL_NATIVE && "es6" === A ? q[E] : null; + y = y(A); + null != y && (l ? $jscomp.defineProperty($jscomp.polyfills, E, { + configurable: !0, + writable: !0, + value: y + }) : y !== A && ($jscomp.propertyToPolyfillSymbol[E] = $jscomp.IS_SYMBOL_NATIVE ? $jscomp.global.Symbol(E) : $jscomp.POLYFILL_PREFIX + E, E = $jscomp.propertyToPolyfillSymbol[E], $jscomp.defineProperty(q, E, { + configurable: !0, + writable: !0, + value: y + }))); +}; + +$jscomp.polyfill("Array.prototype.find", function (l) { + return l ? l : function (y, A) { + return $jscomp.findInternal(this, y, A).v; + }; +}, "es6", "es3"); + +(function (l) { + "function" === typeof define && define.amd ? define(["jquery"], function (y) { + return l(y, window, document); + }) : "object" === (typeof exports === "undefined" ? "undefined" : _typeof(exports)) ? module.exports = function (y, A) { + y || (y = window); + A || (A = "undefined" !== typeof window ? require("jquery") : require("jquery")(y)); + return l(A, y, y.document); + } : window.DataTable = l(jQuery, window, document); +})(function (l, y, A, q) { + function E(a) { + var b, + c, + d = {}; + l.each(a, function (e, h) { + (b = e.match(/^([^A-Z]+?)([A-Z])/)) && -1 !== "a aa ai ao as b fn i m o s ".indexOf(b[1] + " ") && (c = e.replace(b[0], b[2].toLowerCase()), d[c] = e, "o" === b[1] && E(a[e])); + }); + a._hungarianMap = d; + } + + function P(a, b, c) { + a._hungarianMap || E(a); + var d; + l.each(b, function (e, h) { + d = a._hungarianMap[e]; + d === q || !c && b[d] !== q || ("o" === d.charAt(0) ? (b[d] || (b[d] = {}), l.extend(!0, b[d], b[e]), P(a[d], b[d], c)) : b[d] = b[e]); + }); + } + + function la(a) { + var b = u.defaults.oLanguage, + c = b.sDecimal; + c && bb(c); + + if (a) { + var d = a.sZeroRecords; + !a.sEmptyTable && d && "No data available in table" === b.sEmptyTable && Y(a, a, "sZeroRecords", "sEmptyTable"); + !a.sLoadingRecords && d && "Loading..." === b.sLoadingRecords && Y(a, a, "sZeroRecords", "sLoadingRecords"); + a.sInfoThousands && (a.sThousands = a.sInfoThousands); + (a = a.sDecimal) && c !== a && bb(a); + } + } + + function Db(a) { + S(a, "ordering", "bSort"); + S(a, "orderMulti", "bSortMulti"); + S(a, "orderClasses", "bSortClasses"); + S(a, "orderCellsTop", "bSortCellsTop"); + S(a, "order", "aaSorting"); + S(a, "orderFixed", "aaSortingFixed"); + S(a, "paging", "bPaginate"); + S(a, "pagingType", "sPaginationType"); + S(a, "pageLength", "iDisplayLength"); + S(a, "searching", "bFilter"); + "boolean" === typeof a.sScrollX && (a.sScrollX = a.sScrollX ? "100%" : ""); + "boolean" === typeof a.scrollX && (a.scrollX = a.scrollX ? "100%" : ""); + if (a = a.aoSearchCols) for (var b = 0, c = a.length; b < c; b++) { + a[b] && P(u.models.oSearch, a[b]); + } + } + + function Eb(a) { + S(a, "orderable", "bSortable"); + S(a, "orderData", "aDataSort"); + S(a, "orderSequence", "asSorting"); + S(a, "orderDataType", "sortDataType"); + var b = a.aDataSort; + "number" !== typeof b || Array.isArray(b) || (a.aDataSort = [b]); + } + + function Fb(a) { + if (!u.__browser) { + var b = {}; + u.__browser = b; + var c = l("
      ").css({ + position: "fixed", + top: 0, + left: -1 * l(y).scrollLeft(), + height: 1, + width: 1, + overflow: "hidden" + }).append(l("
      ").css({ + position: "absolute", + top: 1, + left: 1, + width: 100, + overflow: "scroll" + }).append(l("
      ").css({ + width: "100%", + height: 10 + }))).appendTo("body"), + d = c.children(), + e = d.children(); + b.barWidth = d[0].offsetWidth - d[0].clientWidth; + b.bScrollOversize = 100 === e[0].offsetWidth && 100 !== d[0].clientWidth; + b.bScrollbarLeft = 1 !== Math.round(e.offset().left); + b.bBounding = c[0].getBoundingClientRect().width ? !0 : !1; + c.remove(); + } + + l.extend(a.oBrowser, u.__browser); + a.oScroll.iBarWidth = u.__browser.barWidth; + } + + function Gb(a, b, c, d, e, h) { + var f = !1; + + if (c !== q) { + var g = c; + f = !0; + } + + for (; d !== e;) { + a.hasOwnProperty(d) && (g = f ? b(g, a[d], d, a) : a[d], f = !0, d += h); + } + + return g; + } + + function cb(a, b) { + var c = u.defaults.column, + d = a.aoColumns.length; + c = l.extend({}, u.models.oColumn, c, { + nTh: b ? b : A.createElement("th"), + sTitle: c.sTitle ? c.sTitle : b ? b.innerHTML : "", + aDataSort: c.aDataSort ? c.aDataSort : [d], + mData: c.mData ? c.mData : d, + idx: d + }); + a.aoColumns.push(c); + c = a.aoPreSearchCols; + c[d] = l.extend({}, u.models.oSearch, c[d]); + Ia(a, d, l(b).data()); + } + + function Ia(a, b, c) { + b = a.aoColumns[b]; + var d = a.oClasses, + e = l(b.nTh); + + if (!b.sWidthOrig) { + b.sWidthOrig = e.attr("width") || null; + var h = (e.attr("style") || "").match(/width:\s*(\d+[pxem%]+)/); + h && (b.sWidthOrig = h[1]); + } + + c !== q && null !== c && (Eb(c), P(u.defaults.column, c, !0), c.mDataProp === q || c.mData || (c.mData = c.mDataProp), c.sType && (b._sManualType = c.sType), c.className && !c.sClass && (c.sClass = c.className), c.sClass && e.addClass(c.sClass), h = b.sClass, l.extend(b, c), Y(b, c, "sWidth", "sWidthOrig"), h !== b.sClass && (b.sClass = h + " " + b.sClass), c.iDataSort !== q && (b.aDataSort = [c.iDataSort]), Y(b, c, "aDataSort")); + var f = b.mData, + g = ma(f), + k = b.mRender ? ma(b.mRender) : null; + + c = function c(m) { + return "string" === typeof m && -1 !== m.indexOf("@"); + }; + + b._bAttrSrc = l.isPlainObject(f) && (c(f.sort) || c(f.type) || c(f.filter)); + b._setter = null; + + b.fnGetData = function (m, n, p) { + var t = g(m, n, q, p); + return k && n ? k(t, n, m, p) : t; + }; + + b.fnSetData = function (m, n, p) { + return ha(f)(m, n, p); + }; + + "number" !== typeof f && (a._rowReadObject = !0); + a.oFeatures.bSort || (b.bSortable = !1, e.addClass(d.sSortableNone)); + a = -1 !== l.inArray("asc", b.asSorting); + c = -1 !== l.inArray("desc", b.asSorting); + b.bSortable && (a || c) ? a && !c ? (b.sSortingClass = d.sSortableAsc, b.sSortingClassJUI = d.sSortJUIAscAllowed) : !a && c ? (b.sSortingClass = d.sSortableDesc, b.sSortingClassJUI = d.sSortJUIDescAllowed) : (b.sSortingClass = d.sSortable, b.sSortingClassJUI = d.sSortJUI) : (b.sSortingClass = d.sSortableNone, b.sSortingClassJUI = ""); + } + + function sa(a) { + if (!1 !== a.oFeatures.bAutoWidth) { + var b = a.aoColumns; + db(a); + + for (var c = 0, d = b.length; c < d; c++) { + b[c].nTh.style.width = b[c].sWidth; + } + } + + b = a.oScroll; + "" === b.sY && "" === b.sX || Ja(a); + F(a, null, "column-sizing", [a]); + } + + function ta(a, b) { + a = Ka(a, "bVisible"); + return "number" === typeof a[b] ? a[b] : null; + } + + function ua(a, b) { + a = Ka(a, "bVisible"); + b = l.inArray(b, a); + return -1 !== b ? b : null; + } + + function na(a) { + var b = 0; + l.each(a.aoColumns, function (c, d) { + d.bVisible && "none" !== l(d.nTh).css("display") && b++; + }); + return b; + } + + function Ka(a, b) { + var c = []; + l.map(a.aoColumns, function (d, e) { + d[b] && c.push(e); + }); + return c; + } + + function eb(a) { + var b = a.aoColumns, + c = a.aoData, + d = u.ext.type.detect, + e, + h, + f; + var g = 0; + + for (e = b.length; g < e; g++) { + var k = b[g]; + var m = []; + if (!k.sType && k._sManualType) k.sType = k._sManualType;else if (!k.sType) { + var n = 0; + + for (h = d.length; n < h; n++) { + var p = 0; + + for (f = c.length; p < f; p++) { + m[p] === q && (m[p] = T(a, p, g, "type")); + var t = d[n](m[p], a); + if (!t && n !== d.length - 1) break; + if ("html" === t && !aa(m[p])) break; + } + + if (t) { + k.sType = t; + break; + } + } + + k.sType || (k.sType = "string"); + } + } + } + + function Hb(a, b, c, d) { + var e, + h, + f, + g = a.aoColumns; + if (b) for (e = b.length - 1; 0 <= e; e--) { + var k = b[e]; + var m = k.target !== q ? k.target : k.targets !== q ? k.targets : k.aTargets; + Array.isArray(m) || (m = [m]); + var n = 0; + + for (h = m.length; n < h; n++) { + if ("number" === typeof m[n] && 0 <= m[n]) { + for (; g.length <= m[n];) { + cb(a); + } + + d(m[n], k); + } else if ("number" === typeof m[n] && 0 > m[n]) d(g.length + m[n], k);else if ("string" === typeof m[n]) { + var p = 0; + + for (f = g.length; p < f; p++) { + ("_all" == m[n] || l(g[p].nTh).hasClass(m[n])) && d(p, k); + } + } + } + } + if (c) for (e = 0, a = c.length; e < a; e++) { + d(e, c[e]); + } + } + + function ia(a, b, c, d) { + var e = a.aoData.length, + h = l.extend(!0, {}, u.models.oRow, { + src: c ? "dom" : "data", + idx: e + }); + h._aData = b; + a.aoData.push(h); + + for (var f = a.aoColumns, g = 0, k = f.length; g < k; g++) { + f[g].sType = null; + } + + a.aiDisplayMaster.push(e); + b = a.rowIdFn(b); + b !== q && (a.aIds[b] = h); + !c && a.oFeatures.bDeferRender || fb(a, e, c, d); + return e; + } + + function La(a, b) { + var c; + b instanceof l || (b = l(b)); + return b.map(function (d, e) { + c = gb(a, e); + return ia(a, c.data, e, c.cells); + }); + } + + function T(a, b, c, d) { + "search" === d ? d = "filter" : "order" === d && (d = "sort"); + var e = a.iDraw, + h = a.aoColumns[c], + f = a.aoData[b]._aData, + g = h.sDefaultContent, + k = h.fnGetData(f, d, { + settings: a, + row: b, + col: c + }); + if (k === q) return a.iDrawError != e && null === g && (ea(a, 0, "Requested unknown parameter " + ("function" == typeof h.mData ? "{function}" : "'" + h.mData + "'") + " for row " + b + ", column " + c, 4), a.iDrawError = e), g; + if ((k === f || null === k) && null !== g && d !== q) k = g;else if ("function" === typeof k) return k.call(f); + if (null === k && "display" === d) return ""; + "filter" === d && (a = u.ext.type.search, a[h.sType] && (k = a[h.sType](k))); + return k; + } + + function Ib(a, b, c, d) { + a.aoColumns[c].fnSetData(a.aoData[b]._aData, d, { + settings: a, + row: b, + col: c + }); + } + + function hb(a) { + return l.map(a.match(/(\\.|[^\.])+/g) || [""], function (b) { + return b.replace(/\\\./g, "."); + }); + } + + function ib(a) { + return U(a.aoData, "_aData"); + } + + function Ma(a) { + a.aoData.length = 0; + a.aiDisplayMaster.length = 0; + a.aiDisplay.length = 0; + a.aIds = {}; + } + + function Na(a, b, c) { + for (var d = -1, e = 0, h = a.length; e < h; e++) { + a[e] == b ? d = e : a[e] > b && a[e]--; + } + + -1 != d && c === q && a.splice(d, 1); + } + + function va(a, b, c, d) { + var e = a.aoData[b], + h, + f = function f(k, m) { + for (; k.childNodes.length;) { + k.removeChild(k.firstChild); + } + + k.innerHTML = T(a, b, m, "display"); + }; + + if ("dom" !== c && (c && "auto" !== c || "dom" !== e.src)) { + var g = e.anCells; + if (g) if (d !== q) f(g[d], d);else for (c = 0, h = g.length; c < h; c++) { + f(g[c], c); + } + } else e._aData = gb(a, e, d, d === q ? q : e._aData).data; + + e._aSortData = null; + e._aFilterData = null; + f = a.aoColumns; + if (d !== q) f[d].sType = null;else { + c = 0; + + for (h = f.length; c < h; c++) { + f[c].sType = null; + } + + jb(a, e); + } + } + + function gb(a, b, c, d) { + var e = [], + h = b.firstChild, + f, + g = 0, + k, + m = a.aoColumns, + n = a._rowReadObject; + d = d !== q ? d : n ? {} : []; + + var p = function p(x, w) { + if ("string" === typeof x) { + var r = x.indexOf("@"); + -1 !== r && (r = x.substring(r + 1), ha(x)(d, w.getAttribute(r))); + } + }, + t = function t(x) { + if (c === q || c === g) f = m[g], k = x.innerHTML.trim(), f && f._bAttrSrc ? (ha(f.mData._)(d, k), p(f.mData.sort, x), p(f.mData.type, x), p(f.mData.filter, x)) : n ? (f._setter || (f._setter = ha(f.mData)), f._setter(d, k)) : d[g] = k; + g++; + }; + + if (h) for (; h;) { + var v = h.nodeName.toUpperCase(); + if ("TD" == v || "TH" == v) t(h), e.push(h); + h = h.nextSibling; + } else for (e = b.anCells, h = 0, v = e.length; h < v; h++) { + t(e[h]); + } + (b = b.firstChild ? b : b.nTr) && (b = b.getAttribute("id")) && ha(a.rowId)(d, b); + return { + data: d, + cells: e + }; + } + + function fb(a, b, c, d) { + var e = a.aoData[b], + h = e._aData, + f = [], + g, + k; + + if (null === e.nTr) { + var m = c || A.createElement("tr"); + e.nTr = m; + e.anCells = f; + m._DT_RowIndex = b; + jb(a, e); + var n = 0; + + for (g = a.aoColumns.length; n < g; n++) { + var p = a.aoColumns[n]; + e = (k = c ? !1 : !0) ? A.createElement(p.sCellType) : d[n]; + e._DT_CellIndex = { + row: b, + column: n + }; + f.push(e); + if (k || !(!p.mRender && p.mData === n || l.isPlainObject(p.mData) && p.mData._ === n + ".display")) e.innerHTML = T(a, b, n, "display"); + p.sClass && (e.className += " " + p.sClass); + p.bVisible && !c ? m.appendChild(e) : !p.bVisible && c && e.parentNode.removeChild(e); + p.fnCreatedCell && p.fnCreatedCell.call(a.oInstance, e, T(a, b, n), h, b, n); + } + + F(a, "aoRowCreatedCallback", null, [m, h, b, f]); + } + } + + function jb(a, b) { + var c = b.nTr, + d = b._aData; + + if (c) { + if (a = a.rowIdFn(d)) c.id = a; + d.DT_RowClass && (a = d.DT_RowClass.split(" "), b.__rowc = b.__rowc ? Oa(b.__rowc.concat(a)) : a, l(c).removeClass(b.__rowc.join(" ")).addClass(d.DT_RowClass)); + d.DT_RowAttr && l(c).attr(d.DT_RowAttr); + d.DT_RowData && l(c).data(d.DT_RowData); + } + } + + function Jb(a) { + var b, + c, + d = a.nTHead, + e = a.nTFoot, + h = 0 === l("th, td", d).length, + f = a.oClasses, + g = a.aoColumns; + h && (c = l("").appendTo(d)); + var k = 0; + + for (b = g.length; k < b; k++) { + var m = g[k]; + var n = l(m.nTh).addClass(m.sClass); + h && n.appendTo(c); + a.oFeatures.bSort && (n.addClass(m.sSortingClass), !1 !== m.bSortable && (n.attr("tabindex", a.iTabIndex).attr("aria-controls", a.sTableId), kb(a, m.nTh, k))); + m.sTitle != n[0].innerHTML && n.html(m.sTitle); + lb(a, "header")(a, n, m, f); + } + + h && wa(a.aoHeader, d); + l(d).children("tr").children("th, td").addClass(f.sHeaderTH); + l(e).children("tr").children("th, td").addClass(f.sFooterTH); + if (null !== e) for (a = a.aoFooter[0], k = 0, b = a.length; k < b; k++) { + m = g[k], m.nTf = a[k].cell, m.sClass && l(m.nTf).addClass(m.sClass); + } + } + + function xa(a, b, c) { + var d, + e, + h = [], + f = [], + g = a.aoColumns.length; + + if (b) { + c === q && (c = !1); + var k = 0; + + for (d = b.length; k < d; k++) { + h[k] = b[k].slice(); + h[k].nTr = b[k].nTr; + + for (e = g - 1; 0 <= e; e--) { + a.aoColumns[e].bVisible || c || h[k].splice(e, 1); + } + + f.push([]); + } + + k = 0; + + for (d = h.length; k < d; k++) { + if (a = h[k].nTr) for (; e = a.firstChild;) { + a.removeChild(e); + } + e = 0; + + for (b = h[k].length; e < b; e++) { + var m = g = 1; + + if (f[k][e] === q) { + a.appendChild(h[k][e].cell); + + for (f[k][e] = 1; h[k + g] !== q && h[k][e].cell == h[k + g][e].cell;) { + f[k + g][e] = 1, g++; + } + + for (; h[k][e + m] !== q && h[k][e].cell == h[k][e + m].cell;) { + for (c = 0; c < g; c++) { + f[k + c][e + m] = 1; + } + + m++; + } + + l(h[k][e].cell).attr("rowspan", g).attr("colspan", m); + } + } + } + } + } + + function ja(a, b) { + var c = "ssp" == Q(a), + d = a.iInitDisplayStart; + d !== q && -1 !== d && (a._iDisplayStart = c ? d : d >= a.fnRecordsDisplay() ? 0 : d, a.iInitDisplayStart = -1); + c = F(a, "aoPreDrawCallback", "preDraw", [a]); + if (-1 !== l.inArray(!1, c)) V(a, !1);else { + c = []; + var e = 0; + d = a.asStripeClasses; + var h = d.length, + f = a.oLanguage, + g = "ssp" == Q(a), + k = a.aiDisplay, + m = a._iDisplayStart, + n = a.fnDisplayEnd(); + a.bDrawing = !0; + if (a.bDeferLoading) a.bDeferLoading = !1, a.iDraw++, V(a, !1);else if (!g) a.iDraw++;else if (!a.bDestroying && !b) { + Kb(a); + return; + } + if (0 !== k.length) for (b = g ? a.aoData.length : n, f = g ? 0 : m; f < b; f++) { + g = k[f]; + var p = a.aoData[g]; + null === p.nTr && fb(a, g); + var t = p.nTr; + + if (0 !== h) { + var v = d[e % h]; + p._sRowStripe != v && (l(t).removeClass(p._sRowStripe).addClass(v), p._sRowStripe = v); + } + + F(a, "aoRowCallback", null, [t, p._aData, e, f, g]); + c.push(t); + e++; + } else e = f.sZeroRecords, 1 == a.iDraw && "ajax" == Q(a) ? e = f.sLoadingRecords : f.sEmptyTable && 0 === a.fnRecordsTotal() && (e = f.sEmptyTable), c[0] = l("", { + "class": h ? d[0] : "" + }).append(l("", { + valign: "top", + colSpan: na(a), + "class": a.oClasses.sRowEmpty + }).html(e))[0]; + F(a, "aoHeaderCallback", "header", [l(a.nTHead).children("tr")[0], ib(a), m, n, k]); + F(a, "aoFooterCallback", "footer", [l(a.nTFoot).children("tr")[0], ib(a), m, n, k]); + d = l(a.nTBody); + d.children().detach(); + d.append(l(c)); + F(a, "aoDrawCallback", "draw", [a]); + a.bSorted = !1; + a.bFiltered = !1; + a.bDrawing = !1; + } + } + + function ka(a, b) { + var c = a.oFeatures, + d = c.bFilter; + c.bSort && Lb(a); + d ? ya(a, a.oPreviousSearch) : a.aiDisplay = a.aiDisplayMaster.slice(); + !0 !== b && (a._iDisplayStart = 0); + a._drawHold = b; + ja(a); + a._drawHold = !1; + } + + function Mb(a) { + var b = a.oClasses, + c = l(a.nTable); + c = l("
      ").insertBefore(c); + var d = a.oFeatures, + e = l("
      ", { + id: a.sTableId + "_wrapper", + "class": b.sWrapper + (a.nTFoot ? "" : " " + b.sNoFooter) + }); + a.nHolding = c[0]; + a.nTableWrapper = e[0]; + a.nTableReinsertBefore = a.nTable.nextSibling; + + for (var h = a.sDom.split(""), f, g, k, m, n, p, t = 0; t < h.length; t++) { + f = null; + g = h[t]; + + if ("<" == g) { + k = l("
      ")[0]; + m = h[t + 1]; + + if ("'" == m || '"' == m) { + n = ""; + + for (p = 2; h[t + p] != m;) { + n += h[t + p], p++; + } + + "H" == n ? n = b.sJUIHeader : "F" == n && (n = b.sJUIFooter); + -1 != n.indexOf(".") ? (m = n.split("."), k.id = m[0].substr(1, m[0].length - 1), k.className = m[1]) : "#" == n.charAt(0) ? k.id = n.substr(1, n.length - 1) : k.className = n; + t += p; + } + + e.append(k); + e = l(k); + } else if (">" == g) e = e.parent();else if ("l" == g && d.bPaginate && d.bLengthChange) f = Nb(a);else if ("f" == g && d.bFilter) f = Ob(a);else if ("r" == g && d.bProcessing) f = Pb(a);else if ("t" == g) f = Qb(a);else if ("i" == g && d.bInfo) f = Rb(a);else if ("p" == g && d.bPaginate) f = Sb(a);else if (0 !== u.ext.feature.length) for (k = u.ext.feature, p = 0, m = k.length; p < m; p++) { + if (g == k[p].cFeature) { + f = k[p].fnInit(a); + break; + } + } + + f && (k = a.aanFeatures, k[g] || (k[g] = []), k[g].push(f), e.append(f)); + } + + c.replaceWith(e); + a.nHolding = null; + } + + function wa(a, b) { + b = l(b).children("tr"); + var c, d, e; + a.splice(0, a.length); + var h = 0; + + for (e = b.length; h < e; h++) { + a.push([]); + } + + h = 0; + + for (e = b.length; h < e; h++) { + var f = b[h]; + + for (c = f.firstChild; c;) { + if ("TD" == c.nodeName.toUpperCase() || "TH" == c.nodeName.toUpperCase()) { + var g = 1 * c.getAttribute("colspan"); + var k = 1 * c.getAttribute("rowspan"); + g = g && 0 !== g && 1 !== g ? g : 1; + k = k && 0 !== k && 1 !== k ? k : 1; + var m = 0; + + for (d = a[h]; d[m];) { + m++; + } + + var n = m; + var p = 1 === g ? !0 : !1; + + for (d = 0; d < g; d++) { + for (m = 0; m < k; m++) { + a[h + m][n + d] = { + cell: c, + unique: p + }, a[h + m].nTr = f; + } + } + } + + c = c.nextSibling; + } + } + } + + function Pa(a, b, c) { + var d = []; + c || (c = a.aoHeader, b && (c = [], wa(c, b))); + b = 0; + + for (var e = c.length; b < e; b++) { + for (var h = 0, f = c[b].length; h < f; h++) { + !c[b][h].unique || d[h] && a.bSortCellsTop || (d[h] = c[b][h].cell); + } + } + + return d; + } + + function Qa(a, b, c) { + F(a, "aoServerParams", "serverParams", [b]); + + if (b && Array.isArray(b)) { + var d = {}, + e = /(.*?)\[\]$/; + l.each(b, function (n, p) { + (n = p.name.match(e)) ? (n = n[0], d[n] || (d[n] = []), d[n].push(p.value)) : d[p.name] = p.value; + }); + b = d; + } + + var h = a.ajax, + f = a.oInstance, + g = function g(n) { + var p = a.jqXHR ? a.jqXHR.status : null; + if (null === n || "number" === typeof p && 204 == p) n = {}, za(a, n, []); + (p = n.error || n.sError) && ea(a, 0, p); + a.json = n; + F(a, null, "xhr", [a, n, a.jqXHR]); + c(n); + }; + + if (l.isPlainObject(h) && h.data) { + var k = h.data; + var m = "function" === typeof k ? k(b, a) : k; + b = "function" === typeof k && m ? m : l.extend(!0, b, m); + delete h.data; + } + + m = { + data: b, + success: g, + dataType: "json", + cache: !1, + type: a.sServerMethod, + error: function error(n, p, t) { + t = F(a, null, "xhr", [a, null, a.jqXHR]); + -1 === l.inArray(!0, t) && ("parsererror" == p ? ea(a, 0, "Invalid JSON response", 1) : 4 === n.readyState && ea(a, 0, "Ajax error", 7)); + V(a, !1); + } + }; + a.oAjaxData = b; + F(a, null, "preXhr", [a, b]); + a.fnServerData ? a.fnServerData.call(f, a.sAjaxSource, l.map(b, function (n, p) { + return { + name: p, + value: n + }; + }), g, a) : a.sAjaxSource || "string" === typeof h ? a.jqXHR = l.ajax(l.extend(m, { + url: h || a.sAjaxSource + })) : "function" === typeof h ? a.jqXHR = h.call(f, b, g, a) : (a.jqXHR = l.ajax(l.extend(m, h)), h.data = k); + } + + function Kb(a) { + a.iDraw++; + V(a, !0); + Qa(a, Tb(a), function (b) { + Ub(a, b); + }); + } + + function Tb(a) { + var b = a.aoColumns, + c = b.length, + d = a.oFeatures, + e = a.oPreviousSearch, + h = a.aoPreSearchCols, + f = [], + g = oa(a); + var k = a._iDisplayStart; + var m = !1 !== d.bPaginate ? a._iDisplayLength : -1; + + var n = function n(x, w) { + f.push({ + name: x, + value: w + }); + }; + + n("sEcho", a.iDraw); + n("iColumns", c); + n("sColumns", U(b, "sName").join(",")); + n("iDisplayStart", k); + n("iDisplayLength", m); + var p = { + draw: a.iDraw, + columns: [], + order: [], + start: k, + length: m, + search: { + value: e.sSearch, + regex: e.bRegex + } + }; + + for (k = 0; k < c; k++) { + var t = b[k]; + var v = h[k]; + m = "function" == typeof t.mData ? "function" : t.mData; + p.columns.push({ + data: m, + name: t.sName, + searchable: t.bSearchable, + orderable: t.bSortable, + search: { + value: v.sSearch, + regex: v.bRegex + } + }); + n("mDataProp_" + k, m); + d.bFilter && (n("sSearch_" + k, v.sSearch), n("bRegex_" + k, v.bRegex), n("bSearchable_" + k, t.bSearchable)); + d.bSort && n("bSortable_" + k, t.bSortable); + } + + d.bFilter && (n("sSearch", e.sSearch), n("bRegex", e.bRegex)); + d.bSort && (l.each(g, function (x, w) { + p.order.push({ + column: w.col, + dir: w.dir + }); + n("iSortCol_" + x, w.col); + n("sSortDir_" + x, w.dir); + }), n("iSortingCols", g.length)); + b = u.ext.legacy.ajax; + return null === b ? a.sAjaxSource ? f : p : b ? f : p; + } + + function Ub(a, b) { + var c = function c(f, g) { + return b[f] !== q ? b[f] : b[g]; + }, + d = za(a, b), + e = c("sEcho", "draw"), + h = c("iTotalRecords", "recordsTotal"); + + c = c("iTotalDisplayRecords", "recordsFiltered"); + + if (e !== q) { + if (1 * e < a.iDraw) return; + a.iDraw = 1 * e; + } + + d || (d = []); + Ma(a); + a._iRecordsTotal = parseInt(h, 10); + a._iRecordsDisplay = parseInt(c, 10); + e = 0; + + for (h = d.length; e < h; e++) { + ia(a, d[e]); + } + + a.aiDisplay = a.aiDisplayMaster.slice(); + ja(a, !0); + a._bInitComplete || Ra(a, b); + V(a, !1); + } + + function za(a, b, c) { + a = l.isPlainObject(a.ajax) && a.ajax.dataSrc !== q ? a.ajax.dataSrc : a.sAjaxDataProp; + if (!c) return "data" === a ? b.aaData || b[a] : "" !== a ? ma(a)(b) : b; + ha(a)(b, c); + } + + function Ob(a) { + var b = a.oClasses, + c = a.sTableId, + d = a.oLanguage, + e = a.oPreviousSearch, + h = a.aanFeatures, + f = '', + g = d.sSearch; + g = g.match(/_INPUT_/) ? g.replace("_INPUT_", f) : g + f; + b = l("
      ", { + id: h.f ? null : c + "_filter", + "class": b.sFilter + }).append(l("
      ", { + "class": a.oClasses.sInfo, + id: c ? null : b + "_info" + }); + c || (a.aoDrawCallback.push({ + fn: ac, + sName: "information" + }), d.attr("role", "status").attr("aria-live", "polite"), l(a.nTable).attr("aria-describedby", b + "_info")); + return d[0]; + } + + function ac(a) { + var b = a.aanFeatures.i; + + if (0 !== b.length) { + var c = a.oLanguage, + d = a._iDisplayStart + 1, + e = a.fnDisplayEnd(), + h = a.fnRecordsTotal(), + f = a.fnRecordsDisplay(), + g = f ? c.sInfo : c.sInfoEmpty; + f !== h && (g += " " + c.sInfoFiltered); + g += c.sInfoPostFix; + g = bc(a, g); + c = c.fnInfoCallback; + null !== c && (g = c.call(a.oInstance, a, d, e, h, f, g)); + l(b).html(g); + } + } + + function bc(a, b) { + var c = a.fnFormatNumber, + d = a._iDisplayStart + 1, + e = a._iDisplayLength, + h = a.fnRecordsDisplay(), + f = -1 === e; + return b.replace(/_START_/g, c.call(a, d)).replace(/_END_/g, c.call(a, a.fnDisplayEnd())).replace(/_MAX_/g, c.call(a, a.fnRecordsTotal())).replace(/_TOTAL_/g, c.call(a, h)).replace(/_PAGE_/g, c.call(a, f ? 1 : Math.ceil(d / e))).replace(/_PAGES_/g, c.call(a, f ? 1 : Math.ceil(h / e))); + } + + function Aa(a) { + var b = a.iInitDisplayStart, + c = a.aoColumns; + var d = a.oFeatures; + var e = a.bDeferLoading; + + if (a.bInitialised) { + Mb(a); + Jb(a); + xa(a, a.aoHeader); + xa(a, a.aoFooter); + V(a, !0); + d.bAutoWidth && db(a); + var h = 0; + + for (d = c.length; h < d; h++) { + var f = c[h]; + f.sWidth && (f.nTh.style.width = K(f.sWidth)); + } + + F(a, null, "preInit", [a]); + ka(a); + c = Q(a); + if ("ssp" != c || e) "ajax" == c ? Qa(a, [], function (g) { + var k = za(a, g); + + for (h = 0; h < k.length; h++) { + ia(a, k[h]); + } + + a.iInitDisplayStart = b; + ka(a); + V(a, !1); + Ra(a, g); + }, a) : (V(a, !1), Ra(a)); + } else setTimeout(function () { + Aa(a); + }, 200); + } + + function Ra(a, b) { + a._bInitComplete = !0; + (b || a.oInit.aaData) && sa(a); + F(a, null, "plugin-init", [a, b]); + F(a, "aoInitComplete", "init", [a, b]); + } + + function pb(a, b) { + b = parseInt(b, 10); + a._iDisplayLength = b; + qb(a); + F(a, null, "length", [a, b]); + } + + function Nb(a) { + var b = a.oClasses, + c = a.sTableId, + d = a.aLengthMenu, + e = Array.isArray(d[0]), + h = e ? d[0] : d; + d = e ? d[1] : d; + e = l("", e.querySelectorAll("[msallowcapture^='']").length && v.push("[*^$]=" + M + "*(?:''|\"\")"), e.querySelectorAll("[selected]").length || v.push("\\[" + M + "*(?:value|" + R + ")"), e.querySelectorAll("[id~=" + S + "-]").length || v.push("~="), (t = C.createElement("input")).setAttribute("name", ""), e.appendChild(t), e.querySelectorAll("[name='']").length || v.push("\\[" + M + "*name" + M + "*=" + M + "*(?:''|\"\")"), e.querySelectorAll(":checked").length || v.push(":checked"), e.querySelectorAll("a#" + S + "+*").length || v.push(".#.+[+~]"), e.querySelectorAll("\\\f"), v.push("[\\r\\n\\f]"); + }), ce(function (e) { + e.innerHTML = ""; + var t = C.createElement("input"); + t.setAttribute("type", "hidden"), e.appendChild(t).setAttribute("name", "D"), e.querySelectorAll("[name=d]").length && v.push("name" + M + "*[*^$|!~]?="), 2 !== e.querySelectorAll(":enabled").length && v.push(":enabled", ":disabled"), a.appendChild(e).disabled = !0, 2 !== e.querySelectorAll(":disabled").length && v.push(":enabled", ":disabled"), e.querySelectorAll("*,:x"), v.push(",.*:"); + })), (d.matchesSelector = K.test(c = a.matches || a.webkitMatchesSelector || a.mozMatchesSelector || a.oMatchesSelector || a.msMatchesSelector)) && ce(function (e) { + d.disconnectedMatch = c.call(e, "*"), c.call(e, "[s!='']:x"), s.push("!=", F); + }), v = v.length && new RegExp(v.join("|")), s = s.length && new RegExp(s.join("|")), t = K.test(a.compareDocumentPosition), y = t || K.test(a.contains) ? function (e, t) { + var n = 9 === e.nodeType ? e.documentElement : e, + r = t && t.parentNode; + return e === r || !(!r || 1 !== r.nodeType || !(n.contains ? n.contains(r) : e.compareDocumentPosition && 16 & e.compareDocumentPosition(r))); + } : function (e, t) { + if (t) while (t = t.parentNode) { + if (t === e) return !0; + } + return !1; + }, j = t ? function (e, t) { + if (e === t) return l = !0, 0; + var n = !e.compareDocumentPosition - !t.compareDocumentPosition; + return n || (1 & (n = (e.ownerDocument || e) == (t.ownerDocument || t) ? e.compareDocumentPosition(t) : 1) || !d.sortDetached && t.compareDocumentPosition(e) === n ? e == C || e.ownerDocument == p && y(p, e) ? -1 : t == C || t.ownerDocument == p && y(p, t) ? 1 : u ? P(u, e) - P(u, t) : 0 : 4 & n ? -1 : 1); + } : function (e, t) { + if (e === t) return l = !0, 0; + var n, + r = 0, + i = e.parentNode, + o = t.parentNode, + a = [e], + s = [t]; + if (!i || !o) return e == C ? -1 : t == C ? 1 : i ? -1 : o ? 1 : u ? P(u, e) - P(u, t) : 0; + if (i === o) return pe(e, t); + n = e; + + while (n = n.parentNode) { + a.unshift(n); + } + + n = t; + + while (n = n.parentNode) { + s.unshift(n); + } + + while (a[r] === s[r]) { + r++; + } + + return r ? pe(a[r], s[r]) : a[r] == p ? -1 : s[r] == p ? 1 : 0; + }), C; + }, se.matches = function (e, t) { + return se(e, null, null, t); + }, se.matchesSelector = function (e, t) { + if (T(e), d.matchesSelector && E && !N[t + " "] && (!s || !s.test(t)) && (!v || !v.test(t))) try { + var n = c.call(e, t); + if (n || d.disconnectedMatch || e.document && 11 !== e.document.nodeType) return n; + } catch (e) { + N(t, !0); + } + return 0 < se(t, C, null, [e]).length; + }, se.contains = function (e, t) { + return (e.ownerDocument || e) != C && T(e), y(e, t); + }, se.attr = function (e, t) { + (e.ownerDocument || e) != C && T(e); + var n = b.attrHandle[t.toLowerCase()], + r = n && D.call(b.attrHandle, t.toLowerCase()) ? n(e, t, !E) : void 0; + return void 0 !== r ? r : d.attributes || !E ? e.getAttribute(t) : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; + }, se.escape = function (e) { + return (e + "").replace(re, ie); + }, se.error = function (e) { + throw new Error("Syntax error, unrecognized expression: " + e); + }, se.uniqueSort = function (e) { + var t, + n = [], + r = 0, + i = 0; + + if (l = !d.detectDuplicates, u = !d.sortStable && e.slice(0), e.sort(j), l) { + while (t = e[i++]) { + t === e[i] && (r = n.push(i)); + } + + while (r--) { + e.splice(n[r], 1); + } + } + + return u = null, e; + }, o = se.getText = function (e) { + var t, + n = "", + r = 0, + i = e.nodeType; + + if (i) { + if (1 === i || 9 === i || 11 === i) { + if ("string" == typeof e.textContent) return e.textContent; + + for (e = e.firstChild; e; e = e.nextSibling) { + n += o(e); + } + } else if (3 === i || 4 === i) return e.nodeValue; + } else while (t = e[r++]) { + n += o(t); + } + + return n; + }, (b = se.selectors = { + cacheLength: 50, + createPseudo: le, + match: G, + attrHandle: {}, + find: {}, + relative: { + ">": { + dir: "parentNode", + first: !0 + }, + " ": { + dir: "parentNode" + }, + "+": { + dir: "previousSibling", + first: !0 + }, + "~": { + dir: "previousSibling" + } + }, + preFilter: { + ATTR: function ATTR(e) { + return e[1] = e[1].replace(te, ne), e[3] = (e[3] || e[4] || e[5] || "").replace(te, ne), "~=" === e[2] && (e[3] = " " + e[3] + " "), e.slice(0, 4); + }, + CHILD: function CHILD(e) { + return e[1] = e[1].toLowerCase(), "nth" === e[1].slice(0, 3) ? (e[3] || se.error(e[0]), e[4] = +(e[4] ? e[5] + (e[6] || 1) : 2 * ("even" === e[3] || "odd" === e[3])), e[5] = +(e[7] + e[8] || "odd" === e[3])) : e[3] && se.error(e[0]), e; + }, + PSEUDO: function PSEUDO(e) { + var t, + n = !e[6] && e[2]; + return G.CHILD.test(e[0]) ? null : (e[3] ? e[2] = e[4] || e[5] || "" : n && X.test(n) && (t = h(n, !0)) && (t = n.indexOf(")", n.length - t) - n.length) && (e[0] = e[0].slice(0, t), e[2] = n.slice(0, t)), e.slice(0, 3)); + } + }, + filter: { + TAG: function TAG(e) { + var t = e.replace(te, ne).toLowerCase(); + return "*" === e ? function () { + return !0; + } : function (e) { + return e.nodeName && e.nodeName.toLowerCase() === t; + }; + }, + CLASS: function CLASS(e) { + var t = m[e + " "]; + return t || (t = new RegExp("(^|" + M + ")" + e + "(" + M + "|$)")) && m(e, function (e) { + return t.test("string" == typeof e.className && e.className || "undefined" != typeof e.getAttribute && e.getAttribute("class") || ""); + }); + }, + ATTR: function ATTR(n, r, i) { + return function (e) { + var t = se.attr(e, n); + return null == t ? "!=" === r : !r || (t += "", "=" === r ? t === i : "!=" === r ? t !== i : "^=" === r ? i && 0 === t.indexOf(i) : "*=" === r ? i && -1 < t.indexOf(i) : "$=" === r ? i && t.slice(-i.length) === i : "~=" === r ? -1 < (" " + t.replace(B, " ") + " ").indexOf(i) : "|=" === r && (t === i || t.slice(0, i.length + 1) === i + "-")); + }; + }, + CHILD: function CHILD(h, e, t, g, v) { + var y = "nth" !== h.slice(0, 3), + m = "last" !== h.slice(-4), + x = "of-type" === e; + return 1 === g && 0 === v ? function (e) { + return !!e.parentNode; + } : function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l = y !== m ? "nextSibling" : "previousSibling", + c = e.parentNode, + f = x && e.nodeName.toLowerCase(), + p = !n && !x, + d = !1; + + if (c) { + if (y) { + while (l) { + a = e; + + while (a = a[l]) { + if (x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) return !1; + } + + u = l = "only" === h && !u && "nextSibling"; + } + + return !0; + } + + if (u = [m ? c.firstChild : c.lastChild], m && p) { + d = (s = (r = (i = (o = (a = c)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]) && r[2], a = s && c.childNodes[s]; + + while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) { + if (1 === a.nodeType && ++d && a === e) { + i[h] = [k, s, d]; + break; + } + } + } else if (p && (d = s = (r = (i = (o = (a = e)[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] || [])[0] === k && r[1]), !1 === d) while (a = ++s && a && a[l] || (d = s = 0) || u.pop()) { + if ((x ? a.nodeName.toLowerCase() === f : 1 === a.nodeType) && ++d && (p && ((i = (o = a[S] || (a[S] = {}))[a.uniqueID] || (o[a.uniqueID] = {}))[h] = [k, d]), a === e)) break; + } + + return (d -= v) === g || d % g == 0 && 0 <= d / g; + } + }; + }, + PSEUDO: function PSEUDO(e, o) { + var t, + a = b.pseudos[e] || b.setFilters[e.toLowerCase()] || se.error("unsupported pseudo: " + e); + return a[S] ? a(o) : 1 < a.length ? (t = [e, e, "", o], b.setFilters.hasOwnProperty(e.toLowerCase()) ? le(function (e, t) { + var n, + r = a(e, o), + i = r.length; + + while (i--) { + e[n = P(e, r[i])] = !(t[n] = r[i]); + } + }) : function (e) { + return a(e, 0, t); + }) : a; + } + }, + pseudos: { + not: le(function (e) { + var r = [], + i = [], + s = f(e.replace($, "$1")); + return s[S] ? le(function (e, t, n, r) { + var i, + o = s(e, null, r, []), + a = e.length; + + while (a--) { + (i = o[a]) && (e[a] = !(t[a] = i)); + } + }) : function (e, t, n) { + return r[0] = e, s(r, null, n, i), r[0] = null, !i.pop(); + }; + }), + has: le(function (t) { + return function (e) { + return 0 < se(t, e).length; + }; + }), + contains: le(function (t) { + return t = t.replace(te, ne), function (e) { + return -1 < (e.textContent || o(e)).indexOf(t); + }; + }), + lang: le(function (n) { + return V.test(n || "") || se.error("unsupported lang: " + n), n = n.replace(te, ne).toLowerCase(), function (e) { + var t; + + do { + if (t = E ? e.lang : e.getAttribute("xml:lang") || e.getAttribute("lang")) return (t = t.toLowerCase()) === n || 0 === t.indexOf(n + "-"); + } while ((e = e.parentNode) && 1 === e.nodeType); + + return !1; + }; + }), + target: function target(e) { + var t = n.location && n.location.hash; + return t && t.slice(1) === e.id; + }, + root: function root(e) { + return e === a; + }, + focus: function focus(e) { + return e === C.activeElement && (!C.hasFocus || C.hasFocus()) && !!(e.type || e.href || ~e.tabIndex); + }, + enabled: ge(!1), + disabled: ge(!0), + checked: function checked(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && !!e.checked || "option" === t && !!e.selected; + }, + selected: function selected(e) { + return e.parentNode && e.parentNode.selectedIndex, !0 === e.selected; + }, + empty: function empty(e) { + for (e = e.firstChild; e; e = e.nextSibling) { + if (e.nodeType < 6) return !1; + } + + return !0; + }, + parent: function parent(e) { + return !b.pseudos.empty(e); + }, + header: function header(e) { + return J.test(e.nodeName); + }, + input: function input(e) { + return Q.test(e.nodeName); + }, + button: function button(e) { + var t = e.nodeName.toLowerCase(); + return "input" === t && "button" === e.type || "button" === t; + }, + text: function text(e) { + var t; + return "input" === e.nodeName.toLowerCase() && "text" === e.type && (null == (t = e.getAttribute("type")) || "text" === t.toLowerCase()); + }, + first: ve(function () { + return [0]; + }), + last: ve(function (e, t) { + return [t - 1]; + }), + eq: ve(function (e, t, n) { + return [n < 0 ? n + t : n]; + }), + even: ve(function (e, t) { + for (var n = 0; n < t; n += 2) { + e.push(n); + } + + return e; + }), + odd: ve(function (e, t) { + for (var n = 1; n < t; n += 2) { + e.push(n); + } + + return e; + }), + lt: ve(function (e, t, n) { + for (var r = n < 0 ? n + t : t < n ? t : n; 0 <= --r;) { + e.push(r); + } + + return e; + }), + gt: ve(function (e, t, n) { + for (var r = n < 0 ? n + t : n; ++r < t;) { + e.push(r); + } + + return e; + }) + } + }).pseudos.nth = b.pseudos.eq, { + radio: !0, + checkbox: !0, + file: !0, + password: !0, + image: !0 + }) { + b.pseudos[e] = de(e); + } + + for (e in { + submit: !0, + reset: !0 + }) { + b.pseudos[e] = he(e); + } + + function me() {} + + function xe(e) { + for (var t = 0, n = e.length, r = ""; t < n; t++) { + r += e[t].value; + } + + return r; + } + + function be(s, e, t) { + var u = e.dir, + l = e.next, + c = l || u, + f = t && "parentNode" === c, + p = r++; + return e.first ? function (e, t, n) { + while (e = e[u]) { + if (1 === e.nodeType || f) return s(e, t, n); + } + + return !1; + } : function (e, t, n) { + var r, + i, + o, + a = [k, p]; + + if (n) { + while (e = e[u]) { + if ((1 === e.nodeType || f) && s(e, t, n)) return !0; + } + } else while (e = e[u]) { + if (1 === e.nodeType || f) if (i = (o = e[S] || (e[S] = {}))[e.uniqueID] || (o[e.uniqueID] = {}), l && l === e.nodeName.toLowerCase()) e = e[u] || e;else { + if ((r = i[c]) && r[0] === k && r[1] === p) return a[2] = r[2]; + if ((i[c] = a)[2] = s(e, t, n)) return !0; + } + } + + return !1; + }; + } + + function we(i) { + return 1 < i.length ? function (e, t, n) { + var r = i.length; + + while (r--) { + if (!i[r](e, t, n)) return !1; + } + + return !0; + } : i[0]; + } + + function Te(e, t, n, r, i) { + for (var o, a = [], s = 0, u = e.length, l = null != t; s < u; s++) { + (o = e[s]) && (n && !n(o, r, i) || (a.push(o), l && t.push(s))); + } + + return a; + } + + function Ce(d, h, g, v, y, e) { + return v && !v[S] && (v = Ce(v)), y && !y[S] && (y = Ce(y, e)), le(function (e, t, n, r) { + var i, + o, + a, + s = [], + u = [], + l = t.length, + c = e || function (e, t, n) { + for (var r = 0, i = t.length; r < i; r++) { + se(e, t[r], n); + } + + return n; + }(h || "*", n.nodeType ? [n] : n, []), + f = !d || !e && h ? c : Te(c, s, d, n, r), + p = g ? y || (e ? d : l || v) ? [] : t : f; + + if (g && g(f, p, n, r), v) { + i = Te(p, u), v(i, [], n, r), o = i.length; + + while (o--) { + (a = i[o]) && (p[u[o]] = !(f[u[o]] = a)); + } + } + + if (e) { + if (y || d) { + if (y) { + i = [], o = p.length; + + while (o--) { + (a = p[o]) && i.push(f[o] = a); + } + + y(null, p = [], i, r); + } + + o = p.length; + + while (o--) { + (a = p[o]) && -1 < (i = y ? P(e, a) : s[o]) && (e[i] = !(t[i] = a)); + } + } + } else p = Te(p === t ? p.splice(l, p.length) : p), y ? y(null, t, p, r) : H.apply(t, p); + }); + } + + function Ee(e) { + for (var i, t, n, r = e.length, o = b.relative[e[0].type], a = o || b.relative[" "], s = o ? 1 : 0, u = be(function (e) { + return e === i; + }, a, !0), l = be(function (e) { + return -1 < P(i, e); + }, a, !0), c = [function (e, t, n) { + var r = !o && (n || t !== w) || ((i = t).nodeType ? u(e, t, n) : l(e, t, n)); + return i = null, r; + }]; s < r; s++) { + if (t = b.relative[e[s].type]) c = [be(we(c), t)];else { + if ((t = b.filter[e[s].type].apply(null, e[s].matches))[S]) { + for (n = ++s; n < r; n++) { + if (b.relative[e[n].type]) break; + } + + return Ce(1 < s && we(c), 1 < s && xe(e.slice(0, s - 1).concat({ + value: " " === e[s - 2].type ? "*" : "" + })).replace($, "$1"), t, s < n && Ee(e.slice(s, n)), n < r && Ee(e = e.slice(n)), n < r && xe(e)); + } + + c.push(t); + } + } + + return we(c); + } + + return me.prototype = b.filters = b.pseudos, b.setFilters = new me(), h = se.tokenize = function (e, t) { + var n, + r, + i, + o, + a, + s, + u, + l = x[e + " "]; + if (l) return t ? 0 : l.slice(0); + a = e, s = [], u = b.preFilter; + + while (a) { + for (o in n && !(r = _.exec(a)) || (r && (a = a.slice(r[0].length) || a), s.push(i = [])), n = !1, (r = z.exec(a)) && (n = r.shift(), i.push({ + value: n, + type: r[0].replace($, " ") + }), a = a.slice(n.length)), b.filter) { + !(r = G[o].exec(a)) || u[o] && !(r = u[o](r)) || (n = r.shift(), i.push({ + value: n, + type: o, + matches: r + }), a = a.slice(n.length)); + } + + if (!n) break; + } + + return t ? a.length : a ? se.error(e) : x(e, s).slice(0); + }, f = se.compile = function (e, t) { + var n, + v, + y, + m, + x, + r, + i = [], + o = [], + a = A[e + " "]; + + if (!a) { + t || (t = h(e)), n = t.length; + + while (n--) { + (a = Ee(t[n]))[S] ? i.push(a) : o.push(a); + } + + (a = A(e, (v = o, m = 0 < (y = i).length, x = 0 < v.length, r = function r(e, t, n, _r, i) { + var o, + a, + s, + u = 0, + l = "0", + c = e && [], + f = [], + p = w, + d = e || x && b.find.TAG("*", i), + h = k += null == p ? 1 : Math.random() || .1, + g = d.length; + + for (i && (w = t == C || t || i); l !== g && null != (o = d[l]); l++) { + if (x && o) { + a = 0, t || o.ownerDocument == C || (T(o), n = !E); + + while (s = v[a++]) { + if (s(o, t || C, n)) { + _r.push(o); + + break; + } + } + + i && (k = h); + } + + m && ((o = !s && o) && u--, e && c.push(o)); + } + + if (u += l, m && l !== u) { + a = 0; + + while (s = y[a++]) { + s(c, f, t, n); + } + + if (e) { + if (0 < u) while (l--) { + c[l] || f[l] || (f[l] = q.call(_r)); + } + f = Te(f); + } + + H.apply(_r, f), i && !e && 0 < f.length && 1 < u + y.length && se.uniqueSort(_r); + } + + return i && (k = h, w = p), c; + }, m ? le(r) : r))).selector = e; + } + + return a; + }, g = se.select = function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = "function" == typeof e && e, + c = !r && h(e = l.selector || e); + + if (n = n || [], 1 === c.length) { + if (2 < (o = c[0] = c[0].slice(0)).length && "ID" === (a = o[0]).type && 9 === t.nodeType && E && b.relative[o[1].type]) { + if (!(t = (b.find.ID(a.matches[0].replace(te, ne), t) || [])[0])) return n; + l && (t = t.parentNode), e = e.slice(o.shift().value.length); + } + + i = G.needsContext.test(e) ? 0 : o.length; + + while (i--) { + if (a = o[i], b.relative[s = a.type]) break; + + if ((u = b.find[s]) && (r = u(a.matches[0].replace(te, ne), ee.test(o[0].type) && ye(t.parentNode) || t))) { + if (o.splice(i, 1), !(e = r.length && xe(o))) return H.apply(n, r), n; + break; + } + } + } + + return (l || f(e, c))(r, t, !E, n, !t || ee.test(e) && ye(t.parentNode) || t), n; + }, d.sortStable = S.split("").sort(j).join("") === S, d.detectDuplicates = !!l, T(), d.sortDetached = ce(function (e) { + return 1 & e.compareDocumentPosition(C.createElement("fieldset")); + }), ce(function (e) { + return e.innerHTML = "", "#" === e.firstChild.getAttribute("href"); + }) || fe("type|href|height|width", function (e, t, n) { + if (!n) return e.getAttribute(t, "type" === t.toLowerCase() ? 1 : 2); + }), d.attributes && ce(function (e) { + return e.innerHTML = "", e.firstChild.setAttribute("value", ""), "" === e.firstChild.getAttribute("value"); + }) || fe("value", function (e, t, n) { + if (!n && "input" === e.nodeName.toLowerCase()) return e.defaultValue; + }), ce(function (e) { + return null == e.getAttribute("disabled"); + }) || fe(R, function (e, t, n) { + var r; + if (!n) return !0 === e[t] ? t.toLowerCase() : (r = e.getAttributeNode(t)) && r.specified ? r.value : null; + }), se; + }(C); + + S.find = d, S.expr = d.selectors, S.expr[":"] = S.expr.pseudos, S.uniqueSort = S.unique = d.uniqueSort, S.text = d.getText, S.isXMLDoc = d.isXML, S.contains = d.contains, S.escapeSelector = d.escape; + + var h = function h(e, t, n) { + var r = [], + i = void 0 !== n; + + while ((e = e[t]) && 9 !== e.nodeType) { + if (1 === e.nodeType) { + if (i && S(e).is(n)) break; + r.push(e); + } + } + + return r; + }, + T = function T(e, t) { + for (var n = []; e; e = e.nextSibling) { + 1 === e.nodeType && e !== t && n.push(e); + } + + return n; + }, + k = S.expr.match.needsContext; + + function A(e, t) { + return e.nodeName && e.nodeName.toLowerCase() === t.toLowerCase(); + } + + var N = /^<([a-z][^\/\0>:\x20\t\r\n\f]*)[\x20\t\r\n\f]*\/?>(?:<\/\1>|)$/i; + + function j(e, n, r) { + return m(n) ? S.grep(e, function (e, t) { + return !!n.call(e, t, e) !== r; + }) : n.nodeType ? S.grep(e, function (e) { + return e === n !== r; + }) : "string" != typeof n ? S.grep(e, function (e) { + return -1 < i.call(n, e) !== r; + }) : S.filter(n, e, r); + } + + S.filter = function (e, t, n) { + var r = t[0]; + return n && (e = ":not(" + e + ")"), 1 === t.length && 1 === r.nodeType ? S.find.matchesSelector(r, e) ? [r] : [] : S.find.matches(e, S.grep(t, function (e) { + return 1 === e.nodeType; + })); + }, S.fn.extend({ + find: function find(e) { + var t, + n, + r = this.length, + i = this; + if ("string" != typeof e) return this.pushStack(S(e).filter(function () { + for (t = 0; t < r; t++) { + if (S.contains(i[t], this)) return !0; + } + })); + + for (n = this.pushStack([]), t = 0; t < r; t++) { + S.find(e, i[t], n); + } + + return 1 < r ? S.uniqueSort(n) : n; + }, + filter: function filter(e) { + return this.pushStack(j(this, e || [], !1)); + }, + not: function not(e) { + return this.pushStack(j(this, e || [], !0)); + }, + is: function is(e) { + return !!j(this, "string" == typeof e && k.test(e) ? S(e) : e || [], !1).length; + } + }); + var D, + q = /^(?:\s*(<[\w\W]+>)[^>]*|#([\w-]+))$/; + (S.fn.init = function (e, t, n) { + var r, i; + if (!e) return this; + + if (n = n || D, "string" == typeof e) { + if (!(r = "<" === e[0] && ">" === e[e.length - 1] && 3 <= e.length ? [null, e, null] : q.exec(e)) || !r[1] && t) return !t || t.jquery ? (t || n).find(e) : this.constructor(t).find(e); + + if (r[1]) { + if (t = t instanceof S ? t[0] : t, S.merge(this, S.parseHTML(r[1], t && t.nodeType ? t.ownerDocument || t : E, !0)), N.test(r[1]) && S.isPlainObject(t)) for (r in t) { + m(this[r]) ? this[r](t[r]) : this.attr(r, t[r]); + } + return this; + } + + return (i = E.getElementById(r[2])) && (this[0] = i, this.length = 1), this; + } + + return e.nodeType ? (this[0] = e, this.length = 1, this) : m(e) ? void 0 !== n.ready ? n.ready(e) : e(S) : S.makeArray(e, this); + }).prototype = S.fn, D = S(E); + var L = /^(?:parents|prev(?:Until|All))/, + H = { + children: !0, + contents: !0, + next: !0, + prev: !0 + }; + + function O(e, t) { + while ((e = e[t]) && 1 !== e.nodeType) { + ; + } + + return e; + } + + S.fn.extend({ + has: function has(e) { + var t = S(e, this), + n = t.length; + return this.filter(function () { + for (var e = 0; e < n; e++) { + if (S.contains(this, t[e])) return !0; + } + }); + }, + closest: function closest(e, t) { + var n, + r = 0, + i = this.length, + o = [], + a = "string" != typeof e && S(e); + if (!k.test(e)) for (; r < i; r++) { + for (n = this[r]; n && n !== t; n = n.parentNode) { + if (n.nodeType < 11 && (a ? -1 < a.index(n) : 1 === n.nodeType && S.find.matchesSelector(n, e))) { + o.push(n); + break; + } + } + } + return this.pushStack(1 < o.length ? S.uniqueSort(o) : o); + }, + index: function index(e) { + return e ? "string" == typeof e ? i.call(S(e), this[0]) : i.call(this, e.jquery ? e[0] : e) : this[0] && this[0].parentNode ? this.first().prevAll().length : -1; + }, + add: function add(e, t) { + return this.pushStack(S.uniqueSort(S.merge(this.get(), S(e, t)))); + }, + addBack: function addBack(e) { + return this.add(null == e ? this.prevObject : this.prevObject.filter(e)); + } + }), S.each({ + parent: function parent(e) { + var t = e.parentNode; + return t && 11 !== t.nodeType ? t : null; + }, + parents: function parents(e) { + return h(e, "parentNode"); + }, + parentsUntil: function parentsUntil(e, t, n) { + return h(e, "parentNode", n); + }, + next: function next(e) { + return O(e, "nextSibling"); + }, + prev: function prev(e) { + return O(e, "previousSibling"); + }, + nextAll: function nextAll(e) { + return h(e, "nextSibling"); + }, + prevAll: function prevAll(e) { + return h(e, "previousSibling"); + }, + nextUntil: function nextUntil(e, t, n) { + return h(e, "nextSibling", n); + }, + prevUntil: function prevUntil(e, t, n) { + return h(e, "previousSibling", n); + }, + siblings: function siblings(e) { + return T((e.parentNode || {}).firstChild, e); + }, + children: function children(e) { + return T(e.firstChild); + }, + contents: function contents(e) { + return null != e.contentDocument && r(e.contentDocument) ? e.contentDocument : (A(e, "template") && (e = e.content || e), S.merge([], e.childNodes)); + } + }, function (r, i) { + S.fn[r] = function (e, t) { + var n = S.map(this, i, e); + return "Until" !== r.slice(-5) && (t = e), t && "string" == typeof t && (n = S.filter(t, n)), 1 < this.length && (H[r] || S.uniqueSort(n), L.test(r) && n.reverse()), this.pushStack(n); + }; + }); + var P = /[^\x20\t\r\n\f]+/g; + + function R(e) { + return e; + } + + function M(e) { + throw e; + } + + function I(e, t, n, r) { + var i; + + try { + e && m(i = e.promise) ? i.call(e).done(t).fail(n) : e && m(i = e.then) ? i.call(e, t, n) : t.apply(void 0, [e].slice(r)); + } catch (e) { + n.apply(void 0, [e]); + } + } + + S.Callbacks = function (r) { + var e, n; + r = "string" == typeof r ? (e = r, n = {}, S.each(e.match(P) || [], function (e, t) { + n[t] = !0; + }), n) : S.extend({}, r); + + var i, + t, + o, + a, + s = [], + u = [], + l = -1, + c = function c() { + for (a = a || r.once, o = i = !0; u.length; l = -1) { + t = u.shift(); + + while (++l < s.length) { + !1 === s[l].apply(t[0], t[1]) && r.stopOnFalse && (l = s.length, t = !1); + } + } + + r.memory || (t = !1), i = !1, a && (s = t ? [] : ""); + }, + f = { + add: function add() { + return s && (t && !i && (l = s.length - 1, u.push(t)), function n(e) { + S.each(e, function (e, t) { + m(t) ? r.unique && f.has(t) || s.push(t) : t && t.length && "string" !== w(t) && n(t); + }); + }(arguments), t && !i && c()), this; + }, + remove: function remove() { + return S.each(arguments, function (e, t) { + var n; + + while (-1 < (n = S.inArray(t, s, n))) { + s.splice(n, 1), n <= l && l--; + } + }), this; + }, + has: function has(e) { + return e ? -1 < S.inArray(e, s) : 0 < s.length; + }, + empty: function empty() { + return s && (s = []), this; + }, + disable: function disable() { + return a = u = [], s = t = "", this; + }, + disabled: function disabled() { + return !s; + }, + lock: function lock() { + return a = u = [], t || i || (s = t = ""), this; + }, + locked: function locked() { + return !!a; + }, + fireWith: function fireWith(e, t) { + return a || (t = [e, (t = t || []).slice ? t.slice() : t], u.push(t), i || c()), this; + }, + fire: function fire() { + return f.fireWith(this, arguments), this; + }, + fired: function fired() { + return !!o; + } + }; + + return f; + }, S.extend({ + Deferred: function Deferred(e) { + var o = [["notify", "progress", S.Callbacks("memory"), S.Callbacks("memory"), 2], ["resolve", "done", S.Callbacks("once memory"), S.Callbacks("once memory"), 0, "resolved"], ["reject", "fail", S.Callbacks("once memory"), S.Callbacks("once memory"), 1, "rejected"]], + i = "pending", + a = { + state: function state() { + return i; + }, + always: function always() { + return s.done(arguments).fail(arguments), this; + }, + "catch": function _catch(e) { + return a.then(null, e); + }, + pipe: function pipe() { + var i = arguments; + return S.Deferred(function (r) { + S.each(o, function (e, t) { + var n = m(i[t[4]]) && i[t[4]]; + s[t[1]](function () { + var e = n && n.apply(this, arguments); + e && m(e.promise) ? e.promise().progress(r.notify).done(r.resolve).fail(r.reject) : r[t[0] + "With"](this, n ? [e] : arguments); + }); + }), i = null; + }).promise(); + }, + then: function then(t, n, r) { + var u = 0; + + function l(i, o, a, s) { + return function () { + var n = this, + r = arguments, + e = function e() { + var e, t; + + if (!(i < u)) { + if ((e = a.apply(n, r)) === o.promise()) throw new TypeError("Thenable self-resolution"); + t = e && ("object" == _typeof(e) || "function" == typeof e) && e.then, m(t) ? s ? t.call(e, l(u, o, R, s), l(u, o, M, s)) : (u++, t.call(e, l(u, o, R, s), l(u, o, M, s), l(u, o, R, o.notifyWith))) : (a !== R && (n = void 0, r = [e]), (s || o.resolveWith)(n, r)); + } + }, + t = s ? e : function () { + try { + e(); + } catch (e) { + S.Deferred.exceptionHook && S.Deferred.exceptionHook(e, t.stackTrace), u <= i + 1 && (a !== M && (n = void 0, r = [e]), o.rejectWith(n, r)); + } + }; + + i ? t() : (S.Deferred.getStackHook && (t.stackTrace = S.Deferred.getStackHook()), C.setTimeout(t)); + }; + } + + return S.Deferred(function (e) { + o[0][3].add(l(0, e, m(r) ? r : R, e.notifyWith)), o[1][3].add(l(0, e, m(t) ? t : R)), o[2][3].add(l(0, e, m(n) ? n : M)); + }).promise(); + }, + promise: function promise(e) { + return null != e ? S.extend(e, a) : a; + } + }, + s = {}; + return S.each(o, function (e, t) { + var n = t[2], + r = t[5]; + a[t[1]] = n.add, r && n.add(function () { + i = r; + }, o[3 - e][2].disable, o[3 - e][3].disable, o[0][2].lock, o[0][3].lock), n.add(t[3].fire), s[t[0]] = function () { + return s[t[0] + "With"](this === s ? void 0 : this, arguments), this; + }, s[t[0] + "With"] = n.fireWith; + }), a.promise(s), e && e.call(s, s), s; + }, + when: function when(e) { + var n = arguments.length, + t = n, + r = Array(t), + i = s.call(arguments), + o = S.Deferred(), + a = function a(t) { + return function (e) { + r[t] = this, i[t] = 1 < arguments.length ? s.call(arguments) : e, --n || o.resolveWith(r, i); + }; + }; + + if (n <= 1 && (I(e, o.done(a(t)).resolve, o.reject, !n), "pending" === o.state() || m(i[t] && i[t].then))) return o.then(); + + while (t--) { + I(i[t], a(t), o.reject); + } + + return o.promise(); + } + }); + var W = /^(Eval|Internal|Range|Reference|Syntax|Type|URI)Error$/; + S.Deferred.exceptionHook = function (e, t) { + C.console && C.console.warn && e && W.test(e.name) && C.console.warn("jQuery.Deferred exception: " + e.message, e.stack, t); + }, S.readyException = function (e) { + C.setTimeout(function () { + throw e; + }); + }; + var F = S.Deferred(); + + function B() { + E.removeEventListener("DOMContentLoaded", B), C.removeEventListener("load", B), S.ready(); + } + + S.fn.ready = function (e) { + return F.then(e)["catch"](function (e) { + S.readyException(e); + }), this; + }, S.extend({ + isReady: !1, + readyWait: 1, + ready: function ready(e) { + (!0 === e ? --S.readyWait : S.isReady) || (S.isReady = !0) !== e && 0 < --S.readyWait || F.resolveWith(E, [S]); + } + }), S.ready.then = F.then, "complete" === E.readyState || "loading" !== E.readyState && !E.documentElement.doScroll ? C.setTimeout(S.ready) : (E.addEventListener("DOMContentLoaded", B), C.addEventListener("load", B)); + + var $ = function $(e, t, n, r, i, o, a) { + var s = 0, + u = e.length, + l = null == n; + if ("object" === w(n)) for (s in i = !0, n) { + $(e, t, s, n[s], !0, o, a); + } else if (void 0 !== r && (i = !0, m(r) || (a = !0), l && (a ? (t.call(e, r), t = null) : (l = t, t = function t(e, _t2, n) { + return l.call(S(e), n); + })), t)) for (; s < u; s++) { + t(e[s], n, a ? r : r.call(e[s], s, t(e[s], n))); + } + return i ? e : l ? t.call(e) : u ? t(e[0], n) : o; + }, + _ = /^-ms-/, + z = /-([a-z])/g; + + function U(e, t) { + return t.toUpperCase(); + } + + function X(e) { + return e.replace(_, "ms-").replace(z, U); + } + + var V = function V(e) { + return 1 === e.nodeType || 9 === e.nodeType || !+e.nodeType; + }; + + function G() { + this.expando = S.expando + G.uid++; + } + + G.uid = 1, G.prototype = { + cache: function cache(e) { + var t = e[this.expando]; + return t || (t = {}, V(e) && (e.nodeType ? e[this.expando] = t : Object.defineProperty(e, this.expando, { + value: t, + configurable: !0 + }))), t; + }, + set: function set(e, t, n) { + var r, + i = this.cache(e); + if ("string" == typeof t) i[X(t)] = n;else for (r in t) { + i[X(r)] = t[r]; + } + return i; + }, + get: function get(e, t) { + return void 0 === t ? this.cache(e) : e[this.expando] && e[this.expando][X(t)]; + }, + access: function access(e, t, n) { + return void 0 === t || t && "string" == typeof t && void 0 === n ? this.get(e, t) : (this.set(e, t, n), void 0 !== n ? n : t); + }, + remove: function remove(e, t) { + var n, + r = e[this.expando]; + + if (void 0 !== r) { + if (void 0 !== t) { + n = (t = Array.isArray(t) ? t.map(X) : (t = X(t)) in r ? [t] : t.match(P) || []).length; + + while (n--) { + delete r[t[n]]; + } + } + + (void 0 === t || S.isEmptyObject(r)) && (e.nodeType ? e[this.expando] = void 0 : delete e[this.expando]); + } + }, + hasData: function hasData(e) { + var t = e[this.expando]; + return void 0 !== t && !S.isEmptyObject(t); + } + }; + var Y = new G(), + Q = new G(), + J = /^(?:\{[\w\W]*\}|\[[\w\W]*\])$/, + K = /[A-Z]/g; + + function Z(e, t, n) { + var r, i; + if (void 0 === n && 1 === e.nodeType) if (r = "data-" + t.replace(K, "-$&").toLowerCase(), "string" == typeof (n = e.getAttribute(r))) { + try { + n = "true" === (i = n) || "false" !== i && ("null" === i ? null : i === +i + "" ? +i : J.test(i) ? JSON.parse(i) : i); + } catch (e) {} + + Q.set(e, t, n); + } else n = void 0; + return n; + } + + S.extend({ + hasData: function hasData(e) { + return Q.hasData(e) || Y.hasData(e); + }, + data: function data(e, t, n) { + return Q.access(e, t, n); + }, + removeData: function removeData(e, t) { + Q.remove(e, t); + }, + _data: function _data(e, t, n) { + return Y.access(e, t, n); + }, + _removeData: function _removeData(e, t) { + Y.remove(e, t); + } + }), S.fn.extend({ + data: function data(n, e) { + var t, + r, + i, + o = this[0], + a = o && o.attributes; + + if (void 0 === n) { + if (this.length && (i = Q.get(o), 1 === o.nodeType && !Y.get(o, "hasDataAttrs"))) { + t = a.length; + + while (t--) { + a[t] && 0 === (r = a[t].name).indexOf("data-") && (r = X(r.slice(5)), Z(o, r, i[r])); + } + + Y.set(o, "hasDataAttrs", !0); + } + + return i; + } + + return "object" == _typeof(n) ? this.each(function () { + Q.set(this, n); + }) : $(this, function (e) { + var t; + if (o && void 0 === e) return void 0 !== (t = Q.get(o, n)) ? t : void 0 !== (t = Z(o, n)) ? t : void 0; + this.each(function () { + Q.set(this, n, e); + }); + }, null, e, 1 < arguments.length, null, !0); + }, + removeData: function removeData(e) { + return this.each(function () { + Q.remove(this, e); + }); + } + }), S.extend({ + queue: function queue(e, t, n) { + var r; + if (e) return t = (t || "fx") + "queue", r = Y.get(e, t), n && (!r || Array.isArray(n) ? r = Y.access(e, t, S.makeArray(n)) : r.push(n)), r || []; + }, + dequeue: function dequeue(e, t) { + t = t || "fx"; + + var n = S.queue(e, t), + r = n.length, + i = n.shift(), + o = S._queueHooks(e, t); + + "inprogress" === i && (i = n.shift(), r--), i && ("fx" === t && n.unshift("inprogress"), delete o.stop, i.call(e, function () { + S.dequeue(e, t); + }, o)), !r && o && o.empty.fire(); + }, + _queueHooks: function _queueHooks(e, t) { + var n = t + "queueHooks"; + return Y.get(e, n) || Y.access(e, n, { + empty: S.Callbacks("once memory").add(function () { + Y.remove(e, [t + "queue", n]); + }) + }); + } + }), S.fn.extend({ + queue: function queue(t, n) { + var e = 2; + return "string" != typeof t && (n = t, t = "fx", e--), arguments.length < e ? S.queue(this[0], t) : void 0 === n ? this : this.each(function () { + var e = S.queue(this, t, n); + S._queueHooks(this, t), "fx" === t && "inprogress" !== e[0] && S.dequeue(this, t); + }); + }, + dequeue: function dequeue(e) { + return this.each(function () { + S.dequeue(this, e); + }); + }, + clearQueue: function clearQueue(e) { + return this.queue(e || "fx", []); + }, + promise: function promise(e, t) { + var n, + r = 1, + i = S.Deferred(), + o = this, + a = this.length, + s = function s() { + --r || i.resolveWith(o, [o]); + }; + + "string" != typeof e && (t = e, e = void 0), e = e || "fx"; + + while (a--) { + (n = Y.get(o[a], e + "queueHooks")) && n.empty && (r++, n.empty.add(s)); + } + + return s(), i.promise(t); + } + }); + + var ee = /[+-]?(?:\d*\.|)\d+(?:[eE][+-]?\d+|)/.source, + te = new RegExp("^(?:([+-])=|)(" + ee + ")([a-z%]*)$", "i"), + ne = ["Top", "Right", "Bottom", "Left"], + re = E.documentElement, + ie = function ie(e) { + return S.contains(e.ownerDocument, e); + }, + oe = { + composed: !0 + }; + + re.getRootNode && (ie = function ie(e) { + return S.contains(e.ownerDocument, e) || e.getRootNode(oe) === e.ownerDocument; + }); + + var ae = function ae(e, t) { + return "none" === (e = t || e).style.display || "" === e.style.display && ie(e) && "none" === S.css(e, "display"); + }; + + function se(e, t, n, r) { + var i, + o, + a = 20, + s = r ? function () { + return r.cur(); + } : function () { + return S.css(e, t, ""); + }, + u = s(), + l = n && n[3] || (S.cssNumber[t] ? "" : "px"), + c = e.nodeType && (S.cssNumber[t] || "px" !== l && +u) && te.exec(S.css(e, t)); + + if (c && c[3] !== l) { + u /= 2, l = l || c[3], c = +u || 1; + + while (a--) { + S.style(e, t, c + l), (1 - o) * (1 - (o = s() / u || .5)) <= 0 && (a = 0), c /= o; + } + + c *= 2, S.style(e, t, c + l), n = n || []; + } + + return n && (c = +c || +u || 0, i = n[1] ? c + (n[1] + 1) * n[2] : +n[2], r && (r.unit = l, r.start = c, r.end = i)), i; + } + + var ue = {}; + + function le(e, t) { + for (var n, r, i, o, a, s, u, l = [], c = 0, f = e.length; c < f; c++) { + (r = e[c]).style && (n = r.style.display, t ? ("none" === n && (l[c] = Y.get(r, "display") || null, l[c] || (r.style.display = "")), "" === r.style.display && ae(r) && (l[c] = (u = a = o = void 0, a = (i = r).ownerDocument, s = i.nodeName, (u = ue[s]) || (o = a.body.appendChild(a.createElement(s)), u = S.css(o, "display"), o.parentNode.removeChild(o), "none" === u && (u = "block"), ue[s] = u)))) : "none" !== n && (l[c] = "none", Y.set(r, "display", n))); + } + + for (c = 0; c < f; c++) { + null != l[c] && (e[c].style.display = l[c]); + } + + return e; + } + + S.fn.extend({ + show: function show() { + return le(this, !0); + }, + hide: function hide() { + return le(this); + }, + toggle: function toggle(e) { + return "boolean" == typeof e ? e ? this.show() : this.hide() : this.each(function () { + ae(this) ? S(this).show() : S(this).hide(); + }); + } + }); + var ce, + fe, + pe = /^(?:checkbox|radio)$/i, + de = /<([a-z][^\/\0>\x20\t\r\n\f]*)/i, + he = /^$|^module$|\/(?:java|ecma)script/i; + ce = E.createDocumentFragment().appendChild(E.createElement("div")), (fe = E.createElement("input")).setAttribute("type", "radio"), fe.setAttribute("checked", "checked"), fe.setAttribute("name", "t"), ce.appendChild(fe), y.checkClone = ce.cloneNode(!0).cloneNode(!0).lastChild.checked, ce.innerHTML = "", y.noCloneChecked = !!ce.cloneNode(!0).lastChild.defaultValue, ce.innerHTML = "", y.option = !!ce.lastChild; + var ge = { + thead: [1, "", "
      "], + col: [2, "", "
      "], + tr: [2, "", "
      "], + td: [3, "", "
      "], + _default: [0, "", ""] + }; + + function ve(e, t) { + var n; + return n = "undefined" != typeof e.getElementsByTagName ? e.getElementsByTagName(t || "*") : "undefined" != typeof e.querySelectorAll ? e.querySelectorAll(t || "*") : [], void 0 === t || t && A(e, t) ? S.merge([e], n) : n; + } + + function ye(e, t) { + for (var n = 0, r = e.length; n < r; n++) { + Y.set(e[n], "globalEval", !t || Y.get(t[n], "globalEval")); + } + } + + ge.tbody = ge.tfoot = ge.colgroup = ge.caption = ge.thead, ge.th = ge.td, y.option || (ge.optgroup = ge.option = [1, ""]); + var me = /<|&#?\w+;/; + + function xe(e, t, n, r, i) { + for (var o, a, s, u, l, c, f = t.createDocumentFragment(), p = [], d = 0, h = e.length; d < h; d++) { + if ((o = e[d]) || 0 === o) if ("object" === w(o)) S.merge(p, o.nodeType ? [o] : o);else if (me.test(o)) { + a = a || f.appendChild(t.createElement("div")), s = (de.exec(o) || ["", ""])[1].toLowerCase(), u = ge[s] || ge._default, a.innerHTML = u[1] + S.htmlPrefilter(o) + u[2], c = u[0]; + + while (c--) { + a = a.lastChild; + } + + S.merge(p, a.childNodes), (a = f.firstChild).textContent = ""; + } else p.push(t.createTextNode(o)); + } + + f.textContent = "", d = 0; + + while (o = p[d++]) { + if (r && -1 < S.inArray(o, r)) i && i.push(o);else if (l = ie(o), a = ve(f.appendChild(o), "script"), l && ye(a), n) { + c = 0; + + while (o = a[c++]) { + he.test(o.type || "") && n.push(o); + } + } + } + + return f; + } + + var be = /^([^.]*)(?:\.(.+)|)/; + + function we() { + return !0; + } + + function Te() { + return !1; + } + + function Ce(e, t) { + return e === function () { + try { + return E.activeElement; + } catch (e) {} + }() == ("focus" === t); + } + + function Ee(e, t, n, r, i, o) { + var a, s; + + if ("object" == _typeof(t)) { + for (s in "string" != typeof n && (r = r || n, n = void 0), t) { + Ee(e, s, n, r, t[s], o); + } + + return e; + } + + if (null == r && null == i ? (i = n, r = n = void 0) : null == i && ("string" == typeof n ? (i = r, r = void 0) : (i = r, r = n, n = void 0)), !1 === i) i = Te;else if (!i) return e; + return 1 === o && (a = i, (i = function i(e) { + return S().off(e), a.apply(this, arguments); + }).guid = a.guid || (a.guid = S.guid++)), e.each(function () { + S.event.add(this, t, i, r, n); + }); + } + + function Se(e, i, o) { + o ? (Y.set(e, i, !1), S.event.add(e, i, { + namespace: !1, + handler: function handler(e) { + var t, + n, + r = Y.get(this, i); + + if (1 & e.isTrigger && this[i]) { + if (r.length) (S.event.special[i] || {}).delegateType && e.stopPropagation();else if (r = s.call(arguments), Y.set(this, i, r), t = o(this, i), this[i](), r !== (n = Y.get(this, i)) || t ? Y.set(this, i, !1) : n = {}, r !== n) return e.stopImmediatePropagation(), e.preventDefault(), n && n.value; + } else r.length && (Y.set(this, i, { + value: S.event.trigger(S.extend(r[0], S.Event.prototype), r.slice(1), this) + }), e.stopImmediatePropagation()); + } + })) : void 0 === Y.get(e, i) && S.event.add(e, i, we); + } + + S.event = { + global: {}, + add: function add(t, e, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + v = Y.get(t); + + if (V(t)) { + n.handler && (n = (o = n).handler, i = o.selector), i && S.find.matchesSelector(re, i), n.guid || (n.guid = S.guid++), (u = v.events) || (u = v.events = Object.create(null)), (a = v.handle) || (a = v.handle = function (e) { + return "undefined" != typeof S && S.event.triggered !== e.type ? S.event.dispatch.apply(t, arguments) : void 0; + }), l = (e = (e || "").match(P) || [""]).length; + + while (l--) { + d = g = (s = be.exec(e[l]) || [])[1], h = (s[2] || "").split(".").sort(), d && (f = S.event.special[d] || {}, d = (i ? f.delegateType : f.bindType) || d, f = S.event.special[d] || {}, c = S.extend({ + type: d, + origType: g, + data: r, + handler: n, + guid: n.guid, + selector: i, + needsContext: i && S.expr.match.needsContext.test(i), + namespace: h.join(".") + }, o), (p = u[d]) || ((p = u[d] = []).delegateCount = 0, f.setup && !1 !== f.setup.call(t, r, h, a) || t.addEventListener && t.addEventListener(d, a)), f.add && (f.add.call(t, c), c.handler.guid || (c.handler.guid = n.guid)), i ? p.splice(p.delegateCount++, 0, c) : p.push(c), S.event.global[d] = !0); + } + } + }, + remove: function remove(e, t, n, r, i) { + var o, + a, + s, + u, + l, + c, + f, + p, + d, + h, + g, + v = Y.hasData(e) && Y.get(e); + + if (v && (u = v.events)) { + l = (t = (t || "").match(P) || [""]).length; + + while (l--) { + if (d = g = (s = be.exec(t[l]) || [])[1], h = (s[2] || "").split(".").sort(), d) { + f = S.event.special[d] || {}, p = u[d = (r ? f.delegateType : f.bindType) || d] || [], s = s[2] && new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)"), a = o = p.length; + + while (o--) { + c = p[o], !i && g !== c.origType || n && n.guid !== c.guid || s && !s.test(c.namespace) || r && r !== c.selector && ("**" !== r || !c.selector) || (p.splice(o, 1), c.selector && p.delegateCount--, f.remove && f.remove.call(e, c)); + } + + a && !p.length && (f.teardown && !1 !== f.teardown.call(e, h, v.handle) || S.removeEvent(e, d, v.handle), delete u[d]); + } else for (d in u) { + S.event.remove(e, d + t[l], n, r, !0); + } + } + + S.isEmptyObject(u) && Y.remove(e, "handle events"); + } + }, + dispatch: function dispatch(e) { + var t, + n, + r, + i, + o, + a, + s = new Array(arguments.length), + u = S.event.fix(e), + l = (Y.get(this, "events") || Object.create(null))[u.type] || [], + c = S.event.special[u.type] || {}; + + for (s[0] = u, t = 1; t < arguments.length; t++) { + s[t] = arguments[t]; + } + + if (u.delegateTarget = this, !c.preDispatch || !1 !== c.preDispatch.call(this, u)) { + a = S.event.handlers.call(this, u, l), t = 0; + + while ((i = a[t++]) && !u.isPropagationStopped()) { + u.currentTarget = i.elem, n = 0; + + while ((o = i.handlers[n++]) && !u.isImmediatePropagationStopped()) { + u.rnamespace && !1 !== o.namespace && !u.rnamespace.test(o.namespace) || (u.handleObj = o, u.data = o.data, void 0 !== (r = ((S.event.special[o.origType] || {}).handle || o.handler).apply(i.elem, s)) && !1 === (u.result = r) && (u.preventDefault(), u.stopPropagation())); + } + } + + return c.postDispatch && c.postDispatch.call(this, u), u.result; + } + }, + handlers: function handlers(e, t) { + var n, + r, + i, + o, + a, + s = [], + u = t.delegateCount, + l = e.target; + if (u && l.nodeType && !("click" === e.type && 1 <= e.button)) for (; l !== this; l = l.parentNode || this) { + if (1 === l.nodeType && ("click" !== e.type || !0 !== l.disabled)) { + for (o = [], a = {}, n = 0; n < u; n++) { + void 0 === a[i = (r = t[n]).selector + " "] && (a[i] = r.needsContext ? -1 < S(i, this).index(l) : S.find(i, this, null, [l]).length), a[i] && o.push(r); + } + + o.length && s.push({ + elem: l, + handlers: o + }); + } + } + return l = this, u < t.length && s.push({ + elem: l, + handlers: t.slice(u) + }), s; + }, + addProp: function addProp(t, e) { + Object.defineProperty(S.Event.prototype, t, { + enumerable: !0, + configurable: !0, + get: m(e) ? function () { + if (this.originalEvent) return e(this.originalEvent); + } : function () { + if (this.originalEvent) return this.originalEvent[t]; + }, + set: function set(e) { + Object.defineProperty(this, t, { + enumerable: !0, + configurable: !0, + writable: !0, + value: e + }); + } + }); + }, + fix: function fix(e) { + return e[S.expando] ? e : new S.Event(e); + }, + special: { + load: { + noBubble: !0 + }, + click: { + setup: function setup(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click", we), !1; + }, + trigger: function trigger(e) { + var t = this || e; + return pe.test(t.type) && t.click && A(t, "input") && Se(t, "click"), !0; + }, + _default: function _default(e) { + var t = e.target; + return pe.test(t.type) && t.click && A(t, "input") && Y.get(t, "click") || A(t, "a"); + } + }, + beforeunload: { + postDispatch: function postDispatch(e) { + void 0 !== e.result && e.originalEvent && (e.originalEvent.returnValue = e.result); + } + } + } + }, S.removeEvent = function (e, t, n) { + e.removeEventListener && e.removeEventListener(t, n); + }, S.Event = function (e, t) { + if (!(this instanceof S.Event)) return new S.Event(e, t); + e && e.type ? (this.originalEvent = e, this.type = e.type, this.isDefaultPrevented = e.defaultPrevented || void 0 === e.defaultPrevented && !1 === e.returnValue ? we : Te, this.target = e.target && 3 === e.target.nodeType ? e.target.parentNode : e.target, this.currentTarget = e.currentTarget, this.relatedTarget = e.relatedTarget) : this.type = e, t && S.extend(this, t), this.timeStamp = e && e.timeStamp || Date.now(), this[S.expando] = !0; + }, S.Event.prototype = { + constructor: S.Event, + isDefaultPrevented: Te, + isPropagationStopped: Te, + isImmediatePropagationStopped: Te, + isSimulated: !1, + preventDefault: function preventDefault() { + var e = this.originalEvent; + this.isDefaultPrevented = we, e && !this.isSimulated && e.preventDefault(); + }, + stopPropagation: function stopPropagation() { + var e = this.originalEvent; + this.isPropagationStopped = we, e && !this.isSimulated && e.stopPropagation(); + }, + stopImmediatePropagation: function stopImmediatePropagation() { + var e = this.originalEvent; + this.isImmediatePropagationStopped = we, e && !this.isSimulated && e.stopImmediatePropagation(), this.stopPropagation(); + } + }, S.each({ + altKey: !0, + bubbles: !0, + cancelable: !0, + changedTouches: !0, + ctrlKey: !0, + detail: !0, + eventPhase: !0, + metaKey: !0, + pageX: !0, + pageY: !0, + shiftKey: !0, + view: !0, + "char": !0, + code: !0, + charCode: !0, + key: !0, + keyCode: !0, + button: !0, + buttons: !0, + clientX: !0, + clientY: !0, + offsetX: !0, + offsetY: !0, + pointerId: !0, + pointerType: !0, + screenX: !0, + screenY: !0, + targetTouches: !0, + toElement: !0, + touches: !0, + which: !0 + }, S.event.addProp), S.each({ + focus: "focusin", + blur: "focusout" + }, function (e, t) { + S.event.special[e] = { + setup: function setup() { + return Se(this, e, Ce), !1; + }, + trigger: function trigger() { + return Se(this, e), !0; + }, + _default: function _default() { + return !0; + }, + delegateType: t + }; + }), S.each({ + mouseenter: "mouseover", + mouseleave: "mouseout", + pointerenter: "pointerover", + pointerleave: "pointerout" + }, function (e, i) { + S.event.special[e] = { + delegateType: i, + bindType: i, + handle: function handle(e) { + var t, + n = e.relatedTarget, + r = e.handleObj; + return n && (n === this || S.contains(this, n)) || (e.type = r.origType, t = r.handler.apply(this, arguments), e.type = i), t; + } + }; + }), S.fn.extend({ + on: function on(e, t, n, r) { + return Ee(this, e, t, n, r); + }, + one: function one(e, t, n, r) { + return Ee(this, e, t, n, r, 1); + }, + off: function off(e, t, n) { + var r, i; + if (e && e.preventDefault && e.handleObj) return r = e.handleObj, S(e.delegateTarget).off(r.namespace ? r.origType + "." + r.namespace : r.origType, r.selector, r.handler), this; + + if ("object" == _typeof(e)) { + for (i in e) { + this.off(i, t, e[i]); + } + + return this; + } + + return !1 !== t && "function" != typeof t || (n = t, t = void 0), !1 === n && (n = Te), this.each(function () { + S.event.remove(this, e, n, t); + }); + } + }); + var ke = /\s*$/g; + + function je(e, t) { + return A(e, "table") && A(11 !== t.nodeType ? t : t.firstChild, "tr") && S(e).children("tbody")[0] || e; + } + + function De(e) { + return e.type = (null !== e.getAttribute("type")) + "/" + e.type, e; + } + + function qe(e) { + return "true/" === (e.type || "").slice(0, 5) ? e.type = e.type.slice(5) : e.removeAttribute("type"), e; + } + + function Le(e, t) { + var n, r, i, o, a, s; + + if (1 === t.nodeType) { + if (Y.hasData(e) && (s = Y.get(e).events)) for (i in Y.remove(t, "handle events"), s) { + for (n = 0, r = s[i].length; n < r; n++) { + S.event.add(t, i, s[i][n]); + } + } + Q.hasData(e) && (o = Q.access(e), a = S.extend({}, o), Q.set(t, a)); + } + } + + function He(n, r, i, o) { + r = g(r); + var e, + t, + a, + s, + u, + l, + c = 0, + f = n.length, + p = f - 1, + d = r[0], + h = m(d); + if (h || 1 < f && "string" == typeof d && !y.checkClone && Ae.test(d)) return n.each(function (e) { + var t = n.eq(e); + h && (r[0] = d.call(this, e, t.html())), He(t, r, i, o); + }); + + if (f && (t = (e = xe(r, n[0].ownerDocument, !1, n, o)).firstChild, 1 === e.childNodes.length && (e = t), t || o)) { + for (s = (a = S.map(ve(e, "script"), De)).length; c < f; c++) { + u = e, c !== p && (u = S.clone(u, !0, !0), s && S.merge(a, ve(u, "script"))), i.call(n[c], u, c); + } + + if (s) for (l = a[a.length - 1].ownerDocument, S.map(a, qe), c = 0; c < s; c++) { + u = a[c], he.test(u.type || "") && !Y.access(u, "globalEval") && S.contains(l, u) && (u.src && "module" !== (u.type || "").toLowerCase() ? S._evalUrl && !u.noModule && S._evalUrl(u.src, { + nonce: u.nonce || u.getAttribute("nonce") + }, l) : b(u.textContent.replace(Ne, ""), u, l)); + } + } + + return n; + } + + function Oe(e, t, n) { + for (var r, i = t ? S.filter(t, e) : e, o = 0; null != (r = i[o]); o++) { + n || 1 !== r.nodeType || S.cleanData(ve(r)), r.parentNode && (n && ie(r) && ye(ve(r, "script")), r.parentNode.removeChild(r)); + } + + return e; + } + + S.extend({ + htmlPrefilter: function htmlPrefilter(e) { + return e; + }, + clone: function clone(e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c = e.cloneNode(!0), + f = ie(e); + if (!(y.noCloneChecked || 1 !== e.nodeType && 11 !== e.nodeType || S.isXMLDoc(e))) for (a = ve(c), r = 0, i = (o = ve(e)).length; r < i; r++) { + s = o[r], u = a[r], void 0, "input" === (l = u.nodeName.toLowerCase()) && pe.test(s.type) ? u.checked = s.checked : "input" !== l && "textarea" !== l || (u.defaultValue = s.defaultValue); + } + if (t) if (n) for (o = o || ve(e), a = a || ve(c), r = 0, i = o.length; r < i; r++) { + Le(o[r], a[r]); + } else Le(e, c); + return 0 < (a = ve(c, "script")).length && ye(a, !f && ve(e, "script")), c; + }, + cleanData: function cleanData(e) { + for (var t, n, r, i = S.event.special, o = 0; void 0 !== (n = e[o]); o++) { + if (V(n)) { + if (t = n[Y.expando]) { + if (t.events) for (r in t.events) { + i[r] ? S.event.remove(n, r) : S.removeEvent(n, r, t.handle); + } + n[Y.expando] = void 0; + } + + n[Q.expando] && (n[Q.expando] = void 0); + } + } + } + }), S.fn.extend({ + detach: function detach(e) { + return Oe(this, e, !0); + }, + remove: function remove(e) { + return Oe(this, e); + }, + text: function text(e) { + return $(this, function (e) { + return void 0 === e ? S.text(this) : this.empty().each(function () { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || (this.textContent = e); + }); + }, null, e, arguments.length); + }, + append: function append() { + return He(this, arguments, function (e) { + 1 !== this.nodeType && 11 !== this.nodeType && 9 !== this.nodeType || je(this, e).appendChild(e); + }); + }, + prepend: function prepend() { + return He(this, arguments, function (e) { + if (1 === this.nodeType || 11 === this.nodeType || 9 === this.nodeType) { + var t = je(this, e); + t.insertBefore(e, t.firstChild); + } + }); + }, + before: function before() { + return He(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this); + }); + }, + after: function after() { + return He(this, arguments, function (e) { + this.parentNode && this.parentNode.insertBefore(e, this.nextSibling); + }); + }, + empty: function empty() { + for (var e, t = 0; null != (e = this[t]); t++) { + 1 === e.nodeType && (S.cleanData(ve(e, !1)), e.textContent = ""); + } + + return this; + }, + clone: function clone(e, t) { + return e = null != e && e, t = null == t ? e : t, this.map(function () { + return S.clone(this, e, t); + }); + }, + html: function html(e) { + return $(this, function (e) { + var t = this[0] || {}, + n = 0, + r = this.length; + if (void 0 === e && 1 === t.nodeType) return t.innerHTML; + + if ("string" == typeof e && !ke.test(e) && !ge[(de.exec(e) || ["", ""])[1].toLowerCase()]) { + e = S.htmlPrefilter(e); + + try { + for (; n < r; n++) { + 1 === (t = this[n] || {}).nodeType && (S.cleanData(ve(t, !1)), t.innerHTML = e); + } + + t = 0; + } catch (e) {} + } + + t && this.empty().append(e); + }, null, e, arguments.length); + }, + replaceWith: function replaceWith() { + var n = []; + return He(this, arguments, function (e) { + var t = this.parentNode; + S.inArray(this, n) < 0 && (S.cleanData(ve(this)), t && t.replaceChild(e, this)); + }, n); + } + }), S.each({ + appendTo: "append", + prependTo: "prepend", + insertBefore: "before", + insertAfter: "after", + replaceAll: "replaceWith" + }, function (e, a) { + S.fn[e] = function (e) { + for (var t, n = [], r = S(e), i = r.length - 1, o = 0; o <= i; o++) { + t = o === i ? this : this.clone(!0), S(r[o])[a](t), u.apply(n, t.get()); + } + + return this.pushStack(n); + }; + }); + + var Pe = new RegExp("^(" + ee + ")(?!px)[a-z%]+$", "i"), + Re = function Re(e) { + var t = e.ownerDocument.defaultView; + return t && t.opener || (t = C), t.getComputedStyle(e); + }, + Me = function Me(e, t, n) { + var r, + i, + o = {}; + + for (i in t) { + o[i] = e.style[i], e.style[i] = t[i]; + } + + for (i in r = n.call(e), t) { + e.style[i] = o[i]; + } + + return r; + }, + Ie = new RegExp(ne.join("|"), "i"); + + function We(e, t, n) { + var r, + i, + o, + a, + s = e.style; + return (n = n || Re(e)) && ("" !== (a = n.getPropertyValue(t) || n[t]) || ie(e) || (a = S.style(e, t)), !y.pixelBoxStyles() && Pe.test(a) && Ie.test(t) && (r = s.width, i = s.minWidth, o = s.maxWidth, s.minWidth = s.maxWidth = s.width = a, a = n.width, s.width = r, s.minWidth = i, s.maxWidth = o)), void 0 !== a ? a + "" : a; + } + + function Fe(e, t) { + return { + get: function get() { + if (!e()) return (this.get = t).apply(this, arguments); + delete this.get; + } + }; + } + + !function () { + function e() { + if (l) { + u.style.cssText = "position:absolute;left:-11111px;width:60px;margin-top:1px;padding:0;border:0", l.style.cssText = "position:relative;display:block;box-sizing:border-box;overflow:scroll;margin:auto;border:1px;padding:1px;width:60%;top:1%", re.appendChild(u).appendChild(l); + var e = C.getComputedStyle(l); + n = "1%" !== e.top, s = 12 === t(e.marginLeft), l.style.right = "60%", o = 36 === t(e.right), r = 36 === t(e.width), l.style.position = "absolute", i = 12 === t(l.offsetWidth / 3), re.removeChild(u), l = null; + } + } + + function t(e) { + return Math.round(parseFloat(e)); + } + + var n, + r, + i, + o, + a, + s, + u = E.createElement("div"), + l = E.createElement("div"); + l.style && (l.style.backgroundClip = "content-box", l.cloneNode(!0).style.backgroundClip = "", y.clearCloneStyle = "content-box" === l.style.backgroundClip, S.extend(y, { + boxSizingReliable: function boxSizingReliable() { + return e(), r; + }, + pixelBoxStyles: function pixelBoxStyles() { + return e(), o; + }, + pixelPosition: function pixelPosition() { + return e(), n; + }, + reliableMarginLeft: function reliableMarginLeft() { + return e(), s; + }, + scrollboxSize: function scrollboxSize() { + return e(), i; + }, + reliableTrDimensions: function reliableTrDimensions() { + var e, t, n, r; + return null == a && (e = E.createElement("table"), t = E.createElement("tr"), n = E.createElement("div"), e.style.cssText = "position:absolute;left:-11111px;border-collapse:separate", t.style.cssText = "border:1px solid", t.style.height = "1px", n.style.height = "9px", n.style.display = "block", re.appendChild(e).appendChild(t).appendChild(n), r = C.getComputedStyle(t), a = parseInt(r.height, 10) + parseInt(r.borderTopWidth, 10) + parseInt(r.borderBottomWidth, 10) === t.offsetHeight, re.removeChild(e)), a; + } + })); + }(); + var Be = ["Webkit", "Moz", "ms"], + $e = E.createElement("div").style, + _e = {}; + + function ze(e) { + var t = S.cssProps[e] || _e[e]; + return t || (e in $e ? e : _e[e] = function (e) { + var t = e[0].toUpperCase() + e.slice(1), + n = Be.length; + + while (n--) { + if ((e = Be[n] + t) in $e) return e; + } + }(e) || e); + } + + var Ue = /^(none|table(?!-c[ea]).+)/, + Xe = /^--/, + Ve = { + position: "absolute", + visibility: "hidden", + display: "block" + }, + Ge = { + letterSpacing: "0", + fontWeight: "400" + }; + + function Ye(e, t, n) { + var r = te.exec(t); + return r ? Math.max(0, r[2] - (n || 0)) + (r[3] || "px") : t; + } + + function Qe(e, t, n, r, i, o) { + var a = "width" === t ? 1 : 0, + s = 0, + u = 0; + if (n === (r ? "border" : "content")) return 0; + + for (; a < 4; a += 2) { + "margin" === n && (u += S.css(e, n + ne[a], !0, i)), r ? ("content" === n && (u -= S.css(e, "padding" + ne[a], !0, i)), "margin" !== n && (u -= S.css(e, "border" + ne[a] + "Width", !0, i))) : (u += S.css(e, "padding" + ne[a], !0, i), "padding" !== n ? u += S.css(e, "border" + ne[a] + "Width", !0, i) : s += S.css(e, "border" + ne[a] + "Width", !0, i)); + } + + return !r && 0 <= o && (u += Math.max(0, Math.ceil(e["offset" + t[0].toUpperCase() + t.slice(1)] - o - u - s - .5)) || 0), u; + } + + function Je(e, t, n) { + var r = Re(e), + i = (!y.boxSizingReliable() || n) && "border-box" === S.css(e, "boxSizing", !1, r), + o = i, + a = We(e, t, r), + s = "offset" + t[0].toUpperCase() + t.slice(1); + + if (Pe.test(a)) { + if (!n) return a; + a = "auto"; + } + + return (!y.boxSizingReliable() && i || !y.reliableTrDimensions() && A(e, "tr") || "auto" === a || !parseFloat(a) && "inline" === S.css(e, "display", !1, r)) && e.getClientRects().length && (i = "border-box" === S.css(e, "boxSizing", !1, r), (o = s in e) && (a = e[s])), (a = parseFloat(a) || 0) + Qe(e, t, n || (i ? "border" : "content"), o, r, a) + "px"; + } + + function Ke(e, t, n, r, i) { + return new Ke.prototype.init(e, t, n, r, i); + } + + S.extend({ + cssHooks: { + opacity: { + get: function get(e, t) { + if (t) { + var n = We(e, "opacity"); + return "" === n ? "1" : n; + } + } + } + }, + cssNumber: { + animationIterationCount: !0, + columnCount: !0, + fillOpacity: !0, + flexGrow: !0, + flexShrink: !0, + fontWeight: !0, + gridArea: !0, + gridColumn: !0, + gridColumnEnd: !0, + gridColumnStart: !0, + gridRow: !0, + gridRowEnd: !0, + gridRowStart: !0, + lineHeight: !0, + opacity: !0, + order: !0, + orphans: !0, + widows: !0, + zIndex: !0, + zoom: !0 + }, + cssProps: {}, + style: function style(e, t, n, r) { + if (e && 3 !== e.nodeType && 8 !== e.nodeType && e.style) { + var i, + o, + a, + s = X(t), + u = Xe.test(t), + l = e.style; + if (u || (t = ze(s)), a = S.cssHooks[t] || S.cssHooks[s], void 0 === n) return a && "get" in a && void 0 !== (i = a.get(e, !1, r)) ? i : l[t]; + "string" === (o = _typeof(n)) && (i = te.exec(n)) && i[1] && (n = se(e, t, i), o = "number"), null != n && n == n && ("number" !== o || u || (n += i && i[3] || (S.cssNumber[s] ? "" : "px")), y.clearCloneStyle || "" !== n || 0 !== t.indexOf("background") || (l[t] = "inherit"), a && "set" in a && void 0 === (n = a.set(e, n, r)) || (u ? l.setProperty(t, n) : l[t] = n)); + } + }, + css: function css(e, t, n, r) { + var i, + o, + a, + s = X(t); + return Xe.test(t) || (t = ze(s)), (a = S.cssHooks[t] || S.cssHooks[s]) && "get" in a && (i = a.get(e, !0, n)), void 0 === i && (i = We(e, t, r)), "normal" === i && t in Ge && (i = Ge[t]), "" === n || n ? (o = parseFloat(i), !0 === n || isFinite(o) ? o || 0 : i) : i; + } + }), S.each(["height", "width"], function (e, u) { + S.cssHooks[u] = { + get: function get(e, t, n) { + if (t) return !Ue.test(S.css(e, "display")) || e.getClientRects().length && e.getBoundingClientRect().width ? Je(e, u, n) : Me(e, Ve, function () { + return Je(e, u, n); + }); + }, + set: function set(e, t, n) { + var r, + i = Re(e), + o = !y.scrollboxSize() && "absolute" === i.position, + a = (o || n) && "border-box" === S.css(e, "boxSizing", !1, i), + s = n ? Qe(e, u, n, a, i) : 0; + return a && o && (s -= Math.ceil(e["offset" + u[0].toUpperCase() + u.slice(1)] - parseFloat(i[u]) - Qe(e, u, "border", !1, i) - .5)), s && (r = te.exec(t)) && "px" !== (r[3] || "px") && (e.style[u] = t, t = S.css(e, u)), Ye(0, t, s); + } + }; + }), S.cssHooks.marginLeft = Fe(y.reliableMarginLeft, function (e, t) { + if (t) return (parseFloat(We(e, "marginLeft")) || e.getBoundingClientRect().left - Me(e, { + marginLeft: 0 + }, function () { + return e.getBoundingClientRect().left; + })) + "px"; + }), S.each({ + margin: "", + padding: "", + border: "Width" + }, function (i, o) { + S.cssHooks[i + o] = { + expand: function expand(e) { + for (var t = 0, n = {}, r = "string" == typeof e ? e.split(" ") : [e]; t < 4; t++) { + n[i + ne[t] + o] = r[t] || r[t - 2] || r[0]; + } + + return n; + } + }, "margin" !== i && (S.cssHooks[i + o].set = Ye); + }), S.fn.extend({ + css: function css(e, t) { + return $(this, function (e, t, n) { + var r, + i, + o = {}, + a = 0; + + if (Array.isArray(t)) { + for (r = Re(e), i = t.length; a < i; a++) { + o[t[a]] = S.css(e, t[a], !1, r); + } + + return o; + } + + return void 0 !== n ? S.style(e, t, n) : S.css(e, t); + }, e, t, 1 < arguments.length); + } + }), ((S.Tween = Ke).prototype = { + constructor: Ke, + init: function init(e, t, n, r, i, o) { + this.elem = e, this.prop = n, this.easing = i || S.easing._default, this.options = t, this.start = this.now = this.cur(), this.end = r, this.unit = o || (S.cssNumber[n] ? "" : "px"); + }, + cur: function cur() { + var e = Ke.propHooks[this.prop]; + return e && e.get ? e.get(this) : Ke.propHooks._default.get(this); + }, + run: function run(e) { + var t, + n = Ke.propHooks[this.prop]; + return this.options.duration ? this.pos = t = S.easing[this.easing](e, this.options.duration * e, 0, 1, this.options.duration) : this.pos = t = e, this.now = (this.end - this.start) * t + this.start, this.options.step && this.options.step.call(this.elem, this.now, this), n && n.set ? n.set(this) : Ke.propHooks._default.set(this), this; + } + }).init.prototype = Ke.prototype, (Ke.propHooks = { + _default: { + get: function get(e) { + var t; + return 1 !== e.elem.nodeType || null != e.elem[e.prop] && null == e.elem.style[e.prop] ? e.elem[e.prop] : (t = S.css(e.elem, e.prop, "")) && "auto" !== t ? t : 0; + }, + set: function set(e) { + S.fx.step[e.prop] ? S.fx.step[e.prop](e) : 1 !== e.elem.nodeType || !S.cssHooks[e.prop] && null == e.elem.style[ze(e.prop)] ? e.elem[e.prop] = e.now : S.style(e.elem, e.prop, e.now + e.unit); + } + } + }).scrollTop = Ke.propHooks.scrollLeft = { + set: function set(e) { + e.elem.nodeType && e.elem.parentNode && (e.elem[e.prop] = e.now); + } + }, S.easing = { + linear: function linear(e) { + return e; + }, + swing: function swing(e) { + return .5 - Math.cos(e * Math.PI) / 2; + }, + _default: "swing" + }, S.fx = Ke.prototype.init, S.fx.step = {}; + var Ze, + et, + tt, + nt, + rt = /^(?:toggle|show|hide)$/, + it = /queueHooks$/; + + function ot() { + et && (!1 === E.hidden && C.requestAnimationFrame ? C.requestAnimationFrame(ot) : C.setTimeout(ot, S.fx.interval), S.fx.tick()); + } + + function at() { + return C.setTimeout(function () { + Ze = void 0; + }), Ze = Date.now(); + } + + function st(e, t) { + var n, + r = 0, + i = { + height: e + }; + + for (t = t ? 1 : 0; r < 4; r += 2 - t) { + i["margin" + (n = ne[r])] = i["padding" + n] = e; + } + + return t && (i.opacity = i.width = e), i; + } + + function ut(e, t, n) { + for (var r, i = (lt.tweeners[t] || []).concat(lt.tweeners["*"]), o = 0, a = i.length; o < a; o++) { + if (r = i[o].call(n, t, e)) return r; + } + } + + function lt(o, e, t) { + var n, + a, + r = 0, + i = lt.prefilters.length, + s = S.Deferred().always(function () { + delete u.elem; + }), + u = function u() { + if (a) return !1; + + for (var e = Ze || at(), t = Math.max(0, l.startTime + l.duration - e), n = 1 - (t / l.duration || 0), r = 0, i = l.tweens.length; r < i; r++) { + l.tweens[r].run(n); + } + + return s.notifyWith(o, [l, n, t]), n < 1 && i ? t : (i || s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l]), !1); + }, + l = s.promise({ + elem: o, + props: S.extend({}, e), + opts: S.extend(!0, { + specialEasing: {}, + easing: S.easing._default + }, t), + originalProperties: e, + originalOptions: t, + startTime: Ze || at(), + duration: t.duration, + tweens: [], + createTween: function createTween(e, t) { + var n = S.Tween(o, l.opts, e, t, l.opts.specialEasing[e] || l.opts.easing); + return l.tweens.push(n), n; + }, + stop: function stop(e) { + var t = 0, + n = e ? l.tweens.length : 0; + if (a) return this; + + for (a = !0; t < n; t++) { + l.tweens[t].run(1); + } + + return e ? (s.notifyWith(o, [l, 1, 0]), s.resolveWith(o, [l, e])) : s.rejectWith(o, [l, e]), this; + } + }), + c = l.props; + + for (!function (e, t) { + var n, r, i, o, a; + + for (n in e) { + if (i = t[r = X(n)], o = e[n], Array.isArray(o) && (i = o[1], o = e[n] = o[0]), n !== r && (e[r] = o, delete e[n]), (a = S.cssHooks[r]) && ("expand" in a)) for (n in o = a.expand(o), delete e[r], o) { + (n in e) || (e[n] = o[n], t[n] = i); + } else t[r] = i; + } + }(c, l.opts.specialEasing); r < i; r++) { + if (n = lt.prefilters[r].call(l, o, c, l.opts)) return m(n.stop) && (S._queueHooks(l.elem, l.opts.queue).stop = n.stop.bind(n)), n; + } + + return S.map(c, ut, l), m(l.opts.start) && l.opts.start.call(o, l), l.progress(l.opts.progress).done(l.opts.done, l.opts.complete).fail(l.opts.fail).always(l.opts.always), S.fx.timer(S.extend(u, { + elem: o, + anim: l, + queue: l.opts.queue + })), l; + } + + S.Animation = S.extend(lt, { + tweeners: { + "*": [function (e, t) { + var n = this.createTween(e, t); + return se(n.elem, e, te.exec(t), n), n; + }] + }, + tweener: function tweener(e, t) { + m(e) ? (t = e, e = ["*"]) : e = e.match(P); + + for (var n, r = 0, i = e.length; r < i; r++) { + n = e[r], lt.tweeners[n] = lt.tweeners[n] || [], lt.tweeners[n].unshift(t); + } + }, + prefilters: [function (e, t, n) { + var r, + i, + o, + a, + s, + u, + l, + c, + f = "width" in t || "height" in t, + p = this, + d = {}, + h = e.style, + g = e.nodeType && ae(e), + v = Y.get(e, "fxshow"); + + for (r in n.queue || (null == (a = S._queueHooks(e, "fx")).unqueued && (a.unqueued = 0, s = a.empty.fire, a.empty.fire = function () { + a.unqueued || s(); + }), a.unqueued++, p.always(function () { + p.always(function () { + a.unqueued--, S.queue(e, "fx").length || a.empty.fire(); + }); + })), t) { + if (i = t[r], rt.test(i)) { + if (delete t[r], o = o || "toggle" === i, i === (g ? "hide" : "show")) { + if ("show" !== i || !v || void 0 === v[r]) continue; + g = !0; + } + + d[r] = v && v[r] || S.style(e, r); + } + } + + if ((u = !S.isEmptyObject(t)) || !S.isEmptyObject(d)) for (r in f && 1 === e.nodeType && (n.overflow = [h.overflow, h.overflowX, h.overflowY], null == (l = v && v.display) && (l = Y.get(e, "display")), "none" === (c = S.css(e, "display")) && (l ? c = l : (le([e], !0), l = e.style.display || l, c = S.css(e, "display"), le([e]))), ("inline" === c || "inline-block" === c && null != l) && "none" === S.css(e, "float") && (u || (p.done(function () { + h.display = l; + }), null == l && (c = h.display, l = "none" === c ? "" : c)), h.display = "inline-block")), n.overflow && (h.overflow = "hidden", p.always(function () { + h.overflow = n.overflow[0], h.overflowX = n.overflow[1], h.overflowY = n.overflow[2]; + })), u = !1, d) { + u || (v ? "hidden" in v && (g = v.hidden) : v = Y.access(e, "fxshow", { + display: l + }), o && (v.hidden = !g), g && le([e], !0), p.done(function () { + for (r in g || le([e]), Y.remove(e, "fxshow"), d) { + S.style(e, r, d[r]); + } + })), u = ut(g ? v[r] : 0, r, p), r in v || (v[r] = u.start, g && (u.end = u.start, u.start = 0)); + } + }], + prefilter: function prefilter(e, t) { + t ? lt.prefilters.unshift(e) : lt.prefilters.push(e); + } + }), S.speed = function (e, t, n) { + var r = e && "object" == _typeof(e) ? S.extend({}, e) : { + complete: n || !n && t || m(e) && e, + duration: e, + easing: n && t || t && !m(t) && t + }; + return S.fx.off ? r.duration = 0 : "number" != typeof r.duration && (r.duration in S.fx.speeds ? r.duration = S.fx.speeds[r.duration] : r.duration = S.fx.speeds._default), null != r.queue && !0 !== r.queue || (r.queue = "fx"), r.old = r.complete, r.complete = function () { + m(r.old) && r.old.call(this), r.queue && S.dequeue(this, r.queue); + }, r; + }, S.fn.extend({ + fadeTo: function fadeTo(e, t, n, r) { + return this.filter(ae).css("opacity", 0).show().end().animate({ + opacity: t + }, e, n, r); + }, + animate: function animate(t, e, n, r) { + var i = S.isEmptyObject(t), + o = S.speed(e, n, r), + a = function a() { + var e = lt(this, S.extend({}, t), o); + (i || Y.get(this, "finish")) && e.stop(!0); + }; + + return a.finish = a, i || !1 === o.queue ? this.each(a) : this.queue(o.queue, a); + }, + stop: function stop(i, e, o) { + var a = function a(e) { + var t = e.stop; + delete e.stop, t(o); + }; + + return "string" != typeof i && (o = e, e = i, i = void 0), e && this.queue(i || "fx", []), this.each(function () { + var e = !0, + t = null != i && i + "queueHooks", + n = S.timers, + r = Y.get(this); + if (t) r[t] && r[t].stop && a(r[t]);else for (t in r) { + r[t] && r[t].stop && it.test(t) && a(r[t]); + } + + for (t = n.length; t--;) { + n[t].elem !== this || null != i && n[t].queue !== i || (n[t].anim.stop(o), e = !1, n.splice(t, 1)); + } + + !e && o || S.dequeue(this, i); + }); + }, + finish: function finish(a) { + return !1 !== a && (a = a || "fx"), this.each(function () { + var e, + t = Y.get(this), + n = t[a + "queue"], + r = t[a + "queueHooks"], + i = S.timers, + o = n ? n.length : 0; + + for (t.finish = !0, S.queue(this, a, []), r && r.stop && r.stop.call(this, !0), e = i.length; e--;) { + i[e].elem === this && i[e].queue === a && (i[e].anim.stop(!0), i.splice(e, 1)); + } + + for (e = 0; e < o; e++) { + n[e] && n[e].finish && n[e].finish.call(this); + } + + delete t.finish; + }); + } + }), S.each(["toggle", "show", "hide"], function (e, r) { + var i = S.fn[r]; + + S.fn[r] = function (e, t, n) { + return null == e || "boolean" == typeof e ? i.apply(this, arguments) : this.animate(st(r, !0), e, t, n); + }; + }), S.each({ + slideDown: st("show"), + slideUp: st("hide"), + slideToggle: st("toggle"), + fadeIn: { + opacity: "show" + }, + fadeOut: { + opacity: "hide" + }, + fadeToggle: { + opacity: "toggle" + } + }, function (e, r) { + S.fn[e] = function (e, t, n) { + return this.animate(r, e, t, n); + }; + }), S.timers = [], S.fx.tick = function () { + var e, + t = 0, + n = S.timers; + + for (Ze = Date.now(); t < n.length; t++) { + (e = n[t])() || n[t] !== e || n.splice(t--, 1); + } + + n.length || S.fx.stop(), Ze = void 0; + }, S.fx.timer = function (e) { + S.timers.push(e), S.fx.start(); + }, S.fx.interval = 13, S.fx.start = function () { + et || (et = !0, ot()); + }, S.fx.stop = function () { + et = null; + }, S.fx.speeds = { + slow: 600, + fast: 200, + _default: 400 + }, S.fn.delay = function (r, e) { + return r = S.fx && S.fx.speeds[r] || r, e = e || "fx", this.queue(e, function (e, t) { + var n = C.setTimeout(e, r); + + t.stop = function () { + C.clearTimeout(n); + }; + }); + }, tt = E.createElement("input"), nt = E.createElement("select").appendChild(E.createElement("option")), tt.type = "checkbox", y.checkOn = "" !== tt.value, y.optSelected = nt.selected, (tt = E.createElement("input")).value = "t", tt.type = "radio", y.radioValue = "t" === tt.value; + var ct, + ft = S.expr.attrHandle; + S.fn.extend({ + attr: function attr(e, t) { + return $(this, S.attr, e, t, 1 < arguments.length); + }, + removeAttr: function removeAttr(e) { + return this.each(function () { + S.removeAttr(this, e); + }); + } + }), S.extend({ + attr: function attr(e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return "undefined" == typeof e.getAttribute ? S.prop(e, t, n) : (1 === o && S.isXMLDoc(e) || (i = S.attrHooks[t.toLowerCase()] || (S.expr.match.bool.test(t) ? ct : void 0)), void 0 !== n ? null === n ? void S.removeAttr(e, t) : i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : (e.setAttribute(t, n + ""), n) : i && "get" in i && null !== (r = i.get(e, t)) ? r : null == (r = S.find.attr(e, t)) ? void 0 : r); + }, + attrHooks: { + type: { + set: function set(e, t) { + if (!y.radioValue && "radio" === t && A(e, "input")) { + var n = e.value; + return e.setAttribute("type", t), n && (e.value = n), t; + } + } + } + }, + removeAttr: function removeAttr(e, t) { + var n, + r = 0, + i = t && t.match(P); + if (i && 1 === e.nodeType) while (n = i[r++]) { + e.removeAttribute(n); + } + } + }), ct = { + set: function set(e, t, n) { + return !1 === t ? S.removeAttr(e, n) : e.setAttribute(n, n), n; + } + }, S.each(S.expr.match.bool.source.match(/\w+/g), function (e, t) { + var a = ft[t] || S.find.attr; + + ft[t] = function (e, t, n) { + var r, + i, + o = t.toLowerCase(); + return n || (i = ft[o], ft[o] = r, r = null != a(e, t, n) ? o : null, ft[o] = i), r; + }; + }); + var pt = /^(?:input|select|textarea|button)$/i, + dt = /^(?:a|area)$/i; + + function ht(e) { + return (e.match(P) || []).join(" "); + } + + function gt(e) { + return e.getAttribute && e.getAttribute("class") || ""; + } + + function vt(e) { + return Array.isArray(e) ? e : "string" == typeof e && e.match(P) || []; + } + + S.fn.extend({ + prop: function prop(e, t) { + return $(this, S.prop, e, t, 1 < arguments.length); + }, + removeProp: function removeProp(e) { + return this.each(function () { + delete this[S.propFix[e] || e]; + }); + } + }), S.extend({ + prop: function prop(e, t, n) { + var r, + i, + o = e.nodeType; + if (3 !== o && 8 !== o && 2 !== o) return 1 === o && S.isXMLDoc(e) || (t = S.propFix[t] || t, i = S.propHooks[t]), void 0 !== n ? i && "set" in i && void 0 !== (r = i.set(e, n, t)) ? r : e[t] = n : i && "get" in i && null !== (r = i.get(e, t)) ? r : e[t]; + }, + propHooks: { + tabIndex: { + get: function get(e) { + var t = S.find.attr(e, "tabindex"); + return t ? parseInt(t, 10) : pt.test(e.nodeName) || dt.test(e.nodeName) && e.href ? 0 : -1; + } + } + }, + propFix: { + "for": "htmlFor", + "class": "className" + } + }), y.optSelected || (S.propHooks.selected = { + get: function get(e) { + var t = e.parentNode; + return t && t.parentNode && t.parentNode.selectedIndex, null; + }, + set: function set(e) { + var t = e.parentNode; + t && (t.selectedIndex, t.parentNode && t.parentNode.selectedIndex); + } + }), S.each(["tabIndex", "readOnly", "maxLength", "cellSpacing", "cellPadding", "rowSpan", "colSpan", "useMap", "frameBorder", "contentEditable"], function () { + S.propFix[this.toLowerCase()] = this; + }), S.fn.extend({ + addClass: function addClass(t) { + var e, + n, + r, + i, + o, + a, + s, + u = 0; + if (m(t)) return this.each(function (e) { + S(this).addClass(t.call(this, e, gt(this))); + }); + if ((e = vt(t)).length) while (n = this[u++]) { + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + + while (o = e[a++]) { + r.indexOf(" " + o + " ") < 0 && (r += o + " "); + } + + i !== (s = ht(r)) && n.setAttribute("class", s); + } + } + return this; + }, + removeClass: function removeClass(t) { + var e, + n, + r, + i, + o, + a, + s, + u = 0; + if (m(t)) return this.each(function (e) { + S(this).removeClass(t.call(this, e, gt(this))); + }); + if (!arguments.length) return this.attr("class", ""); + if ((e = vt(t)).length) while (n = this[u++]) { + if (i = gt(n), r = 1 === n.nodeType && " " + ht(i) + " ") { + a = 0; + + while (o = e[a++]) { + while (-1 < r.indexOf(" " + o + " ")) { + r = r.replace(" " + o + " ", " "); + } + } + + i !== (s = ht(r)) && n.setAttribute("class", s); + } + } + return this; + }, + toggleClass: function toggleClass(i, t) { + var o = _typeof(i), + a = "string" === o || Array.isArray(i); + + return "boolean" == typeof t && a ? t ? this.addClass(i) : this.removeClass(i) : m(i) ? this.each(function (e) { + S(this).toggleClass(i.call(this, e, gt(this), t), t); + }) : this.each(function () { + var e, t, n, r; + + if (a) { + t = 0, n = S(this), r = vt(i); + + while (e = r[t++]) { + n.hasClass(e) ? n.removeClass(e) : n.addClass(e); + } + } else void 0 !== i && "boolean" !== o || ((e = gt(this)) && Y.set(this, "__className__", e), this.setAttribute && this.setAttribute("class", e || !1 === i ? "" : Y.get(this, "__className__") || "")); + }); + }, + hasClass: function hasClass(e) { + var t, + n, + r = 0; + t = " " + e + " "; + + while (n = this[r++]) { + if (1 === n.nodeType && -1 < (" " + ht(gt(n)) + " ").indexOf(t)) return !0; + } + + return !1; + } + }); + var yt = /\r/g; + S.fn.extend({ + val: function val(n) { + var r, + e, + i, + t = this[0]; + return arguments.length ? (i = m(n), this.each(function (e) { + var t; + 1 === this.nodeType && (null == (t = i ? n.call(this, e, S(this).val()) : n) ? t = "" : "number" == typeof t ? t += "" : Array.isArray(t) && (t = S.map(t, function (e) { + return null == e ? "" : e + ""; + })), (r = S.valHooks[this.type] || S.valHooks[this.nodeName.toLowerCase()]) && "set" in r && void 0 !== r.set(this, t, "value") || (this.value = t)); + })) : t ? (r = S.valHooks[t.type] || S.valHooks[t.nodeName.toLowerCase()]) && "get" in r && void 0 !== (e = r.get(t, "value")) ? e : "string" == typeof (e = t.value) ? e.replace(yt, "") : null == e ? "" : e : void 0; + } + }), S.extend({ + valHooks: { + option: { + get: function get(e) { + var t = S.find.attr(e, "value"); + return null != t ? t : ht(S.text(e)); + } + }, + select: { + get: function get(e) { + var t, + n, + r, + i = e.options, + o = e.selectedIndex, + a = "select-one" === e.type, + s = a ? null : [], + u = a ? o + 1 : i.length; + + for (r = o < 0 ? u : a ? o : 0; r < u; r++) { + if (((n = i[r]).selected || r === o) && !n.disabled && (!n.parentNode.disabled || !A(n.parentNode, "optgroup"))) { + if (t = S(n).val(), a) return t; + s.push(t); + } + } + + return s; + }, + set: function set(e, t) { + var n, + r, + i = e.options, + o = S.makeArray(t), + a = i.length; + + while (a--) { + ((r = i[a]).selected = -1 < S.inArray(S.valHooks.option.get(r), o)) && (n = !0); + } + + return n || (e.selectedIndex = -1), o; + } + } + } + }), S.each(["radio", "checkbox"], function () { + S.valHooks[this] = { + set: function set(e, t) { + if (Array.isArray(t)) return e.checked = -1 < S.inArray(S(e).val(), t); + } + }, y.checkOn || (S.valHooks[this].get = function (e) { + return null === e.getAttribute("value") ? "on" : e.value; + }); + }), y.focusin = "onfocusin" in C; + + var mt = /^(?:focusinfocus|focusoutblur)$/, + xt = function xt(e) { + e.stopPropagation(); + }; + + S.extend(S.event, { + trigger: function trigger(e, t, n, r) { + var i, + o, + a, + s, + u, + l, + c, + f, + p = [n || E], + d = v.call(e, "type") ? e.type : e, + h = v.call(e, "namespace") ? e.namespace.split(".") : []; + + if (o = f = a = n = n || E, 3 !== n.nodeType && 8 !== n.nodeType && !mt.test(d + S.event.triggered) && (-1 < d.indexOf(".") && (d = (h = d.split(".")).shift(), h.sort()), u = d.indexOf(":") < 0 && "on" + d, (e = e[S.expando] ? e : new S.Event(d, "object" == _typeof(e) && e)).isTrigger = r ? 2 : 3, e.namespace = h.join("."), e.rnamespace = e.namespace ? new RegExp("(^|\\.)" + h.join("\\.(?:.*\\.|)") + "(\\.|$)") : null, e.result = void 0, e.target || (e.target = n), t = null == t ? [e] : S.makeArray(t, [e]), c = S.event.special[d] || {}, r || !c.trigger || !1 !== c.trigger.apply(n, t))) { + if (!r && !c.noBubble && !x(n)) { + for (s = c.delegateType || d, mt.test(s + d) || (o = o.parentNode); o; o = o.parentNode) { + p.push(o), a = o; + } + + a === (n.ownerDocument || E) && p.push(a.defaultView || a.parentWindow || C); + } + + i = 0; + + while ((o = p[i++]) && !e.isPropagationStopped()) { + f = o, e.type = 1 < i ? s : c.bindType || d, (l = (Y.get(o, "events") || Object.create(null))[e.type] && Y.get(o, "handle")) && l.apply(o, t), (l = u && o[u]) && l.apply && V(o) && (e.result = l.apply(o, t), !1 === e.result && e.preventDefault()); + } + + return e.type = d, r || e.isDefaultPrevented() || c._default && !1 !== c._default.apply(p.pop(), t) || !V(n) || u && m(n[d]) && !x(n) && ((a = n[u]) && (n[u] = null), S.event.triggered = d, e.isPropagationStopped() && f.addEventListener(d, xt), n[d](), e.isPropagationStopped() && f.removeEventListener(d, xt), S.event.triggered = void 0, a && (n[u] = a)), e.result; + } + }, + simulate: function simulate(e, t, n) { + var r = S.extend(new S.Event(), n, { + type: e, + isSimulated: !0 + }); + S.event.trigger(r, null, t); + } + }), S.fn.extend({ + trigger: function trigger(e, t) { + return this.each(function () { + S.event.trigger(e, t, this); + }); + }, + triggerHandler: function triggerHandler(e, t) { + var n = this[0]; + if (n) return S.event.trigger(e, t, n, !0); + } + }), y.focusin || S.each({ + focus: "focusin", + blur: "focusout" + }, function (n, r) { + var i = function i(e) { + S.event.simulate(r, e.target, S.event.fix(e)); + }; + + S.event.special[r] = { + setup: function setup() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r); + t || e.addEventListener(n, i, !0), Y.access(e, r, (t || 0) + 1); + }, + teardown: function teardown() { + var e = this.ownerDocument || this.document || this, + t = Y.access(e, r) - 1; + t ? Y.access(e, r, t) : (e.removeEventListener(n, i, !0), Y.remove(e, r)); + } + }; + }); + var bt = C.location, + wt = { + guid: Date.now() + }, + Tt = /\?/; + + S.parseXML = function (e) { + var t, n; + if (!e || "string" != typeof e) return null; + + try { + t = new C.DOMParser().parseFromString(e, "text/xml"); + } catch (e) {} + + return n = t && t.getElementsByTagName("parsererror")[0], t && !n || S.error("Invalid XML: " + (n ? S.map(n.childNodes, function (e) { + return e.textContent; + }).join("\n") : e)), t; + }; + + var Ct = /\[\]$/, + Et = /\r?\n/g, + St = /^(?:submit|button|image|reset|file)$/i, + kt = /^(?:input|select|textarea|keygen)/i; + + function At(n, e, r, i) { + var t; + if (Array.isArray(e)) S.each(e, function (e, t) { + r || Ct.test(n) ? i(n, t) : At(n + "[" + ("object" == _typeof(t) && null != t ? e : "") + "]", t, r, i); + });else if (r || "object" !== w(e)) i(n, e);else for (t in e) { + At(n + "[" + t + "]", e[t], r, i); + } + } + + S.param = function (e, t) { + var n, + r = [], + i = function i(e, t) { + var n = m(t) ? t() : t; + r[r.length] = encodeURIComponent(e) + "=" + encodeURIComponent(null == n ? "" : n); + }; + + if (null == e) return ""; + if (Array.isArray(e) || e.jquery && !S.isPlainObject(e)) S.each(e, function () { + i(this.name, this.value); + });else for (n in e) { + At(n, e[n], t, i); + } + return r.join("&"); + }, S.fn.extend({ + serialize: function serialize() { + return S.param(this.serializeArray()); + }, + serializeArray: function serializeArray() { + return this.map(function () { + var e = S.prop(this, "elements"); + return e ? S.makeArray(e) : this; + }).filter(function () { + var e = this.type; + return this.name && !S(this).is(":disabled") && kt.test(this.nodeName) && !St.test(e) && (this.checked || !pe.test(e)); + }).map(function (e, t) { + var n = S(this).val(); + return null == n ? null : Array.isArray(n) ? S.map(n, function (e) { + return { + name: t.name, + value: e.replace(Et, "\r\n") + }; + }) : { + name: t.name, + value: n.replace(Et, "\r\n") + }; + }).get(); + } + }); + var Nt = /%20/g, + jt = /#.*$/, + Dt = /([?&])_=[^&]*/, + qt = /^(.*?):[ \t]*([^\r\n]*)$/gm, + Lt = /^(?:GET|HEAD)$/, + Ht = /^\/\//, + Ot = {}, + Pt = {}, + Rt = "*/".concat("*"), + Mt = E.createElement("a"); + + function It(o) { + return function (e, t) { + "string" != typeof e && (t = e, e = "*"); + var n, + r = 0, + i = e.toLowerCase().match(P) || []; + if (m(t)) while (n = i[r++]) { + "+" === n[0] ? (n = n.slice(1) || "*", (o[n] = o[n] || []).unshift(t)) : (o[n] = o[n] || []).push(t); + } + }; + } + + function Wt(t, i, o, a) { + var s = {}, + u = t === Pt; + + function l(e) { + var r; + return s[e] = !0, S.each(t[e] || [], function (e, t) { + var n = t(i, o, a); + return "string" != typeof n || u || s[n] ? u ? !(r = n) : void 0 : (i.dataTypes.unshift(n), l(n), !1); + }), r; + } + + return l(i.dataTypes[0]) || !s["*"] && l("*"); + } + + function Ft(e, t) { + var n, + r, + i = S.ajaxSettings.flatOptions || {}; + + for (n in t) { + void 0 !== t[n] && ((i[n] ? e : r || (r = {}))[n] = t[n]); + } + + return r && S.extend(!0, e, r), e; + } + + Mt.href = bt.href, S.extend({ + active: 0, + lastModified: {}, + etag: {}, + ajaxSettings: { + url: bt.href, + type: "GET", + isLocal: /^(?:about|app|app-storage|.+-extension|file|res|widget):$/.test(bt.protocol), + global: !0, + processData: !0, + async: !0, + contentType: "application/x-www-form-urlencoded; charset=UTF-8", + accepts: { + "*": Rt, + text: "text/plain", + html: "text/html", + xml: "application/xml, text/xml", + json: "application/json, text/javascript" + }, + contents: { + xml: /\bxml\b/, + html: /\bhtml/, + json: /\bjson\b/ + }, + responseFields: { + xml: "responseXML", + text: "responseText", + json: "responseJSON" + }, + converters: { + "* text": String, + "text html": !0, + "text json": JSON.parse, + "text xml": S.parseXML + }, + flatOptions: { + url: !0, + context: !0 + } + }, + ajaxSetup: function ajaxSetup(e, t) { + return t ? Ft(Ft(e, S.ajaxSettings), t) : Ft(S.ajaxSettings, e); + }, + ajaxPrefilter: It(Ot), + ajaxTransport: It(Pt), + ajax: function ajax(e, t) { + "object" == _typeof(e) && (t = e, e = void 0), t = t || {}; + var c, + f, + p, + n, + d, + r, + h, + g, + i, + o, + v = S.ajaxSetup({}, t), + y = v.context || v, + m = v.context && (y.nodeType || y.jquery) ? S(y) : S.event, + x = S.Deferred(), + b = S.Callbacks("once memory"), + w = v.statusCode || {}, + a = {}, + s = {}, + u = "canceled", + T = { + readyState: 0, + getResponseHeader: function getResponseHeader(e) { + var t; + + if (h) { + if (!n) { + n = {}; + + while (t = qt.exec(p)) { + n[t[1].toLowerCase() + " "] = (n[t[1].toLowerCase() + " "] || []).concat(t[2]); + } + } + + t = n[e.toLowerCase() + " "]; + } + + return null == t ? null : t.join(", "); + }, + getAllResponseHeaders: function getAllResponseHeaders() { + return h ? p : null; + }, + setRequestHeader: function setRequestHeader(e, t) { + return null == h && (e = s[e.toLowerCase()] = s[e.toLowerCase()] || e, a[e] = t), this; + }, + overrideMimeType: function overrideMimeType(e) { + return null == h && (v.mimeType = e), this; + }, + statusCode: function statusCode(e) { + var t; + if (e) if (h) T.always(e[T.status]);else for (t in e) { + w[t] = [w[t], e[t]]; + } + return this; + }, + abort: function abort(e) { + var t = e || u; + return c && c.abort(t), l(0, t), this; + } + }; + + if (x.promise(T), v.url = ((e || v.url || bt.href) + "").replace(Ht, bt.protocol + "//"), v.type = t.method || t.type || v.method || v.type, v.dataTypes = (v.dataType || "*").toLowerCase().match(P) || [""], null == v.crossDomain) { + r = E.createElement("a"); + + try { + r.href = v.url, r.href = r.href, v.crossDomain = Mt.protocol + "//" + Mt.host != r.protocol + "//" + r.host; + } catch (e) { + v.crossDomain = !0; + } + } + + if (v.data && v.processData && "string" != typeof v.data && (v.data = S.param(v.data, v.traditional)), Wt(Ot, v, t, T), h) return T; + + for (i in (g = S.event && v.global) && 0 == S.active++ && S.event.trigger("ajaxStart"), v.type = v.type.toUpperCase(), v.hasContent = !Lt.test(v.type), f = v.url.replace(jt, ""), v.hasContent ? v.data && v.processData && 0 === (v.contentType || "").indexOf("application/x-www-form-urlencoded") && (v.data = v.data.replace(Nt, "+")) : (o = v.url.slice(f.length), v.data && (v.processData || "string" == typeof v.data) && (f += (Tt.test(f) ? "&" : "?") + v.data, delete v.data), !1 === v.cache && (f = f.replace(Dt, "$1"), o = (Tt.test(f) ? "&" : "?") + "_=" + wt.guid++ + o), v.url = f + o), v.ifModified && (S.lastModified[f] && T.setRequestHeader("If-Modified-Since", S.lastModified[f]), S.etag[f] && T.setRequestHeader("If-None-Match", S.etag[f])), (v.data && v.hasContent && !1 !== v.contentType || t.contentType) && T.setRequestHeader("Content-Type", v.contentType), T.setRequestHeader("Accept", v.dataTypes[0] && v.accepts[v.dataTypes[0]] ? v.accepts[v.dataTypes[0]] + ("*" !== v.dataTypes[0] ? ", " + Rt + "; q=0.01" : "") : v.accepts["*"]), v.headers) { + T.setRequestHeader(i, v.headers[i]); + } + + if (v.beforeSend && (!1 === v.beforeSend.call(y, T, v) || h)) return T.abort(); + + if (u = "abort", b.add(v.complete), T.done(v.success), T.fail(v.error), c = Wt(Pt, v, t, T)) { + if (T.readyState = 1, g && m.trigger("ajaxSend", [T, v]), h) return T; + v.async && 0 < v.timeout && (d = C.setTimeout(function () { + T.abort("timeout"); + }, v.timeout)); + + try { + h = !1, c.send(a, l); + } catch (e) { + if (h) throw e; + l(-1, e); + } + } else l(-1, "No Transport"); + + function l(e, t, n, r) { + var i, + o, + a, + s, + u, + l = t; + h || (h = !0, d && C.clearTimeout(d), c = void 0, p = r || "", T.readyState = 0 < e ? 4 : 0, i = 200 <= e && e < 300 || 304 === e, n && (s = function (e, t, n) { + var r, + i, + o, + a, + s = e.contents, + u = e.dataTypes; + + while ("*" === u[0]) { + u.shift(), void 0 === r && (r = e.mimeType || t.getResponseHeader("Content-Type")); + } + + if (r) for (i in s) { + if (s[i] && s[i].test(r)) { + u.unshift(i); + break; + } + } + if (u[0] in n) o = u[0];else { + for (i in n) { + if (!u[0] || e.converters[i + " " + u[0]]) { + o = i; + break; + } + + a || (a = i); + } + + o = o || a; + } + if (o) return o !== u[0] && u.unshift(o), n[o]; + }(v, T, n)), !i && -1 < S.inArray("script", v.dataTypes) && S.inArray("json", v.dataTypes) < 0 && (v.converters["text script"] = function () {}), s = function (e, t, n, r) { + var i, + o, + a, + s, + u, + l = {}, + c = e.dataTypes.slice(); + if (c[1]) for (a in e.converters) { + l[a.toLowerCase()] = e.converters[a]; + } + o = c.shift(); + + while (o) { + if (e.responseFields[o] && (n[e.responseFields[o]] = t), !u && r && e.dataFilter && (t = e.dataFilter(t, e.dataType)), u = o, o = c.shift()) if ("*" === o) o = u;else if ("*" !== u && u !== o) { + if (!(a = l[u + " " + o] || l["* " + o])) for (i in l) { + if ((s = i.split(" "))[1] === o && (a = l[u + " " + s[0]] || l["* " + s[0]])) { + !0 === a ? a = l[i] : !0 !== l[i] && (o = s[0], c.unshift(s[1])); + break; + } + } + if (!0 !== a) if (a && e["throws"]) t = a(t);else try { + t = a(t); + } catch (e) { + return { + state: "parsererror", + error: a ? e : "No conversion from " + u + " to " + o + }; + } + } + } + + return { + state: "success", + data: t + }; + }(v, s, T, i), i ? (v.ifModified && ((u = T.getResponseHeader("Last-Modified")) && (S.lastModified[f] = u), (u = T.getResponseHeader("etag")) && (S.etag[f] = u)), 204 === e || "HEAD" === v.type ? l = "nocontent" : 304 === e ? l = "notmodified" : (l = s.state, o = s.data, i = !(a = s.error))) : (a = l, !e && l || (l = "error", e < 0 && (e = 0))), T.status = e, T.statusText = (t || l) + "", i ? x.resolveWith(y, [o, l, T]) : x.rejectWith(y, [T, l, a]), T.statusCode(w), w = void 0, g && m.trigger(i ? "ajaxSuccess" : "ajaxError", [T, v, i ? o : a]), b.fireWith(y, [T, l]), g && (m.trigger("ajaxComplete", [T, v]), --S.active || S.event.trigger("ajaxStop"))); + } + + return T; + }, + getJSON: function getJSON(e, t, n) { + return S.get(e, t, n, "json"); + }, + getScript: function getScript(e, t) { + return S.get(e, void 0, t, "script"); + } + }), S.each(["get", "post"], function (e, i) { + S[i] = function (e, t, n, r) { + return m(t) && (r = r || n, n = t, t = void 0), S.ajax(S.extend({ + url: e, + type: i, + dataType: r, + data: t, + success: n + }, S.isPlainObject(e) && e)); + }; + }), S.ajaxPrefilter(function (e) { + var t; + + for (t in e.headers) { + "content-type" === t.toLowerCase() && (e.contentType = e.headers[t] || ""); + } + }), S._evalUrl = function (e, t, n) { + return S.ajax({ + url: e, + type: "GET", + dataType: "script", + cache: !0, + async: !1, + global: !1, + converters: { + "text script": function textScript() {} + }, + dataFilter: function dataFilter(e) { + S.globalEval(e, t, n); + } + }); + }, S.fn.extend({ + wrapAll: function wrapAll(e) { + var t; + return this[0] && (m(e) && (e = e.call(this[0])), t = S(e, this[0].ownerDocument).eq(0).clone(!0), this[0].parentNode && t.insertBefore(this[0]), t.map(function () { + var e = this; + + while (e.firstElementChild) { + e = e.firstElementChild; + } + + return e; + }).append(this)), this; + }, + wrapInner: function wrapInner(n) { + return m(n) ? this.each(function (e) { + S(this).wrapInner(n.call(this, e)); + }) : this.each(function () { + var e = S(this), + t = e.contents(); + t.length ? t.wrapAll(n) : e.append(n); + }); + }, + wrap: function wrap(t) { + var n = m(t); + return this.each(function (e) { + S(this).wrapAll(n ? t.call(this, e) : t); + }); + }, + unwrap: function unwrap(e) { + return this.parent(e).not("body").each(function () { + S(this).replaceWith(this.childNodes); + }), this; + } + }), S.expr.pseudos.hidden = function (e) { + return !S.expr.pseudos.visible(e); + }, S.expr.pseudos.visible = function (e) { + return !!(e.offsetWidth || e.offsetHeight || e.getClientRects().length); + }, S.ajaxSettings.xhr = function () { + try { + return new C.XMLHttpRequest(); + } catch (e) {} + }; + var Bt = { + 0: 200, + 1223: 204 + }, + $t = S.ajaxSettings.xhr(); + y.cors = !!$t && "withCredentials" in $t, y.ajax = $t = !!$t, S.ajaxTransport(function (i) { + var _o, a; + + if (y.cors || $t && !i.crossDomain) return { + send: function send(e, t) { + var n, + r = i.xhr(); + if (r.open(i.type, i.url, i.async, i.username, i.password), i.xhrFields) for (n in i.xhrFields) { + r[n] = i.xhrFields[n]; + } + + for (n in i.mimeType && r.overrideMimeType && r.overrideMimeType(i.mimeType), i.crossDomain || e["X-Requested-With"] || (e["X-Requested-With"] = "XMLHttpRequest"), e) { + r.setRequestHeader(n, e[n]); + } + + _o = function o(e) { + return function () { + _o && (_o = a = r.onload = r.onerror = r.onabort = r.ontimeout = r.onreadystatechange = null, "abort" === e ? r.abort() : "error" === e ? "number" != typeof r.status ? t(0, "error") : t(r.status, r.statusText) : t(Bt[r.status] || r.status, r.statusText, "text" !== (r.responseType || "text") || "string" != typeof r.responseText ? { + binary: r.response + } : { + text: r.responseText + }, r.getAllResponseHeaders())); + }; + }, r.onload = _o(), a = r.onerror = r.ontimeout = _o("error"), void 0 !== r.onabort ? r.onabort = a : r.onreadystatechange = function () { + 4 === r.readyState && C.setTimeout(function () { + _o && a(); + }); + }, _o = _o("abort"); + + try { + r.send(i.hasContent && i.data || null); + } catch (e) { + if (_o) throw e; + } + }, + abort: function abort() { + _o && _o(); + } + }; + }), S.ajaxPrefilter(function (e) { + e.crossDomain && (e.contents.script = !1); + }), S.ajaxSetup({ + accepts: { + script: "text/javascript, application/javascript, application/ecmascript, application/x-ecmascript" + }, + contents: { + script: /\b(?:java|ecma)script\b/ + }, + converters: { + "text script": function textScript(e) { + return S.globalEval(e), e; + } + } + }), S.ajaxPrefilter("script", function (e) { + void 0 === e.cache && (e.cache = !1), e.crossDomain && (e.type = "GET"); + }), S.ajaxTransport("script", function (n) { + var r, _i; + + if (n.crossDomain || n.scriptAttrs) return { + send: function send(e, t) { + r = S(" diff --git a/Penilaian-Esai/resources/sass/_variables.scss b/Penilaian-Esai/resources/sass/_variables.scss new file mode 100644 index 0000000..44cb53c --- /dev/null +++ b/Penilaian-Esai/resources/sass/_variables.scss @@ -0,0 +1,12 @@ +// Body + +$blue: #007bff !default; +$indigo: #6610f2 !default; +$purple: #6f42c1 !default; +$pink: #e83e8c !default; +$red: #dc3545 !default; +$orange: #fd7e14 !default; +$yellow: #ffc107 !default; +$green: #28a745 !default; +$teal: #20c997 !default; +$cyan: #17a2b8 !default; diff --git a/Penilaian-Esai/resources/sass/app.scss b/Penilaian-Esai/resources/sass/app.scss new file mode 100644 index 0000000..959ba68 --- /dev/null +++ b/Penilaian-Esai/resources/sass/app.scss @@ -0,0 +1,5 @@ +// Variables +@import 'variables'; + +// Bootstrap +@import '~admin-lte/build/scss/adminlte'; diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/create.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/create.blade.php new file mode 100644 index 0000000..1659e87 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Badge Setting +@endsection +@section('content') +
      +
      +

      New Badge Setting

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.badgeSettings.store', 'enctype' => 'multipart/form-data']) !!} +
      + @include('admin.badge_settings.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/edit.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/edit.blade.php new file mode 100644 index 0000000..056b5c9 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Badge Setting +@endsection +@section('content') +
      +
      +

      Edit Badge Setting

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($badgeSetting, ['route' => ['admin.badgeSettings.update', $badgeSetting->id], 'method' => 'patch', 'enctype' => 'multipart/form-data']) !!} +
      + @include('admin.badge_settings.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/fields.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/fields.blade.php new file mode 100644 index 0000000..422366b --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/fields.blade.php @@ -0,0 +1,32 @@ + +
      + {!! Form::label('name', 'Name:') !!} + {!! Form::text('name', null, ['class' => 'form-control']) !!} +
      + +
      + + {!! Form::label('name', 'Name:') !!} +
      + +
      + + +
      + +
      + {!! Form::label('min', 'Min:') !!} + {!! Form::number('min', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('max', 'Max:') !!} + {!! Form::number('max', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/index.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/index.blade.php new file mode 100644 index 0000000..10f6cbd --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Badge Settings +@endsection +@section('content') +
      +
      +

      Badge Settings

      + +
      +
      +
      +
      + @include('admin.badge_settings.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $badgeSettings]) + +
      +@endsection + diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/show.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/show.blade.php new file mode 100644 index 0000000..dda2acc --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/show.blade.php @@ -0,0 +1,23 @@ +@extends('layouts.app') +@section('title') + Badge Setting Details +@endsection +@section('content') +
      +
      +

      Badge Setting Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.badge_settings.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/show_fields.blade.php new file mode 100644 index 0000000..e16bedd --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/show_fields.blade.php @@ -0,0 +1,36 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $badgeSetting->id }}

      +
      + + +
      + {!! Form::label('name', 'Name:') !!} +

      {{ $badgeSetting->name }}

      +
      + + +
      + {!! Form::label('min', 'Min:') !!} +

      {{ $badgeSetting->min }}

      +
      + + +
      + {!! Form::label('max', 'Max:') !!} +

      {{ $badgeSetting->max }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $badgeSetting->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $badgeSetting->updated_at }}

      +
      + diff --git a/Penilaian-Esai/resources/views/admin/badge_settings/table.blade.php b/Penilaian-Esai/resources/views/admin/badge_settings/table.blade.php new file mode 100644 index 0000000..6122d06 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/badge_settings/table.blade.php @@ -0,0 +1,32 @@ +
      + + + + + + + + + + + + @foreach($badgeSettings as $badgeSetting) + + + + + + + + @endforeach + +
      NameImageMinMaxAction
      {{ $badgeSetting->name }}{{ $badgeSetting->min }}{{ $badgeSetting->max }} + {!! Form::open(['route' => ['admin.badgeSettings.destroy', $badgeSetting->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/contents/create.blade.php b/Penilaian-Esai/resources/views/admin/contents/create.blade.php new file mode 100644 index 0000000..725d303 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Content +@endsection +@section('content') +
      +
      +

      New Content

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.contents.store']) !!} +
      + @include('admin.contents.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/contents/edit.blade.php b/Penilaian-Esai/resources/views/admin/contents/edit.blade.php new file mode 100644 index 0000000..0f6fb87 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Content +@endsection +@section('content') +
      +
      +

      Edit Content

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($content, ['route' => ['admin.contents.update', $content->id], 'method' => 'patch']) !!} +
      + @include('admin.contents.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/contents/fields.blade.php b/Penilaian-Esai/resources/views/admin/contents/fields.blade.php new file mode 100644 index 0000000..95c376d --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/fields.blade.php @@ -0,0 +1,99 @@ + + + +
      + {!! Form::label('title', 'Title:') !!} + {!! Form::text('title', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('lesson_id', 'Lesson:') !!} + {!! Form::select('lesson_id', $lessons, null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('url_video', 'Url Video:') !!} + {!! Form::text('url_video', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('published', 'Published:') !!} + {!! Form::number('published', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::hidden('description', null, ['class' => 'form-control', "id"=>"res"]) !!} + +
      +
      + + + + + + + + + + + + + + +
      +
      + {!! @$content->description !!} +
      +
      +
      + + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      + + + +@section("scripts") + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/contents/index.blade.php b/Penilaian-Esai/resources/views/admin/contents/index.blade.php new file mode 100644 index 0000000..4de2cab --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Contents +@endsection +@section('content') +
      +
      +

      Contents

      + +
      +
      +
      +
      + @include('admin.contents.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $contents]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/contents/show.blade.php b/Penilaian-Esai/resources/views/admin/contents/show.blade.php new file mode 100644 index 0000000..9d8eabf --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Content Details +@endsection +@section('content') +
      +
      +

      Content Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.contents.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/contents/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/contents/show_fields.blade.php new file mode 100644 index 0000000..70fd03e --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/show_fields.blade.php @@ -0,0 +1,48 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $content->id }}

      +
      + + +
      + {!! Form::label('title', 'Title:') !!} +

      {{ $content->title }}

      +
      + + +
      + {!! Form::label('lesson_id', 'Lesson Id:') !!} +

      {{ $content->lesson->title }}

      +
      + + +
      + {!! Form::label('url_video', 'Url Video:') !!} +

      {{ $content->url_video }}

      +
      + + +
      + {!! Form::label('published', 'Published:') !!} +

      {{ $content->published }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $content->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $content->updated_at }}

      +
      + + +
      + {!! Form::label('description', 'Description:') !!} +

      {!! $content->description !!}

      +
      + diff --git a/Penilaian-Esai/resources/views/admin/contents/table.blade.php b/Penilaian-Esai/resources/views/admin/contents/table.blade.php new file mode 100644 index 0000000..0f56aa2 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/contents/table.blade.php @@ -0,0 +1,33 @@ +
      + + + + + + + + + + + + @foreach ($contents as $content) + + + + + + + + @endforeach + +
      TitleLessonUrl VideoPublishedAction
      {{ $content->title }}{{ $content->lesson->title }}{{ $content->url_video }}{{ $content->published }} + {!! Form::open(['route' => ['admin.contents.destroy', $content->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/courses/create.blade.php b/Penilaian-Esai/resources/views/admin/courses/create.blade.php new file mode 100644 index 0000000..743226c --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Course +@endsection +@section('content') +
      +
      +

      New Course

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.courses.store']) !!} +
      + @include('admin.courses.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/courses/edit.blade.php b/Penilaian-Esai/resources/views/admin/courses/edit.blade.php new file mode 100644 index 0000000..53df4d2 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Course +@endsection +@section('content') +
      +
      +

      Edit Course

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($course, ['route' => ['admin.courses.update', $course->id], 'method' => 'patch']) !!} +
      + @include('admin.courses.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/courses/fields.blade.php b/Penilaian-Esai/resources/views/admin/courses/fields.blade.php new file mode 100644 index 0000000..2178bfd --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/fields.blade.php @@ -0,0 +1,29 @@ + +
      + {!! Form::label('course_name', 'Course Name:') !!} + {!! Form::text('course_name', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::textarea('description', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('image', 'Image:') !!} + {!! Form::text('image', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('published', 'Published:') !!} + {!! Form::text('published', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      diff --git a/Penilaian-Esai/resources/views/admin/courses/index.blade.php b/Penilaian-Esai/resources/views/admin/courses/index.blade.php new file mode 100644 index 0000000..574bcb1 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Courses +@endsection +@section('content') +
      +
      +

      Courses

      +
      + Course +
      +
      +
      +
      +
      + @include('admin.courses.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $courses]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/courses/show.blade.php b/Penilaian-Esai/resources/views/admin/courses/show.blade.php new file mode 100644 index 0000000..b84330d --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Course Details +@endsection +@section('content') +
      +
      +

      Course Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.courses.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/courses/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/courses/show_fields.blade.php new file mode 100644 index 0000000..083548c --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/show_fields.blade.php @@ -0,0 +1,42 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $course->id }}

      +
      + + +
      + {!! Form::label('course_name', 'Course Name:') !!} +

      {{ $course->course_name }}

      +
      + + +
      + {!! Form::label('description', 'Description:') !!} +

      {{ $course->description }}

      +
      + + +
      + {!! Form::label('image', 'Image:') !!} +

      {{ $course->image }}

      +
      + + +
      + {!! Form::label('published', 'Published:') !!} +

      {{ $course->published }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $course->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $course->updated_at }}

      +
      + diff --git a/Penilaian-Esai/resources/views/admin/courses/table.blade.php b/Penilaian-Esai/resources/views/admin/courses/table.blade.php new file mode 100644 index 0000000..b9a0fe2 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/courses/table.blade.php @@ -0,0 +1,33 @@ +
      + + + + + + + + + + + + @foreach ($courses as $course) + + + + + + + + @endforeach + +
      Course NameDescriptionImagePublishedAction
      {{ $course->course_name }}{{ $course->description }}{{ $course->image }}{{ $course->published }} + {!! Form::open(['route' => ['admin.courses.destroy', $course->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/dashboard/index.blade.php b/Penilaian-Esai/resources/views/admin/dashboard/index.blade.php new file mode 100644 index 0000000..cb1ca3a --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/dashboard/index.blade.php @@ -0,0 +1,59 @@ +@extends('layouts.app') + +@section('content') +
      +
      +

      Dashboard

      +
      +
      +
      +
      +
      +
      +

      Dashboard Content

      +
      + > +
      +
      +
      +
      +
      +
      +
      +@endsection + +@section('scripts') + + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/dashboard/leaderboard.blade.php b/Penilaian-Esai/resources/views/admin/dashboard/leaderboard.blade.php new file mode 100644 index 0000000..28b6f7c --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/dashboard/leaderboard.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.app') +@section('title') + Leaderboard +@endsection +@section('content') +
      +
      +

      Leaderboard

      + +
      +
      +
      +
      +
      + + + + + + + + + + + + + @foreach($data as $item) + @php + $class = ''; + if($item['user']->class == 1){ + $class = 'MI PSDKU PAMEKASAN'; + }else if($item['user']->class == 2){ + $class = 'SIB POLINEMA PUSAT'; + } + @endphp + + + + + + + + + + @endforeach + +
      NoBadge NameBadgeNameClassScore
      {{ $loop->iteration }}{{ $item['current_badge']->name }} + + {{ $item['user']->name }}{{ $class }}{{ $item['final_score'] }}
      +
      +
      +
      +
      + + {{--@include('stisla-templates::common.paginate', ['records' => $data])--}} + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/dashboard/penilaian.blade.php b/Penilaian-Esai/resources/views/admin/dashboard/penilaian.blade.php new file mode 100644 index 0000000..a977bf2 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/dashboard/penilaian.blade.php @@ -0,0 +1,429 @@ +@extends('layouts.app') + +@section('content') +
      +
      +

      Rubrik Penilaian - {{ $user->name }}

      + +
      + Back +
      +
      +
      +
      +
      +

      {{ $question->question_name }}

      + +
      + @if ($isAccepted->contains(true)) + SUDAH DI ACC + @else + BELUM ACC + @endif +
      +
      + + +
      +
      +
      +
      +
      Wondering
      +
      +
      +
      :
      +
      +
      +

      {{ $read->score ?? 0 }}

      + +
      +
      +
      +
      +
      Exploring
      +
      +
      +
      :
      +
      +
      + {{ $coding->score ?? 0 }} + +
      +
      +
      +
      +
      Explaining
      +
      +
      +
      :
      +
      +
      + + @if ($explain_score->isNotEmpty()) + {{ $total }} + @else + 0 + @endif + +
      +
      + +
      +
      + {!! $question->question !!} +
      +
      + + @foreach ($answer as $index => $answers) + @if ($index == 0) +
      +
      + Pertanyaan +
      +
      + : +
      +
      + {{ $answers->essay->question }} +
      +
      +
      +
      + Jawaban User +
      +
      + : +
      +
      + {{ $answers->answer }} +
      +
      +
      + + + + @if ($explain_score->isNotEmpty()) +
      + +
      +
      + : +
      +
      + +
      + + @endif +
      +
      + @elseif($index == 1) +
      +
      + Pertanyaan +
      +
      + : +
      +
      + {{ $answers->essay->question }} +
      +
      +
      +
      + Jawaban User +
      +
      + : +
      +
      + {{ $answers->answer }} +
      +
      + @if ($explain_score->isNotEmpty()) +
      +
      + Keruntutan alur berpikir +
      + + + + +
      + : +
      +
      + +
      + + +
      + @endif +
      + @elseif($index == 2) +
      +
      + Pertanyaan +
      +
      + : +
      +
      + {{ $answers->essay->question }} +
      +
      +
      +
      + Jawaban User +
      +
      + : +
      +
      + {{ $answers->answer }} +
      +
      +
      +
      + Kebenaran jawaban +
      + + + @if ($explain_score->isNotEmpty()) +
      + : +
      +
      + +
      + + @endif +
      + @endif + @endforeach + +
      + +
      + @if ($explain_score->isNotEmpty()) + + + + + + @else + + + + + + @endif + + + + + + +
      +
      +

      Total Score

      +
      +
      +

      :

      +
      +
      + + @if ($explain_score->isNotEmpty()) + {{ $explain_score->first()->total->score }} + @else + 0 + @endif + +
      +
      + +
      +
      +
      + + +
      + + + Cancel +
      +
      + + +
      +
      +
      +
      +
      +@endsection + +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/dashboard/report.blade.php b/Penilaian-Esai/resources/views/admin/dashboard/report.blade.php new file mode 100644 index 0000000..ea06d28 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/dashboard/report.blade.php @@ -0,0 +1,177 @@ +@extends('layouts.app') + +@section('content') +
      +
      +

      Report

      + +
      +
      + Pilih Student +
      + + +
      +
      +
      + @if (!empty($user_id)) +
      +
      +
      +
      +
      + Your badge +

      {{ $current_badge->name }}

      +
      +
      +
      + +
      +
      +
      + Your Score +

      {{ $final_score }}

      +
      +
      +
      + +
      +
      +
      + Your progress +

      {{ $percentage }} %

      +
      +
      + {{ $percentage }}%
      +
      +
      +
      +
      + +
      +
      +
      + Finished test +

      {{ sizeof($finish_code_tests) }} Test

      +
      +
      +
      +

      + +

      Code Test Report

      + @foreach ($code_score as $sc) +
      +
      + @php + $q = \App\Models\Question::find($sc->question_id); + $c = \App\Models\Content::find($sc->content_id); + $score = \App\Models\TotalScore::where('user_id', $user_id) + ->where('question_id', $q->id) + ->first(); + if ($score !== null) { + $final = $score->score; + } else { + $wondering = \App\Models\WonderingScore::where(['user_id' => $user_id]) + ->where('content_id', $c->id) + ->sum('score'); + $exploring = \App\Models\UserScore::where('user_id', $user_id) + ->where('question_id', $q->id) + ->sum('score'); + $final = $wondering + $exploring; + } + + @endphp + +
      +
      +
      +
      +
      {{ $q->question_name }}
      + Question Name +
      + + {{--
      + @php + $f = \Carbon\Carbon::parse($sc->started_at); + $t = \Carbon\Carbon::parse($sc->ended_at); + $h = $t->diff($f)->format('%Hh %Im %Ss'); + @endphp + + + On Timer {{ $sc->on_timer }} + + + Duration: {{ $h }} + +
      +
      + {{ $sc->started_at }} + {{ $sc->ended_at }} +
      +
      --}} + +
      + @php + $err = \App\Models\ExerciseCodeLog::where([ + 'user_id' => $user_id, + 'question_id' => $sc->question_id, + 'is_error' => 1, + ]); + $sucess = \App\Models\ExerciseCodeLog::where([ + 'user_id' => $user_id, + 'question_id' => $sc->question_id, + 'is_error' => 0, + ]); + @endphp + + {{ $err->count() }} Errors +
      +
      + +
      + + {{ $sucess->count() }} Success +
      +
      + +
      + + Total Score: {{ $final ?? 0 }} + +
      + + +
      +
      +
      +
      +
      + @endforeach +
      + @endif + +
      +@endsection + +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/explain/edit.blade.php b/Penilaian-Esai/resources/views/admin/explain/edit.blade.php new file mode 100644 index 0000000..c8af44e --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/explain/edit.blade.php @@ -0,0 +1,37 @@ +@extends('layouts.app') +@section('title') + Edit Explanation +@endsection +@section('content') +
      +
      +

      Edit Explanation

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + @if($title == "summary") + {!! Form::model($explain, ['route' => ['admin.explaination.update', $explain->id], 'method' => 'patch']) !!} + @else + {!! Form::model($explain, ['route' => ['admin.code.update.explanation', $explain->id], 'method' => 'put']) !!} + @endif +
      + @include('admin.explain.field') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/explain/field.blade.php b/Penilaian-Esai/resources/views/admin/explain/field.blade.php new file mode 100644 index 0000000..03003eb --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/explain/field.blade.php @@ -0,0 +1,90 @@ + + +
      + {!! Form::label('name', 'Name:') !!} +

      {{ $explain->users->name }}

      +
      + +@if($title == "summary") + +
      + {!! Form::label('level_id', 'Level:') !!} +

      {{ $explain->level->name }}

      +
      +@else + +
      + {!! Form::label('content_id', 'Content:') !!} +

      {{ $explain->question->content->title }}

      +
      +@endif + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::hidden('description', null, ['class' => 'form-control', 'id' => 'res']) !!} + +
      +
      + + + + + + + + + + + + + + +
      +
      + {!! @$explain->description !!} +
      +
      + +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      + +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/explain/index.blade.php b/Penilaian-Esai/resources/views/admin/explain/index.blade.php new file mode 100644 index 0000000..11a3baf --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/explain/index.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.app') +@section('title') + Explanation +@endsection +@section('content') +
      +
      + @if($title == "summary") +

      Summary Explanation

      + @else +

      Code Explanation

      + @endif +
      +
      +
      +
      + @include('admin.explain.table_essay') +
      +
      +
      + @include('stisla-templates::common.paginate', ['records' => $explain]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/explain/table.blade.php b/Penilaian-Esai/resources/views/admin/explain/table.blade.php new file mode 100644 index 0000000..865b010 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/explain/table.blade.php @@ -0,0 +1,40 @@ +
      + + + + + @if($title == "summary") + + @else + + @endif + + + + + + @foreach ($explain as $explain) + + + @if($title == "summary") + + @else + + @endif + + + + @endforeach + +
      NameLevelContentDescriptionAction
      {{ $explain->users->name }}{{$explain->level->name}}{{$explain->question->content->title}}{!! @$explain->description !!} +
      + @if($title == "summary") + + @else + + @endif +
      +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/explain/table_essay.blade.php b/Penilaian-Esai/resources/views/admin/explain/table_essay.blade.php new file mode 100644 index 0000000..d67b5cd --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/explain/table_essay.blade.php @@ -0,0 +1,41 @@ +
      + + + + + + + + + + + + + @foreach ($explain as $data) + @php + $explaining = \App\Models\ExplainingScore::where('user_answer_id', $data->id)->first(); + @endphp + + + + + + + + + + +@endforeach + +
      NameContentQuestionUser AnswerAnswer KeyScore
      {{ $data->user->name }}{{ $data->essay->questions->content->title }}{!! $data->essay->question !!}{{ $data->answer }}{{ $data->essay->answer }} + @if($explaining?->konteks_penjelasan) + {{ $explaining?->konteks_penjelasan }} + @elseif($explaining?->keruntutan) + {{ $explaining?->keruntutan }} + @elseif($explaining?->kebenaran) + {{ $explaining?->kebenaran }} + @else + Not Scored + @endif +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/lessons/create.blade.php b/Penilaian-Esai/resources/views/admin/lessons/create.blade.php new file mode 100644 index 0000000..fd76e81 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Lesson +@endsection +@section('content') +
      +
      +

      New Lesson

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.lessons.store']) !!} +
      + @include('admin.lessons.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/lessons/edit.blade.php b/Penilaian-Esai/resources/views/admin/lessons/edit.blade.php new file mode 100644 index 0000000..f00e974 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Lesson +@endsection +@section('content') +
      +
      +

      Edit Lesson

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($lesson, ['route' => ['admin.lessons.update', $lesson->id], 'method' => 'patch']) !!} +
      + @include('admin.lessons.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/lessons/fields.blade.php b/Penilaian-Esai/resources/views/admin/lessons/fields.blade.php new file mode 100644 index 0000000..376f6d1 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/fields.blade.php @@ -0,0 +1,40 @@ + +
      + {!! Form::label('title', 'Title:') !!} + {!! Form::text('title', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::textarea('description', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('course_id', 'Course:') !!} + {!! Form::select('course_id', $courses, null, ['class' => 'form-control']) !!} +
      + +
      + {!! Form::label('level_id', 'Level:') !!} + {!! Form::select('level_id', $level, null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('posisition', 'Posisition:') !!} + {!! Form::number('posisition', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('published', 'Published:') !!} + {!! Form::number('published', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      diff --git a/Penilaian-Esai/resources/views/admin/lessons/index.blade.php b/Penilaian-Esai/resources/views/admin/lessons/index.blade.php new file mode 100644 index 0000000..442564f --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Lessons +@endsection +@section('content') +
      +
      +

      Lessons

      +
      + Lesson +
      +
      +
      +
      +
      + @include('admin.lessons.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $lessons]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/lessons/show.blade.php b/Penilaian-Esai/resources/views/admin/lessons/show.blade.php new file mode 100644 index 0000000..f959cea --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Lesson Details +@endsection +@section('content') +
      +
      +

      Lesson Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.lessons.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/lessons/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/lessons/show_fields.blade.php new file mode 100644 index 0000000..67c8875 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/show_fields.blade.php @@ -0,0 +1,54 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $lesson->id }}

      +
      + + +
      + {!! Form::label('title', 'Title:') !!} +

      {{ $lesson->title }}

      +
      + + +
      + {!! Form::label('description', 'Description:') !!} +

      {{ $lesson->description }}

      +
      + + +
      + {!! Form::label('course_id', 'Course Id:') !!} +

      {{ $lesson->course_id }}

      +
      + + +
      + {!! Form::label('level_id', 'Level Id:') !!} +

      {{ $lesson->level_id }}

      +
      + + +
      + {!! Form::label('posisition', 'Posisition:') !!} +

      {{ $lesson->posisition }}

      +
      + + +
      + {!! Form::label('published', 'Published:') !!} +

      {{ $lesson->published }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $lesson->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $lesson->updated_at }}

      +
      + diff --git a/Penilaian-Esai/resources/views/admin/lessons/table.blade.php b/Penilaian-Esai/resources/views/admin/lessons/table.blade.php new file mode 100644 index 0000000..48115fe --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/lessons/table.blade.php @@ -0,0 +1,35 @@ +
      + + + + + + + + + + + + + @foreach ($lessons as $lesson) + + + + + + + + + @endforeach + +
      TitleDescriptionCourse IdPosisitionPublishedAction
      {{ $lesson->title }}{{ $lesson->description }}{{ $lesson->course->course_name }}{{ $lesson->posisition }}{{ $lesson->published }} + {!! Form::open(['route' => ['admin.lessons.destroy', $lesson->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/level/create.blade.php b/Penilaian-Esai/resources/views/admin/level/create.blade.php new file mode 100644 index 0000000..5c720ef --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/level/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Level +@endsection +@section('content') +
      +
      +

      New Level

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.level.store']) !!} +
      + @include('admin.level.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/level/edit.blade.php b/Penilaian-Esai/resources/views/admin/level/edit.blade.php new file mode 100644 index 0000000..0e5220c --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/level/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Level +@endsection +@section('content') +
      +
      +

      Edit Level

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($level, ['route' => ['admin.level.update', $level->id], 'method' => 'patch']) !!} +
      + @include('admin.level.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/level/fields.blade.php b/Penilaian-Esai/resources/views/admin/level/fields.blade.php new file mode 100644 index 0000000..b22e315 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/level/fields.blade.php @@ -0,0 +1,23 @@ + +
      + {!! Form::label('name', 'Name:') !!} + {!! Form::text('name', null, ['class' => 'form-control']) !!} +
      + +
      + {!! Form::label('course_id', 'Course:') !!} + {!! Form::select('course_id', $courses, null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::textarea('description', null, ['class' => 'form-control']) !!} +
      + + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/admin/level/index.blade.php b/Penilaian-Esai/resources/views/admin/level/index.blade.php new file mode 100644 index 0000000..868f746 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/level/index.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Level +@endsection +@section('content') +
      +
      +

      Level

      +
      + Level +
      +
      +
      +
      +
      + @include('admin.level.table') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/level/table.blade.php b/Penilaian-Esai/resources/views/admin/level/table.blade.php new file mode 100644 index 0000000..b1b4d9c --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/level/table.blade.php @@ -0,0 +1,30 @@ +
      + + + + + + + + + + + @foreach ($level as $level) + + + + + + + @endforeach + +
      Level NameCourseDescriptionAction
      {{ $level->name }}{{ $level->course->course_name }}{{ $level->description }} + {!! Form::open(['route' => ['admin.level.destroy', $level->id], 'method' => 'delete']) !!} +
      + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/questions/create.blade.php b/Penilaian-Esai/resources/views/admin/questions/create.blade.php new file mode 100644 index 0000000..3cea925 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Question +@endsection +@section('content') +
      +
      +

      New Question

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.questions.store', 'files' => true]) !!} +
      + @include('admin.questions.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/questions/edit.blade.php b/Penilaian-Esai/resources/views/admin/questions/edit.blade.php new file mode 100644 index 0000000..acf3013 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Question +@endsection +@section('content') +
      +
      +

      Edit Question

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($question, ['route' => ['admin.questions.update', $question->id], 'method' => 'patch', 'files' => true]) !!} +
      + @include('admin.questions.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/questions/fields.blade.php b/Penilaian-Esai/resources/views/admin/questions/fields.blade.php new file mode 100644 index 0000000..6a15849 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/fields.blade.php @@ -0,0 +1,246 @@ + + + +
      + {!! Form::label('content_id', 'Content Id:') !!} + {!! Form::select('content_id', $contents, null, ['class' => 'form-control']) !!} +
      + +
      + {!! Form::label('question_name', 'Question Name:') !!} + {!! Form::text('question_name', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::label('question', 'Code Question:') !!} + {!! Form::hidden('question', null, ['class' => 'form-control', 'id' => 'res']) !!} + +
      +
      + + + + + + + + + + + + + + +
      +
      + {!! @$question->question !!} +
      +
      + +
      + + +{{--
      + {!! Form::label('hint', 'Hint:') !!} + {!! Form::textarea('hint', null, ['class' => 'form-control']) !!} +
      --}} + +
      + @if($title == "edit") + @foreach($essay as $key => $data) +
      +
      +
      + + + + + + + + + + + +
      +
      + Remove - +
      +
      +
      + @endforeach + @else +
      +
      +
      + + + + + + + + + + + +
      +
      + Remove - +
      +
      +
      + @endif +
      +
      + Expand + + +
      + + +
      + {!! Form::label('image', 'Image:') !!} + {!! Form::file('image') !!} +
      +
      + + +
      + {!! Form::label('score', 'Score:') !!} + {!! Form::number('score', null, ['class' => 'form-control']) !!} +
      + +
      + {!! Form::label('is_essay', 'Code:') !!} + {!! Form::checkbox('is_essay', '1') !!} +
      + + + + +{{--
      + {!! Form::label('timer', 'Timer: (minutes)') !!} + {!! Form::number('timer', null, ['class' => 'form-control']) !!} +
      + +
      + +
      +
      Answers
      +
      + @for ($i = 0; $i < 4; $i++) +
      + +
      +
      + + is_right == 'true' ? 'checked' : '' }}> is right? +
      +
      + @endfor +
      + +
      --}} + + + +
      + + Cancel +
      + +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/admin/questions/index.blade.php b/Penilaian-Esai/resources/views/admin/questions/index.blade.php new file mode 100644 index 0000000..65dd562 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Questions +@endsection +@section('content') +
      +
      +

      Questions

      + +
      +
      +
      +
      + @include('admin.questions.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $questions]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/questions/show.blade.php b/Penilaian-Esai/resources/views/admin/questions/show.blade.php new file mode 100644 index 0000000..5fa764f --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Question Details +@endsection +@section('content') +
      +
      +

      Question Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.questions.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/questions/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/questions/show_fields.blade.php new file mode 100644 index 0000000..cb966b5 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/show_fields.blade.php @@ -0,0 +1,87 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $question->id }}

      +
      + + +
      + {!! Form::label('content_id', 'Content Id:') !!} +

      {{ $question->content->title }}

      +
      + + +
      + {!! Form::label('question', 'Question:') !!} +

      {{!! $question->question !!}}

      +
      + + +
      + {!! Form::label('hint', 'Hint:') !!} +

      {{ $question->hint}}

      +
      +@foreach($essay as $essay) + +
      + {!! Form::label('essay_question', 'Essay Question:') !!} +

      {{ $essay->question }}

      +
      + + +
      + {!! Form::label('key_answer', 'Key Answer 1:') !!} +

      {{ $essay->answer }}

      +
      + + +
      + {!! Form::label('key_answer2', 'Key Answer 2:') !!} +

      {{ $essay->answer2 }}

      +
      + + +
      + {!! Form::label('key_answer3', 'Key Answer 3:') !!} +

      {{ $essay->answer3 }}

      +
      + + +
      + {!! Form::label('key_answer4', 'Key Answer 4:') !!} +

      {{ $essay->answer4 }}

      +
      +@endforeach + +
      + {!! Form::label('image', 'Image:') !!} +

      {{ $question->image }}

      +
      + + +
      + {!! Form::label('score', 'Score:') !!} +

      {{ $question->score }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $question->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $question->updated_at }}

      +
      +{{-- +
      +

      Answers List

      + @foreach($question->answers as $index=>$answer) +
      + {{$index+1}}: {{ $answer->answer }} +
      + @endforeach +
      +--}} \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/admin/questions/table.blade.php b/Penilaian-Esai/resources/views/admin/questions/table.blade.php new file mode 100644 index 0000000..207cf30 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/questions/table.blade.php @@ -0,0 +1,33 @@ +
      + + + + + + + + + + + + @foreach ($questions as $question) + + + + + + + + @endforeach + +
      Content IdQuestionQuestion NameScoreAction
      {{ $question->content->title }}{{ $question->question_name }}{{!! $question->question !!}}{{ $question->score }} + {!! Form::open(['route' => ['admin.questions.destroy', $question->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/roles/create.blade.php b/Penilaian-Esai/resources/views/admin/roles/create.blade.php new file mode 100644 index 0000000..6b80bb5 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Role +@endsection +@section('content') +
      +
      +

      New Role

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.roles.store']) !!} +
      + @include('admin.roles.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/roles/edit.blade.php b/Penilaian-Esai/resources/views/admin/roles/edit.blade.php new file mode 100644 index 0000000..21d6c12 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit Role +@endsection +@section('content') +
      +
      +

      Edit Role

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($role, ['route' => ['admin.roles.update', $role->id], 'method' => 'patch']) !!} +
      + @include('admin.roles.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/roles/fields.blade.php b/Penilaian-Esai/resources/views/admin/roles/fields.blade.php new file mode 100644 index 0000000..1b6253a --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/fields.blade.php @@ -0,0 +1,11 @@ + +
      + {!! Form::label('role', 'Role:') !!} + {!! Form::text('role', null, ['class' => 'form-control']) !!} +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      diff --git a/Penilaian-Esai/resources/views/admin/roles/index.blade.php b/Penilaian-Esai/resources/views/admin/roles/index.blade.php new file mode 100644 index 0000000..26db549 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/index.blade.php @@ -0,0 +1,25 @@ +@extends('layouts.app') +@section('title') + Roles +@endsection +@section('content') +
      +
      +

      Roles

      +
      + Role +
      +
      +
      +
      +
      + @include('admin.roles.table') +
      +
      +
      + + @include('stisla-templates::common.paginate', ['records' => $roles]) + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/roles/show.blade.php b/Penilaian-Esai/resources/views/admin/roles/show.blade.php new file mode 100644 index 0000000..f8bb7c5 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + Role Details +@endsection +@section('content') +
      +
      +

      Role Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.roles.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/roles/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/roles/show_fields.blade.php new file mode 100644 index 0000000..a56d9b8 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/show_fields.blade.php @@ -0,0 +1,24 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $role->id }}

      +
      + + +
      + {!! Form::label('role', 'Role:') !!} +

      {{ $role->role }}

      +
      + + +
      + {!! Form::label('created_at', 'Created At:') !!} +

      {{ $role->created_at }}

      +
      + + +
      + {!! Form::label('updated_at', 'Updated At:') !!} +

      {{ $role->updated_at }}

      +
      + diff --git a/Penilaian-Esai/resources/views/admin/roles/table.blade.php b/Penilaian-Esai/resources/views/admin/roles/table.blade.php new file mode 100644 index 0000000..b1e8607 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/roles/table.blade.php @@ -0,0 +1,27 @@ +
      + + + + + + + + + @foreach ($roles as $role) + + + + + @endforeach + +
      RoleAction
      {{ $role->role }} + {!! Form::open(['route' => ['admin.roles.destroy', $role->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/admin/users/create.blade.php b/Penilaian-Esai/resources/views/admin/users/create.blade.php new file mode 100644 index 0000000..4596779 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/create.blade.php @@ -0,0 +1,32 @@ +@extends('layouts.app') +@section('title') + Create Users +@endsection +@section('content') +
      +
      +

      New User

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::open(['route' => 'admin.users.store']) !!} +
      + @include('admin.users.fields') +
      + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/users/edit.blade.php b/Penilaian-Esai/resources/views/admin/users/edit.blade.php new file mode 100644 index 0000000..09ce1fe --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/edit.blade.php @@ -0,0 +1,33 @@ +@extends('layouts.app') +@section('title') + Edit User +@endsection +@section('content') +
      +
      +

      Edit Role

      +
      + Back +
      +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      +
      +
      + {!! Form::model($user, ['route' => ['admin.users.update', $user->id], 'method' => 'patch']) !!} +
      + @include('admin.users.fields') +
      + + {!! Form::close() !!} +
      +
      +
      +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/users/fields.blade.php b/Penilaian-Esai/resources/views/admin/users/fields.blade.php new file mode 100644 index 0000000..b8f8663 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/fields.blade.php @@ -0,0 +1,36 @@ +
      + {!! Form::label('name', 'Name:') !!} + {!! Form::text('name', null, ['class' => 'form-control']) !!} +
      + +
      +{!! Form::label('role', 'Role:') !!} + {!! Form::select('role_id', $roles, null, ['class' => 'form-control']) !!} + +
      + + +
      + {!! Form::label('email', 'Email:') !!} + {!! Form::text('email', null, ['class' => 'form-control']) !!} +
      + +
      + * + +
      + +
      + {!! Form::label('password', 'Password:') !!} + {!! Form::text('password', null, ['class' => 'form-control', "type"=> "password"]) !!} +
      + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      diff --git a/Penilaian-Esai/resources/views/admin/users/index.blade.php b/Penilaian-Esai/resources/views/admin/users/index.blade.php new file mode 100644 index 0000000..f8421e9 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/index.blade.php @@ -0,0 +1,28 @@ +@extends('layouts.app') +@section('title') + Users +@endsection +@section('content') +
      +
      +

      Users

      +
      + User +
      +
      + @if(Session::has('message')) +
      {{ Session::get("message") }}
      + @endif +
      +
      +
      + @include('admin.users.table') +
      +
      +
      + + + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/users/show.blade.php b/Penilaian-Esai/resources/views/admin/users/show.blade.php new file mode 100644 index 0000000..9b61824 --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/show.blade.php @@ -0,0 +1,22 @@ +@extends('layouts.app') +@section('title') + User Details +@endsection +@section('content') +
      +
      +

      User Details

      +
      + Back +
      +
      + @include('stisla-templates::common.errors') +
      +
      +
      + @include('admin.users.show_fields') +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/admin/users/show_fields.blade.php b/Penilaian-Esai/resources/views/admin/users/show_fields.blade.php new file mode 100644 index 0000000..30b9b4f --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/show_fields.blade.php @@ -0,0 +1,22 @@ + +
      + {!! Form::label('id', 'Id:') !!} +

      {{ $user->id }}

      +
      + + +
      + {!! Form::label('name', 'Name:') !!} +

      {{ $user->name }}

      +
      + + +
      + {!! Form::label('class', 'Class:') !!} + @if($user->class == 1) +

      MI PSDKU PAMEKASAN

      + @elseif($user->class == 2) +

      SIB POLINEMA PUSAT

      + @endif +
      + diff --git a/Penilaian-Esai/resources/views/admin/users/table.blade.php b/Penilaian-Esai/resources/views/admin/users/table.blade.php new file mode 100644 index 0000000..dfbe5ba --- /dev/null +++ b/Penilaian-Esai/resources/views/admin/users/table.blade.php @@ -0,0 +1,31 @@ +
      + + + + + + + + + + + @foreach ($users as $user) + + + + + + + @endforeach + +
      NameemailRoleAction
      {{ $user->name }}{{ $user->email }}{{ $user->role->role }} + {!! Form::open(['route' => ['admin.users.destroy', $user->id], 'method' => 'delete']) !!} +
      + + + {!! Form::button('', ['type' => 'submit', 'class' => 'btn btn-danger action-btn delete-btn', 'onclick' => 'return confirm("Are you sure want to delete this record ?")']) !!} +
      + {!! Form::close() !!} +
      +
      diff --git a/Penilaian-Esai/resources/views/auth/forgot-password.blade.php b/Penilaian-Esai/resources/views/auth/forgot-password.blade.php new file mode 100644 index 0000000..c7a3d42 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/forgot-password.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.auth_app') +@section('title') + Forgot Password +@endsection +@section('content') +
      +

      Reset Password

      + +
      + @if (session('status')) +
      + {{ session('status') }} +
      + @endif +
      + @csrf +
      + + +
      + {{ $errors->first('email') }} +
      +
      +
      + +
      +
      +
      +
      +
      + Recalled your login info? Sign In +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/login.blade.php b/Penilaian-Esai/resources/views/auth/login.blade.php new file mode 100644 index 0000000..10c4429 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/login.blade.php @@ -0,0 +1,77 @@ +@extends('layouts.auth_app') +@section('title') + Bajapro Login +@endsection +@section('content') +
      +

      Bajapro Login

      + +
      +
      + @csrf + @if ($errors->any()) +
      +
        + @foreach ($errors->all() as $error) +
      • {{ $error }}
      • + @endforeach +
      +
      + @endif +
      + + +
      + {{ $errors->first('email') }} +
      +
      + +
      +
      + + {{----}} +
      + +
      + {{ $errors->first('password') }} +
      +
      + +
      + {{--
      + + +
      --}} + +
      + +
      + +
      +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/passwords/confirm.blade.php b/Penilaian-Esai/resources/views/auth/passwords/confirm.blade.php new file mode 100644 index 0000000..e4cbd19 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/passwords/confirm.blade.php @@ -0,0 +1,66 @@ + + + + + + {{ config('app.name') }} + + + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/resources/views/auth/passwords/email.blade.php b/Penilaian-Esai/resources/views/auth/passwords/email.blade.php new file mode 100644 index 0000000..c7a3d42 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/passwords/email.blade.php @@ -0,0 +1,36 @@ +@extends('layouts.auth_app') +@section('title') + Forgot Password +@endsection +@section('content') +
      +

      Reset Password

      + +
      + @if (session('status')) +
      + {{ session('status') }} +
      + @endif +
      + @csrf +
      + + +
      + {{ $errors->first('email') }} +
      +
      +
      + +
      +
      +
      +
      +
      + Recalled your login info? Sign In +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/passwords/reset.blade.php b/Penilaian-Esai/resources/views/auth/passwords/reset.blade.php new file mode 100644 index 0000000..b6f66ad --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/passwords/reset.blade.php @@ -0,0 +1,59 @@ +@extends('layouts.auth_app') +@section('title') + Reset Password +@endsection +@section('content') +
      +

      Set a New Password

      + +
      +
      + @csrf + @if ($errors->any()) +
      +
        + @foreach ($errors->all() as $error) +
      • {{ $error }}
      • + @endforeach +
      +
      + @endif + +
      + + +
      + {{ $errors->first('email') }} +
      +
      +
      + + +
      + {{ $errors->first('password') }} +
      +
      +
      + + +
      + {{ $errors->first('password_confirmation') }} +
      +
      +
      + +
      +
      +
      +
      +
      + Recalled your login info? Sign In +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/register.blade.php b/Penilaian-Esai/resources/views/auth/register.blade.php new file mode 100644 index 0000000..22db291 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/register.blade.php @@ -0,0 +1,96 @@ +@extends('layouts.auth_app') +@section('title') + Register +@endsection +@section('content') +
      +

      Register

      + +
      +
      + @csrf +
      +
      +
      + * + +
      + {{ $errors->first('name') }} +
      +
      +
      +
      + * + +
      + {{ $errors->first('class') }} +
      +
      +
      +
      + * + +
      + {{ $errors->first('email') }} +
      +
      +
      +
      +
      + * + +
      + {{ $errors->first('password') }} +
      +
      +
      +
      +
      + * + +
      + {{ $errors->first('password_confirmation') }} +
      +
      +
      +
      +
      + +
      +
      +
      +
      +
      +
      +
      + Already have an account ? SignIn +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/reset-password.blade.php b/Penilaian-Esai/resources/views/auth/reset-password.blade.php new file mode 100644 index 0000000..b6f66ad --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/reset-password.blade.php @@ -0,0 +1,59 @@ +@extends('layouts.auth_app') +@section('title') + Reset Password +@endsection +@section('content') +
      +

      Set a New Password

      + +
      +
      + @csrf + @if ($errors->any()) +
      +
        + @foreach ($errors->all() as $error) +
      • {{ $error }}
      • + @endforeach +
      +
      + @endif + +
      + + +
      + {{ $errors->first('email') }} +
      +
      +
      + + +
      + {{ $errors->first('password') }} +
      +
      +
      + + +
      + {{ $errors->first('password_confirmation') }} +
      +
      +
      + +
      +
      +
      +
      +
      + Recalled your login info? Sign In +
      +@endsection diff --git a/Penilaian-Esai/resources/views/auth/verify.blade.php b/Penilaian-Esai/resources/views/auth/verify.blade.php new file mode 100644 index 0000000..efc2da3 --- /dev/null +++ b/Penilaian-Esai/resources/views/auth/verify.blade.php @@ -0,0 +1,24 @@ +@extends('layouts.app') + +@section('content') +
      +
      +
      +
      +

      Verify Your Email Address

      + +
      + @if (session('resent')) + + @endif +

      Before proceeding, please check your email for a verification link.If you did not receive + the email,

      + click here to request another'. +
      +
      +
      +
      +
      +@endsection \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/home.blade.php b/Penilaian-Esai/resources/views/home.blade.php new file mode 100644 index 0000000..b742877 --- /dev/null +++ b/Penilaian-Esai/resources/views/home.blade.php @@ -0,0 +1,73 @@ +@extends('layouts.front') + +@section('content') + @if (Session::has('msg_error')) +
      {{ Session::get('msg_error') }}
      + @endif + + @if (Session::has('msg_error1')) +
      {{ Session::get('msg_error1') }}
      + @endif + +
      +
      +
      +
      +

      Take Your Lesson now

      +

      + Take one of the content materials that have been displayed in the system by pressing the take button. +

      + +
      +
      + @foreach ($courses as $course) +
      +
      + +
      + +

      {{ $course->course_name }}

      +
      + +
      + {{ substr($course->description, 0, 100) }}
      +
      + {{ $course->lessons->count() }} + Lessons + {{ $course->student_courses->count() }} + Students +
      + +
      + + + +
      +
      + @endforeach +
      +
      +
      + + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/layouts/app.blade.php b/Penilaian-Esai/resources/views/layouts/app.blade.php new file mode 100644 index 0000000..0071a84 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/app.blade.php @@ -0,0 +1,90 @@ + + + + + + @yield('title') | {{ config('app.name') }} + + + + + + + + + + + + + + +@yield('page_css') + + + + @yield('page_css') + + @yield('css') + + + +
      +
      + + +
      + @include('layouts.sidebar') +
      + +
      + @yield('content') +
      +
      + @include('layouts.footer') +
      +
      +
      + +@include('profile.change_password') +@include('profile.edit_profile') + + + + + + + + + + + + + + + + + + + +@yield('page_js') +@yield('scripts') + + diff --git a/Penilaian-Esai/resources/views/layouts/auth_app.blade.php b/Penilaian-Esai/resources/views/layouts/auth_app.blade.php new file mode 100644 index 0000000..4fd6f66 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/auth_app.blade.php @@ -0,0 +1,66 @@ + + + + + + @yield('title') | {{ config('app.name') }} + + + + + + + + + + + + + + +
      +
      +
      +
      +
      + + @yield('content') + +
      +
      +
      +

      Guidelines

      +

      + Watch this video for more information about this website. +

      + +
      +
      +
      + +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + + + + diff --git a/Penilaian-Esai/resources/views/layouts/code_test.blade.php b/Penilaian-Esai/resources/views/layouts/code_test.blade.php new file mode 100644 index 0000000..4b80392 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/code_test.blade.php @@ -0,0 +1,52 @@ + + + + + + + + + + + + + + + + + + + + + + Gamification + + + +
      +
      + @include('layouts.code_tets_navbar') +
      + @yield('content') +
      + +
      +
      + + + + + + + + + + +{{-- --}} + + + + + +@yield("scripts") + diff --git a/Penilaian-Esai/resources/views/layouts/code_tets_navbar.blade.php b/Penilaian-Esai/resources/views/layouts/code_tets_navbar.blade.php new file mode 100644 index 0000000..538090f --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/code_tets_navbar.blade.php @@ -0,0 +1,75 @@ + diff --git a/Penilaian-Esai/resources/views/layouts/footer.blade.php b/Penilaian-Esai/resources/views/layouts/footer.blade.php new file mode 100644 index 0000000..9073e6a --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/footer.blade.php @@ -0,0 +1,3 @@ + diff --git a/Penilaian-Esai/resources/views/layouts/front.blade.php b/Penilaian-Esai/resources/views/layouts/front.blade.php new file mode 100644 index 0000000..7895189 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/front.blade.php @@ -0,0 +1,56 @@ + + + + + + + + + + + + + + + + + + + + + + + + Gamification + + + +
      +
      + @include('layouts.front_navbar') + +
      +
      + @yield('content') +
      + +
      +
      +
      + + + + + + + + + + + + + + + +@yield("scripts") + diff --git a/Penilaian-Esai/resources/views/layouts/front_navbar.blade.php b/Penilaian-Esai/resources/views/layouts/front_navbar.blade.php new file mode 100644 index 0000000..6133dc3 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/front_navbar.blade.php @@ -0,0 +1,104 @@ + + + diff --git a/Penilaian-Esai/resources/views/layouts/header.blade.php b/Penilaian-Esai/resources/views/layouts/header.blade.php new file mode 100644 index 0000000..7da2354 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/header.blade.php @@ -0,0 +1,53 @@ +
      + +
      + diff --git a/Penilaian-Esai/resources/views/layouts/menu.blade.php b/Penilaian-Esai/resources/views/layouts/menu.blade.php new file mode 100644 index 0000000..abe3623 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/menu.blade.php @@ -0,0 +1,45 @@ +
    1. + + Leaderboard + +
    2. +
    3. + Roles +
    4. + +
    5. + Courses +
    6. + +
    7. + Level +
    8. + +{{--
    9. + Summary Explanation +
    10. --}} + +
    11. + Explanation +
    12. + +
    13. + Lessons +
    14. +
    15. + Contents +
    16. +
    17. + Questions +
    18. +
    19. + Users +
    20. + +
    21. + Report +
    22. + +
    23. + Badge Settings +
    24. diff --git a/Penilaian-Esai/resources/views/layouts/report.blade.php b/Penilaian-Esai/resources/views/layouts/report.blade.php new file mode 100644 index 0000000..29c8374 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/report.blade.php @@ -0,0 +1,45 @@ + + + + + + + + + + + + + + + + + + + + Gamification + + + +
      +
      + @include('layouts.report_navbar') +
      + @yield('content') +
      + +
      +
      + + + + + + + + + + + +@yield("scripts") + diff --git a/Penilaian-Esai/resources/views/layouts/report_navbar.blade.php b/Penilaian-Esai/resources/views/layouts/report_navbar.blade.php new file mode 100644 index 0000000..e11d865 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/report_navbar.blade.php @@ -0,0 +1,50 @@ + \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/layouts/sidebar.blade.php b/Penilaian-Esai/resources/views/layouts/sidebar.blade.php new file mode 100644 index 0000000..bbe4ca0 --- /dev/null +++ b/Penilaian-Esai/resources/views/layouts/sidebar.blade.php @@ -0,0 +1,15 @@ + diff --git a/Penilaian-Esai/resources/views/profile/change_password.blade.php b/Penilaian-Esai/resources/views/profile/change_password.blade.php new file mode 100644 index 0000000..8ed6611 --- /dev/null +++ b/Penilaian-Esai/resources/views/profile/change_password.blade.php @@ -0,0 +1,81 @@ + + + +
      + diff --git a/Penilaian-Esai/resources/views/student_courses/code_test.blade.php b/Penilaian-Esai/resources/views/student_courses/code_test.blade.php new file mode 100644 index 0000000..4ce1ad7 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/code_test.blade.php @@ -0,0 +1,555 @@ +@extends('layouts.code_test') + +@section('content') + +
      +
      + {{-- @if (!$is_finish) --}} +
      +
      +
      + {{-- @endif --}} + + {{-- @if ($is_finish) +
      +

      Exercise Logs ({{ $exercise_logs->count() }})

      +
      + @foreach ($exercise_logs as $i => $exer) +
      +
      + @if ($exer->is_error == 1) + Error
      + @else + Success
      + @endif +
      {{ $exer->message }}
      +
      +
      + @endforeach +
      +
      + @endif --}} + +
      + @if ($question->hint) +
      + +
      + @endif +
      + +
      +
      +

      Exercise

      + {!! $question->question !!} +

      + {{-- @if (!$is_finish) --}} +
      + Run Output
      +
      
      +                
      + {{-- @else --}} + {{--
      + + Duration from {{ $user_score->started_at }} to + {{ $user_score->ended_at }} + + + On Timer {{ $user_score->on_timer }} + +
      + @endif --}} + +
      + @if ($essay->count() > 0) + Code Explain *
      + @endif + + + + + @foreach ($essay as $data) +
      + + {{--
      --}} + @php + $answer = \App\Models\UserAnswer::where('user_id', Auth::id()) + ->where('essay_question_id', $data->id) + ->first(); + @endphp + +
      + @endforeach + {{--
      +
      + + + + + + + + + + + + + + +
      +
      + @if ($explain->isNotEmpty()) + @foreach ($explain as $explain) + {!! @$explain->description !!} + @endforeach + @endif +
      +
      +
      --}} +
      +
      +
      + + + + + @endsection + + + @section('scripts') + + + + @endsection diff --git a/Penilaian-Esai/resources/views/student_courses/detail.blade.php b/Penilaian-Esai/resources/views/student_courses/detail.blade.php new file mode 100644 index 0000000..41227a6 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/detail.blade.php @@ -0,0 +1,181 @@ +@extends('layouts.front') + +@section('content') + +
      +
      +
      +
      +
      +
      +

      {{ $course->course_name }}

      +
      + {{ $course->lessons->count() }} Lessons + {{ $course->student_courses->count() }} Students +
      +

      {{ $course->description }}

      +
      +
      +
      + +
      +
      +
      +

      Achievement Badge

      +
      + + + + + + + + + + @foreach($current_badge as $badgeSetting) + + + + + @endforeach + + + +
      Badge NameBadge Point MinBadge Point Max
      {{ $badgeSetting->name }} {{ $badgeSetting->min }}{{ $badgeSetting->max }}
      + Note: Achievement Badge di peroleh dari point yang diperoleh +
      +
      +
      +
      + +
      +
      +
      +

      Leader Board

      +
      + + + + + + + + + + + + + + @foreach($leader_board as $leader) + + + + + + + + @endforeach + + + +
      + Rank + NamePointProgressBadge
      {{ ucfirst($leader['user']) }} {{ $leader['total_score'] }} + + +
      +
      {{ $leader['percentage'] }}%
      +
      +
      + {{ $leader['badge_name'] }} + +
      + +
      +
      +
      +
      +
      + +
      +
      +
      +
      + Lesson Content +
      +
      + @foreach($course->lessons as $index=>$lesson) +
      +
      + {{ $lesson->title }} +
      +
      +
      +
      + @foreach($lesson->contents as $content) +
    25. + {{ $content->title }}
    26. + @endforeach +
      +
      +
      +
      + @endforeach +
      +
      +
      +
      +
      +
      +@endsection + +@section("scripts") + +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/detail_report.blade.php b/Penilaian-Esai/resources/views/student_courses/detail_report.blade.php new file mode 100644 index 0000000..400d819 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/detail_report.blade.php @@ -0,0 +1,128 @@ +@extends('layouts.report') + +@section('content') + +
      +
      +
      +

      Exercise Logs ({{ $exercise_logs->count() }})

      +
      + @foreach ($exercise_logs as $i => $exer) +
      +
      + @if ($exer->is_error == 1) + Error
      + @else + Success
      + @endif +
      {{ $exer->message }}
      +
      +
      + @endforeach +
      +
      + +
      +
      +

      Exercise

      + {!! $question->question !!} +

      + + +
      + +
      +
      + + + + + + + + + + + @foreach ($explain as $data) + @php + // $check_rubrik = \App\Models\ExplainingScore::where( + // 'user_answer_id', + // $data->id, + // )->count(); + // $explaining = \App\Models\ExplainingScore::where( + // 'user_answer_id', + // $data->id, + // )->first(); + $explaining = \App\Models\ExplainingScore::where('user_id', $data->user->id) + ->where('question_id', $data->essay->questions->id) + ->where('content_id', $data->essay->questions->content->id) + ->where('is_accepted', true) + ->first(); + @endphp + + + + {{-- @if ($check_rubrik > 0) + + @endif --}} + + + + @endforeach + +
      QuestionYour AnswerAnswer KeyScore
      {!! $data->essay->question !!} + + {{ $data->answer }}{{ $data->essay->answer }} + @if ($explaining) + {{ $data->essay->answer }} + @else + Not Available + @endif + + @if ($explaining?->konteks_penjelasan) + {{ $explaining?->konteks_penjelasan }} + @elseif($explaining?->keruntutan) + {{ $explaining?->keruntutan }} + @elseif($explaining?->kebenaran) + {{ $explaining?->kebenaran }} + @else + Not Scored + @endif +
      + +
      +
      +
      + {{--
      +
      --}} +
      + +
      +
      +
      +@endsection + + +@section('scripts') + + +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/essay_edit.blade.php b/Penilaian-Esai/resources/views/student_courses/essay_edit.blade.php new file mode 100644 index 0000000..dfbf271 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/essay_edit.blade.php @@ -0,0 +1,50 @@ +@extends('layouts.front') +@section('content') +
      +

      Explanation

      +

      + In this page, you will be able to read the explanation of level from another user
      + +

      + +
      + +
      +
      +
      +
      +
      + @csrf + @method('PUT') +
      +
      + {!! Form::label('name', 'Name:') !!} +

      {{ $user_answer->user->name }}

      +
      + + +
      + {!! Form::label('content_id', 'Content:') !!} +

      {{ $user_answer->essay->questions->content->title }}

      +
      + + +
      + {!! Form::label('your_answer', 'Your Answer:') !!} + + +
      + + +
      + {!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} + Cancel +
      +
      +
      +
      +
      +
      +
      + +@endsection \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/student_courses/explain.blade.php b/Penilaian-Esai/resources/views/student_courses/explain.blade.php new file mode 100644 index 0000000..24f8313 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/explain.blade.php @@ -0,0 +1,104 @@ +@extends('layouts.front') +@section('content') + +
      + @if ($title == 'summary') +

      Summary Explanation

      + @else +

      Code Explanation

      + @endif +

      + In this page, you will be able to read the explanation done by you
      + +

      + +
      +
      +
      +
      +
      +
      + + + + + @if ($title == 'summary') + + @else + + @endif + + + + + {{-- --}} + + + + @foreach ($explain as $data) + @php + $check_rubrik = \App\Models\ExplainingScore::where( + 'user_answer_id', + $data->id, + )->count(); + // $explaining = \App\Models\ExplainingScore::where( + // 'user_answer_id', + // $data->id, + // )->first(); + $explaining = \App\Models\ExplainingScore::where('user_id', $data->user->id) + ->where('question_id', $data->essay->questions->id) + ->where('content_id', $data->essay->questions->content->id) + ->where('is_accepted', true) + ->first(); + @endphp + + + + + + {{-- @if ($check_rubrik > 0) + + @endif --}} + + + + @endforeach + +
      NameLevelContentQuestionYour AnswerAnswer KeyScoreAction
      {{ $data->user->name }}{{ $data->essay->questions->content->title }}{!! $data->essay->question !!} + {{-- @if ($data->edited_admin != null) +
      Edited by admin
      + @endif --}} +
      {{ $data->answer }}{{ $data->essay->answer }} + @if ($explaining) + {{ $data->essay->answer }} + @else + Not Available + @endif + + @if ($explaining?->konteks_penjelasan) + {{ $explaining?->konteks_penjelasan }} + @elseif($explaining?->keruntutan) + {{ $explaining?->keruntutan }} + @elseif($explaining?->kebenaran) + {{ $explaining?->kebenaran }} + @else + Not Scored + @endif +
      +
      + @include('stisla-templates::common.paginate', ['records' => $explain]) +
      + +
      +
      +
      +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/explain_edit.blade.php b/Penilaian-Esai/resources/views/student_courses/explain_edit.blade.php new file mode 100644 index 0000000..f17713d --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/explain_edit.blade.php @@ -0,0 +1,28 @@ +@extends('layouts.front') +@section('content') +
      +

      Explanation

      +

      + In this page, you will be able to read the explanation of level from another user
      + +

      + +
      + +
      +
      +
      +
      +
      + @csrf + @method('PUT') +
      + @include('student_courses.explain_field') +
      +
      +
      +
      +
      +
      + +@endsection \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/student_courses/explain_field.blade.php b/Penilaian-Esai/resources/views/student_courses/explain_field.blade.php new file mode 100644 index 0000000..640d16c --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/explain_field.blade.php @@ -0,0 +1,90 @@ + + +
      +{!! Form::label('name', 'Name:') !!} +

      {{ $explain->users->name }}

      +
      + +@if($title == 1) + +
      + {!! Form::label('level_id', 'Level:') !!} +

      {{ $explain->level->name }}

      +
      +@else + +
      + {!! Form::label('content_id', 'Content:') !!} +

      {{ $explain->question->content->title }}

      +
      +@endif + + +
      + {!! Form::label('description', 'Description:') !!} + {!! Form::hidden('description', null, ['class' => 'form-control', 'id' => 'res']) !!} + +
      +
      + + + + + + + + + + + + + + +
      +
      + {!! @$explain->description !!} +
      +
      + +
      + + +
      +{!! Form::submit('Save', ['class' => 'btn btn-primary']) !!} +Cancel +
      + +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/index.blade.php b/Penilaian-Esai/resources/views/student_courses/index.blade.php new file mode 100644 index 0000000..d245dec --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/index.blade.php @@ -0,0 +1,44 @@ +@extends('layouts.front') + +@section('content') +
      +
      +

      Take Your Lesson now

      +

      + You can explore and discover various courses available for your learning journey. Browse through a wide range of subjects and topics, and choose the courses that align with your interests and goals.
      + +

      + +
      +
      + @foreach($studentCourses as $course) +
      +
      + +
      + +

      {{ $course->course_name }}

      +
      + +
      + {{ substr($course->description, 0, 100) }}
      +
      + {{ $course->lessons->count() }} Lessons + {{ $course->student_courses->count() }} Students +
      + +
      + + + +
      +
      + @endforeach +
      + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/leaderboard_student.blade.php b/Penilaian-Esai/resources/views/student_courses/leaderboard_student.blade.php new file mode 100644 index 0000000..72979fe --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/leaderboard_student.blade.php @@ -0,0 +1,58 @@ +@extends('layouts.front') +@section('content') + +
      + +

      Leaderboard

      +

      + In this page, you will see your position
      + +

      + +
      +
      +
      +
      +
      +
      + + + + + + + + + + + + + @foreach($data as $item) + @php + $class = ''; + if($item['user']->class == 1){ + $class = 'MI PSDKU PAMEKASAN'; + }else if($item['user']->class == 2){ + $class = 'SIB POLINEMA PUSAT'; + } + @endphp + + + + + + + + + + @endforeach + +
      NoBadge NameBadgeNameClassScore
      {{ $loop->iteration }}{{ $item['current_badge']->name }} + + {{ $item['user']->name }}{{ $class }}{{ $item['final_score'] }}
      +
      +
      +
      +
      +
      +@endsection \ No newline at end of file diff --git a/Penilaian-Esai/resources/views/student_courses/level.blade.php b/Penilaian-Esai/resources/views/student_courses/level.blade.php new file mode 100644 index 0000000..cf267fa --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/level.blade.php @@ -0,0 +1,173 @@ +@extends('layouts.front') + +@section('content') +
      +

      Start Your Lesson now

      +

      + levels serve as milestones that learners can progress through, providing structure, motivation, and rewards.
      + +

      + +
      +
      + @foreach($level as $level) +
      +
      + @php + $level_down = $level->id - 1; + $lessons1 = \App\Models\Lesson::where('level_id', $level_down)->pluck('id'); + $content1 = \App\Models\Content::whereIn('lesson_id', $lessons1)->pluck('id'); + $question1 = \App\Models\Question::whereIn('content_id', $content1)->pluck('id')->toArray(); + + $firstContent = $level->lessons->first()->contents->first(); + $check = \App\Models\UserScore::where('user_id', Auth::user()->id)->where('level_id', $level_down)->orderBy('question_id', 'asc')->pluck('question_id')->toArray(); + + $diff = array_diff($question1, $check); + if(empty($diff)){ + $is_pass = 1; + } else{ + $is_pass =0; + } + + $check_explain = \App\Models\Explains::where("user_id", Auth::id())->where('level_id', $level_down)->where('code', 0)->count(); + @endphp +
      + {{--level 1 selalu dapat diakses--}} + @if($level->id == 1) +
      + + + +
      +
      {{$level->name}}
      +

      {{$level->description}}

      + Start Lesson + @else + {{--selain level 1 harus melalui pengecekan. apakah semua question di dalam level telah dikerjakan. jika ya, level terbuka--}} + @if($is_pass == 1) +
      + + + +
      +
      {{$level->name}}
      +

      {{$level->description}}

      + Start Lesson + {{--@elseif($is_pass == 1 && $check_explain == 0) +
      + + + +
      +
      {{$level->name}}
      +

      {{$level->description}}

      + + + + + + --}} + @else + {{--jika tidak, level tertutup--}} +
      + + + +
      +
      {{$level->name}}
      +

      {{$level->description}}

      + + Start Lesson + + @endif + @endif +
      +
      +
      + @endforeach + + +
      + +@endsection +@section('scripts') + +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/my_course.blade.php b/Penilaian-Esai/resources/views/student_courses/my_course.blade.php new file mode 100644 index 0000000..e7d6d17 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/my_course.blade.php @@ -0,0 +1,492 @@ +@extends('layouts.front') + +@section('content') + +
      +
      +
      + + +
      +
      + +
      + @if ($content != null) +
      +
      +

      {{ $content->title }}

      +
      +
      +
      {!! $content->description !!}
      + +

      +
      + +
      +
      +
      + + + @if (sizeof($questions) != 0 && empty($score)) +
      + {{ $score }} +
      +
      Questions
      + +
      + @foreach ($questions as $index => $question) + @if ($question->is_essay == '0') +
      {{ $index + 1 }}.{!! $question->question !!}
      +
      + Your answer +
      + @foreach ($question->answers as $answer) +
      + + {{ $answer->answer }} +
      + @endforeach +
      +
      + +

      + @endif + @endforeach + + {{-- + Finish + --}} + + +
      + +
      +
      + @endif + + + @if (sizeof($code_tests) != 0) + @foreach ($code_tests as $index => $question) +
      +
      +
      +

      Exercise

      +
      +
      + {!! $question->question !!} + {{-- @if (in_array($question->id, $finish_code_tests)) + See Result + @else --}} + + + @if ($check_read == 0 && $content->id > 1) + Let's Test + @else + Let's Test + @endif + + + + {{-- @endif --}} + + {{--

      --}} + {{-- write your answer --}} + {{-- --}} + {{--
      --}} + {{--
      --}} + {{--
      --}} + {{--
      --}} + + {{--
      --}} + + {{--

      --}} + {{-- Output
      --}} + {{--
       --}}
      +                                        
      +
      + +
      + @endforeach + @endif + + @if (!empty($score)) +
      +
      Your score is: {{ @$score->score }}
      +
      + @endif + @endif +
      + +
      +
      +
      +
      +
      Total Score: {{ $final_score }} +
      +
      + Your Badge is {{ $current_badge->name }} + +

      + +
      + Your Code Test Progress ({{ $percentage }}%) +
      +
      + {{ $percentage }}%
      +
      +
      + +
      +
      +
      +
      +
      + Lesson Content +
      +
      + @foreach ($level->lessons as $index => $lesson) +
      +
      + + {{ $lesson->title }} +
      +
      +
      +
      + @foreach ($lesson->contents as $key => $content) + @php + + if ($index == 0) { + if ($key > 0) { + $content_id = $lesson->contents[$key - 1]->id; + $question = \App\Models\Question::where('content_id', $content_id)->pluck('id')->toArray(); + $check = \App\Models\UserScore::where('user_id', Auth::user()->id) + ->where('content_id', $content_id) + ->count(); + if ($check > 0) { + $is_open = 1; + } else { + $is_open = 0; + } + } else { + $is_open = 1; + } + } else { + if ($key == 0) { + $prev_lesson = $level->lessons[$index - 1]->id; + $content_id = \App\Models\Content::where('lesson_id', $prev_lesson)->pluck('id')->last(); + $question = \App\Models\Question::where('content_id', $content_id)->pluck('id')->toArray(); + $check = \App\Models\UserScore::where('user_id', Auth::user()->id) + ->where('content_id', $content_id) + ->count(); + if ($check > 0) { + $is_open = 1; + } else { + $is_open = 0; + } + } elseif ($key > 0) { + $content_id = $lesson->contents[$key - 1]->id; + $question = \App\Models\Question::where('content_id', $content_id)->pluck('id')->toArray(); + $check = \App\Models\UserScore::where('user_id', Auth::user()->id) + ->where('content_id', $content_id) + ->count(); + if ($check > 0) { + $is_open = 1; + } else { + $is_open = 0; + } + } + } + @endphp + + @if ($is_open == 1) + + {{ $content->title }} + + + + + + + + @else + + {{ $content->title }} + + + + + + + + @endif + @endforeach +
      + +
      +
      +
      + @endforeach +
      +
      +
      + + + {{-- @if ($is_last == 1 && $check_explain == 0) +
      + +
      --}} + @if ($is_last == 1) + + @endif + +
      + +
      +
      + + + +@endsection + +@section('scripts') + + + + + + + + +@endsection diff --git a/Penilaian-Esai/resources/views/student_courses/report.blade.php b/Penilaian-Esai/resources/views/student_courses/report.blade.php new file mode 100644 index 0000000..c79d559 --- /dev/null +++ b/Penilaian-Esai/resources/views/student_courses/report.blade.php @@ -0,0 +1,143 @@ +@extends('layouts.front') +@section('content') +
      +

      My report

      +
      +
      +
      +
      + Your badge +

      {{ $current_badge->name }}

      + +
      +
      +
      + +
      +
      +
      + Your Score +

      {{ $final_score }}

      +
      +
      +
      + +
      +
      +
      + Your progress +

      {{ $percentage }} %

      +
      +
      {{ $percentage }}%
      +
      +
      +
      +
      + +
      +
      +
      + Finished test +

      {{ sizeof($finish_code_tests) }} Test

      +
      +
      +
      +

      + +

      Code Test Report

      + @foreach ($code_score as $sc) +
      +
      + @php + $q = \App\Models\Question::find($sc->question_id); + $c = \App\Models\Content::find($sc->content_id); + $wondering = \App\Models\WonderingScore::where(["user_id" => Auth::id()])->where('content_id', $c->id)->sum("score"); + $exploring = \App\Models\UserScore::where("user_id", Auth::id())->where('question_id', $q->id)->sum("score"); + $score = \App\Models\TotalScore::where('user_id', Auth::id())->where('question_id', $q->id)->sum("score"); + + $explain = 0; + if($score != 0){ + $explain = $score - ($wondering + $exploring); + } + + @endphp + +
      +
      +
      +
      +
      {{ $q->question_name }}
      + Question Name +
      + + {{--
      + @php + $f = \Carbon\Carbon::parse($sc->started_at); + $t = \Carbon\Carbon::parse($sc->ended_at); + $h = $t->diff($f)->format('%Hh %Im %Ss'); + @endphp + + + On Timer {{ $sc->on_timer }} + + + Duration: {{ $h }} + +
      +
      + {{ $sc->started_at }} + {{ $sc->ended_at }} +
      +
      --}} + +
      + @php + $err = \App\Models\ExerciseCodeLog::where(['user_id' => Auth::id(), 'question_id' => $sc->question_id, 'is_error' => 1]); + $sucess = \App\Models\ExerciseCodeLog::where(['user_id' => Auth::id(), 'question_id' => $sc->question_id, 'is_error' => 0]) + @endphp + + {{ $err->count() }} Errors +
      +
      + +
      + + {{ $sucess->count() }} Success +
      +
      + +
      + + Read Score: {{ $wondering }} + +
      + +
      + + Coding Score: {{ $sc->score }} + +
      + +
      + + Essay Score: {{ $explain }} + +
      + + +
      +
      +
      +
      +
      + @endforeach + + +
      +@endsection diff --git a/Penilaian-Esai/resources/views/welcome.blade.php b/Penilaian-Esai/resources/views/welcome.blade.php new file mode 100644 index 0000000..dd6a45d --- /dev/null +++ b/Penilaian-Esai/resources/views/welcome.blade.php @@ -0,0 +1,132 @@ + + + + + + + Laravel + + + + + + + + + + +
      + @if (Route::has('login')) + + @endif + +
      +
      + + + + + +
      + +
      +
      +
      + + +
      +
      + Laravel has wonderful, thorough documentation covering every aspect of the framework. Whether you are new to the framework or have previous experience with Laravel, we recommend reading all of the documentation from beginning to end. +
      +
      +
      + +
      +
      + + +
      + +
      +
      + Laracasts offers thousands of video tutorials on Laravel, PHP, and JavaScript development. Check them out, see for yourself, and massively level up your development skills in the process. +
      +
      +
      + +
      +
      + + +
      + +
      +
      + Laravel News is a community driven portal and newsletter aggregating all of the latest and most important news in the Laravel ecosystem, including new package releases and tutorials. +
      +
      +
      + +
      +
      + +
      Vibrant Ecosystem
      +
      + +
      +
      + Laravel's robust library of first-party tools and libraries, such as Forge, Vapor, Nova, and Envoyer help you take your projects to the next level. Pair them with powerful open source libraries like Cashier, Dusk, Echo, Horizon, Sanctum, Telescope, and more. +
      +
      +
      +
      +
      + +
      +
      +
      + + + + + + Shop + + + + + + + + Sponsor + +
      +
      + +
      + Laravel v{{ Illuminate\Foundation\Application::VERSION }} (PHP v{{ PHP_VERSION }}) +
      +
      +
      +
      + + diff --git a/Penilaian-Esai/routes/api.php b/Penilaian-Esai/routes/api.php new file mode 100644 index 0000000..47e9348 --- /dev/null +++ b/Penilaian-Esai/routes/api.php @@ -0,0 +1,49 @@ +get('/user', function (Request $request) { + return $request->user(); +}); + + +Route::resource('roles', App\Http\Controllers\API\RoleAPIController::class); + + +Route::resource('courses', App\Http\Controllers\API\CourseAPIController::class); + + +Route::resource('lessons', App\Http\Controllers\API\lessonAPIController::class); + + +Route::resource('contents', App\Http\Controllers\API\ContentAPIController::class); + + +Route::resource('questions', App\Http\Controllers\API\QuestionAPIController::class); + +Route::get('questions/get_question_answers/{content_id}', [App\Http\Controllers\API\QuestionAPIController::class, "getQuestionAnswer"]); +Route::post('questions/check_answer', [App\Http\Controllers\API\QuestionAPIController::class, "checkAnswer"]); + +Route::post("questions/error_code_log/create", [App\Http\Controllers\ErrorCodeLogController::class, "create"]); + +Route::post("questions/exercise_code_log/create", [App\Http\Controllers\ExerciseCodeLogController::class, "create"]); + + +Route::get("dashboard/get_chart_data", [App\Http\Controllers\API\DashboardAPIController::class, "getChartData"]); + + +Route::resource('badge_settings', App\Http\Controllers\API\BadgeSettingAPIController::class); \ No newline at end of file diff --git a/Penilaian-Esai/routes/channels.php b/Penilaian-Esai/routes/channels.php new file mode 100644 index 0000000..5d451e1 --- /dev/null +++ b/Penilaian-Esai/routes/channels.php @@ -0,0 +1,18 @@ +id === (int) $id; +}); diff --git a/Penilaian-Esai/routes/console.php b/Penilaian-Esai/routes/console.php new file mode 100644 index 0000000..e05f4c9 --- /dev/null +++ b/Penilaian-Esai/routes/console.php @@ -0,0 +1,19 @@ +comment(Inspiring::quote()); +})->purpose('Display an inspiring quote'); diff --git a/Penilaian-Esai/routes/web.php b/Penilaian-Esai/routes/web.php new file mode 100644 index 0000000..f60f2e9 --- /dev/null +++ b/Penilaian-Esai/routes/web.php @@ -0,0 +1,90 @@ +name("home"); + +Route::prefix('api')->middleware('api')->as('api.'); + +Auth::routes(); + +//Route::get('/home', [App\Http\Controllers\HomeController::class, 'index'])->name('home'); + +Route::group(['middleware' => ['auth', 'admin'], 'prefix' => 'admin', 'as' => 'admin.'], function () { + // Route::get("/", [App\Http\Controllers\Admin\DashboardController::class, "index"])->name("dashboard"); + Route::get("/", [App\Http\Controllers\Admin\DashboardController::class, "leaderboard"])->name("leaderboard"); + Route::resource('roles', App\Http\Controllers\Admin\RoleController::class); + Route::resource('courses', App\Http\Controllers\Admin\CourseController::class); + Route::resource('lessons', App\Http\Controllers\Admin\LessonController::class); + Route::resource('contents', App\Http\Controllers\Admin\ContentController::class); + Route::resource('questions', App\Http\Controllers\Admin\QuestionController::class); + Route::resource('users', App\Http\Controllers\Admin\UserController::class); + Route::resource('badgeSettings', \App\Http\Controllers\Admin\BadgeSettingController::class); + Route::resource('level', App\Http\Controllers\Admin\LevelController::class); + Route::resource('explaination', App\Http\Controllers\Admin\ExplanationController::class); + Route::put('/update/code/explaination/{id}', [App\Http\Controllers\Admin\ExplanationController::class, "updateCode"])->name('code.update.explanation'); + Route::get('/code/explaination', [App\Http\Controllers\Admin\ExplanationController::class, "showCode"])->name('code.index.explanation'); + Route::get('/edit/code/explaination/{id}', [App\Http\Controllers\Admin\ExplanationController::class, "editCode"])->name('code.edit.explanation'); + Route::get("/report/{user_id?}", [\App\Http\Controllers\Admin\DashboardController::class, "report"])->name("dashboard.report"); + Route::get("/penilaian/{user_id}/{content_id}", [\App\Http\Controllers\Admin\DashboardController::class, "penilaian"])->name("dashboard.penilaian"); + Route::post("/create/penilaian", [\App\Http\Controllers\Admin\DashboardController::class, "addPenilaian"])->name("dashboard.add.penilaian"); +}); + +Route::group(['middleware' => ["auth"]], function () { + //leaderboard + Route::get("/courses/leaderboard", [App\Http\Controllers\Admin\DashboardController::class, "leaderboard"])->name("student_course.leaderboard"); + + Route::get("/courses/my_course", [\App\Http\Controllers\StudentCourseController::class, "index"])->name("student_course.my_course"); + Route::post("/take_course", [\App\Http\Controllers\StudentCourseController::class, "takeCourse"])->name("student_course.take"); + Route::get("/courses/my_course/{course_id}/{level_id}", [\App\Http\Controllers\StudentCourseController::class, "my_course"])->name("student_course.my_course.detail"); + Route::get("/courses/my_course/{course_id}/{level_id}/detail/{content_id?}", [\App\Http\Controllers\StudentCourseController::class, "my_course"])->name("student_course.my_course.detail.content"); + Route::get("/courses/detail/{course_id}", [\App\Http\Controllers\StudentCourseController::class, "detail"])->name("student_course.detail"); + Route::get("/courses/code_test/{question_id}", [\App\Http\Controllers\CodeTestController::class, "index"])->name("code_test"); + Route::post("/courses/code_test/{question_id}/submit", [\App\Http\Controllers\CodeTestController::class, "codeTestSubmit"])->name("code_test.submit"); + Route::get("/courses/report", [\App\Http\Controllers\StudentCourseController::class, "report"])->name("student_course.report"); + Route::get("/courses/level/{course_id}", [\App\Http\Controllers\StudentCourseController::class, "level"])->name("student_course.level"); + Route::get("/courses/report/detail/{question_id}", [\App\Http\Controllers\StudentCourseController::class, "detailReport"])->name("student_course.report.detail"); + Route::post("/courses/explain/{level_id}", [\App\Http\Controllers\ExplainingController::class, "create"])->name("student_course.explain"); + + //wondering + Route::post("/courses/read/score", [\App\Http\Controllers\StudentCourseController::class, "readScore"])->name("student_course.read.score"); + + + Route::get("/explain", [\App\Http\Controllers\ExplainingController::class, "show"])->name("student_course.show.explain"); + Route::get("/explain/code", [\App\Http\Controllers\ExplainingController::class, "showCode"])->name("student_course.show.explain.code"); + Route::get("/essay/edit/{id}", [\App\Http\Controllers\ExplainingController::class, "editEssay"])->name("student_course.essay.edit"); + Route::put("/essay/update/{id}", [\App\Http\Controllers\ExplainingController::class, "updateEssay"])->name("essay.update"); + + Route::get("/explain/edit/{id}", [\App\Http\Controllers\ExplainingController::class, "edit"])->name('student_course.edit.explain'); + Route::get("/explain/code/edit/{id}", [\App\Http\Controllers\ExplainingController::class, "editCode"])->name('student_course.code.edit.explain'); + Route::put("/explain/update/{id}/{title}", [\App\Http\Controllers\ExplainingController::class, "update"])->name("student_course.update.explain"); + Route::get("/table/explain", [\App\Http\Controllers\ExplainingController::class, "tableExplain"])->name("table.explain"); +}); + +Route::get('generator_builder', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@builder')->name('io_generator_builder'); + +Route::get('field_template', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@fieldTemplate')->name('io_field_template'); + +Route::get('relation_field_template', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@relationFieldTemplate')->name('io_relation_field_template'); + +Route::post('generator_builder/generate', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@generate')->name('io_generator_builder_generate'); + +Route::post('generator_builder/rollback', '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@rollback')->name('io_generator_builder_rollback'); + +Route::post( + 'generator_builder/generate-from-file', + '\InfyOm\GeneratorBuilder\Controllers\GeneratorBuilderController@generateFromFile' +)->name('io_generator_builder_generate_from_file'); diff --git a/Penilaian-Esai/storage/app/.gitignore b/Penilaian-Esai/storage/app/.gitignore new file mode 100644 index 0000000..8f4803c --- /dev/null +++ b/Penilaian-Esai/storage/app/.gitignore @@ -0,0 +1,3 @@ +* +!public/ +!.gitignore diff --git a/Penilaian-Esai/storage/app/public/.gitignore b/Penilaian-Esai/storage/app/public/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/app/public/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/storage/framework/.gitignore b/Penilaian-Esai/storage/framework/.gitignore new file mode 100644 index 0000000..05c4471 --- /dev/null +++ b/Penilaian-Esai/storage/framework/.gitignore @@ -0,0 +1,9 @@ +compiled.php +config.php +down +events.scanned.php +maintenance.php +routes.php +routes.scanned.php +schedule-* +services.json diff --git a/Penilaian-Esai/storage/framework/cache/.gitignore b/Penilaian-Esai/storage/framework/cache/.gitignore new file mode 100644 index 0000000..01e4a6c --- /dev/null +++ b/Penilaian-Esai/storage/framework/cache/.gitignore @@ -0,0 +1,3 @@ +* +!data/ +!.gitignore diff --git a/Penilaian-Esai/storage/framework/cache/data/.gitignore b/Penilaian-Esai/storage/framework/cache/data/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/framework/cache/data/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/storage/framework/sessions/.gitignore b/Penilaian-Esai/storage/framework/sessions/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/framework/sessions/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/storage/framework/testing/.gitignore b/Penilaian-Esai/storage/framework/testing/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/framework/testing/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/storage/framework/views/.gitignore b/Penilaian-Esai/storage/framework/views/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/framework/views/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/storage/logs/.gitignore b/Penilaian-Esai/storage/logs/.gitignore new file mode 100644 index 0000000..d6b7ef3 --- /dev/null +++ b/Penilaian-Esai/storage/logs/.gitignore @@ -0,0 +1,2 @@ +* +!.gitignore diff --git a/Penilaian-Esai/tests/ApiTestTrait.php b/Penilaian-Esai/tests/ApiTestTrait.php new file mode 100644 index 0000000..0676ff1 --- /dev/null +++ b/Penilaian-Esai/tests/ApiTestTrait.php @@ -0,0 +1,32 @@ +assertApiSuccess(); + + $response = json_decode($this->response->getContent(), true); + $responseData = $response['data']; + + $this->assertNotEmpty($responseData['id']); + $this->assertModelData($actualData, $responseData); + } + + public function assertApiSuccess() + { + $this->response->assertStatus(200); + $this->response->assertJson(['success' => true]); + } + + public function assertModelData(Array $actualData, Array $expectedData) + { + foreach ($actualData as $key => $value) { + if (in_array($key, ['created_at', 'updated_at'])) { + continue; + } + $this->assertEquals($actualData[$key], $expectedData[$key]); + } + } +} diff --git a/Penilaian-Esai/tests/CreatesApplication.php b/Penilaian-Esai/tests/CreatesApplication.php new file mode 100644 index 0000000..547152f --- /dev/null +++ b/Penilaian-Esai/tests/CreatesApplication.php @@ -0,0 +1,22 @@ +make(Kernel::class)->bootstrap(); + + return $app; + } +} diff --git a/Penilaian-Esai/tests/Feature/ExampleTest.php b/Penilaian-Esai/tests/Feature/ExampleTest.php new file mode 100644 index 0000000..78ccc21 --- /dev/null +++ b/Penilaian-Esai/tests/Feature/ExampleTest.php @@ -0,0 +1,21 @@ +get('/'); + + $response->assertStatus(200); + } +} diff --git a/Penilaian-Esai/tests/TestCase.php b/Penilaian-Esai/tests/TestCase.php new file mode 100644 index 0000000..2932d4a --- /dev/null +++ b/Penilaian-Esai/tests/TestCase.php @@ -0,0 +1,10 @@ +assertTrue(true); + } +} diff --git a/Penilaian-Esai/webpack.mix.js b/Penilaian-Esai/webpack.mix.js new file mode 100644 index 0000000..5d27776 --- /dev/null +++ b/Penilaian-Esai/webpack.mix.js @@ -0,0 +1,67 @@ +const mix = require('laravel-mix'); + +/* + |-------------------------------------------------------------------------- + | Mix Asset Management + |-------------------------------------------------------------------------- + | + | Mix provides a clean, fluent API for defining some Webpack build steps + | for your Laravel applications. By default, we are compiling the CSS + | file for the application as well as bundling up all the JS files. + | + */ + +mix.js('resources/js/app.js', 'public/js'); +mix.styles(['resources/js/app.js'], 'public/css/app.css').version(); + +mix.styles([ + 'public/css/social-icons.css', + 'public/css/owl.carousel.css', + 'public/css/owl.theme.css', + 'public/css/prism.css', + 'public/css/main.css', + 'public/css/custom.css', +], 'public/css/all.css').version(); + +mix.js( + 'public/js/scripts.js', 'public/js/scripts.min.js') + .js('resources/assets/js/profile.js', 'public/assets/js/profile.js') + .js('resources/assets/js/custom/custom.js', 'public/assets/js/custom/custom.js') + .js('resources/assets/js/custom/custom-datatable.js', 'public/assets/js/custom/custom-datatable.js') + .version(); + + +mix.copy('node_modules/bootstrap/dist/css/bootstrap.min.css', + 'public/assets/css/bootstrap.min.css'); + +mix.copy('node_modules/datatables.net-dt/css/jquery.dataTables.min.css', + 'public/assets/css/jquery.dataTables.min.css'); +mix.copy('node_modules/datatables.net-dt/images', 'public/assets/images'); +mix.copy('node_modules/select2/dist/css/select2.min.css', + 'public/assets/css/select2.min.css'); +mix.copy('node_modules/sweetalert/dist/sweetalert.css', + 'public/assets/css/sweetalert.css'); +mix.copy('node_modules/izitoast/dist/css/iziToast.min.css', + 'public/assets/css/iziToast.min.css'); + +mix.copyDirectory('node_modules/@fortawesome/fontawesome-free/css', + 'public/assets/css/@fortawesome/fontawesome-free/css'); +mix.copyDirectory('node_modules/@fortawesome/fontawesome-free/webfonts', + 'public/assets/css/@fortawesome/fontawesome-free/webfonts'); + +mix.babel('node_modules/jquery.nicescroll/dist/jquery.nicescroll.js', + 'public/assets/js/jquery.nicescroll.js'); +mix.babel('node_modules/jquery/dist/jquery.min.js', + 'public/assets/js/jquery.min.js'); +mix.babel('node_modules/popper.js/dist/umd/popper.min.js', + 'public/assets/js/popper.min.js'); +mix.babel('node_modules/bootstrap/dist/js/bootstrap.min.js', + 'public/assets/js/bootstrap.min.js'); +mix.babel('node_modules/datatables.net/js/jquery.dataTables.min.js', + 'public/assets/js/jquery.dataTables.min.js'); +mix.babel('node_modules/select2/dist/js/select2.min.js', + 'public/assets/js/select2.min.js'); +mix.babel('node_modules/sweetalert/dist/sweetalert.min.js', + 'public/assets/js/sweetalert.min.js'); +mix.babel('node_modules/izitoast/dist/js/iziToast.min.js', + 'public/assets/js/iziToast.min.js'); diff --git a/gamification_testing.sql b/gamification_testing.sql new file mode 100644 index 0000000..5c612db --- /dev/null +++ b/gamification_testing.sql @@ -0,0 +1,4951 @@ +-- phpMyAdmin SQL Dump +-- version 5.2.0 +-- https://www.phpmyadmin.net/ +-- +-- Host: localhost:3306 +-- Generation Time: Dec 07, 2024 at 05:36 AM +-- Server version: 8.0.30 +-- PHP Version: 8.2.24 + +SET SQL_MODE = "NO_AUTO_VALUE_ON_ZERO"; +START TRANSACTION; +SET time_zone = "+00:00"; + + +/*!40101 SET @OLD_CHARACTER_SET_CLIENT=@@CHARACTER_SET_CLIENT */; +/*!40101 SET @OLD_CHARACTER_SET_RESULTS=@@CHARACTER_SET_RESULTS */; +/*!40101 SET @OLD_COLLATION_CONNECTION=@@COLLATION_CONNECTION */; +/*!40101 SET NAMES utf8mb4 */; + +-- +-- Database: `gamification_testing` +-- + +-- -------------------------------------------------------- + +-- +-- Table structure for table `answers` +-- + +CREATE TABLE `answers` ( + `id` bigint UNSIGNED NOT NULL, + `question_id` int UNSIGNED DEFAULT NULL, + `answer` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `is_right` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `answers` +-- + +INSERT INTO `answers` (`id`, `question_id`, `answer`, `is_right`, `created_at`, `updated_at`) VALUES +(17, 24, 'untuk menuliskan output pada baris baru', 'true', '2023-01-30 06:44:49', '2023-01-30 06:44:49'), +(18, 24, 'untuk menuliskan output pada baris yang sama', NULL, '2023-01-30 06:44:49', '2023-01-30 06:44:49'), +(19, 24, 'untuk mengeluarkan output text', NULL, '2023-01-30 06:44:49', '2023-01-30 06:44:49'), +(20, 24, 'untuk membuat input keyboard', NULL, '2023-01-30 06:44:49', '2023-01-30 06:44:49'), +(21, 25, '1', 'true', '2023-02-18 00:47:48', '2023-02-18 00:47:48'), +(22, 25, '2', NULL, '2023-02-18 00:47:48', '2023-02-18 00:47:48'), +(23, 25, '3', NULL, '2023-02-18 00:47:48', '2023-02-18 00:47:48'), +(24, 25, '!z', NULL, '2023-02-18 00:47:48', '2023-02-18 00:47:48'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `badge_settings` +-- + +CREATE TABLE `badge_settings` ( + `id` int UNSIGNED NOT NULL, + `name` text COLLATE utf8mb4_unicode_ci NOT NULL, + `file` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `min` int NOT NULL, + `max` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `badge_settings` +-- + +INSERT INTO `badge_settings` (`id`, `name`, `file`, `min`, `max`, `created_at`, `updated_at`) VALUES +(1, 'Warrior', '20220728171009.png', 0, 150, NULL, '2023-06-01 20:54:23'), +(2, 'Elite', '20220728172040.png', 151, 300, NULL, '2023-06-01 20:54:52'), +(3, 'Master', '20220728172051.png', 301, 450, '2022-06-01 15:10:34', '2023-06-01 20:54:57'), +(4, 'Grand Master', '20220728172104.png', 451, 600, '2022-06-01 15:10:34', '2023-06-01 20:55:10'), +(5, 'Epic', '20220728172117.png', 601, 750, '2022-06-01 15:11:23', '2023-06-01 20:56:15'), +(6, 'King', '20220728172150.png', 751, 900, '2022-06-01 15:11:23', '2023-06-01 20:56:38'), +(7, 'Divine', '20220728172317.png', 901, 1300, '2022-06-01 15:12:06', '2023-06-01 20:57:01'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `code_error_logs` +-- + +CREATE TABLE `code_error_logs` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `total_count` int NOT NULL, + `error_message` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `code_error_logs` +-- + +INSERT INTO `code_error_logs` (`id`, `user_id`, `question_id`, `total_count`, `error_message`, `created_at`, `updated_at`) VALUES +(7, 34, 12, 1, 'openjdk 11.0.15 2022-04-19\nOpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1)\nOpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)\nHello, World!JUnit version 4.13.2\n.E\nTime: 0.008\nThere was 1 failure:\n1) isHelloWorld(example_gmail_com.JUnitHelloWorldTest)\norg.junit.ComparisonFailure: Is Hello World expected: but was:\n at org.junit.Assert.assertEquals(Assert.java:117)\n at example_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\n\nFAILURES!!!\nTests run: 1, Failures: 1', '2022-07-28 12:13:59', '2022-07-28 12:13:59'), +(8, 34, 13, 1, 'java_files/example_gmail_com/MyClass.java:7: error: incompatible types: possible lossy conversion from double to int\n double result = x = y;\n ^\n1 error\nTEST FAILED!', '2022-07-28 12:14:47', '2022-07-28 12:14:47'), +(9, 34, 13, 1, 'java_files/example_gmail_com/MyClass.java:7: error: \';\' expected\n double result = x + y\n ^\n1 error\nTEST FAILED!', '2022-07-28 12:14:56', '2022-07-28 12:14:56'), +(10, 34, 16, 1, 'java_files/example_gmail_com/Order.java:7: error: illegal start of expression\n if(itemCost <>> 24.00) {\n ^\n1 error\nTEST FAILED!', '2022-07-28 12:15:51', '2022-07-28 12:15:51'), +(11, 34, 16, 1, 'java_files/example_gmail_com/Order.java:7: error: bad operand types for binary operator \'>>\'\n if(itemCost >> 24.00) {\n ^\n first type: double\n second type: double\n1 error\nTEST FAILED!', '2022-07-28 12:15:56', '2022-07-28 12:15:56'), +(12, 34, 16, 1, 'java_files/example_gmail_com/Order.java:12: error: unclosed character literal\n System.out.print(\'order\');\n ^\njava_files/example_gmail_com/Order.java:12: error: unclosed character literal\n System.out.print(\'order\');\n ^\njava_files/example_gmail_com/Order.java:12: error: not a statement\n System.out.print(\'order\');\n ^\n3 errors\nTEST FAILED!', '2022-07-28 12:16:19', '2022-07-28 12:16:19'), +(13, 34, 15, 1, 'java_files/example_gmail_com/NewsFeed.java:14: error: cannot find symbol\n String topicArray = Arrays.toString(topics);\n ^\n symbol: variable Arrays\n location: class NewsFeed\n1 error\nTEST FAILED!', '2022-07-28 12:17:05', '2022-07-28 12:17:05'), +(14, 34, 15, 1, 'java_files/example_gmail_com/NewsFeed.java:14: error: cannot find symbol\n String topicArray = arrays.toString(topics);\n ^\n symbol: variable arrays\n location: class NewsFeed\n1 error\nTEST FAILED!', '2022-07-28 12:17:18', '2022-07-28 12:17:18'), +(15, 34, 15, 1, 'java_files/example_gmail_com/NewsFeed.java:3: error: \';\' expected\nimport java.util.Arrays\n ^\n1 error\nTEST FAILED!', '2022-07-28 12:17:39', '2022-07-28 12:17:39'), +(16, 1, 12, 1, 'openjdk 11.0.15 2022-04-19\nOpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1)\nOpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)\nHello, World!JUnit version 4.13.2\n.E\nTime: 0.007\nThere was 1 failure:\n1) isHelloWorld(admin_gmail_com.JUnitHelloWorldTest)\norg.junit.ComparisonFailure: Is Hello World expected: but was:\n at org.junit.Assert.assertEquals(Assert.java:117)\n at admin_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\n\nFAILURES!!!\nTests run: 1, Failures: 1', '2022-07-29 04:51:19', '2022-07-29 04:51:19'), +(17, 1, 15, 1, 'java_files/admin_gmail_com/NewsFeed.java:3: error: expected\nimport java.util.Arrays.\n ^\n1 error\nTEST FAILED!', '2022-07-31 08:29:06', '2022-07-31 08:29:06'), +(18, 1, 13, 1, 'openjdk 11.0.15 2022-04-19\nOpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1)\nOpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)\n35JUnit version 4.13.2\n.E\nTime: 0.008\nThere was 1 failure:\n1) myResultTest(admin_gmail_com.JUnitMyClassTest)\njava.lang.NoClassDefFoundError: admin_gmail_com/MyClass\n at admin_gmail_com.JUnitMyClassTest.myResultTest(JUnitMyClassTest.java:30)\n ... 34 trimmed\nCaused by: java.lang.ClassNotFoundException: admin_gmail_com.MyClass\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:581)\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:178)\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:522)\n ... 36 more\n\nFAILURES!!!\nTests run: 1, Failures: 1', '2022-08-03 05:30:42', '2022-08-03 05:30:42'), +(19, 1, 13, 1, 'openjdk 11.0.15 2022-04-19\nOpenJDK Runtime Environment (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1)\nOpenJDK 64-Bit Server VM (build 11.0.15+10-Ubuntu-0ubuntu0.18.04.1, mixed mode, sharing)\n35JUnit version 4.13.2\n.E\nTime: 0.007\nThere was 1 failure:\n1) myResultTest(admin_gmail_com.JUnitMyClassTest)\norg.junit.ComparisonFailure: MyClass Double Result expected:<35[.5]> but was:<35[]>\n at org.junit.Assert.assertEquals(Assert.java:117)\n at admin_gmail_com.JUnitMyClassTest.myResultTest(JUnitMyClassTest.java:31)\n\nFAILURES!!!\nTests run: 1, Failures: 1', '2022-08-03 05:30:43', '2022-08-03 05:30:43'), +(20, 37, 22, 1, 'java_files\\adminku_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\njava_files\\adminku_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\n2 errors\r\nTEST FAILED!', '2023-01-18 00:52:47', '2023-01-18 00:52:47'), +(21, 38, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHello, World!\r\nJUnit version 4.13.2\r\n.E\r\nTime: 0.017\r\nThere was 1 failure:\r\n1) isHelloWorld(test_gmail_com.JUnitHelloWorldTest)\r\norg.junit.ComparisonFailure: Is Hello World not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-18 00:54:58', '2023-01-18 00:54:58'), +(22, 38, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHello, World!\r\nJUnit version 4.13.2\r\n.E\r\nTime: 0.023\r\nThere was 1 failure:\r\n1) isHelloWorld(test_gmail_com.JUnitHelloWorldTest)\r\norg.junit.ComparisonFailure: Is Hello World not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-18 00:55:21', '2023-01-18 00:55:21'), +(23, 38, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHello, World!JUnit version 4.13.2\r\n.E\r\nTime: 0.019\r\nThere was 1 failure:\r\n1) isHelloWorld(test_gmail_com.JUnitHelloWorldTest)\r\norg.junit.ComparisonFailure: Is Hello World not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-18 00:55:30', '2023-01-18 00:55:30'), +(24, 37, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\neav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [adminku_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: adminku_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 06:58:13', '2023-01-23 06:58:13'), +(25, 37, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [adminku_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: adminku_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 06:59:00', '2023-01-23 06:59:00'), +(26, 39, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n30.5JUnit version 4.13.2\r\n.E\r\nTime: 0.006\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [irul_gmail_com.JUnitMyClasssTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: irul_gmail_com.JUnitMyClasssTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 07:03:28', '2023-01-23 07:03:28'), +(27, 39, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n30.5JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [irul_gmail_com.JUnitMyClasssTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: irul_gmail_com.JUnitMyClasssTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 07:05:49', '2023-01-23 07:05:49'), +(28, 39, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [irul_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: irul_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 07:11:59', '2023-01-23 07:11:59'), +(29, 39, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.006\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [irul_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: irul_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 07:12:56', '2023-01-23 07:12:56'), +(30, 39, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [irul_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: irul_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-23 07:13:36', '2023-01-23 07:13:36'), +(31, 40, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nhello world!JUnit version 4.13.2\r\n.E\r\nTime: 0.035\r\nThere was 1 failure:\r\n1) isHelloWorld(siskanyoba_gmail_com.JUnitHelloWorldTest)\r\norg.junit.ComparisonFailure: Is Hello World not same expected:<[Hello W]orld!> but was:<[hello w]orld!>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at siskanyoba_gmail_com.JUnitHelloWorldTest.isHelloWorld(JUnitHelloWorldTest.java:27)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-01-25 22:01:16', '2023-01-25 22:01:16'), +(32, 41, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n30.5JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [seli_gmail_com.JUnitMyClasssTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: seli_gmail_com.JUnitMyClasssTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-09 22:25:09', '2023-02-09 22:25:09'), +(33, 41, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n30.5JUnit version 4.13.2\r\n.E\r\nTime: 0.008\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [seli_gmail_com.JUnitMyClasssTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: seli_gmail_com.JUnitMyClasssTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-09 22:26:43', '2023-02-09 22:26:43'), +(34, 41, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [seli_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: seli_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-09 22:29:41', '2023-02-09 22:29:41'), +(35, 41, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [seli_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: seli_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-09 22:32:29', '2023-02-09 22:32:29'), +(36, 41, 22, 1, 'java_files\\seli_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\njava_files\\seli_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\n2 errors\r\nTEST FAILED!', '2023-02-09 22:35:00', '2023-02-09 22:35:00'), +(37, 41, 22, 1, 'java_files\\seli_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\njava_files\\seli_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\n2 errors\r\nTEST FAILED!', '2023-02-09 22:36:18', '2023-02-09 22:36:18'), +(38, 43, 13, 1, 'java_files\\riko_gmail_com\\MyClasss.java:3: error: class, interface, enum, or record expected\r\npackage junit;\r\n^\r\n1 error\r\nTEST FAILED!', '2023-02-09 22:40:12', '2023-02-09 22:40:12'), +(39, 43, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n30.5JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitMyClasssTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitMyClasssTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-09 22:40:29', '2023-02-09 22:40:29'), +(40, 43, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 18:53:56', '2023-02-13 18:53:56'), +(41, 43, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 18:55:37', '2023-02-13 18:55:37'), +(42, 43, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 18:58:25', '2023-02-13 18:58:25'), +(43, 43, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 18:58:33', '2023-02-13 18:58:33'), +(44, 43, 22, 1, 'java_files\\riko_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\njava_files\\riko_gmail_com\\OrderCase.java:44: error: unmappable character (0xA0) for encoding UTF-8\r\n ??}\r\n ^\r\n2 errors\r\nTEST FAILED!', '2023-02-13 19:01:35', '2023-02-13 19:01:35'), +(45, 43, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\neav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:07:12', '2023-02-13 19:07:12'), +(46, 43, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:07:29', '2023-02-13 19:07:29'), +(47, 43, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:07:35', '2023-02-13 19:07:35'), +(48, 43, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:08:51', '2023-02-13 19:08:51'), +(49, 43, 20, 1, 'java_files\\riko_gmail_com\\Password.java:11: error: \')\' expected\r\n System.out.print(password.compareTo(\"correcthorsebatterystaple\");\r\n ^\r\n1 error\r\nTEST FAILED!', '2023-02-13 19:17:56', '2023-02-13 19:17:56'), +(50, 43, 20, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ntrue0JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPasswordTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPasswordTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:18:15', '2023-02-13 19:18:15'), +(51, 43, 20, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n0trueJUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [riko_gmail_com.JUnitPasswordTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: riko_gmail_com.JUnitPasswordTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-13 19:19:39', '2023-02-13 19:19:39'), +(52, 45, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.004\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-17 22:25:40', '2023-02-17 22:25:40'); +INSERT INTO `code_error_logs` (`id`, `user_id`, `question_id`, `total_count`, `error_message`, `created_at`, `updated_at`) VALUES +(53, 45, 18, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitLuckyFiveTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitLuckyFiveTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-17 22:33:57', '2023-02-17 22:33:57'), +(54, 45, 20, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n0trueJUnit version 4.13.2\r\n.E\r\nTime: 0.007\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitPasswordTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitPasswordTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-17 22:39:37', '2023-02-17 22:39:37'), +(55, 45, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'nsJUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:18:39', '2023-02-18 00:18:39'), +(56, 45, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'nsJUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:20:56', '2023-02-18 00:20:56'), +(57, 45, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'nsJUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [gaga_gmail_com.JUnitPoetryTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: gaga_gmail_com.JUnitPoetryTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:22:40', '2023-02-18 00:22:40'), +(58, 46, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!\r\nJUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitOrderTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitOrderTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:28:29', '2023-02-18 00:28:29'), +(59, 46, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!\r\nJUnit version 4.13.2\r\n.E\r\nTime: 0.024\r\nThere was 1 failure:\r\n1) myResultTest(testing_gmail_com.JUnitOrderTest)\r\njava.lang.NoClassDefFoundError: testing_gmail_com/Order\r\n at testing_gmail_com.JUnitOrderTest.myResultTest(JUnitOrderTest.java:29)\r\n ... 32 trimmed\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.Order\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n ... 34 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:37:56', '2023-02-18 00:37:56'), +(60, 46, 16, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!\r\nJUnit version 4.13.2\r\n.E\r\nTime: 0.025\r\nThere was 1 failure:\r\n1) myResultTest(testing_gmail_com.JUnitOrderTest)\r\norg.junit.ComparisonFailure: itemCost Condition not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at testing_gmail_com.JUnitOrderTest.myResultTest(JUnitOrderTest.java:30)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 00:39:14', '2023-02-18 00:39:14'), +(61, 46, 15, 1, 'java_files\\testing_gmail_com\\NewsFeed.java:15: error: cannot find symbol\r\n String topicArray = Arrays.toString(topics);\r\n ^\r\n symbol: variable Arrays\r\n location: class NewsFeed\r\n1 error\r\nTEST FAILED!', '2023-02-18 01:01:00', '2023-02-18 01:01:00'), +(62, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:01:59', '2023-02-18 01:01:59'), +(63, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:02:26', '2023-02-18 01:02:26'), +(64, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:02:40', '2023-02-18 01:02:40'), +(65, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:02:50', '2023-02-18 01:02:50'), +(66, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:04:21', '2023-02-18 01:04:21'), +(67, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:06:01', '2023-02-18 01:06:01'), +(68, 46, 15, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitNewsFeedTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitNewsFeedTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:06:39', '2023-02-18 01:06:39'), +(69, 46, 17, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.E\r\nTime: 0.002\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [testing_gmail_com.JUnitLuckyFiveSecondTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: testing_gmail_com.JUnitLuckyFiveSecondTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-02-18 01:10:00', '2023-02-18 01:10:00'), +(70, 47, 15, 1, 'java_files\\lisa_gmail_com\\NewsFeed.java:14: error: cannot find symbol\r\n String topicArray = Arrays.toString(topics);\r\n ^\r\n symbol: variable Arrays\r\n location: class NewsFeed\r\n1 error\r\nTEST FAILED!', '2023-02-19 21:10:13', '2023-02-19 21:10:13'), +(71, 47, 17, 1, 'java_files\\lisa_gmail_com\\LuckyFiveSecond.java:15: error: \')\' expected\r\n luck.loop(isikan dengan angka);\r\n ^\r\njava_files\\lisa_gmail_com\\LuckyFiveSecond.java:15: error: \';\' expected\r\n luck.loop(isikan dengan angka);\r\n ^\r\n2 errors\r\nTEST FAILED!', '2023-02-19 21:22:56', '2023-02-19 21:22:56'), +(72, 48, 13, 1, 'java_files\\rika_gmail_com\\MyClass.java:3: error: class, interface, enum, or record expected\r\npackage junit;\r\n^\r\n1 error\r\nTEST FAILED!', '2023-03-06 05:21:10', '2023-03-06 05:21:10'), +(73, 48, 18, 1, 'java_files\\rika_gmail_com\\LuckyFive.java:13: error: cannot find symbol\r\n luck.loop(6);\r\n ^\r\n symbol: variable luck\r\n location: class LuckyFive\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:22:47', '2023-03-06 06:22:47'), +(74, 48, 18, 1, 'java_files\\rika_gmail_com\\LuckyFive.java:12: error: \';\' expected\r\n classs LuckyFive\r\n ^\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:23:03', '2023-03-06 06:23:03'), +(75, 48, 18, 1, 'java_files\\rika_gmail_com\\LuckyFive.java:12: error: \';\' expected\r\n classs LuckyFive\r\n ^\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:23:26', '2023-03-06 06:23:26'), +(76, 48, 20, 1, 'java_files\\rika_gmail_com\\Password.java:16: error: expected\r\n System.out.print(pass. //equals);\r\n ^\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:26:04', '2023-03-06 06:26:04'), +(77, 48, 20, 1, 'java_files\\rika_gmail_com\\Password.java:16: error: expected\r\n System.out.print(pass. //equals);\r\n ^\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:26:22', '2023-03-06 06:26:22'), +(78, 48, 21, 1, 'java_files\\rika_gmail_com\\Poetry.java:15: error: no suitable method found for substring(no arguments)\r\n System.out.print(line.substring());\r\n ^\r\n method String.substring(int) is not applicable\r\n (actual and formal argument lists differ in length)\r\n method String.substring(int,int) is not applicable\r\n (actual and formal argument lists differ in length)\r\n1 error\r\nTEST FAILED!', '2023-03-06 06:42:51', '2023-03-06 06:42:51'), +(79, 48, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n Heav\'nJUnit version 4.13.2\r\n.E\r\nTime: 0.027\r\nThere was 1 failure:\r\n1) isPoetry(rika_gmail_com.JUnitPoetryTest)\r\norg.junit.ComparisonFailure: Poetry not same expected:<[Heav\'ns]> but was:<[ Heav\'n]>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at rika_gmail_com.JUnitPoetryTest.isPoetry(JUnitPoetryTest.java:29)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-03-06 06:43:15', '2023-03-06 06:43:15'), +(80, 48, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ne Heav\'nsJUnit version 4.13.2\r\n.E\r\nTime: 0.015\r\nThere was 1 failure:\r\n1) isPoetry(rika_gmail_com.JUnitPoetryTest)\r\norg.junit.ComparisonFailure: Poetry not same expected:<[]Heav\'ns> but was:<[e ]Heav\'ns>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at rika_gmail_com.JUnitPoetryTest.isPoetry(JUnitPoetryTest.java:29)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-03-06 06:43:53', '2023-03-06 06:43:53'), +(81, 48, 21, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHeav\'ns JUnit version 4.13.2\r\n.E\r\nTime: 0.016\r\nThere was 1 failure:\r\n1) isPoetry(rika_gmail_com.JUnitPoetryTest)\r\norg.junit.ComparisonFailure: Poetry not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at rika_gmail_com.JUnitPoetryTest.isPoetry(JUnitPoetryTest.java:29)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-03-06 06:44:25', '2023-03-06 06:44:25'), +(82, 50, 23, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nShipping cost: 7.0JUnit version 4.13.2\r\n.E\r\nTime: 0.042\r\nThere was 1 failure:\r\n1) myOrderCaseResult(test0903_gmail_com.JUnitOrderNestTest)\r\norg.junit.ComparisonFailure: ShippingCost not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0903_gmail_com.JUnitOrderNestTest.myOrderCaseResult(JUnitOrderNestTest.java:28)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-03-09 21:42:13', '2023-03-09 21:42:13'), +(83, 50, 23, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nShipping cost: 7.0JUnit version 4.13.2\r\n.E\r\nTime: 0.044\r\nThere was 1 failure:\r\n1) myOrderCaseResult(test0903_gmail_com.JUnitOrderNestTest)\r\norg.junit.ComparisonFailure: ShippingCost not same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0903_gmail_com.JUnitOrderNestTest.myOrderCaseResult(JUnitOrderNestTest.java:28)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', '2023-03-09 21:42:48', '2023-03-09 21:42:48'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `code_history_logs` +-- + +CREATE TABLE `code_history_logs` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `total_count` int NOT NULL, + `message` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `is_error` int NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `code_history_logs` +-- + +INSERT INTO `code_history_logs` (`id`, `user_id`, `question_id`, `total_count`, `message`, `is_error`, `created_at`, `updated_at`) VALUES +(1, 2, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2023-06-01 18:47:05', '2023-06-01 18:47:05'), +(2, 2, 2, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2023-06-01 19:32:08', '2023-06-01 19:32:08'), +(3, 2, 3, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.E\r\nTime: 0.012\r\nThere was 1 failure:\r\n1) initializationError(test0106_gmail_com.JUnitOrderTest)\r\norg.junit.runners.model.InvalidTestClassError: Invalid test class \'test0106_gmail_com.JUnitOrderTest\':\n 1. No runnable methods\r\n at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)\r\n at org.junit.runners.ParentRunner.(ParentRunner.java:102)\r\n at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:84)\r\n at org.junit.runners.JUnit4.(JUnit4.java:23)\r\n at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)\r\n at org.junit.runner.Computer.getRunner(Computer.java:50)\r\n at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111)\r\n at org.junit.runners.Suite.(Suite.java:81)\r\n at org.junit.runner.Computer$2.(Computer.java:33)\r\n at org.junit.runner.Computer.getSuite(Computer.java:28)\r\n at org.junit.runner.Request.classes(Request.java:77)\r\n at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-01 19:44:07', '2023-06-01 19:44:07'), +(4, 2, 3, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2023-06-01 19:44:48', '2023-06-01 19:44:48'), +(5, 2, 4, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.E\r\nTime: 0.009\r\nThere was 1 failure:\r\n1) initializationError(test0106_gmail_com.JUnitOrderCaseTest)\r\norg.junit.runners.model.InvalidTestClassError: Invalid test class \'test0106_gmail_com.JUnitOrderCaseTest\':\n 1. No runnable methods\r\n at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)\r\n at org.junit.runners.ParentRunner.(ParentRunner.java:102)\r\n at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:84)\r\n at org.junit.runners.JUnit4.(JUnit4.java:23)\r\n at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)\r\n at org.junit.runner.Computer.getRunner(Computer.java:50)\r\n at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111)\r\n at org.junit.runners.Suite.(Suite.java:81)\r\n at org.junit.runner.Computer$2.(Computer.java:33)\r\n at org.junit.runner.Computer.getSuite(Computer.java:28)\r\n at org.junit.runner.Request.classes(Request.java:77)\r\n at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-01 20:43:59', '2023-06-01 20:43:59'), +(6, 2, 4, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2023-06-01 20:46:37', '2023-06-01 20:46:37'), +(7, 2, 5, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [test0106_gmail_com.JUnitBookStoreTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: test0106_gmail_com.JUnitBookStoreTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-03 05:15:24', '2023-06-03 05:15:24'), +(8, 2, 5, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2023-06-03 05:18:32', '2023-06-03 05:18:32'), +(9, 2, 5, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2023-06-03 05:54:43', '2023-06-03 05:54:43'), +(10, 2, 4, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2023-06-03 05:58:17', '2023-06-03 05:58:17'), +(11, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.E\r\nTime: 0.009\r\nThere was 1 failure:\r\n1) initializationError(test0106_gmail_com.JUnitLuckyFiveTest)\r\norg.junit.runners.model.InvalidTestClassError: Invalid test class \'test0106_gmail_com.JUnitLuckyFiveTest\':\n 1. No runnable methods\r\n at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)\r\n at org.junit.runners.ParentRunner.(ParentRunner.java:102)\r\n at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:84)\r\n at org.junit.runners.JUnit4.(JUnit4.java:23)\r\n at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)\r\n at org.junit.runner.Computer.getRunner(Computer.java:50)\r\n at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111)\r\n at org.junit.runners.Suite.(Suite.java:81)\r\n at org.junit.runner.Computer$2.(Computer.java:33)\r\n at org.junit.runner.Computer.getSuite(Computer.java:28)\r\n at org.junit.runner.Request.classes(Request.java:77)\r\n at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-03 06:10:57', '2023-06-03 06:10:57'), +(12, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2023-06-03 06:11:30', '2023-06-03 06:11:30'), +(13, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2023-06-03 06:26:19', '2023-06-03 06:26:19'), +(14, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2023-06-03 06:34:31', '2023-06-03 06:34:31'), +(15, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2023-06-03 06:39:19', '2023-06-03 06:39:19'), +(16, 2, 6, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2023-06-03 06:40:22', '2023-06-03 06:40:22'), +(17, 2, 7, 1, 'java_files\\test0106_gmail_com\\LuckyFiveSecond.java:6: error: \';\' expected\r\n int number 6;\r\n ^\r\n1 error\r\nTEST FAILED!', 1, '2023-06-04 06:26:14', '2023-06-04 06:26:14'), +(18, 2, 7, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2023-06-04 06:26:46', '2023-06-04 06:26:46'), +(19, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonnaci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [test0106_gmail_com.JUnitFibonacciTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: test0106_gmail_com.JUnitFibonacciTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:29:11', '2023-06-04 06:29:11'), +(20, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonnaci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.E\r\nTime: 0.005\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [test0106_gmail_com.JUnitFibonacciTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: test0106_gmail_com.JUnitFibonacciTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:34:29', '2023-06-04 06:34:29'), +(21, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonnaci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [test0106_gmail_com.JUnitFibonacciTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: test0106_gmail_com.JUnitFibonacciTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:34:37', '2023-06-04 06:34:37'), +(22, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonnaci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.E\r\nTime: 0.009\r\nThere was 1 failure:\r\n1) initializationError(test0106_gmail_com.JUnitFibonacciTest)\r\norg.junit.runners.model.InvalidTestClassError: Invalid test class \'test0106_gmail_com.JUnitFibonacciTest\':\n 1. No runnable methods\r\n at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)\r\n at org.junit.runners.ParentRunner.(ParentRunner.java:102)\r\n at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:84)\r\n at org.junit.runners.JUnit4.(JUnit4.java:23)\r\n at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)\r\n at org.junit.runner.Computer.getRunner(Computer.java:50)\r\n at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111)\r\n at org.junit.runners.Suite.(Suite.java:81)\r\n at org.junit.runner.Computer$2.(Computer.java:33)\r\n at org.junit.runner.Computer.getSuite(Computer.java:28)\r\n at org.junit.runner.Request.classes(Request.java:77)\r\n at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:35:26', '2023-06-04 06:35:26'), +(23, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonnaci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.E\r\nTime: 0.035\r\nThere was 1 failure:\r\n1) isFibonnaci(test0106_gmail_com.JUnitFibonacciTest)\r\norg.junit.ComparisonFailure: Output not the same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0106_gmail_com.JUnitFibonacciTest.isFibonnaci(JUnitFibonacciTest.java:30)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:47:46', '2023-06-04 06:47:46'), +(24, 2, 8, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.034\r\n\r\nOK (1 test)', 0, '2023-06-04 06:48:17', '2023-06-04 06:48:17'), +(25, 2, 9, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2023-06-04 06:57:40', '2023-06-04 06:57:40'), +(26, 2, 10, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.E\r\nTime: 0.006\r\nThere was 1 failure:\r\n1) initializationError(test0106_gmail_com.JUnitNewsFeedTest)\r\norg.junit.runners.model.InvalidTestClassError: Invalid test class \'test0106_gmail_com.JUnitNewsFeedTest\':\n 1. No runnable methods\r\n at org.junit.runners.ParentRunner.validate(ParentRunner.java:525)\r\n at org.junit.runners.ParentRunner.(ParentRunner.java:102)\r\n at org.junit.runners.BlockJUnit4ClassRunner.(BlockJUnit4ClassRunner.java:84)\r\n at org.junit.runners.JUnit4.(JUnit4.java:23)\r\n at org.junit.internal.builders.JUnit4Builder.runnerForClass(JUnit4Builder.java:10)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.internal.builders.AllDefaultPossibilitiesBuilder.runnerForClass(AllDefaultPossibilitiesBuilder.java:37)\r\n at org.junit.runner.Computer.getRunner(Computer.java:50)\r\n at org.junit.runner.Computer$1.runnerForClass(Computer.java:31)\r\n at org.junit.runners.model.RunnerBuilder.safeRunnerForClass(RunnerBuilder.java:70)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:125)\r\n at org.junit.runners.model.RunnerBuilder.runners(RunnerBuilder.java:111)\r\n at org.junit.runners.Suite.(Suite.java:81)\r\n at org.junit.runner.Computer$2.(Computer.java:33)\r\n at org.junit.runner.Computer.getSuite(Computer.java:28)\r\n at org.junit.runner.Request.classes(Request.java:77)\r\n at org.junit.runner.JUnitCommandLineParseResult.createRequest(JUnitCommandLineParseResult.java:116)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:77)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 06:59:49', '2023-06-04 06:59:49'), +(27, 2, 10, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2023-06-04 07:00:33', '2023-06-04 07:00:33'), +(28, 2, 11, 1, 'java_files\\test0106_gmail_com\\Average.java:10: error: illegal start of expression\r\n for([isi iterasi]) {\r\n ^\r\njava_files\\test0106_gmail_com\\Average.java:10: error: \';\' expected\r\n for([isi iterasi]) {\r\n ^\r\n2 errors\r\nTEST FAILED!', 1, '2023-06-04 07:02:57', '2023-06-04 07:02:57'), +(29, 2, 11, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2023-06-04 07:03:19', '2023-06-04 07:03:19'), +(30, 2, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.E\r\nTime: 0.003\r\nThere was 1 failure:\r\n1) initializationError(org.junit.runner.JUnitCommandLineParseResult)\r\njava.lang.IllegalArgumentException: Could not find class [test0106_gmail_com.JUnitLingkaranTest]\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:100)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseArgs(JUnitCommandLineParseResult.java:50)\r\n at org.junit.runner.JUnitCommandLineParseResult.parse(JUnitCommandLineParseResult.java:44)\r\n at org.junit.runner.JUnitCore.runMain(JUnitCore.java:72)\r\n at org.junit.runner.JUnitCore.main(JUnitCore.java:36)\r\nCaused by: java.lang.ClassNotFoundException: test0106_gmail_com.JUnitLingkaranTest\r\n at java.base/jdk.internal.loader.BuiltinClassLoader.loadClass(BuiltinClassLoader.java:641)\r\n at java.base/jdk.internal.loader.ClassLoaders$AppClassLoader.loadClass(ClassLoaders.java:188)\r\n at java.base/java.lang.ClassLoader.loadClass(ClassLoader.java:521)\r\n at java.base/java.lang.Class.forName0(Native Method)\r\n at java.base/java.lang.Class.forName(Class.java:488)\r\n at java.base/java.lang.Class.forName(Class.java:467)\r\n at org.junit.internal.Classes.getClass(Classes.java:42)\r\n at org.junit.internal.Classes.getClass(Classes.java:27)\r\n at org.junit.runner.JUnitCommandLineParseResult.parseParameters(JUnitCommandLineParseResult.java:98)\r\n ... 4 more\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 07:11:39', '2023-06-04 07:11:39'), +(31, 2, 12, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2023-06-04 07:14:44', '2023-06-04 07:14:44'), +(32, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2023-06-04 07:17:58', '2023-06-04 07:17:58'), +(33, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1402551.7307JUnit version 4.13.2\r\n.E\r\nTime: 0.028\r\nThere was 1 failure:\r\n1) isLingkaran(test0106_gmail_com.JUnitBankTest)\r\norg.junit.ComparisonFailure: Output not same expected:<...g setelah 5 tahun: 1[338225.5776]> but was:<...g setelah 5 tahun: 1[402551.7307]>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0106_gmail_com.JUnitBankTest.isLingkaran(JUnitBankTest.java:34)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-06-04 07:18:54', '2023-06-04 07:18:54'), +(34, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.035\r\n\r\nOK (1 test)', 0, '2023-06-04 07:19:18', '2023-06-04 07:19:18'), +(35, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.029\r\n\r\nOK (1 test)', 0, '2023-06-04 07:24:36', '2023-06-04 07:24:36'), +(36, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2023-06-04 07:27:12', '2023-06-04 07:27:12'), +(37, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.046\r\n\r\nOK (1 test)', 0, '2023-06-04 07:28:45', '2023-06-04 07:28:45'), +(38, 2, 13, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2023-06-04 07:29:25', '2023-06-04 07:29:25'), +(39, 2, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2023-06-05 07:24:20', '2023-06-05 07:24:20'), +(40, 2, 10, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.035\r\n\r\nOK (1 test)', 0, '2023-06-06 06:11:33', '2023-06-06 06:11:33'), +(41, 3, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2023-06-07 07:34:30', '2023-06-07 07:34:30'), +(42, 3, 2, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2023-07-06 19:30:30', '2023-07-06 19:30:30'), +(43, 3, 2, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nSelamat anda lulu!JUnit version 4.13.2\r\n.E\r\nTime: 0.029\r\nThere was 1 failure:\r\n1) isAngka(test0706_gmail_com.JUnitAngkaTest)\r\norg.junit.ComparisonFailure: Output not the same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0706_gmail_com.JUnitAngkaTest.isAngka(JUnitAngkaTest.java:31)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-07-06 19:30:41', '2023-07-06 19:30:41'), +(44, 3, 2, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2023-07-06 19:31:54', '2023-07-06 19:31:54'), +(45, 4, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2023-07-06 20:15:52', '2023-07-06 20:15:52'), +(46, 4, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 272JUnit version 4.13.2\r\n.E\r\nTime: 0.019\r\nThere was 1 failure:\r\n1) isTipeData(test0707_gmail_com.JUnitTipeDataTest)\r\norg.junit.ComparisonFailure: Output not the same expected:<...s permukaan balok = [344]> but was:<...s permukaan balok = [272]>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0707_gmail_com.JUnitTipeDataTest.isTipeData(JUnitTipeDataTest.java:31)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-07-06 20:19:05', '2023-07-06 20:19:05'), +(47, 4, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 272JUnit version 4.13.2\r\n.E\r\nTime: 0.019\r\nThere was 1 failure:\r\n1) isTipeData(test0707_gmail_com.JUnitTipeDataTest)\r\norg.junit.ComparisonFailure: Output not the same expected:<...s permukaan balok = [344]> but was:<...s permukaan balok = [272]>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at test0707_gmail_com.JUnitTipeDataTest.isTipeData(JUnitTipeDataTest.java:31)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2023-07-06 20:22:24', '2023-07-06 20:22:24'), +(48, 4, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2023-07-06 20:22:56', '2023-07-06 20:22:56'), +(49, 2, 5, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.04\r\n\r\nOK (1 test)', 0, '2023-08-12 21:17:07', '2023-08-12 21:17:07'), +(50, 2, 1, 1, 'java 18 2022-03-22\r\nJava(TM) SE Runtime Environment (build 18+36-2087)\r\nJava HotSpot(TM) 64-Bit Server VM (build 18+36-2087, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2023-11-25 00:42:42', '2023-11-25 00:42:42'), +(51, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:54:49', '2023-12-26 19:54:49'), +(52, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:54:51', '2023-12-26 19:54:51'), +(53, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:54:59', '2023-12-26 19:54:59'), +(54, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:54:59', '2023-12-26 19:54:59'), +(55, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:56:24', '2023-12-26 19:56:24'), +(56, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 19:58:39', '2023-12-26 19:58:39'), +(57, 6, 1, 1, 'java_files\\rossaakmalia66_gmail_com\\TipeData.java:11: error: unmappable character (0x93) for encoding UTF-8\r\n // volume balok ?panjang * lebar * tinggi?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:11: error: unmappable character (0x94) for encoding UTF-8\r\n // volume balok ?panjang * lebar * tinggi?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:14: error: unmappable character (0x93) for encoding UTF-8\r\n // Luas permukaan balok ?2*(panjang * lebar + panjang * tinggi + lebar * tinggi)?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:14: error: unmappable character (0x94) for encoding UTF-8\r\n // Luas permukaan balok ?2*(panjang * lebar + panjang * tinggi + lebar * tinggi)?\r\n ^\r\n4 errors\r\nTEST FAILED!', 1, '2023-12-26 20:02:28', '2023-12-26 20:02:28'), +(58, 6, 1, 1, 'java_files\\rossaakmalia66_gmail_com\\TipeData.java:11: error: unmappable character (0x93) for encoding UTF-8\r\n // volume balok ?panjang * lebar * tinggi?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:11: error: unmappable character (0x94) for encoding UTF-8\r\n // volume balok ?panjang * lebar * tinggi?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:14: error: unmappable character (0x93) for encoding UTF-8\r\n // Luas permukaan balok ?2*(panjang * lebar + panjang * tinggi + lebar * tinggi)?\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:14: error: unmappable character (0x94) for encoding UTF-8\r\n // Luas permukaan balok ?2*(panjang * lebar + panjang * tinggi + lebar * tinggi)?\r\n ^\r\n4 errors\r\nTEST FAILED!', 1, '2023-12-26 20:02:29', '2023-12-26 20:02:29'), +(59, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 20:02:54', '2023-12-26 20:02:54'), +(60, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 20:03:46', '2023-12-26 20:03:46'), +(61, 6, 1, 1, 'java_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: unmappable character (0x85) for encoding UTF-8\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:12: error: unmappable character (0x85) for encoding UTF-8\r\n vBalok = ??;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:12: error: unmappable character (0x85) for encoding UTF-8\r\n vBalok = ??;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:15: error: unmappable character (0x85) for encoding UTF-8\r\n lBalok = ?..;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:15: error: illegal \'.\'\r\n lBalok = ?..;\r\n ^\r\n14 errors\r\nTEST FAILED!', 1, '2023-12-26 20:04:05', '2023-12-26 20:04:05'), +(62, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2023-12-26 20:04:55', '2023-12-26 20:04:55'), +(63, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 20:17:40', '2024-01-22 20:17:40'), +(64, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 20:22:47', '2024-01-22 20:22:47'), +(65, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 20:22:50', '2024-01-22 20:22:50'), +(66, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 20:24:13', '2024-01-22 20:24:13'), +(67, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 20:58:02', '2024-01-22 20:58:02'), +(68, 6, 1, 1, 'Error: Could not find or load main class rossaakmalia66_gmail_com.TipeData\nCaused by: java.lang.ClassNotFoundException: rossaakmalia66_gmail_com.TipeData\r\nnull', 1, '2024-01-22 21:02:28', '2024-01-22 21:02:28'), +(69, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 1080, Luas permukaan balok = 654JUnit version 4.13.2\r\n.E\r\nTime: 0.015\r\nThere was 1 failure:\r\n1) isTipeData(rossaakmalia66_gmail_com.JUnitTipeDataTest)\r\norg.junit.ComparisonFailure: Output not the same expected: but was:\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at rossaakmalia66_gmail_com.JUnitTipeDataTest.isTipeData(JUnitTipeDataTest.java:31)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2024-01-22 21:56:38', '2024-01-22 21:56:38'), +(70, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-01-22 21:58:57', '2024-01-22 21:58:57'), +(71, 6, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.005\r\n\r\nOK (1 test)', 0, '2024-01-22 22:49:11', '2024-01-22 22:49:11'), +(72, 6, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-01-30 21:57:30', '2024-01-30 21:57:30'), +(73, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-02-02 04:11:42', '2024-02-02 04:11:42'), +(74, 6, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-02-26 20:22:40', '2024-02-26 20:22:40'), +(75, 6, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2024-02-26 20:25:44', '2024-02-26 20:25:44'), +(76, 6, 1, 1, 'java_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: unmappable character (0x85) for encoding UTF-8\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: \';\' expected\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\njava_files\\rossaakmalia66_gmail_com\\TipeData.java:5: error: not a statement\r\n ? panjang, lebar, tinggi, vBalok, lBalok;\r\n ^\r\n10 errors\r\nTEST FAILED!', 1, '2024-02-26 23:47:35', '2024-02-26 23:47:35'), +(77, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-02-26 23:47:54', '2024-02-26 23:47:54'), +(78, 6, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-02 01:58:57', '2024-03-02 01:58:57'), +(79, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-03 05:07:39', '2024-03-03 05:07:39'), +(80, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-03 05:07:40', '2024-03-03 05:07:40'), +(81, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-03 10:06:30', '2024-03-03 10:06:30'), +(82, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-03 10:10:54', '2024-03-03 10:10:54'), +(83, 6, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-03 10:12:37', '2024-03-03 10:12:37'), +(84, 6, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-03 10:31:38', '2024-03-03 10:31:38'), +(85, 6, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-03-05 20:52:20', '2024-03-05 20:52:20'), +(86, 7, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-08 07:49:22', '2024-03-08 07:49:22'), +(87, 7, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-08 08:18:20', '2024-03-08 08:18:20'), +(88, 7, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-08 08:29:01', '2024-03-08 08:29:01'), +(89, 7, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-08 08:32:41', '2024-03-08 08:32:41'), +(90, 7, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-08 08:36:27', '2024-03-08 08:36:27'), +(91, 7, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-08 08:39:04', '2024-03-08 08:39:04'); +INSERT INTO `code_history_logs` (`id`, `user_id`, `question_id`, `total_count`, `message`, `is_error`, `created_at`, `updated_at`) VALUES +(92, 7, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.027\r\n\r\nOK (1 test)', 0, '2024-03-08 09:12:06', '2024-03-08 09:12:06'), +(93, 9, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.034\r\n\r\nOK (1 test)', 0, '2024-03-11 05:00:23', '2024-03-11 05:00:23'), +(94, 9, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-11 05:03:36', '2024-03-11 05:03:36'), +(95, 9, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-03-11 05:07:03', '2024-03-11 05:07:03'), +(96, 9, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-03-11 05:09:42', '2024-03-11 05:09:42'), +(97, 9, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-03-11 05:12:49', '2024-03-11 05:12:49'), +(98, 7, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.026\r\n\r\nOK (1 test)', 0, '2024-03-11 05:18:25', '2024-03-11 05:18:25'), +(99, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2024-03-11 08:28:57', '2024-03-11 08:28:57'), +(100, 10, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-11 08:36:22', '2024-03-11 08:36:22'), +(101, 10, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-11 08:40:05', '2024-03-11 08:40:05'), +(102, 10, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-11 08:43:37', '2024-03-11 08:43:37'), +(103, 10, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-11 08:46:27', '2024-03-11 08:46:27'), +(104, 11, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-11 08:55:54', '2024-03-11 08:55:54'), +(105, 11, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-11 08:57:14', '2024-03-11 08:57:14'), +(106, 11, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-11 08:58:41', '2024-03-11 08:58:41'), +(107, 11, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-11 09:00:01', '2024-03-11 09:00:01'), +(108, 11, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-11 09:01:34', '2024-03-11 09:01:34'), +(109, 12, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-03-11 09:10:15', '2024-03-11 09:10:15'), +(110, 12, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.026\r\n\r\nOK (1 test)', 0, '2024-03-11 09:11:41', '2024-03-11 09:11:41'), +(111, 12, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-11 09:13:05', '2024-03-11 09:13:05'), +(112, 12, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-11 09:16:11', '2024-03-11 09:16:11'), +(113, 12, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-11 09:17:21', '2024-03-11 09:17:21'), +(114, 13, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-11 09:21:12', '2024-03-11 09:21:12'), +(115, 13, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-11 09:23:09', '2024-03-11 09:23:09'), +(116, 13, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-11 09:24:56', '2024-03-11 09:24:56'), +(117, 13, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-03-11 09:28:02', '2024-03-11 09:28:02'), +(118, 13, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-03-11 09:30:21', '2024-03-11 09:30:21'), +(119, 14, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-11 09:40:20', '2024-03-11 09:40:20'), +(120, 14, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-11 09:42:18', '2024-03-11 09:42:18'), +(121, 14, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-11 09:43:38', '2024-03-11 09:43:38'), +(122, 14, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-11 09:45:15', '2024-03-11 09:45:15'), +(123, 14, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-11 09:47:08', '2024-03-11 09:47:08'), +(124, 15, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-03-11 09:55:21', '2024-03-11 09:55:21'), +(125, 15, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-11 09:56:47', '2024-03-11 09:56:47'), +(126, 15, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-11 09:59:33', '2024-03-11 09:59:33'), +(127, 15, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-03-11 10:00:17', '2024-03-11 10:00:17'), +(128, 15, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-11 10:01:56', '2024-03-11 10:01:56'), +(129, 16, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-03-11 10:14:24', '2024-03-11 10:14:24'), +(130, 16, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-11 10:15:50', '2024-03-11 10:15:50'), +(131, 16, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-11 10:17:25', '2024-03-11 10:17:25'), +(132, 16, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-11 10:18:44', '2024-03-11 10:18:44'), +(133, 16, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-11 10:20:04', '2024-03-11 10:20:04'), +(134, 17, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-11 10:23:34', '2024-03-11 10:23:34'), +(135, 17, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-11 10:25:12', '2024-03-11 10:25:12'), +(136, 17, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-11 10:26:25', '2024-03-11 10:26:25'), +(137, 17, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-11 10:27:37', '2024-03-11 10:27:37'), +(138, 17, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-11 10:30:03', '2024-03-11 10:30:03'), +(139, 10, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-03-24 00:13:52', '2024-03-24 00:13:52'), +(140, 10, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-24 00:16:46', '2024-03-24 00:16:46'), +(141, 10, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.026\r\n\r\nOK (1 test)', 0, '2024-03-24 00:19:42', '2024-03-24 00:19:42'), +(142, 10, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 21 JUnit version 4.13.2\r\n.E\r\nTime: 0.027\r\nThere was 1 failure:\r\n1) isFibonnaci(lower_gmail_com.JUnitFibonacciTest)\r\norg.junit.ComparisonFailure: Output not the same expected:<...: \n0 1 1 2 3 5 8 13 []> but was:<...: \n0 1 1 2 3 5 8 13 [21 ]>\r\n at org.junit.Assert.assertEquals(Assert.java:117)\r\n at lower_gmail_com.JUnitFibonacciTest.isFibonnaci(JUnitFibonacciTest.java:30)\r\n\r\nFAILURES!!!\r\nTests run: 1, Failures: 1', 1, '2024-03-24 00:21:56', '2024-03-24 00:21:56'), +(143, 10, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-03-24 00:22:11', '2024-03-24 00:22:11'), +(144, 10, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-24 00:23:34', '2024-03-24 00:23:34'), +(145, 10, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-03-24 00:23:39', '2024-03-24 00:23:39'), +(146, 10, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-24 00:23:39', '2024-03-24 00:23:39'), +(147, 10, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-03-24 00:26:31', '2024-03-24 00:26:31'), +(148, 10, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 00:30:51', '2024-03-24 00:30:51'), +(149, 10, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-03-24 00:33:59', '2024-03-24 00:33:59'), +(150, 10, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.027\r\n\r\nOK (1 test)', 0, '2024-03-24 00:38:13', '2024-03-24 00:38:13'), +(151, 19, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-03-24 00:53:27', '2024-03-24 00:53:27'), +(152, 19, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 00:55:03', '2024-03-24 00:55:03'), +(153, 19, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-03-24 00:56:27', '2024-03-24 00:56:27'), +(154, 19, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2024-03-24 00:57:49', '2024-03-24 00:57:49'), +(155, 19, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2024-03-24 00:59:09', '2024-03-24 00:59:09'), +(156, 19, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-24 01:01:20', '2024-03-24 01:01:20'), +(157, 19, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-24 01:03:06', '2024-03-24 01:03:06'), +(158, 19, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-03-24 01:04:29', '2024-03-24 01:04:29'), +(159, 19, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-24 01:05:49', '2024-03-24 01:05:49'), +(160, 19, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-03-24 01:07:13', '2024-03-24 01:07:13'), +(161, 19, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 01:09:32', '2024-03-24 01:09:32'), +(162, 19, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.039\r\n\r\nOK (1 test)', 0, '2024-03-24 01:11:01', '2024-03-24 01:11:01'), +(163, 19, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.044\r\n\r\nOK (1 test)', 0, '2024-03-24 01:13:01', '2024-03-24 01:13:01'), +(164, 12, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-03-24 01:16:08', '2024-03-24 01:16:08'), +(165, 12, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-24 01:18:08', '2024-03-24 01:18:08'), +(166, 12, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-03-24 01:20:24', '2024-03-24 01:20:24'), +(167, 12, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-24 01:21:08', '2024-03-24 01:21:08'), +(168, 12, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.035\r\n\r\nOK (1 test)', 0, '2024-03-24 01:22:00', '2024-03-24 01:22:00'), +(169, 12, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-03-24 01:23:28', '2024-03-24 01:23:28'), +(170, 12, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-03-24 01:24:49', '2024-03-24 01:24:49'), +(171, 12, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 01:26:18', '2024-03-24 01:26:18'), +(172, 12, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-03-24 01:27:46', '2024-03-24 01:27:46'), +(173, 12, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-03-24 01:29:18', '2024-03-24 01:29:18'), +(174, 13, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-03-24 01:32:01', '2024-03-24 01:32:01'), +(175, 13, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-03-24 01:33:35', '2024-03-24 01:33:35'), +(176, 13, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-03-24 01:34:54', '2024-03-24 01:34:54'), +(177, 13, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 01:36:11', '2024-03-24 01:36:11'), +(178, 13, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-24 01:37:54', '2024-03-24 01:37:54'), +(179, 13, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-24 01:39:10', '2024-03-24 01:39:10'), +(180, 13, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-03-24 01:40:12', '2024-03-24 01:40:12'), +(181, 13, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-03-24 01:41:13', '2024-03-24 01:41:13'), +(182, 21, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-24 02:56:00', '2024-03-24 02:56:00'), +(183, 21, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-03-24 02:56:03', '2024-03-24 02:56:03'), +(184, 21, 2, 1, 'java_files\\kuncijawaban4_gmail_com\\Angka.java:8: error: unmappable character (0x85) for encoding UTF-8\r\n System.out.print(\"?\");\r\n ^\r\n1 error\r\nTEST FAILED!', 1, '2024-03-26 08:55:14', '2024-03-26 08:55:14'), +(185, 21, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-03-28 08:29:01', '2024-03-28 08:29:01'), +(186, 21, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-28 08:32:23', '2024-03-28 08:32:23'), +(187, 21, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-28 08:33:59', '2024-03-28 08:33:59'), +(188, 21, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-03-28 08:35:56', '2024-03-28 08:35:56'), +(189, 21, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-03-28 08:37:15', '2024-03-28 08:37:15'), +(190, 21, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-28 08:38:37', '2024-03-28 08:38:37'), +(191, 21, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-28 08:39:48', '2024-03-28 08:39:48'), +(192, 21, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-03-28 08:41:04', '2024-03-28 08:41:04'), +(193, 21, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-03-28 08:42:14', '2024-03-28 08:42:14'), +(194, 21, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-03-28 08:43:37', '2024-03-28 08:43:37'), +(195, 21, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-28 08:45:04', '2024-03-28 08:45:04'), +(196, 21, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-28 08:46:15', '2024-03-28 08:46:15'), +(197, 21, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.029\r\n\r\nOK (1 test)', 0, '2024-03-28 08:47:20', '2024-03-28 08:47:20'), +(198, 22, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-03-28 08:59:28', '2024-03-28 08:59:28'), +(199, 22, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-03-28 09:03:54', '2024-03-28 09:03:54'), +(200, 22, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-03-28 09:04:49', '2024-03-28 09:04:49'), +(201, 22, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-28 09:06:05', '2024-03-28 09:06:05'), +(202, 22, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-28 09:07:11', '2024-03-28 09:07:11'), +(203, 22, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-28 09:12:22', '2024-03-28 09:12:22'), +(204, 22, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-03-28 09:13:32', '2024-03-28 09:13:32'), +(205, 22, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-03-28 09:14:39', '2024-03-28 09:14:39'), +(206, 22, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.002\r\n\r\nOK (1 test)', 0, '2024-03-28 09:15:50', '2024-03-28 09:15:50'), +(207, 22, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-03-28 09:17:06', '2024-03-28 09:17:06'), +(208, 22, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-03-28 09:18:13', '2024-03-28 09:18:13'), +(209, 22, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-03-28 09:19:31', '2024-03-28 09:19:31'), +(210, 22, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-03-28 09:20:39', '2024-03-28 09:20:39'), +(211, 23, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2024-04-01 04:01:12', '2024-04-01 04:01:12'), +(212, 23, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-04-01 04:02:39', '2024-04-01 04:02:39'), +(213, 23, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-04-01 04:03:51', '2024-04-01 04:03:51'), +(214, 23, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-04-01 04:05:56', '2024-04-01 04:05:56'), +(215, 23, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.027\r\n\r\nOK (1 test)', 0, '2024-04-01 04:08:30', '2024-04-01 04:08:30'), +(216, 23, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-01 04:09:59', '2024-04-01 04:09:59'), +(217, 23, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-01 04:11:24', '2024-04-01 04:11:24'), +(218, 23, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-04-01 04:12:53', '2024-04-01 04:12:53'), +(219, 23, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-01 04:16:13', '2024-04-01 04:16:13'), +(220, 23, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-01 04:17:44', '2024-04-01 04:17:44'), +(221, 23, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-01 04:20:00', '2024-04-01 04:20:00'), +(222, 23, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.036\r\n\r\nOK (1 test)', 0, '2024-04-01 04:21:26', '2024-04-01 04:21:26'), +(223, 23, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-01 04:24:56', '2024-04-01 04:24:56'), +(224, 24, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.034\r\n\r\nOK (1 test)', 0, '2024-04-01 04:38:46', '2024-04-01 04:38:46'), +(225, 24, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-01 04:40:21', '2024-04-01 04:40:21'), +(226, 24, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-01 04:42:01', '2024-04-01 04:42:01'), +(227, 24, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-01 04:43:28', '2024-04-01 04:43:28'), +(228, 24, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2024-04-01 04:44:56', '2024-04-01 04:44:56'), +(229, 24, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-01 04:46:13', '2024-04-01 04:46:13'), +(230, 24, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-01 04:47:31', '2024-04-01 04:47:31'), +(231, 24, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-01 04:50:27', '2024-04-01 04:50:27'), +(232, 24, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-04-01 04:52:05', '2024-04-01 04:52:05'), +(233, 24, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-01 04:53:45', '2024-04-01 04:53:45'), +(234, 24, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-04-01 04:56:13', '2024-04-01 04:56:13'), +(235, 24, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2024-04-01 04:59:45', '2024-04-01 04:59:45'), +(236, 24, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-04-01 05:01:02', '2024-04-01 05:01:02'), +(237, 6, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-07 10:36:15', '2024-04-07 10:36:15'), +(238, 25, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-16 17:15:11', '2024-04-16 17:15:11'), +(239, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-04-16 17:17:15', '2024-04-16 17:17:15'), +(240, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-16 17:20:13', '2024-04-16 17:20:13'), +(241, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-04-16 17:24:07', '2024-04-16 17:24:07'), +(242, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-04-16 17:26:22', '2024-04-16 17:26:22'), +(243, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-16 17:27:59', '2024-04-16 17:27:59'), +(244, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-04-16 17:30:07', '2024-04-16 17:30:07'), +(245, 25, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-16 17:31:57', '2024-04-16 17:31:57'), +(246, 25, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-16 17:46:33', '2024-04-16 17:46:33'), +(247, 25, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-16 17:49:47', '2024-04-16 17:49:47'), +(248, 25, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-23 18:54:09', '2024-04-23 18:54:09'), +(249, 26, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-26 13:26:39', '2024-04-26 13:26:39'); +INSERT INTO `code_history_logs` (`id`, `user_id`, `question_id`, `total_count`, `message`, `is_error`, `created_at`, `updated_at`) VALUES +(250, 26, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-04-26 13:49:00', '2024-04-26 13:49:00'), +(251, 26, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-26 20:41:12', '2024-04-26 20:41:12'), +(252, 26, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-04-26 20:55:51', '2024-04-26 20:55:51'), +(253, 26, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-26 21:14:54', '2024-04-26 21:14:54'), +(254, 26, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-04-26 21:31:09', '2024-04-26 21:31:09'), +(255, 26, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-26 21:49:23', '2024-04-26 21:49:23'), +(256, 26, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-26 23:18:16', '2024-04-26 23:18:16'), +(257, 26, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-04-26 23:44:21', '2024-04-26 23:44:21'), +(258, 26, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.005\r\n\r\nOK (1 test)', 0, '2024-04-27 00:05:59', '2024-04-27 00:05:59'), +(259, 26, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-27 00:33:49', '2024-04-27 00:33:49'), +(260, 26, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-27 00:50:49', '2024-04-27 00:50:49'), +(261, 26, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-27 01:09:59', '2024-04-27 01:09:59'), +(262, 27, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-27 05:49:17', '2024-04-27 05:49:17'), +(263, 27, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-27 05:58:30', '2024-04-27 05:58:30'), +(264, 27, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-27 06:07:40', '2024-04-27 06:07:40'), +(265, 27, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-27 06:16:34', '2024-04-27 06:16:34'), +(266, 27, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-04-27 06:27:10', '2024-04-27 06:27:10'), +(267, 27, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-04-27 06:35:36', '2024-04-27 06:35:36'), +(268, 27, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2024-04-27 06:46:26', '2024-04-27 06:46:26'), +(269, 27, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.046\r\n\r\nOK (1 test)', 0, '2024-04-27 06:58:11', '2024-04-27 06:58:11'), +(270, 27, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-27 07:07:43', '2024-04-27 07:07:43'), +(271, 27, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-27 07:18:22', '2024-04-27 07:18:22'), +(272, 27, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-27 07:28:47', '2024-04-27 07:28:47'), +(273, 27, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-04-27 07:38:44', '2024-04-27 07:38:44'), +(274, 27, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-04-27 07:47:15', '2024-04-27 07:47:15'), +(275, 28, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-04-27 13:39:47', '2024-04-27 13:39:47'), +(276, 28, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-27 13:48:20', '2024-04-27 13:48:20'), +(277, 28, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.006\r\n\r\nOK (1 test)', 0, '2024-04-27 13:56:41', '2024-04-27 13:56:41'), +(278, 28, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-27 14:04:40', '2024-04-27 14:04:40'), +(279, 28, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-04-27 14:12:51', '2024-04-27 14:12:51'), +(280, 28, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-04-27 14:21:13', '2024-04-27 14:21:13'), +(281, 28, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.002\r\n\r\nOK (1 test)', 0, '2024-04-27 14:29:18', '2024-04-27 14:29:18'), +(282, 28, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-04-27 14:36:48', '2024-04-27 14:36:48'), +(283, 28, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-04-27 14:45:59', '2024-04-27 14:45:59'), +(284, 28, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-27 14:53:51', '2024-04-27 14:53:51'), +(285, 28, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-04-27 15:01:11', '2024-04-27 15:01:11'), +(286, 28, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-27 15:08:33', '2024-04-27 15:08:33'), +(287, 28, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-27 15:16:13', '2024-04-27 15:16:13'), +(288, 29, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-27 19:24:12', '2024-04-27 19:24:12'), +(289, 29, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-27 19:35:20', '2024-04-27 19:35:20'), +(290, 29, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.057\r\n\r\nOK (1 test)', 0, '2024-04-27 19:45:03', '2024-04-27 19:45:03'), +(291, 29, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-04-27 19:52:50', '2024-04-27 19:52:50'), +(292, 29, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-27 20:01:04', '2024-04-27 20:01:04'), +(293, 29, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.027\r\n\r\nOK (1 test)', 0, '2024-04-27 20:09:40', '2024-04-27 20:09:40'), +(294, 29, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-27 20:18:24', '2024-04-27 20:18:24'), +(295, 29, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-04-27 20:27:05', '2024-04-27 20:27:05'), +(296, 29, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-27 20:36:21', '2024-04-27 20:36:21'), +(297, 29, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-04-27 20:44:31', '2024-04-27 20:44:31'), +(298, 29, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-27 20:54:14', '2024-04-27 20:54:14'), +(299, 29, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-04-27 20:54:14', '2024-04-27 20:54:14'), +(300, 29, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-27 21:03:29', '2024-04-27 21:03:29'), +(301, 29, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-04-27 21:07:15', '2024-04-27 21:07:15'), +(302, 29, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-04-27 21:16:08', '2024-04-27 21:16:08'), +(303, 30, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2024-04-28 05:53:39', '2024-04-28 05:53:39'), +(304, 30, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-28 06:07:35', '2024-04-28 06:07:35'), +(305, 30, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-28 06:15:20', '2024-04-28 06:15:20'), +(306, 30, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-28 06:23:22', '2024-04-28 06:23:22'), +(307, 30, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-04-28 06:31:42', '2024-04-28 06:31:42'), +(308, 30, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-28 06:41:48', '2024-04-28 06:41:48'), +(309, 30, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-04-28 06:49:53', '2024-04-28 06:49:53'), +(310, 30, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-28 07:02:16', '2024-04-28 07:02:16'), +(311, 30, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-28 07:10:46', '2024-04-28 07:10:46'), +(312, 30, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-04-28 07:19:13', '2024-04-28 07:19:13'), +(313, 30, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-04-28 07:33:15', '2024-04-28 07:33:15'), +(314, 30, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-04-28 07:41:15', '2024-04-28 07:41:15'), +(315, 30, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-28 07:51:12', '2024-04-28 07:51:12'), +(316, 31, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-04-28 13:55:52', '2024-04-28 13:55:52'), +(317, 31, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-28 13:58:47', '2024-04-28 13:58:47'), +(318, 31, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-28 13:59:48', '2024-04-28 13:59:48'), +(319, 31, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-04-28 14:02:30', '2024-04-28 14:02:30'), +(320, 31, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.053\r\n\r\nOK (1 test)', 0, '2024-04-28 14:06:00', '2024-04-28 14:06:00'), +(321, 31, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-28 14:09:52', '2024-04-28 14:09:52'), +(322, 31, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-28 14:13:45', '2024-04-28 14:13:45'), +(323, 31, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-04-28 14:16:55', '2024-04-28 14:16:55'), +(324, 31, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-04-28 14:19:39', '2024-04-28 14:19:39'), +(325, 31, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-04-28 14:23:07', '2024-04-28 14:23:07'), +(326, 31, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 14:26:54', '2024-04-28 14:26:54'), +(327, 31, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-28 14:30:05', '2024-04-28 14:30:05'), +(328, 31, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-28 14:32:36', '2024-04-28 14:32:36'), +(329, 31, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 14:35:14', '2024-04-28 14:35:14'), +(330, 31, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.037\r\n\r\nOK (1 test)', 0, '2024-04-28 14:37:49', '2024-04-28 14:37:49'), +(331, 26, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 14:46:07', '2024-04-28 14:46:07'), +(332, 26, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-04-28 14:47:10', '2024-04-28 14:47:10'), +(333, 27, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-28 14:48:38', '2024-04-28 14:48:38'), +(334, 27, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-04-28 14:49:34', '2024-04-28 14:49:34'), +(335, 27, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-28 14:51:21', '2024-04-28 14:51:21'), +(336, 27, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-04-28 14:52:14', '2024-04-28 14:52:14'), +(337, 28, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 14:53:36', '2024-04-28 14:53:36'), +(338, 28, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 14:54:26', '2024-04-28 14:54:26'), +(339, 29, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-04-28 14:55:46', '2024-04-28 14:55:46'), +(340, 29, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-04-28 14:56:35', '2024-04-28 14:56:35'), +(341, 29, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-04-28 14:57:41', '2024-04-28 14:57:41'), +(342, 29, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2024-04-28 14:58:30', '2024-04-28 14:58:30'), +(343, 29, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-28 14:59:41', '2024-04-28 14:59:41'), +(344, 29, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-04-28 15:01:05', '2024-04-28 15:01:05'), +(345, 30, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-04-28 15:02:50', '2024-04-28 15:02:50'), +(346, 30, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-04-28 15:03:52', '2024-04-28 15:03:52'), +(347, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-05-01 19:20:46', '2024-05-01 19:20:46'), +(348, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 19:39:12', '2024-05-01 19:39:12'), +(349, 32, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-05-01 19:43:06', '2024-05-01 19:43:06'), +(350, 32, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-01 19:46:31', '2024-05-01 19:46:31'), +(351, 32, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.005\r\n\r\nOK (1 test)', 0, '2024-05-01 19:47:41', '2024-05-01 19:47:41'), +(352, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-01 19:55:48', '2024-05-01 19:55:48'), +(353, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-05-01 19:58:10', '2024-05-01 19:58:10'), +(354, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-05-01 20:01:20', '2024-05-01 20:01:20'), +(355, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-05-01 20:04:21', '2024-05-01 20:04:21'), +(356, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-05-01 20:07:21', '2024-05-01 20:07:21'), +(357, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-01 20:18:39', '2024-05-01 20:18:39'), +(358, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 20:20:43', '2024-05-01 20:20:43'), +(359, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 20:30:31', '2024-05-01 20:30:31'), +(360, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 20:38:23', '2024-05-01 20:38:23'), +(361, 33, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 20:41:03', '2024-05-01 20:41:03'), +(362, 33, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 20:48:46', '2024-05-01 20:48:46'), +(363, 33, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-05-01 20:53:47', '2024-05-01 20:53:47'), +(364, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-05-01 20:57:08', '2024-05-01 20:57:08'), +(365, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 21:05:06', '2024-05-01 21:05:06'), +(366, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 21:06:20', '2024-05-01 21:06:20'), +(367, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 21:10:17', '2024-05-01 21:10:17'), +(368, 10, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-01 21:17:35', '2024-05-01 21:17:35'), +(369, 34, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-05-01 21:30:34', '2024-05-01 21:30:34'), +(370, 34, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-05-01 21:36:33', '2024-05-01 21:36:33'), +(371, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-05-01 21:42:08', '2024-05-01 21:42:08'), +(372, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 21:45:02', '2024-05-01 21:45:02'), +(373, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 21:48:31', '2024-05-01 21:48:31'), +(374, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 21:57:37', '2024-05-01 21:57:37'), +(375, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-05-01 21:58:40', '2024-05-01 21:58:40'), +(376, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 22:03:34', '2024-05-01 22:03:34'), +(377, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.005\r\n\r\nOK (1 test)', 0, '2024-05-01 22:05:53', '2024-05-01 22:05:53'), +(378, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-05-01 22:07:06', '2024-05-01 22:07:06'), +(379, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.026\r\n\r\nOK (1 test)', 0, '2024-05-01 22:08:25', '2024-05-01 22:08:25'), +(380, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-05-01 22:17:04', '2024-05-01 22:17:04'), +(381, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 22:19:32', '2024-05-01 22:19:32'), +(382, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-05-01 22:22:35', '2024-05-01 22:22:35'), +(383, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-05-01 22:33:49', '2024-05-01 22:33:49'), +(384, 34, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-01 22:35:29', '2024-05-01 22:35:29'), +(385, 34, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-05-01 22:38:31', '2024-05-01 22:38:31'), +(386, 34, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-05-01 23:28:05', '2024-05-01 23:28:05'), +(387, 32, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-05-02 14:58:34', '2024-05-02 14:58:34'), +(388, 32, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-05-02 15:00:01', '2024-05-02 15:00:01'), +(389, 32, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-02 15:02:05', '2024-05-02 15:02:05'), +(390, 32, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-05-02 15:10:51', '2024-05-02 15:10:51'), +(391, 32, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-05-02 15:19:41', '2024-05-02 15:19:41'), +(392, 32, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-05-02 15:29:04', '2024-05-02 15:29:04'), +(393, 32, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-02 15:38:12', '2024-05-02 15:38:12'), +(394, 32, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.037\r\n\r\nOK (1 test)', 0, '2024-05-02 15:46:30', '2024-05-02 15:46:30'), +(395, 32, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-05-02 15:55:38', '2024-05-02 15:55:38'), +(396, 32, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-05-02 16:03:44', '2024-05-02 16:03:44'), +(397, 32, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.033\r\n\r\nOK (1 test)', 0, '2024-05-02 16:12:21', '2024-05-02 16:12:21'), +(398, 32, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.028\r\n\r\nOK (1 test)', 0, '2024-05-02 16:20:55', '2024-05-02 16:20:55'), +(399, 32, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.025\r\n\r\nOK (1 test)', 0, '2024-05-02 16:29:22', '2024-05-02 16:29:22'), +(400, 35, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-02 17:20:08', '2024-05-02 17:20:08'), +(401, 35, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-05-02 17:29:20', '2024-05-02 17:29:20'), +(402, 35, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-05-02 17:37:29', '2024-05-02 17:37:29'), +(403, 35, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-02 17:46:03', '2024-05-02 17:46:03'), +(404, 35, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-05-02 17:48:26', '2024-05-02 17:48:26'), +(405, 35, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-02 17:55:50', '2024-05-02 17:55:50'), +(406, 35, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-05-02 18:03:21', '2024-05-02 18:03:21'), +(407, 35, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-05-02 18:19:27', '2024-05-02 18:19:27'); +INSERT INTO `code_history_logs` (`id`, `user_id`, `question_id`, `total_count`, `message`, `is_error`, `created_at`, `updated_at`) VALUES +(408, 35, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-05-02 18:42:47', '2024-05-02 18:42:47'), +(409, 35, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.005\r\n\r\nOK (1 test)', 0, '2024-05-02 18:54:08', '2024-05-02 18:54:08'), +(410, 35, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-05-02 19:15:42', '2024-05-02 19:15:42'), +(411, 35, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-02 19:26:26', '2024-05-02 19:26:26'), +(412, 35, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-02 19:40:34', '2024-05-02 19:40:34'), +(413, 35, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.03\r\n\r\nOK (1 test)', 0, '2024-05-02 19:49:44', '2024-05-02 19:49:44'), +(414, 36, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-05-03 03:11:13', '2024-05-03 03:11:13'), +(415, 36, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-05-03 03:29:00', '2024-05-03 03:29:00'), +(416, 36, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.018\r\n\r\nOK (1 test)', 0, '2024-05-03 03:38:04', '2024-05-03 03:38:04'), +(417, 36, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-05-03 03:53:58', '2024-05-03 03:53:58'), +(418, 36, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-05-03 04:04:07', '2024-05-03 04:04:07'), +(419, 36, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-05-03 04:11:44', '2024-05-03 04:11:44'), +(420, 36, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-03 04:30:50', '2024-05-03 04:30:50'), +(421, 36, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.04\r\n\r\nOK (1 test)', 0, '2024-05-03 04:50:26', '2024-05-03 04:50:26'), +(422, 36, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-03 05:01:18', '2024-05-03 05:01:18'), +(423, 36, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-05-03 05:23:49', '2024-05-03 05:23:49'), +(424, 36, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.01\r\n\r\nOK (1 test)', 0, '2024-05-03 05:43:20', '2024-05-03 05:43:20'), +(425, 36, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-05-03 05:54:27', '2024-05-03 05:54:27'), +(426, 36, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-05-03 06:04:30', '2024-05-03 06:04:30'), +(427, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-03 05:07:29', '2024-06-03 05:07:29'), +(428, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.039\r\n\r\nOK (1 test)', 0, '2024-06-03 05:20:58', '2024-06-03 05:20:58'), +(429, 37, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.026\r\n\r\nOK (1 test)', 0, '2024-06-03 05:26:23', '2024-06-03 05:26:23'), +(430, 37, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-03 05:39:34', '2024-06-03 05:39:34'), +(431, 37, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-06-03 05:49:45', '2024-06-03 05:49:45'), +(432, 37, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-06-03 06:05:46', '2024-06-03 06:05:46'), +(433, 37, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.008\r\n\r\nOK (1 test)', 0, '2024-06-03 06:23:45', '2024-06-03 06:23:45'), +(434, 37, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-03 06:39:03', '2024-06-03 06:39:03'), +(435, 37, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-06-03 07:00:48', '2024-06-03 07:00:48'), +(436, 37, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-03 07:08:53', '2024-06-03 07:08:53'), +(437, 37, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-06-03 07:24:32', '2024-06-03 07:24:32'), +(438, 37, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-06-03 07:32:32', '2024-06-03 07:32:32'), +(439, 37, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-06-03 07:40:12', '2024-06-03 07:40:12'), +(440, 37, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-03 08:04:24', '2024-06-03 08:04:24'), +(441, 39, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-06-10 01:50:47', '2024-06-10 01:50:47'), +(442, 39, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 01:58:04', '2024-06-10 01:58:04'), +(443, 39, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-10 02:01:59', '2024-06-10 02:01:59'), +(444, 39, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 02:07:56', '2024-06-10 02:07:56'), +(445, 39, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-06-10 02:21:00', '2024-06-10 02:21:00'), +(446, 39, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-06-10 02:27:38', '2024-06-10 02:27:38'), +(447, 39, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-10 02:34:31', '2024-06-10 02:34:31'), +(448, 39, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-06-10 02:38:19', '2024-06-10 02:38:19'), +(449, 39, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2024-06-10 02:48:37', '2024-06-10 02:48:37'), +(450, 39, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-06-10 02:54:21', '2024-06-10 02:54:21'), +(451, 40, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.024\r\n\r\nOK (1 test)', 0, '2024-06-10 03:09:56', '2024-06-10 03:09:56'), +(452, 40, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-06-10 03:15:35', '2024-06-10 03:15:35'), +(453, 40, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-10 03:17:13', '2024-06-10 03:17:13'), +(454, 40, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 03:23:31', '2024-06-10 03:23:31'), +(455, 40, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-10 03:30:11', '2024-06-10 03:30:11'), +(456, 40, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 03:36:04', '2024-06-10 03:36:04'), +(457, 40, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 03:47:11', '2024-06-10 03:47:11'), +(458, 40, 7, 1, 'java_files\\della_gmail_com\\LuckyFiveSecond.java:11: error: reached end of file while parsing\r\n }\r\n ^\r\n1 error\r\nTEST FAILED!', 1, '2024-06-10 03:52:08', '2024-06-10 03:52:08'), +(459, 40, 7, 1, 'java_files\\della_gmail_com\\LuckyFiveSecond.java:12: error: reached end of file while parsing\r\n}\r\n ^\r\n1 error\r\nTEST FAILED!', 1, '2024-06-10 03:52:14', '2024-06-10 03:52:14'), +(460, 40, 7, 1, 'java_files\\della_gmail_com\\LuckyFiveSecond.java:12: error: reached end of file while parsing\r\n}\r\n ^\r\n1 error\r\nTEST FAILED!', 1, '2024-06-10 03:52:21', '2024-06-10 03:52:21'), +(461, 40, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-06-10 03:52:30', '2024-06-10 03:52:30'), +(462, 41, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 03:54:56', '2024-06-10 03:54:56'), +(463, 41, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 04:01:48', '2024-06-10 04:01:48'), +(464, 41, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 04:06:00', '2024-06-10 04:06:00'), +(465, 41, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 04:12:52', '2024-06-10 04:12:52'), +(466, 41, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-06-10 04:19:10', '2024-06-10 04:19:10'), +(467, 41, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 04:22:47', '2024-06-10 04:22:47'), +(468, 41, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-06-10 04:28:29', '2024-06-10 04:28:29'), +(469, 41, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-06-10 04:31:07', '2024-06-10 04:31:07'), +(470, 41, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-10 04:31:50', '2024-06-10 04:31:50'), +(471, 41, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-10 04:35:43', '2024-06-10 04:35:43'), +(472, 41, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-10 04:39:28', '2024-06-10 04:39:28'), +(473, 41, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-13 03:18:18', '2024-06-13 03:18:18'), +(474, 41, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-13 03:30:14', '2024-06-13 03:30:14'), +(475, 41, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-13 03:38:00', '2024-06-13 03:38:00'), +(476, 41, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.017\r\n\r\nOK (1 test)', 0, '2024-06-13 03:38:02', '2024-06-13 03:38:02'), +(477, 41, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-13 03:43:37', '2024-06-13 03:43:37'), +(478, 41, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-13 03:48:32', '2024-06-13 03:48:32'), +(479, 40, 7, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-13 05:25:10', '2024-06-13 05:25:10'), +(480, 40, 8, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nDeret Fibonacci: \n0 1 1 2 3 5 8 13 JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-06-13 05:33:05', '2024-06-13 05:33:05'), +(481, 40, 9, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n*\n**\n***\n****\n*****\nJUnit version 4.13.2\r\n.\r\nTime: 0.015\r\n\r\nOK (1 test)', 0, '2024-06-13 05:39:34', '2024-06-13 05:39:34'), +(482, 40, 10, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n[Opinion, Tech, Science, Health]JUnit version 4.13.2\r\n.\r\nTime: 0.013\r\n\r\nOK (1 test)', 0, '2024-06-13 05:44:33', '2024-06-13 05:44:33'), +(483, 40, 11, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n83.33333333333333JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-13 05:48:03', '2024-06-13 05:48:03'), +(484, 40, 12, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nLuas Lingkaran = 615.44\nKeliling Lingkaran = 87.92JUnit version 4.13.2\r\n.\r\nTime: 0.031\r\n\r\nOK (1 test)', 0, '2024-06-13 05:51:56', '2024-06-13 05:51:56'), +(485, 40, 13, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nJumlah uang setelah 5 tahun: 1338225.5776JUnit version 4.13.2\r\n.\r\nTime: 0.032\r\n\r\nOK (1 test)', 0, '2024-06-13 05:54:53', '2024-06-13 05:54:53'), +(486, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.021\r\n\r\nOK (1 test)', 0, '2024-06-14 18:44:33', '2024-06-14 18:44:33'), +(487, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0\r\n\r\nOK (1 test)', 0, '2024-06-14 18:50:26', '2024-06-14 18:50:26'), +(488, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-06-14 18:57:28', '2024-06-14 18:57:28'), +(489, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-14 18:59:20', '2024-06-14 18:59:20'), +(490, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.006\r\n\r\nOK (1 test)', 0, '2024-06-14 19:01:11', '2024-06-14 19:01:11'), +(491, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-06-19 08:34:11', '2024-06-19 08:34:11'), +(492, 37, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.037\r\n\r\nOK (1 test)', 0, '2024-06-19 08:39:09', '2024-06-19 08:39:09'), +(493, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-06-22 05:32:59', '2024-06-22 05:32:59'), +(494, 6, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-06-22 05:40:20', '2024-06-22 05:40:20'), +(495, 42, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.029\r\n\r\nOK (1 test)', 0, '2024-06-22 05:42:33', '2024-06-22 05:42:33'), +(496, 42, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-06-22 06:46:15', '2024-06-22 06:46:15'), +(497, 43, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-06-23 07:45:02', '2024-06-23 07:45:02'), +(498, 43, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-06-24 00:06:37', '2024-06-24 00:06:37'), +(499, 43, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.02\r\n\r\nOK (1 test)', 0, '2024-06-24 00:48:51', '2024-06-24 00:48:51'), +(500, 44, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-06-24 11:40:01', '2024-06-24 11:40:01'), +(501, 44, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.007\r\n\r\nOK (1 test)', 0, '2024-06-24 11:42:20', '2024-06-24 11:42:20'), +(502, 43, 3, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nHigh Value Item!JUnit version 4.13.2\r\n.\r\nTime: 0.009\r\n\r\nOK (1 test)', 0, '2024-06-25 03:21:34', '2024-06-25 03:21:34'), +(503, 43, 4, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nShipping cost: 1.75JUnit version 4.13.2\r\n.\r\nTime: 0.011\r\n\r\nOK (1 test)', 0, '2024-06-25 03:25:57', '2024-06-25 03:25:57'), +(504, 45, 1, 1, 'java_files\\revisi_gmail_com\\TipeData.java:12: error: cannot find symbol\r\n vBalok = panjang * lebar * tingg;\r\n ^\r\n symbol: variable tingg\r\n location: class TipeData\r\n1 error\r\nTEST FAILED!', 1, '2024-06-30 10:51:59', '2024-06-30 10:51:59'), +(505, 45, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-06-30 10:52:07', '2024-06-30 10:52:07'), +(506, 45, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-06-30 10:55:22', '2024-06-30 10:55:22'), +(507, 43, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.045\r\n\r\nOK (1 test)', 0, '2024-06-30 10:57:50', '2024-06-30 10:57:50'), +(508, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-06-30 10:58:52', '2024-06-30 10:58:52'), +(509, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-06-30 11:06:01', '2024-06-30 11:06:01'), +(510, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-06-30 11:08:51', '2024-06-30 11:08:51'), +(511, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.014\r\n\r\nOK (1 test)', 0, '2024-06-30 11:16:30', '2024-06-30 11:16:30'), +(512, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.019\r\n\r\nOK (1 test)', 0, '2024-06-30 11:18:51', '2024-06-30 11:18:51'), +(513, 43, 5, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\ndiskon yang didapatkan adalah 20%JUnit version 4.13.2\r\n.\r\nTime: 0.012\r\n\r\nOK (1 test)', 0, '2024-06-30 11:20:08', '2024-06-30 11:20:08'), +(514, 43, 6, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\n12345JUnit version 4.13.2\r\n.\r\nTime: 0.023\r\n\r\nOK (1 test)', 0, '2024-06-30 11:20:45', '2024-06-30 11:20:45'), +(515, 45, 1, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nVolume balok = 420, Luas permukaan balok = 344JUnit version 4.13.2\r\n.\r\nTime: 0.022\r\n\r\nOK (1 test)', 0, '2024-06-30 11:23:22', '2024-06-30 11:23:22'), +(516, 45, 2, 1, 'java 19.0.2 2023-01-17\r\nJava(TM) SE Runtime Environment (build 19.0.2+7-44)\r\nJava HotSpot(TM) 64-Bit Server VM (build 19.0.2+7-44, mixed mode, sharing)\r\nSelamat anda lulus!JUnit version 4.13.2\r\n.\r\nTime: 0.016\r\n\r\nOK (1 test)', 0, '2024-07-02 10:28:27', '2024-07-02 10:28:27'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `contents` +-- + +CREATE TABLE `contents` ( + `id` int UNSIGNED NOT NULL, + `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `lesson_id` int UNSIGNED NOT NULL, + `description` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `url_video` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `published` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `contents` +-- + +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(1, 'Tipe Data, Variabel dan Operator', 1, '

      Variabel

      Variabel adalah tempat untuk menyimpan data. Deklarasi variabel adalah sebuah perintah agar komputer menyediakan variabel yang akan kita pakai. Pendeklarasian variabel harus diawali dengan tipe variabel, nama variabel kemudian diakhiri dengan titik-koma ;.


      Bentuk penulisan :

        [=nilai awal]\r\n

      nilai dalam tanda [] bersifat optional. Contoh:

      int contVariabel;\r\n\r\nint contohVar = 34;\r\n

      Variabel dibagi menjadi 2 jenis yaitu

      1. Variabel lokal: variable yang hanya bisa dikenali pada sub program, pada kesempatan ini seluruhnya masih menggunakan variabel lokal.
      2. Variabel global: variable yang dapat dikenali pada keseluruhan program. Penggunaan variabel global akan dijelaskan lebih detail pada pertemuan yang akan datang


      Dalam memberi nama variabel ada beberapa aturan yang harus dipenuhi, antara lain:

      • Diawali dengan huruf atau karakter underscore _
      • Nama variabel bersifat case sensitive (huruf besar dianggap berbeda dengan huruf kecil)
      • Tidak boleh menggunakan spasi (sebagai pengganti dapat digunakan tanda underscore atau penggunaan huruf besar pada awal kata berikutnya)
      • Tidak boleh menggunakan karakter khusus seperti <,>,*,?,= dan sebagainya.
      • Apabila nama variable lebih dari satu kata maka kata yang setelahnya diawali huruf besar.

      Beberapa Keyword yang tidak boleh digunakan sebagai nama variabel:

      abstract, default, if, private, this, assert, do, implements, protected, throw, boolean, double, import, public, throws, break, else, instanceof, return, transient, byte, enum, int, short, try, case, extends, interface, static, void, catch, final, long, strictfp, volatile, char, finally, native, super, while, class, float, new, switch, continue, for, package, synchronized\r\n


      Tipe Data

      Tipe data adalah jenis data yang ingin kita simpan di variabel. Tipe data dapat dikategorikan menjadi dua kelompok, yaitu

      • Tipe data primitive/build in: tipe data bawaan dari sebuah bahasa pemrograman
      • Tipe data non-primitive/referensi: tipe data yang dibuat berdasarkan kebutuhan programmer

      Selengkapnya, tipe data primitive yang bisa dipakai dalam pemrograman Java ada di tabel berikut ini:


      Selain harus memperhatikan jenis tipe data yang digunakan, tipe data juga mempunyai penulisan nilai yang berbeda. Sebagai contoh penulisan nilai tipe data char harus diapit dengan tanda \' (petik satu). Variabel String harus menggunakan tanda \" (petik dua). Dalam penulisan bilangan pecahan digunakan tanda . (titik) bukan koma.


      Deklarasi variabel

      Secara umum, format deklarasi variabel dapat dinyatakan sebagai berikut:

      contoh:

      int bilangan;\r\nbyte contohDeklarasiVariabelMenggunakanTipeDataByte;\r\nfloat volume, luas;\r\nint angka = 1;\r\nfloat phi = 3.14f;\r\nchar kelas = \'A\';\r\nString nama = \"Joko Sembung\";\r\n


      Mencetak Variabel

      Contoh penggunaan fungsi untuk menampilkan nilai variabel di layar command prompt adalah sebagai berikut:

      System.out.println(nilai);\r\nSystem.out.println(a);\r\nSystem.out.println(\"Nilai Anda adalah \"+nilai);\r\nSystem.out.println(\"Angka adalah \"+a);\r\nSystem.out.println(a+\" angka pertama, \"+b+\" angkat kedua, \"+c+\" angka ketiga \");\r\nSystem.out.println(String.format(\"%d angka pertama, %d angkat kedua, %d angka ketiga \",a,b,c));\r\n


      Casting Tipe Data

      ketika kita ingin memberikan nilai dari tipe data primitive ke tipe data primitive yang lain. Ada 2 bentuk tipe casting tipe data:

      • Widening casting(otomatis): mengubah tipe data dari yang ukurannya lebih kecil ke tipe data yang lebih besar
      	byte -> short -> char -> int -> long -> float -> double\r\n

      contoh:

          	byte umur = 9;\r\n        double myDouble = umur;\r\n        System.out.println(umur); //output 9System.out.println(myDouble); //output 9.0\r\n


      • Narrowing casting(manual): mengubah tipe data dari yang ukurannya lebih besar ke tipe data yang lebih kecil
      	double -> float -> long -> int -> char -> short -> byte\r\n

      contoh:

      	//Contoh tipe data primitive\r\n    int x = 9; //hanya ada 1 nilai yang disimpan, yaitu 9\r\n    char hurufKu = \'N\'; //hanya ada 1 nilai yang disimpan, yaitu karakter N\r\n    \r\n    //Contoh tipe data non-primitiveString tulisan = \"Aku belajar Java\"; //ada 16 nilai, termasuk spasi\r\n    int[] daftar = { 1, 4, 9, 16, 25, 36, 49 }; //ada 7 nilai bertipe integer\r\n


      Sequence/Statement

      Perintah/statement digunakan untuk memerintahkan komputer untuk melakukan sesuatu. Contoh, pada program menghitung luas persegi panjang diatas, ada beberapa statemen:

      • Perintah panjang = 10; memerintahkan komputer untuk mengisi variabel panjang dengan nilai 10. Begitu juga dengan perintah lebar = 5;
      • Perintah luas = panjang * lebar; memerintahkan komputer untuk menghitung hasil perkalian dari panjang dan lebar, lalu menyimpannya kedalam variabel luas.
      • Perintah System.out.println(\"Luas persegi panjang: \" + luas); memerintahkan komputer untuk menampilkan isi variabel luas ke layar.

      Setiap statement harus diakhir dengan titik koma ;, kecuali statement-statement tertentu seperti if, for, while, class dan sebagainya.


      Keyword Import

      Digunakan untuk memanggil library/fungsi-fungsi yang telah disediakan oleh bahasa Java. Perintah import java.util.Scanner; digunakan untuk memanggil library Scanner yang diperlukan untuk menerima input dari keyboard yang akan dibahas di bagian input.


      Kurung Kurawal

      Kurung kurawal berfungsi untuk memberitahu komputer bahwa perintah-perintah di dalamnya merupakan satu kesatuan. Singkatnya, kurung kurawal digunakan untuk membuat sekumpulan perintah (compount statement/block).


      Output

      Setiap program pasti menghasilkan output. Salah satu cara untuk menampilkan output adalah dengan menampilkannya ke layar. Untuk menampilkan ke layar, ada beberapa cara:

      1. System.out.print(“Hello worldâ€); Perintah ini akan menampilkan kata Hello world ke layar, atau apapun yang kita tuliskan didalam tanda petik.
      2. System.out.println(“Hello worldâ€); Perintah ini akan menampilkan kata Hello world ke layar, atau apapun yang kita tuliskan didalam tanda petik, sekaligus memberi perintah ganti baris di akhir kata/kalimat.
      3. System.out.println(panjang); Perintah ini akan menampilkan isi variabel panjang ke layar. Perhatikan bahwa untuk menampilkan isi variabel, tidak perlu menggunakan tanda petik ( “ ).
      4. System.out.println(“Panjang segi empat: “ + panjang); Perintah ini akan menampilkan kalimat “Panjang segi empat: “ kemudian disambung dengan isi variabel panjang ke layar. Perhatikan untuk menyambung kalimat dengan isi variabel, digunakan tanda plus ( + ).

      contoh:

      • Menggunakan System.out.print()
            System.out.print(\"Hello World!\");\r\n      System.out.print(\"Nama saya Jack\");\r\n

      Hasil

            Hello World!Nama saya Jack\r\n
      • Menggunakan System.out.println()
            System.out.println(\"Hello World!\");\r\n      System.out.println(\"Nama saya Jack\");\r\n

      Hasil

            Hello World!\r\n      Nama saya Jack\r\n
      • Menampilkan isi variabel panjang
            int panjang = 10;\r\n      System.out.println(panjang);\r\n

      Hasil

            10\r\n
      • Menampilkan kalimat \"Panjang segi empat\" dan disambung dengan isi variabel panjang
            int panjang = 10;\r\n      System.out.println(\"Panjang segi empat: \" + panjang);\r\n

      Hasil

            Panjang segi empat: 10\r\n

      Pada output program terdapat beberapa karakter khusus. Karakter-karakter ini dikenal dengan istilah escape sequence. Karakter-karakter yang umum digunakan dapat dilihat pada tabel berikut ini:


      Input

      Untuk membaca input dari keyboard, pertama-tama kita pastikan bahwa library Scanner sudah kita sertakan. Caranya adalah dengan menuliskan perintah import java.util.Scanner; di baris paling atas dari kode program kita. Selanjutnya kita tuliskan perintah deklarasi scanner berikut ini didalam fungsi main():

      Scanner sc = new Scanner(System.in);\r\n

      Selanjutnya, tergantung dari jenis input yang akan kita masukkan, berupa bilangan bulat (int), bilangan koma (float/double), atau karakter (String).

      1. Jika input berupa bilangan bulat, maka perintahnya adalah: nextInt();
      2. Jika input berupa bilangan koma, maka perintahnya adalah: nextFloat();
      3. Jika input berupa teks, maka perintahnya adalah: nextLine();

      Contoh:

      • Input berupa bilangan bulat:
          import java.util.Scanner;\r\n    \r\n    class Hello {\r\n     public static void main(String args[]) {\r\n       Scanner sc = new Scanner(System.in);\r\n       int usia;\r\n       System.out.print(\"Masukkan usia anda: \");\r\n       usia = sc.nextInt();\r\n       System.out.print(\"Usia anda adalah: \" + usia);\r\n     }\r\n    }\r\n

      Hasil

          Masukkan usia anda: 20\r\n    Usia anda adalah 20\r\n
      • Input berupa dua buah bilangan:
          import java.util.Scanner;\r\n    \r\n    class Hello {\r\n     public static void main(String args[]) {\r\n       Scanner sc = new Scanner(System.in);\r\n       int panjang, lebar;\r\n       System.out.print(\"Masukkan panjang: \");\r\n       panjang = sc.nextInt();\r\n       System.out.print(\"Masukkan lebar: \");\r\n       lebar = sc.nextInt();\r\n       System.out.print(\"Nilai dari panjang: \" + panjang);\r\n       System.out.print(\"Nilai dari lebar: \" + lebar);\r\n     }\r\n    }\r\n

      Hasil

          Masukkan panjang: 15\r\n    Masukkan lebar: 7\r\n    Nilai dari panjang: 15\r\n    Nilai dari lebar: 7\r\n


      Operator

      Operator merupakan simbol yang biasa digunakan dalam menulis suatu penyataan (statement) dalam bahasa pemrograman apapun. Operator akan melakukan suatu operasi terhadap operand sesuai dengan fungsinya. Jenis-jenis operator adalah sebagai berikut

      • Operator Aritmatika
      • Operator Increment dan Decrement
      • Operator Assignment
      • Operator Relasi
      • Operator Logika
      • Operator Bitwise

      Operator Aritmatika

      Arithmatic operator (operator aritmatika) adalah operator yang berfungsi untuk operasi aritmatika.

      Contoh penggunaan:

      int a = 10, b = 5\r\n\r\nSystem.out.println(a+b); //hasilnya 15\r\n\r\nSystem.out.println(a-b); //hasilnya 5\r\n\r\nSystem.out.println(a*b); //hasilnya 50\r\n\r\nSystem.out.println(a/b); //hasilnya 2\r\n\r\nSystem.out.println(a%b); //hasilnya 0\r\n

      Operator Increment dan Decrement

      Digunakan untuk menaikan atau menurunkan suatu nilai integer (bilangan bulat) sebanyak satu satuan, dan hanya dapat digunakan pada variabel

      Contoh penggunaan:

      int a = 6;\r\nSystem.out.println(a++); //hasilnya 6\r\nSystem.out.println(++a); //hasilnya 8\r\nSystem.out.println(a--); //hasilnya 8\r\nSystem.out.println(--a); //hasilnya 6\r\n


      Operator Assignment

      Operator assignment dalam Java digunakan untuk memberikan sebuah nilai ke sebuah variabel. Operator assignment hanya berupa =.

      Contoh penggunaan:

      int a, b;\r\na = 6;\r\nb = 3;\r\nSystem.out.println(a); //hasilnya 6\r\na += b;\r\nSystem.out.println(a); //hasilnya 9\r\na -= b;\r\nSystem.out.println(a); //hasilnya 6\r\na *= b;\r\nSystem.out.println(a); //hasilnya 18\r\na /= b;\r\nSystem.out.println(a); //hasilnya 6\r\na %= b;\r\nSystem.out.println(a); //hasilnya 0\r\n


      Operator Relasi

      Operator relasi dalam Java digunakan untuk menghasilkan nilai boolean yang sering digunakan untuk mengatur alur jalannya sebuah program. Nilai yang dihasilkan dari operator ini adalah true atau false.

      Contoh penggunaan:

      int a = 6, b = 3;\r\nSystem.out.println(a > b); //hasilnya true\r\nSystem.out.println(a < b); //hasilnya false\r\nSystem.out.println(a == b); //hasilnya false\r\nSystem.out.println(a != b); //hasilnya true\r\nSystem.out.println(a >= b); //hasilnya true\r\nSystem.out.println(a <= b); //hasilnya false\r\n


      Operator Logika

      Operator ini digunakan untuk ekspresi logik yang menghasilkan nilai boolean, true atau false.

      Contoh penggunaan:

      boolean a = true, b = false;\r\nSystem.out.println(a && b); //hasilnya false\r\nSystem.out.println(a || b); //hasilnya true\r\nSystem.out.println(!a); //hasilnya false\r\n


      Operator Bitwise

      Operator ini digunakan untuk melakukan manipulasi bit dari sebuah bilangan.

      Contoh penggunaan:

      int a = 60; //ubah ke biner 00111100\r\nint b = 13; //ubah ke biner 00001101\r\nint c = 0;\r\n\r\n/*      00111100\r\n        00001101\r\na & b = 00001100*/\r\n\r\nc = a & b;\r\nSystem.out.println(c); //hasilnya 12\r\n\r\n/*      00111100\r\n        00001101\r\na | b = 00111101*/\r\n\r\nc = a | b;\r\nSystem.out.println(c); //hasilnya 61\r\n\r\n/*      00111100\r\n        00001101\r\na ^ b = 00110001*/\r\n\r\nc = a ^ b;\r\nSystem.out.println(c); //hasilnya 49\r\n\r\n/*   00111100\r\n!a = 11000011*/\r\n\r\nc = ~a;\r\nSystem.out.println(c); //hasilnya -61\r\n\r\n/*       00111100\r\na << 2 = 11110000*/\r\n\r\nc = a << 2;\r\nSystem.out.println(c); //hasilnya 240\r\n\r\n/*       00111100\r\na << 2 = 00001111*/\r\n\r\nc = a >> 2;\r\nSystem.out.println(c); //hasilnya 15\r\nc = a >>> 2;\r\nSystem.out.println(a >>> 2); //hasilnya 15\r\n


      Flowchart

      Flowchart merupakan sebuah bagan dengan symbol-symbol tertentu yang digunakan untuk menjelaskan urutan proses dan hubungan antar proses lainnya pada sebuah program.


      Simbol-simbol flowchart

      Contoh flowchart

      Flowchart untuk menghitung luas dan keliling bangun datar, persegi panjang.

      ', 'https://www.youtube.com/embed/IecFYqIGO-w', 1, '2023-06-01 05:41:16', '2023-06-01 07:14:10', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(2, 'Sintaks Pemilihan IF-ELSE', 2, '

      Sintaks Pemilihan IF


      Pada kehidupan sehari-hari kita selalu mengambil keputusan dengan mempertimbangkan berbagai hal/kondisi-kondisi. Sintaks pemilihan adalah statement pemilihan yang digunakan untuk mengatur kapan suatu perintah akan dijalankan. Dengan statement ini kita bisa mengatur kapan suatu perintah akan dijalankan, yaitu ketika telah dipenuhinya suatu syarat tertentu. Misalnya:

      Jika nilai lebih dari 70 maka Diterima

      Pernyataan di atas mengandung sebab akibat. Bila dilihat, keterangan nilai lebih dari 70 adalah merupakan suatu syarat, sedangkan DITERIMA ini akan dilakukan apabila syaratnya terpenuhi atau nilai lebih dari 70. Dalam dunia logika, istilah terpenuhinya syarat dapat dikatakan syarat tersebut bernilai benar atau TRUE. Selanjutnya pernyataan jika...maka... dapat diadopsi dalam programming. Untuk pernyataan tersebut dalam programming, maka dapat digunakan statement sintaks pemilihan. Pada pembahasan di materi sintaks pemilihan 1 ini akan dipelajari tiga macam sintaks pemilihan yaitu if, if else, if else if else dan switch case.

      Bentuk umum:

      if (kondisi)  {\r\n  pernyataan;\r\n  pernyataan;\r\n  ...\r\n}\r\n

      Bentuk flowchart:

      • Apabila kondisi bernilai benar, maka pernyataan akan dilaksanakan.
      • Apabila kondisi bernilai salah, maka pernyataan tidak akan dilaksanakan.

      Pada sintaks pemilihan 1 ini, kita akan menggunakan operator hubungan (relational operator). Berikut ini operator hubungan dalam bahasa pemrograman Java:

      Implementasi atau penggunaan operator hubungan pada sintaks pemilihan adalah sebagai berikut:

      Contoh program:

      import java.util.Scanner;\r\n\r\npublic class Contoh {\r\n  public static void main(String[] args) {\r\n    Scanner input = new Scanner(System.in);\r\n\r\n    int angka;\r\n\r\n    System.out.print(\"Masukkan angka: \");\r\n    angka = input.nextInt();\r\n\r\n    if (angka > 70) {\r\n      System.out.println(\"Selamat anda dinyatakan diterima\");\r\n    }\r\n\r\n  }\r\n}\r\n

      Ketika program di atas dijalankan kemudian dimasukkan angka 80 maka akan keluar tampilan Selamat anda dinyatakan diterima. Hal ini disebabkan karena terdapat sebuah kondisi yang menyatakan bahwa jika nilai lebih dari 70 (angka > 70) maka akan tampil Selamat anda dinyatakan diterima, sedangkan jika dimasukkan angka 70 atau kurang dari 70 maka tidak akan terdapat tampilan apapun.


      Sintaks Pemilihan IF-ELSE


      Bentuk umum:

      if (kondisi) {\r\n  pernyataan1;\r\n} else {\r\n  pernyataan2;\r\n}\r\n

      Bentuk flowchart:

      Struktur ini minimal memiliki 2 pernyataan. Jika kondisi yang diperiksa bernilai benar atau terpenuhi maka pernyataan pertama yang akan dilaksanakan dan jika kondisi yang diperiksa bernilai salah maka pernyataan kedua yang akan dilaksanakan.

      Contoh program:

      import java.util.Scanner;\r\n\r\npublic class Contoh {\r\n  public static void main(String[] args) {\r\n    Scanner input = new Scanner(System.in);\r\n\r\n    int angka;\r\n\r\n    System.out.print(\"Masukkan angka: \");\r\n    angka = input.nextInt();\r\n\r\n    if (angka > 70) {\r\n      System.out.println(\"Selamat anda dinyatakan diterima\");\r\n    } else {\r\n      System.out.println(\"Silahkan coba tes lagi tahun depan\");\r\n    }\r\n\r\n  }\r\n}\r\n

      Pada contoh program if else di atas ditambahkan kode program.

      else {\r\n  System.out.println(\"Silahkan coba tes lagi tahun depan\");\r\n}\r\n

      Sehingga ketika angka yang dimasukkan nilainya 70 atau kurang dari 70 maka akan muncul tampilan Silahkan coba tes lagi tahun depan.

      ', 'https://www.youtube.com/embed/492A2poEoow', 1, '2023-06-01 06:22:29', '2023-06-01 07:15:29', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(3, 'Sintaks Pemilihan IF-ELSE IF-ELSE', 2, '

      Sintaks Pemilihan IF-ELSE IF-ELSE


      Bentuk Umum:

      if (kondisi1) {\r\n  pernyataan-1;\r\n} else if (kondisi2) {\r\n  pernyataan-2;\r\n} else if (kondisix) {\r\n  pernyataan-x;\r\n} else {\r\n  pernyataan-else;\r\n}\r\n

      Bentuk Flowchart:

      Pada bentuk if else if else di atas, pernyataan 1 akan dijalankan apabila kondisi1 bernilai benar. Jika kondisi1 bernilai salah, maka akan dicek kondisi2. Jika kondisi2 benar maka akan dijalankan pernyataan2, begitu seterusnya. Dan apabila tidak ada satupun syarat yang terpenuhi, barulah pernyataan-else akan dikerjakan.

      Contoh program:

      import java.util.Scanner;\r\n\r\npublic class Contoh {\r\n  public static void main(String[] args) {\r\n    Scanner input = new Scanner(System.in);\r\n\r\n    int bayar;\r\n\r\n    System.out.print(\"Masukkan total belanja anda: \");\r\n    bayar = input.nextInt();\r\n\r\n    if (bayar >= 2000000) {\r\n      System.out.println(\"Selamat anda mendapatkan hadiah kompor gas\");\r\n    } else if (bayar >= 1000000) {\r\n      System.out.println(\"Selamat anda mendapatkan hadiah teflon\");\r\n    } else if (bayar >= 500000) {\r\n      System.out.println(\"Selamat anda mendapatkan hadiah piring\");\r\n    } else {\r\n      System.out.println(\"Maaf anda belum beruntung, tingkatkan belanja anda!\");\r\n    }\r\n\r\n  }\r\n}\r\n


      ', 'https://www.youtube.com/embed/yGrD2uZnvQo', 1, '2023-06-01 06:31:47', '2023-06-01 07:16:03', NULL), +(4, 'Sintaks Pemilihan switch-case', 2, '

      Sintaks pemilihan ini digunakan untuk penyelesaian kondisi dengan kemungkinan yang terjadi cukup banyak. Struktur ini akan melaksanakan salah satu dari beberapa pernyataan case tergantung nilai kondisi yang ada di dalam switch. Selanjutnya proses diteruskan hingga ditemukan pernyataan break. Jika tidak ada nilai pada case yang sesuai dengan nilai kondisi, maka proses akan diteruskan kepada pernyataan yang ada di bawah default. Bentuk switch case pada umumnya digunakan untuk menggantikan pernyataan if else if else yang berdasarkan nilai konstanta.

      Bentuk umum:

      switch (kondisi) {\r\ncase konstanta-1:\r\n  pernyataan-1;\r\n  break;\r\ncase konstanta-2:\r\n  pernyataan-2;\r\n  break;\r\n  ...\r\n  ...\r\ncase konstanta-x:\r\n  pernyataan-x;\r\n  break;\r\ndefault:\r\n  pernyataan;\r\n}\r\n

      Contoh program:

      import java.util.Scanner;\r\n\r\npublic class Contoh {\r\n  public static void main(String[] args) {\r\n    Scanner input = new Scanner(System.in);\r\n\r\n    int angka;\r\n\r\n    System.out.print(\"Masukkan kode kelas anda: \");\r\n    angka = input.nextInt();\r\n\r\n    switch(angka) {\r\n      case 1:\r\n        System.out.println(\"Kelas 1\");\r\n        break;\r\n      case 2:\r\n        System.out.println(\"Kelas 2\");\r\n        break;\r\n      case 3:\r\n        System.out.println(\"Kelas 3\");\r\n        break;\r\n      case 4:\r\n        System.out.println(\"Kelas 4\");\r\n        break;\r\n      default:\r\n        System.out.println(\"Kode yang anda masukkan salah\");\r\n    }\r\n\r\n  }\r\n}\r\n

      Pada contoh program switch case di atas jika dimasukkan angka 1 maka outputnya Kelas 1 dan seterusnya sampai angka 4. Jika inputan selain angka 1 s/d 4 maka outputnya adalah Kode yang anda masukkan salah.

      ', 'https://www.youtube.com/embed/_OwCDThM3EI', 1, '2023-06-01 06:48:22', '2023-06-01 07:16:43', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(5, 'Sintaks Pemilihan Bersarang', 3, '

      Sintaks Pemilihan Bersarang


      Kita telah mempelajari penggunaan pernyataan IF untuk memilih sebuah tidak, pernyataan IF-ELSE untuk memilih antara dua tindakan, serta pernyataan IF-ELSE IF-ELSE dan SWITCH-CASE untuk memilih beberapa tindakan (3 atau lebih). Terkadang kita membutuhkan pengambilan keputusan dalam bentuk level (bertingkat) sehingga di dalam suatu pernyataan IF (atau IF-ELSE) bisa saja terdapat pernyataan IF (atau IF-ELSE) yang lain. Jenis percabangan seperti ini disebut NESTED IF (percabangan bersarang). Secara umum, bentuk penulisan pernyataan NESTED IF adalah sebagai berikut:

      if (kondisi 1){\r\n  if (kondisi 2){\r\n    pernyataan 1;\r\n    …\r\n    …\r\n    if (kondisi n){\r\n      pernyataan 2;\r\n    } else {\r\n      pernyataan 3;\r\n    }\r\n    } else {\r\n    pernyataan n;\r\n    }\r\n} else {\r\n  pernyataan x;\r\n}\r\n

      Pada bentuk penulisan pernyataan NESTED-IF tersebut, kondisi yang akan diseleksi pertama kali adalah kondisi IF yang berada di posisi terluar (kondisi 1).

      • Jika kondisi 1 bernilai salah, maka pernyataan ELSE terluar (pasangan dari IF yang bersangkutan) yang akan diproses. Namun, jika pernyataan ELSE (pasangan dari IF) tidak ditulis, maka penyeleksian kondisi akan dihentikan.
      • Jika ternyata kondisi 1 bernilai benar, maka kondisi berikutnya yang lebih dalam (kondisi 2) akan diseleksi. Jika kondisi 2 bernilai salah, maka pernyataan ELSE (pasangan dari IF yang bersangkutan) yang akan diproses. Namun, jika pernyataan ELSE (pasangan dari IF) tidak ditulis, maka penyeleksian kondisi akan dihentikan.

      Dengan cara yang sama, penyeleksian kondisi akan dilakukan sampai dengan kondisi n, jika kondisi-kondisi sebelumnya bernilai benar.

      Berikut ini adalah contoh penggunaan NESTED IF ketika seseorang akan melakukan pembayaran di kasir. Kasir akan memberikan pertanyaan sebagai berikut:

      • Apakah pelanggan mempunyai kartu anggota?
      • TRUE: Pelanggan mempunyai kartu anggota
      • Apakah total harga barang belanjaan lebih dari Rp 500.000?
      • TRUE: Total harga barang belanjaan lebih dari Rp 500.000, pelanggan mendapatkan diskon Rp 50.000
      • FALSE: Total harga barang belanjaan tidak lebih dari Rp 500.000, pelanggan mendapatkan diskon Rp 25.000
      • FALSE: Pelanggan tidak mempunyai kartu anggota
      • Apakah total harga barang belanjaan lebih dari Rp 200.000?
      • TRUE: Total harga barang belanjaan lebih dari Rp 200.000, pelanggan mendapatkan diskon Rp 10.000
      • FALSE: Total harga barang belanjaan tidak lebih dari Rp 200.000, pelanggan tidak mendapatkan diskon

      Untuk lebih memperjelas alur percabangan pada contoh kasus tersebut, perhatikan flowchart berikut

      berikut adalah kode program untuk penggunaan NESTED IF pada contoh kasus pembayaran di kasir.

      Pada kode program tersebut, kasir diminta untuk memasukkan input, apakah pelanggan mempunyai kartu anggota atau tidak. Selanjutnya kasir juga perlu memasukkan total harga barang belanjaan. Kondisi yang akan diseleksi pertama kali adalah nilai dari variabel “kartuâ€. Jika pengguna memasukkan input “yâ€, maka seleksi kondisi ini bernilai benar, dan selanjutnya dilakukan penyeleksian total harga barang belanjaan untuk menentukan diskon yang diperoleh. Berikut adalah hasil keluaran program ketika dijalankan:

      Kondisi di dalam pernyataan IF-ELSE dapat berupa ekspresi boolean yang kompleks, dimana operator logika seperti &&, ||, dan ! dapat digunakan. Operator yang diterapkan pada sub-ekspresi akan dievaluasi dari kiri ke kanan.

      • Ketika mengevaluasi (e1 && e2), jika e1 menghasilkan FALSE, maka e2 tidak akan dievaluasi. Dengan demikian, nilai seluruh ekspresi (e1 && e2) akan dianggap salah. Namun, jika e1 menghasilkan TRUE, maka selanjutnya e2 akan dievaluasi untuk menentukan nilai seluruh ekspresi
      • Ketika mengevaluasi (e1 || e2), jika e1 menghasilkan TRUE, maka e2 tidak akan dievaluasi. Dengan demikian, nilai seluruh ekspresi (e1 || e2) akan dianggap benar. Namun, jika e1 menghasilkan FALSE, maka selanjutnya e2 akan dievaluasi untuk menentukan nilai seluruh ekspresi


      ', 'https://www.youtube.com/embed/yrGPuZB1SsA', 1, '2023-06-01 06:57:49', '2023-06-01 07:17:15', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(6, 'Perulangan dengan for', 4, '

      Perulangan dengan For


      Loop adalah suatu blok atau kelompok instruksi yang dilaksanakan secara berulang-ulang. Perulangan yang disebut juga repetition akan membuat efisiensi proses dibandingkan jika dioperasikan secara manual. Perulangan yang dijelaskan pada jobsheet ini adalah:

      • Perulangan dengan for
      • Perulangan dengan while
      • Perulangan dengan do-while

      for

      for adalah kode yang digunakan untuk menjalankan serangkaian kode secara berulang-ulang. Pada kode for ini terdapat beberapa komponen yang dicantumkan, antara lain: (1) inisialisasi, (2) kondisi, (3) perubahan nilai, (4) statement yang diulang. Berikut ini format sintaks untuk kode for.

          for(inisialisasi; kondisi; perubahan_nilai){\r\n        statement;\r\n        ...\r\n    }\r\n

      Berikut ini adalah contoh skrip untuk mencetak tulisan â€œHello dasar pemrograman†sebanyak 10 kali.

      for (int a = 0; a < 10; a++) {\r\n    System.out.println(“Hello dasar pemrogramanâ€);\r\n}\r\n


      ', 'https://www.youtube.com/embed/OAiZZqiSzxo', 1, '2023-06-01 07:23:07', '2023-06-01 07:23:07', NULL), +(7, 'Perulangan dengan While', 4, '

      Perulangan dengan While


      Kode while merupakan kode alternatif untuk melakukan perulangan selain for. Cara kerjanya sama, namun sintaks (aturan penulisan) yang berbeda. Berikut sintaks while

      while(kondisi) {\r\n  statement;\r\n  perubahan nilai;\r\n}\r\n

      Berikut ini adalah contoh skrip untuk mencetak tulisan â€œHello dasar pemrograman†sebanyak 10 kali.

      int a = 0;\r\nwhile (a < 10) {\r\n    System.out.println(“Hello dasar pemrogramanâ€);\r\n}\r\n


      ', 'https://www.youtube.com/embed/KcsFEZerRDk', 1, '2023-06-01 07:24:51', '2023-06-01 07:24:51', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(8, 'Perulangan dengan Do-While', 4, '

      Perulangan dengan Do-While


      Kode do-while merupakan kode while-do dengan sintaks yang berbeda. Cara kerja do-while relatif sama dengan while. Berikut sintaks untuk do-while.

      do {\r\n    statement;\r\n    perubahan_nilai;\r\n} while (kondisi);\r\n

      Berikut ini adalah contoh skrip untuk mencetak tulisan “Hello dasar pemrogramanâ€Â sebanyak 10 kali.

      int a = 0;\r\ndo {\r\n    System.out.println(“Helloâ€);\r\n    a++;\r\n} while (a < 10);\r\n

      Ketiga jenis loop tersebut sama-sama memiliki kondisi yang merupakan batasan suatu perulangan dilakukan. Cara kerja loop menggunakan for dan while dijelaskan pada Gambar 1. Batasan yang menjadi kondisi suatu perulangan didefinisikan dulu di awal, kemudian dilanjutkan dengan statement yang harus di-looping. Berbeda dengan for dan while, Gambar 2 menjelaskan tentang alur perulangan menggunakan do-while. Setelah inisialisasi dilakukan, akan di proses dulu statement yang harus dijalankan, baru kemudian dilakukan pembatasan looping dalam penulisan kondisi.


      Break dan continue tergolong ke dalam keyword di bahasa pemrograman java, yang keduanya digunakan pada suatu kondisi tertentu , pada perulangan seperti while ,do while dan for. Jika fungsi break digunakan untuk menghentikan suatu pernyataan (statement), dan jika fungsi continue digunakan untuk mengabaikan ,lalu melanjutkan suatu pernyataan pada perulangan. Keyword break dan continue juga biasa digunakan, bersamaan dengan Control Flow seperti if else, dan switch case di dalam program java

      ', 'https://www.youtube.com/embed/E9khhPRn8aQ', 1, '2023-06-01 07:28:33', '2023-06-01 18:43:55', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(9, 'Perulangan Bersarang', 5, '

      Pengertian Perulangan Bersarang (Nested Loop)


      Pada bahasan sebelumnya, telah dibahas tentang konsep dasar perulangan. Pada bahasan tersebut disebutkan bahwa logika perulangan digunakan untuk melakukan beberapa proses atau statement program secara berulang-ulang, dengan suatu pola tertentu. Pada perulangan, proses atau satetement akan terus dilakukan atau akan terus diulang, selama kondisi perulangan bernilai benar/true. Dan sebaliknya, perulangan akan berhenti dan proses atau statement tidak akan dieksekusi lagi ketika kondisi perulangan bernilai salah/false. Jadi, dalam logika perulangan, suatu kondisi perulangan diperlukan untuk menentukan apakah suatu perulangan masih akan akan berlangsung lagi atau harus berhenti.

      Perulangan bersarang (nested loop) adalah struktur perulangan yang berada di dalam perulangan lainnya. Pada umumnya, struktur perulangan yang berada di dalam perulangan lainnya tersebut memiliki hubungan yang saling terkait dalam menyesuaikan sebuah kasus. Pada dasarnya tidak ada batasan dalam jumlah perulangan bersarang. Tetapi sebaiknya tidak terlalu dalam, untuk menghindari kompleksitas yang tinggi serta alur program menjadi lebih sukar untuk dipahami.

      Sebagai ilustrasi sederhana tentang cara kerja perulangan bersarang, misalkan ada seorang mahasiswa yang hendak mensosialisasikan organisasi kemahasiswaan kepada mahasiswa-mahasiswa yang saat itu sedang ada di ruang kelas di lantai 1 dan lantai 2. Di lantai 1 ada 3 ruang dan demikian juga di lantai 2. Dan tentu saja, mahasiswa tersebut harus pergi ke lantai 1 dan lantai 2. Dan misalkan ada lantai 3, 4 dan seterusnya, maka mahasiswa tersebut juga harus mengunjungi setiap lantai selanjutnya, yaitu lantai 3 dan lanai 4 juga bukan? Hal tersebut menggambarkan suatu proses perulangan untuk berkunjung ke setiap lantai, dan kita sebut saja perulangan luar (outer loop). Kemudian, setelah dia sampai di lantai 1, apa yang selanjutnya dilakukan? Tentu saja ia mulai masuk mulai ruangan 1.1, 1.2 dan selanjutnya 1.3. Dan hal tersebut juga menggambarkan suatu proses perulangan yang lain bukan? Kita sebut saja sebagai perulangan dalam (inner loop), dimana inner loop ini berada di dalam outer loop. Setelah semua ruang di lantai 1 telah selesai dikunjungi (inner loop telah selesai dilakukan/dijalankan), maka ia melanjutkan ke lantai 2 (melanjutkan lagi pada tahap perulangan selanjutnya untuk outer loop). Dan setelah sampai di lantai 2, maka ia mulai lagi untuk masuk ke ruangan satu persatu mulai 2.1, 2.2 dan 2.3 (mulai lagi untuk menjalankan inner loop, persis seperti yang sebelumnya telah dilakukan).

      Jika digambarkan dalam flowchart maka ilustrasi di atas akan tampak seperti Gambar 2. Area yang bergaris merah disebut dengan inner loop, sedangkan area yang bergaris hijau adalah outer loop.

      Bentuk Umum

      Secara umum dan sederhana flowchart perulangan bersarang ditunjukan pada Gambar

      1. Pada gambar tersebut terlihat terdapat perulangan dalam yang berada di dalam perulangan luar. Tiap perulangan memiliki kondisi sendiri-sendiri dan statement masing-masing.


      Dan apa dituliskan dalam pseudocode yang sangat sederhana, maka bentuk dasar dari perulangan bersarang bisa dituliskan sebagai berikut:

      loop-1 {\r\n    loop-2 {\r\n    // another statement\r\n    loop-n {\r\n    // statement\r\n    }\r\n  }\r\n}\r\n


      Sintaks

      Semua sintaks perulangan yang telah dibahas sebelumnya, seperti for, while dan do-while, semuanya bisa digunakan untuk kasus perulangan bersarang. Dan tidak ada aturan yang mengharuskan menggunakan sintaks yang sama antara perulangan luar dan perulangan yang ada di dalamnya. Misalkan, perulangan luar menggunakan for, dan perulangan yang dalam menggunakan while, hal tersebut bisa dilakukan.

      for(int i=0; i<2; i++)  {\r\n  for(int j=1; j<=5; j++) {\r\n    //statement\r\n  }\r\n}\r\n


      ', 'https://www.youtube.com/embed/5BTDCPuC8EI', 1, '2023-06-01 07:33:14', '2023-06-01 07:33:14', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(10, 'Array Satu Dimensi', 6, '

      Array Satu Dimensi


      Array adalah sekumpulan tempat penyimpanan data yang bertipe sama dan memiliki index. Array dapat diibaratkan sebagai sekumpulan variabel yang bertipe sama dan bernama sama. Array biasanya digunakan untuk menyimpan deret angka. Kemudian untuk membedakan nilai/isi dari variabel tersebut, digunakan index. Ada dua tipe array:

      • Array satu dimensi
      • Array multi dimensi

      Ilustrasi diatas adalah variabel bertipe integer yang bernama bilanganBulat dan berisi nilai 17. Satu buah variabel hanya dapat menyimpan satu buah nilai. Sekarang amati ilustrasi tentang array berikut ini:

      Ilustrasi diatas adalah array bertipe integer bernama arrayInteger dan memiliki kapasitas 5 buah bilangan integer. Sebuah array dapat menyimpan lebih dari satu nilai (tergantung dari kapasitasnya). Meskipun begitu, nilai-nilai yang disimpan di sebuah array harus bertipe sama. Tiap elemen pada array dinomori dengan index array. Index array selalu dimulai dari 0 (nol).


      Cara Mendeklarasikan Array

      Secara umum, cara mendeklarasikan array adalah sebagai berikut:

      tipe[] namaArray = new tipe[kapasitas];\r\n
      • Tipe adalah tipe data dari array yang akan dibuat.
      • namaArray adalah nama dari array yang akan dibuat.
      • Kapasitas adalah banyaknya nilai yang dapat disimpan didalam array yang akan dibuat.

      Untuk mengakses (mengisi/membaca) sebuah elemen dari array, kita hanya perlu menuliskan nama array tersebut, kemudian diikuti dengan index yang dituju didalam tanda kurung kotak [ ].

      Contoh program berikut ini membuat array bernama bil, bertipe integer, jumlah elemen 4, kemudian mengisinya dengan beberapa nilai, kemudian menampilkan isi elemennya ke layar.

      Ada beberapa alternatif cara untuk mendeklarasikan array.

      • Deklarasi array tanpa mengalokasikan jumlah elemennya:

      int[] myArray;

      • Deklarasi array dengan mengalokasikan 10 elemen:

      int[] myArray = new int[10];

      • Mengubah jumlah elemen array dengan 50:

      myArray = new int[50];

      • Deklarasi array dan mengisinya secara langsung:
          int[] myArray = {10, 20, 30, 40};\r\n    String[] myArray2 = {\"Malang\", \"Surabaya\"};\r\n
      • Mengetahui jumlah elemen array:

      myArray.length;


      Menggunakan Perulangan Pada Array Satu Dimensi

      Untuk mengakses (mengisi/membaca) nilai dari sebuah array, kita dapat menggunakan perulangan.

      Kita juga bisa menggunakan perulangan untuk menerima input dan menyimpannya kedalam array. Contoh, program yang meminta input sebanyak 5 bilangan kemudian menampilkan kembali 5 bilangan tersebut.

      Input Jumlah Elemen Array

      Kita juga dapat membuat program yang meminta input berapa banyak jumlah elemen array. Langkahnya secara umum adalah:

      1. Deklarasikan array tanpa mengalokasikan jumlah elemennya.
      2. Buat input yang menerima jumlah elemen array kemudian simpan di sebuah variabel.
      3. Set jumlah elemen array menggunakan variabel yang diinputkan tadi. Coba amati program berikut ini:

      ', 'https://www.youtube.com/embed/S7s7yIPUn_s', 1, '2023-06-01 07:42:05', '2023-06-01 07:42:05', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(11, 'Array Multidimensi', 7, '

      Array Multidimensi


      Array Dua Dimensi

      Array yang telah kita pelajari sebelumnya adalah satu dimensi, yang hanya terdiri dari satu baris elemen. Biasanya untuk menyajikan sebuah data dalam bentuk tabel, dalam tabel tersebut disajikan dalam bentuk baris dan kolom. Hal ini yang menjadi ciri khas dari sebuah array 2 dimensi.

      Sebagai contoh

      1. Buku tamu yang terdapat di perpustakaan untuk melakukan pencatatan kunjungan pengunjung, dimana dalam buku tamu tersebut terdapat informasi nim, nama, tanggal kunjungan, dan tanda tangan.
      2. Rating film yang dilakukan oleh penonton atau viewer. Masing-masing baris atau record diisi atau dirating oleh penonton, sedangkan pada bagian kolomnya adalah daftar judul film yang akan dilakukan rating. Visualisasi dapat dilihat pada tabel di bawah ini

      Tabel di atas menggambarkan bahwa setiap view akan melakukan rating terhadap 3 judul film, misalkan pada baris pertama melakukan rating pada judul_0=4, judul_1=4, dan judul_2=3.

      Jadi Array 2 dimensi adalah sebuah array yang penomoran indeksnya menggunakan 2 angka yaitu satu untuk baris dan satu lagi untuk kolom, atau sebenarnya array 2 dimensi adalah kumpulan dari array 1 dimensi.


      Cara Mendeklarasikan Array 2 dimensi

      Untuk dapat mendeklarasikan array 2 dimensi mirip dengan 1 dimensi, perbedaanya adalah jumlah kurung siku [] atau subskrip. Pada array 2 dimensi berarti menggunakan 2 kurung siku [], pada java deklarasinya seperti di bawah ini

      data_type[][] array_name = new data_type[x][y];\r\nx = jumlah baris\r\nY = jumlah kolom\r\nContoh\r\nint[][] arr = new int[10][20];\r\n

      Selain contoh di atas, deklarasi yang lain juga dapat dilakukan seperti di bawah ini

      1. tipe_data[][] nama_variabel
      2. tipe_data [][]nama_variabel
      3. tipe_data nama_variabel[][]
      4. tipe_data []nama_variabel[]

      Akan tetapi, yang sering kita jumpai atau sering digunakan adalah pada no.1 dan no.3, ketika menggunakan Java adalah seperti di bawah ini

      int[][] ratings;\r\nint [][]ratings;\r\nint ratings[][];\r\nint []ratings[];\r\n

      Inisialisasi Array 2 Dimensi

      Untuk memberikan nilai awal pada array 2 dimensi menggunakan operator assigment =, ketika melakukan inisialisasi array 2 dimensi kolom pada setiap baris boleh berbeda seperti dicontohkan di bawah ini

      int a[][]={\r\n    {1,2,3,4},\r\n    {5,6,7,8},\r\n    {7,8,9,6}\r\n}\r\nint b[][]={\r\n    {1},\r\n    {5,6,7,8},\r\n    {7,8,9}\r\n}\r\n

      Array yang pertama pada variabel a kolomnya semua sama antar baris, sedangkan jika kita lihat pada array b kolomnya berbeda. Dalam array 2 multidimensi hal tersebut diperbolehkan. Ketika divisualisasikan ke dalam sebuah tabel seperti di bawah ini

      Visualisasi untuk array a

      Visualisasi untuk array b

      Ukuran Baris dan Kolom Array 2 Dimensi

      Seriap array baik array 1 dimensi ataupun array 2 dimensi memiliki ukuran, jika pada array 2 dimensi berarti ukuran pada baris atau kolom. Untuk mengetahui ukuran atau length, bisa menggunakan attribut length pada array. Cara penggunaannya adalah sebagai berikut

      int[][] a = new int[3][4];\r\n

      Ketika dipanggil a.length maka hasilnya adalah 3(jumlah baris), sedangkan ketika dipanggil a[0].length hasilnya 4(jumlah kolom)

      Ketika menggunakan attribut length tentunya akan sangat menguntungkan, baik ketika akan menginputkan element atau menampilkan element menggunakan looping atau perulangan pada saat perubahan jumlah baris atau kolom. Kita tidak perlu mengubah kode yang ada di dalam looping untuk ukuran baris dan kolomnya.


      Array Tiga Dimensi

      Array 3 dimensi merupakan bentuk kompleks dari array multidimensi, seperti pada konsep sebelumnya array 2 dimensi adalah kumpulan dari array 1 dimensi. Begitu juga dengan array 3 dimensi, yang merupakan kumpulan array 2 dimensi. Contoh penerapan array 3 dimensi adalah pada gambar berwarna RGB(Red Green Blue). Visualisasinya adalah di bawah ini

      Dari visualisasi di atas terlihat setiap gambar memiliki 3 channel atau layer yaitu RGB(Red, Green, dan Blue), 3 channel tersebut yang merepresentasikan array 3 dimensi. Setiap channel, RGB direpresentasikan array 2 dimensi. Jadi sudah sesuai dengan konsep array 3 dimensi bahwa merupakan kumpulan dari array 2 dimensi.

      Deklarasi Array 3 Dimensi

      Untuk dapat mendeklarasikan array 3 dimensi yaitu dengan menambahkan kurung siku [] atau subskrip menjadi 3, [][][]. Secara umum deklarasinya adalah di bawah ini

      data_type[][][] array_name = new data_type[x][y][z];\r\nx = index array\r\ny = baris\r\nz = kolom\r\nContoh: int[][][] arr = new int[10][20][30];\r\n

      Inisialisasi Array 3 Dimensi

      Untuk memudahkan inisialisasi array 3D, bisa menggunakan representasi array 2D. Atau secara umum dapat digunakan dapat disajikan seperti di bawah ini

      array_name[array_index][baris][kolom] = value;\r\ncontoh: arr[0][0][0] = 1;\r\ndata_type[][][] array_name = {\r\n    {\r\n         {valueA1B1C1, valueA1B1C2, ....},\r\n        {valueA1B2C1, valueA1B2C2, ....}\r\n    },\r\n    {\r\n        {valueA2B1C1, valueA2B1C2, ....},\r\n        {valueA2B2C1, valueA2B2C2, ....}\r\n    }\r\n};\r\n

      Keterangan

      • A adalah indek array
      • B adalah baris
      • C adalah kolom

      Ketika diimplementasikan menggunakan Java kurang lebih seperti di bawah ini

      int[][][] a = {\r\n    {\r\n         {1,2},\r\n        {3,4}\r\n    },\r\n    {\r\n        {5,6},\r\n        {7,8}\r\n    }\r\n};\r\n

      Atau misalkan dilakukan visualisasi adalah seperti di bawah ini

      ', 'https://www.youtube.com/embed/RN-ZVxdSWSM', 1, '2023-06-01 07:54:00', '2023-06-01 07:54:00', NULL); +INSERT INTO `contents` (`id`, `title`, `lesson_id`, `description`, `url_video`, `published`, `created_at`, `updated_at`, `deleted_at`) VALUES +(12, 'Fungsi Static', 8, '

      Fungsi Static


      Pengertian Fungsi

      Dalam pemrograman terdapat istilah fungsi, prosedur, dan method, yang ketiganya pada dasarnya adalah sama, di mana kita dapat menyebut ketiganya sebagai fungsi. Prosedur adalah sebutan untuk fungsi yang tidak mengembalikan nilai. Fungsi ini biasanya ditandai dengan kata kunci void. Fungsi adalah sebutan untuk fungsi yang mengembalikan nilai. Method adalah fungsi yang berada di dalam sebuah Class. Sebutan ini, biasanya digunakan pada OOP.

      Ada 2 jenis fungsi di Java, yaitu fungsi static dan non-static. Fungsi static adalah fungsi yang dapat dieksekusi langsung tanpa harus melakukan instansiasi objek. Sedangkan funsi non-static adalah fungsi yang harus dieksekusi dari objek yang sudah diinstansiasi, di mana ini berkaitan dengan OOP. Sehingga pada modul praktikum kali ini kita hanya membahas tentang fungsi static di Java. Cara mendeklarasikan fungsi static di Java adalah dengan menambahkan keyword static.

      Sintaks Fungsi di Java

      Fungsi harus dibuat atau ditulis di dalam class. Sintaks dasar penulisan fungsi adalah sebagai berikut:

      static TypeDataKembalian namaFungsi(){\r\n  // statement\r\n}\r\n

      Kata kunci static, artinya kita akan membuat fungsi static. TypeDataKembalian adalah tipe data dari nilai yang dikembalikan (output) setelah fungsi dieksekusi. Jika fungsi tersebut tidak mengembalikan output, maka TypeDataKembalian adalah void. Sedangkan, namaFungsi() adalah nama fungsi yang kita buat, ditulis dengan cara camel case. Contoh:

      static void beriSalam(){\r\n  System.out.println(\"Halo! Selamat Pagi\");\r\n}\r\n

      Cara Menjalankan/Eksekusi Fungsi

      Setelah kita membuat fungsi, selanjutnya kita bisa mengeksekusi fungsinya. Fungsi dapat dipanggil dari fungsi main atau dari fungsi yang lainnya. Contoh pemanggilan fungsi dalam fungsi main:

      public static void main(String[] args){\r\n  beriSalam();\r\n}\r\n
      Kode selengkapnya, silahkan dicoba pada bagian Praktikum.

      Fungsi dengan Parameter

      Parameter adalah variabel yang menampung nilai untuk diproses di dalam fungsi. Parameter berperan sebagai input untuk fungsi. Struktur dasarnya seperti berikut ini:

      static TypeDataKembalian namaFungsi(TipeData namaParameter, TipeData namaParameterLain){\r\n  // statement\r\n}\r\n

      Parameter ditulis di antara parenthesis (...) setelah nama fungsi. Bila terdapat lebih dari satu parameter, maka dipisah dengan tanda koma , dan masing-masing parameter harus dideskripsikan tipe datanya.

      Misalkan, dibuat parameter bernama ucapan dengan tipe String. Sehingga kita bisa menggunakan variabel ucapan di dalam fungsi berikut ini:

      static void beriUcapan(String ucapan){\r\n  System.out.println(ucapan);\r\n}\r\n

      Cara eksekusi fungsinya adalah dengan memberikan nilai yang akan diinputkan sebagai parameter, bisa berupa variabel atau langsung nilainya. Contohnya:

      String halo = \"Hallo!\";\r\nberiUcapan(halo);\r\nberiUcapan(\"Selamat datang di pemrograman Java\");\r\n

      Fungsi yang Mengembalikan Nilai

      Pada kasus tertentu dibutuhkan sebuah fungsi yang dapat mengembalikan nilai output sehingga bisa diolah pada proses berikutnya. Pengembalian nilai pada fungsi menggunakan keyword return.

      static TypeDataKembalian namaFungsi(TipeData namaParameter){\r\n  // statement\r\n  return variabelOutput;\r\n}\r\n

      Contoh:

      static int luasPersegi(int sisi){\r\n  int luas = sisi * sisi;\r\n  return luas;\r\n}\r\n

      Pada contoh tersebut, dibuat sebuah parameter bernama sisi. Kemudian fungsi akan mengembalikan output dengan tipe int (integer) dari variabel luas. Cara pemanggilan fungsi tersebut adalah seperti berikut:

      System.out.println(\"Luas Persegi dengan sisi 5 = \" + luasPersegi(5));\r\nint luasan = luasPersegi(6);\r\n


      ', 'https://www.youtube.com/embed/gHEXYYS-KAo', 1, '2023-06-01 07:57:10', '2023-06-01 07:57:10', NULL), +(13, 'Fungsi Rekursif', 9, '

      Fungsi Rekursif


      Teori

      Fungsi rekursif adalah fungsi yang memanggil dirinya sendiri. Hal ini bisa terjadi karena di dalam suatu fungsi rekursi, terdapat statement/baris program yang memanggil fungsi itu sendiri. Ketika suatu fungsi rekursif dipanggil/dijalankan dan kemudian proses eksekusi sudah sampai pada statement pemanggilan fungsi itu sendiri, maka fungsi tersebut akan dipanggil/dijalankan kembali. Dan LAGI, ketika proses eksekusi sudah sampai pada statement pemanggilan fungsi itu sendiri, maka fungsi tersebut akan dipanggil/dijalankan kembali, BEGITU SETERUSNYA hingga didapatkan suatu KONDISI AKHIR dimana proses pemanggilan fungsi tersebut tidak dilakukan lagi. Jika kondisi akhir tersebut tidak ditemukan/tidak ada, maka fungsi tersebut akan dipanggil terus menerus (infinite loop) dan ini tidak diperbolehkan.

      Pada fungsi rekursif, terdapat dua komponen blok kode, yaitu:

      • Base Case: kode program yang menunjukkan sebuah batas berhenti dari proses rekursif, sehingga apabila nilai batas ini terpenuhi maka proses rekursif diakhiri.
      • Recursion Call atau Reduction Step: kode program untuk melakukan pemanggilan terhadap dirinya sendiri.

      Pada umumnya, format fungsi rekursif mempunyai bentuk sebagai berikut:

      if (nilai batas) {\r\n    // menyelesaikan masalah\r\n} else {\r\n    // mendefinisikan kembali masalah menggunakan rekursi\r\n}\r\n

      Cabang IF merupakan base case, sedangkan ELSE merupakan recursion call. Agar rekursi dapat berhenti, recursion call harus mendekati base case di setiap pemanggilan fungsi rekursif.

      Berdasarkan penjelasan tersebut, sekilas terlihat seperti fungsi tersebut dijalankan secara berulang-ulang, dan fungsi rekursif memang biasanya digunakan pada kasus-kasus perulangan. Perhatikan fungsi tampilDeret() di bawah ini.

      public class Deret {\r\n\r\n    static void tampilDeret(int x) {\r\n        if (x > 0) {\r\n            System.out.print(x + \" \");\r\n            // memanggil fungsi tampilDeret() itu sendiri dengan nilai parameter n - 1\r\n            tampilDeret(x - 1);\r\n        } else {\r\n            System.out.println();\r\n        }\r\n    }\r\n\r\n    public static void  main(String[] args) {\r\n        // memanggil fungsi tampilDeret() dengan nilai parameter 5\r\n        tampilDeret(5);\r\n    }\r\n}\r\n

      Pada contoh fungsi rekursif tersebut, fungsi tampilDeret pertema kali dijalankan (di dalam fungsi main) dengan mengirimkan nilai parameter 5 menggunakan perintah tampilDeret(5). Dari proses pemanggilan fungsi tersebut akan ditampilkan nilai parameternya yaitu 5 dan diikuti dengan pemanggilan fungsi tampilDeret(4). Selanjutnya, dari proses pemanggilan fungsi tersebut akan ditampilkan nilai parameternya yaitu 4 dan diikuti dengan pemanggilan fungsi tampilDeret(3). Selanjutnya, dari proses pemanggilan fungsi tersebut akan ditampilkan nilai parameternya yaitu 3 dan diikuti dengan pemanggilan fungsi tampilDeret(2). Selanjutnya, dari proses pemanggilan fungsi tersebut akan ditampilkan nilai parameternya yaitu 2 dan diikuti dengan pemanggilan fungsi tampilDeret(1). Dari proses pemanggilan fungsi tersebut akan ditampilkan nilai parameternya yaitu 1 dan diikuti dengan pemanggilan fungsi tampilDeret(0). Dari proses pemanggilan fungsi tersebut maka akan ditampilkan ganti baris dan tidak ada pemanggilan fungsi tampilDeret selanjutnya (pemanggilan fungsi rekursif sudah selesai).

      tampilDeret(5)\r\n    5 -> tampilDeret(4)\r\n        4 -> tampilDeret(3)\r\n            3 -> tampilDeret(2)\r\n                2 -> tampilDeret(1)\r\n                    1 -> tampilDeret(0)\r\n

      Tampilan yang muncul dari hasil pemanggilan fungsi tampiDeret() adalah:

      5 4 3 2 1\r\n


      ', 'https://www.youtube.com/embed/wdrSmK18nj4', 1, '2023-06-01 07:59:09', '2023-06-01 07:59:09', NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `courses` +-- + +CREATE TABLE `courses` ( + `id` int UNSIGNED NOT NULL, + `course_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `image` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `published` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `courses` +-- + +INSERT INTO `courses` (`id`, `course_name`, `description`, `image`, `published`, `created_at`, `updated_at`) VALUES +(1, 'Java', 'Java is a high-level, class-based, object-oriented programming language that is designed to have as few implementation dependencies as possible', 'Try', 1, '2022-05-31 01:12:34', '2022-05-31 01:12:34'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `essay_question` +-- + +CREATE TABLE `essay_question` ( + `id` bigint UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `question` text COLLATE utf8mb4_unicode_ci NOT NULL, + `answer` text COLLATE utf8mb4_unicode_ci NOT NULL, + `answer2` text COLLATE utf8mb4_unicode_ci, + `answer3` text COLLATE utf8mb4_unicode_ci, + `answer4` text COLLATE utf8mb4_unicode_ci, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `essay_question` +-- + +INSERT INTO `essay_question` (`id`, `question_id`, `user_id`, `question`, `answer`, `answer2`, `answer3`, `answer4`, `created_at`, `updated_at`, `deleted_at`) VALUES +(1, 1, 1, 'Mengapa variabel panjang, lebar, tinggi, vBalok dan lBalok bertipe data int?', 'Karena nilai dari variabel tersebut berbentuk bilangan bulat', 'Variabel panjang, lebar, tinggi, vBalok dan lBalok bertipe data int karena nilai yang disimpan pada variabel tersebut adalah bilangan bulat.', 'Variabel tersebut menggunakan tipe data int karena nilai yang disimpannya adalah bilangan bulat tanpa koma.', 'Variabel tersebut menggunakan tipe data int karena nilai yang disimpannya adalah angka bulat. Oleh karena itu, tipe data int cocok untuk penyimpanan.', '2023-06-01 08:11:49', '2024-03-23 11:53:07', NULL), +(2, 1, 1, 'Jelaskan langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas!', 'Langkah-langkah perhitungan volume balok adalah mengalikan panjang, lebar, dan tinggi balok. Sedangkan langkah-langkah perhitungan luas permukaan balok adalah menghitung jumlah sisi-sisi balok (2 sisi panjang * lebar, 2 sisi panjang * tinggi, dan 2 sisi lebar * tinggi) kemudian menjumlahkannya', 'Volume balok dihitung dengan mengalikan panjang, lebar, dan tinggi menggunakan operator perkalian. Luas balok dihitung dengan menjumlahkan sisi-sisi balok yaitu 2 sisi panjang dikali lebar ditambah 2 sisi panjang dikali tinggi ditambah 2 sisi lebar dikali tinggi.', 'Menggunakan rumus volume balok, yaitu panjang * lebar * tinggi, untuk menghitung volumenya. Menggunakan rumus luas permukaan balok, yaitu 2*(panjang * lebar + panjang * tinggi + lebar * tinggi), untuk menghitung luas permukaannya.', 'Menghitung volume balok menggunakan rumus panjang * lebar * tinggi yang disimpan pada variable vBalok. Kemudian untuk menghitung luas permukaan balok menggunakan rumus 2*(panjang * lebar + panjang * tinggi + lebar * tinggi) yang disimpan pada variable lBalok.', '2023-06-01 08:11:49', '2024-03-23 11:53:07', NULL), +(3, 1, 1, 'Bagaimana cara mengubah nilai panjang, lebar, dan tinggi balok pada kode program ini?', 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, Anda dapat mengganti nilai pada bagian panjang = 10, lebar = 6, dan tinggi = 7 dengan nilai yang diinginkan.', 'Cara mengubah nilai panjang, lebar, dan tinggi dengan mengganti atau menginput nilai baru sesuai kebutuhan. Misalnya, panjang = 12, lebar = 8, dan tinggi = 5.', 'Langkah pertama adalah mencari bagian kode yang mendefinisikan nilai awal variabel panjang, lebar, dan tinggi. Kemudian ubah nilainya sesuai keinginan. Misalnya, jika ingin mengubah panjang menjadi 15, lebar menjadi 8, dan tinggi menjadi 9, ubah nilai variabel panjang, lebar, dan tinggi menjadi 15, 8, dan 9.', 'Dapat mengubah nilai panjang, lebar, dan tinggi langsung di dalam kode program. Cukup ubah nilai variabel panjang, lebar, dan tinggi sesuai dengan nilai yang diinginkan.', '2023-06-01 08:11:49', '2024-03-23 11:53:07', NULL), +(4, 2, 1, 'Apakah fungsi “if†dalam kode program diatas?', 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', 'Dalam kode program tersebut, if digunakan untuk memeriksa apakah nilai variabel \"nilai\" lebih besar dari 70, sehingga bertindak sebagai filter untuk menentukan pesan \"Selamat anda lulus!\" akan ditampilkan atau tidak.', 'Dalam hal ini, if digunakan untuk mengeksekusi pernyataan \"Selamat anda lulus!\" Hanya jika nilai variabel lebih besar dari 70.', 'If digunakan untuk membuat keputusan berdasarkan kondisi tertentu.\r\nJika kondisi yang ditentukan terpenuhi (nilai > 70), pernyataan di blok if akan dieksekusi.', '2023-06-01 08:14:09', '2024-03-23 11:55:29', NULL), +(5, 2, 1, 'Jelaskan alur program dari kode program diatas!', 'Alur program dari kode di atas adalah sebagai berikut:\r\n\r\n• Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java.\r\n• Kemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80.\r\n• Program akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70.\r\n• Jika kondisi dalam blok if (nilai > 70) bernilai true, program akan mengeksekusi pernyataan yang ada di dalam blok if, yaitu mencetak string \"Selamat anda lulus!\" menggunakan System.out.print().\r\n• Jika kondisi dalam blok if bernilai false, program akan melanjutkan ke pernyataan setelah blok if dan program akan selesai.', 'Menginisialisasi variabel nilai dengan nilai 80. Selanjutnya, program akan mengecek kondisi menggunakan pernyataan if. Jika nilai variabel nilai lebih besar dari 70, maka kondisi pernyataan di dalam if akan dieksekusi. Karena nilai variabel nilai adalah 80 (lebih besar dari 70), pernyataan \"Selamat anda lulus!\" akan dicetak menggunakan System.out.print(\"Selamat anda lulus!\");.', 'Program dimulai dengan mendeklarasikan variabel nilai dan menginisialisasinya dengan nilai 80. Program kemudian mengevaluasi kondisi \"nilai> 70\" dalam blok if untuk menentukan apakah pernyataan yang ada di dalamnya dieksekusi. Blok pernyataan di dalam if dijalankan karena nilai variabel nilai adalah 80 (lebih besar dari 70). Saat menjalankannya, pesan \"Selamat anda lulus!\" akan ditampilkan.', 'Langkah awal kode program tersebut mendeklarasikan variabel nilai dan menginisialisasinya dengan nilai 80. Program kemudian mengevaluasi apakah nilai variabel nilai lebih besar dari 70. Jika nilai variabel nilai memenuhi kondisi (lebih besar dari 70), pernyataan di dalam blok if akan dieksekusi. Karena nilai variabel nilai adalah 80 (lebih besar dari 70), pesan \"Selamat anda lulus!\" akan ditampilkan sebagai output dari program. Setelah menjalankan blok if, program akan selesai dieksekusi karena tidak ada pernyataan lanjutan setelahnya.', '2023-06-01 08:14:09', '2024-03-23 11:55:29', NULL), +(6, 2, 1, 'Apakah output yang dihasilkan dari program jika nilai dari variabel “nilai†kurang dari 70?', 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', 'Jika nilai dari variabel \"nilai\" kurang dari 70, maka blok kode dalam kondisi if tidak akan dieksekusi. Dalam hal ini, tidak akan ada output yang dihasilkan dari program.', 'Jika nilai dari variabel \"nilai\" kurang dari 70, maka program akan langsung selesai setelah blok if tidak terpenuhi. Output dari program tidak akan terdefinisi karena tidak ada perintah output yang dijalankan.', 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada perintah output yang dijalankan. Program akan selesai tanpa memberikan pesan atau tindakan tambahan apa pun.', '2023-06-01 08:14:09', '2024-03-23 11:55:29', NULL), +(7, 3, 1, 'Apa fungsi dari penggunaan if-else pada baris kode diatas?', 'If-else digunakan untuk membagi kondisi menjadi dua kemungkinan. Dalam studi kasus diatas, IF digunakan untuk melakukan pengecekan apakah nilai itemCost lebih besar dari 24. Jika kondisi tersebut terpenuhi, maka variabel order bernilai \"High Value Item!\" akan dicetak. Sedangkan jika nilai itemCost tidak lebih dari 24, maka variabel order bernilai “Low Order Value!â€', 'Fungsi dari penggunaan if-else adalah untuk menentukan kategori barang berdasarkan harga. Jika harga barang lebih dari 24.00, maka kategori barang akan ditetapkan sebagai \"High Value Item!\", jika tidak, maka kategori barang akan ditetapkan sebagai \"Low Value Item!\".', 'If-else digunakan untuk memilih pesan yang akan ditampilkan berdasarkan harga barang. Jika itemCost > 24.00, maka pesan yang ditampilkan akan berupa \"High Value Item!\", jika tidak, maka pesan yang ditampilkan akan berupa \"Low Value Item!\".', 'If-else digunakan untuk mengatur tindakan yang akan diambil berdasarkan harga barang. Jika itemCost > 24.00, maka tindakan yang diambil adalah menetapkan pesanan sebagai \"High Value Item!\", jika tidak, maka tindakan yang diambil adalah menetapkan pesanan sebagai \"Low Value Item!\".', '2023-06-01 08:16:58', '2024-03-23 11:57:25', NULL), +(8, 3, 1, 'Jelaskan alur program dari baris kode diatas!', '• Mendeklarasikan kelas Order.\r\n• Mendeklarasikan method main sebagai method utama yang akan dieksekusi saat program dijalankan.\r\n• Mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99.\r\n• Mendeklarasikan variabel order dengan tipe data String dan memberikannya nilai awal berupa string kosong (\"\").\r\n• Melakukan pengecekan kondisi menggunakan pernyataan if. Kondisi yang dievaluasi adalah itemCost > 24.00.\r\n• Jika kondisi tersebut benar (nilai itemCost lebih besar dari 24.00), maka blok kode di dalam if akan dieksekusi.\r\n• Dalam blok if, nilai variabel order diubah menjadi \"High Value Item!\".\r\n• Jika kondisi dalam if tidak terpenuhi (nilai itemCost tidak lebih besar dari 24.00), maka blok kode di dalam else akan dieksekusi.\r\n• Dalam blok else, nilai variabel order diubah menjadi \"Low Value Item!\".\r\n• Setelah blok if-else selesai dieksekusi, pesan yang ada dalam variabel order akan dicetak menggunakan System.out.print.\r\n• Output yang ditampilkan akan bergantung pada nilai itemCost. Jika itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan dicetak. Jika tidak, maka pesan \"Low Value Item!\" akan dicetak.', 'Program di atas merupakan program sederhana untuk menentukan status suatu pesanan berdasarkan harga barang. Berikut adalah alur programnya: Mendeklarasikan kelas Order yang merupakan kelas utama program. Di dalam method main, mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99, serta variabel order dengan tipe data String dan tanpa nilai awal. Menggunakan struktur kontrol if-else untuk mengevaluasi harga barang. Pada kondisi if, jika itemCost lebih besar dari 24.00, variabel order akan diisi dengan string \"High Value Item!\", sedangkan jika tidak memenuhi kondisi if (itemCost <= 24.00), variabel order akan diisi dengan string \"Low Value Item!\". Mencetak nilai variabel order menggunakan System.out.print.', 'Alur program dari baris kode di atas adalah sebagai berikut: Mendeklarasikan kelas Order yang berisi method main sebagai method utama yang akan dieksekusi pertama kali saat program dijalankan. Di dalam method main, terdapat deklarasi variabel itemCost yang bertipe data double dan diberi nilai 30.99, merepresentasikan biaya barang. Deklarasi variabel order dengan tipe data String yang belum diinisialisasi (nilai awalnya kosong). Program menggunakan struktur kontrol if-else untuk mengevaluasi nilai itemCost. Jika nilai itemCost lebih besar dari 24.00, maka kondisi if terpenuhi, dan variabel order akan diisi dengan string \"High Value Item!\". Jika tidak, maka kondisi else akan dieksekusi, dan variabel order akan diisi dengan string \"Low Value Item!\". Setelah nilai variabel order ditentukan berdasarkan harga barang, program mencetak nilai variabel order ke konsol menggunakan System.out.print. Dengan demikian, program tersebut bertujuan untuk memberikan status pesanan (\"High Value Item!\" atau \"Low Value Item!\") berdasarkan nilai itemCost. Jika itemCost lebih dari 24.00, pesanan dianggap bernilai tinggi, dan sebaliknya.', 'Variabel biaya barang (itemCost) diinisialisasi dengan nilai 30.99. Jika itemCost > 24.00, maka pesan yang ditampilkan akan berupa \"High Value Item!\", jika tidak, maka pesan yang ditampilkan akan berupa \"Low Value Item!\". Pesan dicetak menggunakan System.out.print.', '2023-06-01 08:16:58', '2024-03-23 11:57:25', NULL), +(9, 3, 1, 'Apa yang akan ditampilkan sebagai output program ini, jika nilai variabel “itemCost†adalah 20?', 'Program akan menampilkan output “Low Value Itemâ€', 'Jika nilai variabel \"itemCost\" adalah 20, maka kondisi dalam if-statement akan bernilai false. Karena nilai \"itemCost\" tidak lebih besar dari 24.00, program akan menjalankan blok else. Sehingga output dari program adalah \"Low Value Item!\".', 'Ketika nilai variabel \"itemCost\" adalah 20, maka kondisi if-statement akan dinilai false. Program akan menjalankan blok else, yang menetapkan nilai \"order\" menjadi \"Low Value Item!\". Output dari program adalah \"Low Value Item!\".', 'Jika nilai variabel \"itemCost\" adalah 20, maka kondisi akan bernilai false. Karena nilai \"itemCost\" tidak memenuhi syarat untuk kondisi if, program akan menjalankan blok else dan menetapkan nilai \"order\" sebagai \"Low Value Item!\".', '2023-06-01 08:16:58', '2024-03-23 11:57:25', NULL), +(10, 4, 1, 'Apakah fungsi dari baris program default?', 'Dengan menggunakan default, program akan menangani situasi di mana nilai shipping tidak cocok dengan case-case yang didefinisikan sebelumnya. Default berfungsi sebagai pilihan terakhir yang akan dieksekusi jika tidak ada case yang cocok dengan nilai yang dievaluasi.', 'Baris program default digunakan untuk menangani situasi ketika nilai dari variabel \"shipping\" tidak cocok dengan salah satu kasus yang telah ditentukan dalam switch statement. Dalam hal ini, jika nilai \"shipping\" tidak sama dengan \"Regular\" atau \"Express\", maka program akan menjalankan blok kode dalam default untuk menetapkan nilai \"shippingCost\".', 'Baris program default berfungsi sebagai opsi alternatif atau fallback jika tidak ada case yang cocok dengan nilai dari variabel \"shipping\". Ini memastikan bahwa jika tidak ada opsi yang cocok, program tidak akan mengalami kesalahan dan akan tetap melanjutkan eksekusi dengan menggunakan nilai default.', 'Default digunakan untuk mengatasi kesalahan input atau kondisi yang tidak terduga dalam program. Jika nilai \"shipping\" tidak sesuai dengan kasus yang telah ditentukan sebelumnya, default akan menetapkan nilai \"shippingCost\" ke nilai yang telah ditentukan (0.50 dalam kasus ini) untuk menangani situasi tersebut.', '2023-06-01 08:18:42', '2024-03-23 11:59:15', NULL), +(11, 4, 1, 'Jelaskan alur program dari baris kode switch – case diatas!', 'Alur program dari baris kode switch-case di atas adalah sebagai berikut:\r\n\r\nProgram dimulai dengan mendeklarasikan variabel shipping dengan nilai \"Express\" dan variabel shippingCost tanpa nilai awal. Kemudian, program melanjutkan ke switch statement dengan mengevaluasi nilai dari variabel shipping. \r\n\r\nProgram akan membandingkan nilai shipping dengan setiap case yang ada. Jika nilai shipping cocok dengan salah satu case, program akan melompat ke blok kode yang sesuai dengan case tersebut.\r\nJika nilai shipping adalah \"Regular\", maka variabel shippingCost akan diatur menjadi 0.\r\nJika nilai shipping adalah \"Express\", maka variabel shippingCost akan diatur menjadi 1.75.\r\nJika nilai shipping tidak cocok dengan case-case di atas, program akan melompat ke blok kode dalam default.\r\nPada blok kode default, variabel shippingCost akan diatur menjadi 0.50.\r\n\r\nSetelah switch statement selesai dieksekusi, program akan mencetak nilai shippingCost dengan menggunakan pernyataan System.out.print(\"Shipping cost: \" + shippingCost);.\r\nDengan demikian, alur program akan menentukan nilai shippingCost berdasarkan nilai shipping yang dievaluasi menggunakan switch-case.', 'Alur program dari baris kode switch-case di atas adalah sebagai berikut:\r\n Variabel \"shipping\" dideklarasikan dan diinisialisasi dengan nilai \"Express\". Dilakukan pernyataan switch pada variabel \"shipping\". Program mengevaluasi nilai variabel \"shipping\" dan mencocokkannya dengan setiap case dalam switch-case. Jika nilai \"shipping\" cocok dengan salah satu case, maka blok kode di dalam case tersebut akan dieksekusi. Jika nilai \"shipping\" adalah \"Regular\", maka nilai variabel \"shippingCost\" akan diatur menjadi 0. Jika nilai \"shipping\" adalah \"Express\", maka nilai variabel \"shippingCost\" akan diatur menjadi 1.75.\r\nJika tidak ada case yang cocok dengan nilai \"shipping\", maka blok kode di dalam default case akan dieksekusi. Di sini, nilai variabel \"shippingCost\" akan diatur menjadi 0.50. Setelah nilai variabel \"shippingCost\" ditetapkan berdasarkan case yang cocok, program akan mencetak nilai \"shippingCost\" sebagai biaya pengiriman.', 'Pertama, variabel \"shipping\" dideklarasikan dan diinisialisasi dengan nilai \"Express\". Kemudian, dilakukan pengecekan kondisi variabel \"shipping\" dalam struktur switch-case. Program akan mengevaluasi nilai \"shipping\" dan mencocokkannya dengan setiap case yang ada dalam switch-case. Jika nilai \"shipping\" cocok dengan salah satu case, maka blok kode di dalam case tersebut akan dieksekusi. Jika nilai \"shipping\" sama dengan \"Regular\", maka nilai variabel \"shippingCost\" akan diatur menjadi 0. Jika nilai \"shipping\" sama dengan \"Express\", maka nilai variabel \"shippingCost\" akan diatur menjadi 1.75. Jika tidak ada case yang cocok dengan nilai \"shipping\", maka blok kode di dalam default case akan dieksekusi. Di sini, nilai variabel \"shippingCost\" akan diatur menjadi 0.50. Setelah nilai variabel \"shippingCost\" ditetapkan berdasarkan case yang cocok atau default, program akan mencetak nilai \"shippingCost\" sebagai biaya pengiriman.', 'Variabel \"shipping\" diinisialisasi dengan nilai \"Express\". Nilai \"shipping\" dibandingkan dengan setiap case dalam switch-case. Jika \"shipping\" cocok dengan case \"Regular\", \"shippingCost\" diatur menjadi 0. Jika \"shipping\" cocok dengan case \"Express\", \"shippingCost\" diatur menjadi 1.75. Jika tidak ada case yang cocok, maka nilai default \"shippingCost\" adalah 0.50. Program mencetak nilai \"shippingCost\" sebagai biaya pengiriman.', '2023-06-01 08:18:42', '2024-03-23 11:59:15', NULL), +(12, 4, 1, 'Kapan shippingCost bernilai 0.05?', 'Pada saat nilai shipping tidak bernilai regular maupun express, sehingga mengeluarkan nilai default, yaitu 0.05', 'Jika pernyataan default digunakan pada switch statement karena nilai variabel \"shipping\" tidak cocok dengan kasus yang ada, maka shippingCost akan diatur ke 0.05.', 'Jika nilai variabel \"shipping\" tidak cocok dengan kasus \"Regular\" dan \"Express\", maka default case akan dieksekusi dan shippingCost akan diatur ke 0.05.', 'shippingCost akan bernilai 0.05 jika tidak ada case yang cocok dengan nilai variabel \"shipping\" dan default case dieksekusi.', '2023-06-01 08:18:42', '2024-03-23 11:59:15', NULL), +(13, 5, 1, 'Mengapa variabel isMember bertipe data Boolean?', 'Karena variabel isMember di rancang untuk menampung nilai salah atau benar', 'Variabel ini digunakan untuk mewakili status keanggotaan pelanggan, yang hanya memiliki dua nilai, yaitu true (anggota) atau false (non-anggota). Tipe data Boolean tepat untuk menyimpan nilai-nilai yang hanya memiliki dua kemungkinan.', 'variabel isMember digunakan dalam struktur kondisional (if-else) untuk menentukan jenis diskon yang akan diberikan berdasarkan status keanggotaan. Tipe data Boolean cocok digunakan dalam kondisi seperti ini karena hanya memiliki dua nilai yang relevan: true atau false.', 'Dalam konteks program ini, isMember digunakan untuk menentukan jenis diskon yang berlaku. Dengan menggunakan tipe data Boolean, kode program menjadi lebih mudah dipahami dan sesuai dengan kebutuhan, karena hanya perlu memeriksa apakah seseorang adalah anggota atau bukan.', '2023-06-01 08:21:08', '2024-03-23 12:01:06', NULL), +(14, 5, 1, 'Jelaskan alur program diatas, jika diketahui nilai isMember adalah false!', '• Jika nilai isMember adalah false, maka program akan masuk kedalam pemilihan else.\r\n• Program akan melakukan pengecekan total. Diketahui total adalah 200000, sehingga masuk kedalam blok pemilihan ketiga dengan diskon 15 %\r\n• Sehingga, output dari program tersebut adalah “diskon yang didapatkan adalah 15%â€', 'Ketika isMember memiliki nilai false dalam program ini, artinya pelanggan bukanlah anggota dari toko buku. Dalam kondisi ini, program akan menetapkan diskon berdasarkan total belanja. Program akan menguji nilai total untuk menentukan besarnya diskon yang akan diberikan. Jika total belanja kurang dari 100000, diskon akan diatur menjadi 5%. Jika total belanja berada di antara 100000 dan 150000, diskon akan menjadi 10%. Namun, jika total belanja melebihi 150000, maka diskon akan menjadi 15%. Dalam kasus nilai total belanja sebesar 200000, karena melebihi 150000, maka diskon yang diberikan adalah sebesar 15%. Setelah itu, program akan mencetak pesan yang menyatakan jumlah diskon yang didapatkan oleh pelanggan.', 'Ketika isMember bernilai false, program akan menentukan diskon berdasarkan total belanja. Jika total belanja melebihi 150000, diskon adalah 15%. Dalam kasus nilai total belanja 200000, diskon akan menjadi 15%, yang kemudian dicetak oleh program.', 'Program dimulai dengan mendeklarasikan beberapa variabel, yaitu isMember yang diset sebagai false, total yang memiliki nilai 200000, dan diskon yang diinisialisasi dengan nilai 0. Kemudian, program masuk ke dalam blok if-else statement. Karena nilai isMember adalah false, program akan mengeksekusi blok else. Di dalam blok else, terdapat serangkaian kondisi if-else if-else untuk menentukan besarnya diskon berdasarkan nilai total pembelanjaan. Pertama, program mengecek apakah nilai total kurang dari 100000. Karena nilai total adalah 200000, maka kondisi ini tidak terpenuhi. Kemudian, program mengecek apakah nilai total berada di antara 100000 dan 150000. Karena total adalah 200000, maka kondisi ini juga tidak terpenuhi. Terakhir, karena kedua kondisi sebelumnya tidak terpenuhi, program mengeksekusi blok else terakhir. Di sini, diskon diatur menjadi 15 karena nilai total melebihi 150000. Setelah itu, program mencetak hasil diskon yang didapatkan, yang dalam kasus ini adalah \"diskon yang didapatkan adalah 15%\".', '2023-06-01 08:21:08', '2024-03-23 12:01:06', NULL), +(15, 5, 1, 'Apakah output program jika nilai variabel “total†bernilai Rp.30.000?', 'program akan mengeluarkan output “diskon yang didapatkan adalah 10%â€', 'Karena nilai variabel \"total\" adalah Rp.30.000 dan nilai \"isMember\" adalah true, maka program akan mengeksekusi blok if pertama. Dalam blok if pertama, nilai \"total\" kurang dari Rp.100.000 sehingga diskon akan diatur menjadi 10%. Namun, karena nilai \"total\" tidak memenuhi syarat, maka program akan beralih ke blok else. Dalam blok else, karena nilai \"total\" kurang dari Rp.100.000, diskon akan diatur menjadi 5%. Sehingga output program akan menampilkan \"diskon yang didapatkan adalah 5%\".', 'Output: \"diskon yang didapatkan adalah 5%\". Karena nilai variabel \"total\" adalah Rp.30.000 dan \"isMember\" bernilai true, program akan memeriksa kondisi if pertama. Kondisi if pertama akan bernilai false karena nilai \"total\" tidak kurang dari Rp.100.000. Program akan beralih ke blok else dan mengecek kondisi di dalamnya. Kondisi dalam blok else akan bernilai true karena nilai \"total\" kurang dari Rp.100.000. Maka, diskon akan diatur menjadi 5%. Output program akan menampilkan \"diskon yang didapatkan adalah 5%\".', 'Jika isMember == true maka outputnya \"diskon yang didapatkan adalah 10%\". Jika false maka outputnya \"diskon yang didapatkan adalah 5%\".', '2023-06-01 08:21:08', '2024-03-23 12:01:06', NULL), +(16, 6, 1, 'Apakah kegunaan i++ pada perulangan for diatas?', 'fungsi i++ memiliki fungsi sebagai operator penambahan', 'Kegunaan i++ dalam perulangan for adalah untuk meningkatkan nilai variabel i setiap kali iterasi loop dilakukan.\r\nDalam konteks ini, setiap kali iterasi dilakukan, nilai i akan bertambah satu.', 'i++ digunakan untuk menggerakkan iterasi perulangan for ke nilai selanjutnya. Saat iterasi dilakukan, nilai i akan ditingkatkan, sehingga perulangan akan melanjutkan eksekusi ke langkah berikutnya.', 'i++ sangat penting untuk menghindari perulangan tanpa batas. Dengan menambah nilai i setiap iterasi, kita memastikan bahwa perulangan akan berhenti ketika kondisi berhenti terpenuhi.', '2023-06-01 08:22:55', '2024-03-23 12:02:56', NULL), +(17, 6, 1, 'Jelaskan alur program perulangan diatas!', 'Program dimulai dengan mendeklarasikan variabel number dengan nilai 6. Kemudian, program melanjutkan ke for loop yang dimulai dengan inisialisasi variabel i dengan nilai 1. Setelah inisialisasi, program akan memeriksa kondisi “i < numberâ€. Jika kondisi ini benar, program akan melanjutkan ke blok kode dalam for loop. \r\n\r\nDalam setiap iterasi, program akan mencetak nilai i menggunakan pernyataan System.out.print(i).\r\nSetelah mencetak nilai i, program akan melanjutkan ke pernyataan i++.\r\nPernyataan i++ akan menambahkan nilai i sebesar 1 setelah setiap iterasi, sehingga nilai i akan bertambah secara bertahap.\r\n\r\nProgram akan kembali memeriksa kondisi “i < number†dan akan terus berulang sampai kondisi “i < number†tidak lagi terpenuhi. Ketika kondisi tidak terpenuhi, program keluar dari for loop dan selesai.', 'Program dimulai dengan mendeklarasikan kelas \"LuckyFive\" dengan method main. Dalam method main, variabel \"number\" diinisialisasi dengan nilai 6. Perulangan for digunakan untuk mengiterasi nilai variabel \"i\" dari 1 hingga kurang dari nilai variabel \"number\" (6). Pada setiap iterasi, nilai \"i\" akan dicetak ke layar tanpa diikuti spasi atau karakter lainnya. Perulangan akan berhenti saat nilai \"i\" sama dengan nilai variabel \"number\" (6). Setelah perulangan selesai, program akan selesai dijalankan.', 'Program ini memulai dengan menginisialisasi kelas \"LuckyFive\" dan method main. Variabel \"number\" diatur ke nilai 6. Perulangan for digunakan untuk mengulangi blok kode di dalamnya. Variabel \"i\" dimulai dari nilai 1 dan terus bertambah satu setiap iterasi hingga kurang dari 6. Setiap iterasi, nilai \"i\" dicetak tanpa spasi ke layar. Perulangan berakhir ketika nilai \"i\" mencapai nilai yang kurang dari 6. Setelah perulangan selesai, program berakhir.', 'Kode ini memulai dengan menginisialisasi kelas \"LuckyFive\" dan method main. Variabel \"number\" diinisialisasi dengan nilai 6. Perulangan for digunakan untuk melakukan serangkaian iterasi. Selama iterasi, variabel \"i\" mulai dari 1 dan terus bertambah satu setiap iterasi hingga mencapai nilai kurang dari 6. Pada setiap iterasi, nilai \"i\" dicetak ke layar tanpa ada spasi atau karakter tambahan. Proses perulangan akan berakhir saat nilai \"i\" mencapai angka kurang dari 6. Setelah iterasi terakhir, program akan selesai dieksekusi.', '2023-06-01 08:22:55', '2024-03-23 12:02:56', NULL), +(18, 6, 1, 'Apa output dari program jika nilai dari variabel number adalah 8?', 'Output program jika nilai variabel number 8 adalah 1234567', 'Ketika nilai variabel \"number\" adalah 8, maka iterasi akan berlangsung dari 1 hingga 7 (kurang dari 8). Setiap iterasi, nilai dari variabel i akan dicetak menggunakan System.out.print(). Sehingga output program adalah deret angka dari 1 hingga 7: \"1234567\".', 'Jika nilai variabel \"number\" adalah 8, maka loop akan berjalan dari 1 hingga 7 (kurang dari 8). Setiap nilai \"i\" akan dicetak menggunakan System.out.print() dalam setiap iterasi. Output program akan mencetak deret angka dari 1 hingga 7: \"1234567\".', 'Outputnya \"1234567\"', '2023-06-01 08:22:55', '2024-03-23 12:02:56', NULL), +(19, 7, 1, 'Apa kegunaan dari i++ pada kode program diatas?', 'Pada kode program tersebut, i++ digunakan sebagai operator penambahan (increment) pada variabel i.\r\n\r\nKegunaan dari i++ adalah untuk menambahkan nilai 1 pada variabel i setiap kali perulangan dilakukan. Dalam konteks kode program yang diberikan, setiap iterasi perulangan akan mencetak nilai i dan kemudian nilai i akan ditambah 1 menggunakan i++.\r\n\r\nSehingga, i++ berguna untuk mengatur aliran perulangan dan menghindari terjadinya perulangan tak terbatas (infinite loop) dengan memastikan bahwa kondisi perulangan pada while-loop (i < number) akan berhenti pada suatu titik saat nilai i mencapai nilai number yang ditentukan.', 'i++ digunakan untuk meningkatkan nilai variabel i setiap kali iterasi loop dilakukan. Ini memastikan bahwa nilai i akan terus bertambah seiring berjalannya perulangan, sehingga loop akan berhenti saat kondisi i < number tidak lagi terpenuhi.', 'Dengan menambahkan i++ setelah instruksi System.out.print(i), program memastikan bahwa setiap iterasi loop akan mencetak nilai i yang sesuai dan memperbarui nilai i untuk iterasi berikutnya. Ini membantu mengendalikan jalannya perulangan.', 'Menghindari Perulangan Tanpa Akhir: Tanpa i++, nilai i akan tetap sama dan kondisi i < number akan selalu terpenuhi. Dengan demikian, program akan terjebak dalam perulangan tanpa akhir. Dengan i++, nilai i bertambah setiap iterasi sehingga akhirnya kondisi perulangan tidak akan terpenuhi dan perulangan berhenti.', '2023-06-01 18:14:49', '2024-03-23 12:04:44', NULL), +(20, 7, 1, 'Jelaskan alur program dalam blok kode while!', 'Variabel number diinisialisasi dengan nilai 6, dan variabel i diinisialisasi dengan nilai 1. Kondisi i < number dievaluasi. Jika kondisi tersebut terpenuhi (nilai i kurang dari number), maka blok kode di dalam while loop akan dieksekusi. Jika kondisi tidak terpenuhi, maka program akan keluar dari loop. Di dalam loop, perintah System.out.print(i) akan mencetak nilai i ke layar. \r\n\r\nPada iterasi pertama, nilai i adalah 1, sehingga angka 1 akan dicetak. Selanjutnya, perintah i++ akan menambahkan nilai i sebesar 1. Proses di atas akan diulang terus menerus selama kondisi i < number masih terpenuhi. Pada setiap iterasi, nilai i akan bertambah 1 dan angka tersebut akan dicetak ke layar. \r\n\r\nLoop akan berhenti saat nilai i sama dengan atau melebihi nilai number, yaitu saat i bernilai 6. Setelah loop selesai, program akan keluar dari blok while dan program akan berakhir.', 'Inisialisasi Variabel: Variabel \"number\" diinisialisasi dengan nilai 6 dan variabel \"i\" diinisialisasi dengan nilai 1. Pengecekan Kondisi: Program memeriksa apakah nilai \"i\" kurang dari nilai \"number\". Jika kondisi ini terpenuhi, langkah berikutnya akan dieksekusi. Cetak Nilai Variabel i: Jika kondisi terpenuhi, program akan mencetak nilai variabel \"i\" menggunakan System.out.print(). Peningkatan Nilai i: Setelah nilai variabel \"i\" dicetak, nilai \"i\" akan ditingkatkan dengan menggunakan operator increment (i++). Kembali ke Pengecekan Kondisi: Setelah nilai \"i\" ditingkatkan, program kembali ke tahap pengecekan kondisi. Jika nilai \"i\" masih kurang dari nilai \"number\", program akan kembali mencetak nilai \"i\" dan meningkatkan nilai \"i\" lagi. Proses ini terus berulang sampai nilai \"i\" tidak lagi kurang dari \"number\". Selesai: Ketika nilai \"i\" tidak lagi kurang dari \"number\", loop while akan berhenti dan program selesai dieksekusi.', 'Persiapan Variabel: Awalnya, program menyiapkan dua variabel, yaitu \"number\" yang diisi dengan nilai 6 dan \"i\" yang diinisialisasi dengan nilai 1. Pengecekan Batasan: Program memeriksa apakah nilai \"i\" masih lebih kecil dari nilai \"number\". Jika ya, proses akan dilanjutkan; jika tidak, program akan keluar dari loop. Cetak Nilai: Jika kondisi masih terpenuhi, nilai dari variabel \"i\" akan dicetak menggunakan perintah cetak (print). Peningkatan Variabel: Setelah nilai \"i\" dicetak, nilai \"i\" akan ditingkatkan sebesar 1. Pengecekan Kembali: Program kembali ke tahap pengecekan batasan untuk memastikan apakah nilai \"i\" masih memenuhi syarat untuk berlanjut dalam loop. Penyelesaian: Proses ini akan terus berulang sampai nilai \"i\" tidak lagi lebih kecil dari \"number\". Setelah itu, program akan keluar dari loop dan selesai dieksekusi.', 'Program menggunakan loop while untuk mencetak nilai variabel \"i\" selama nilai \"i\" kurang dari nilai \"number\". Setiap iterasi, nilai \"i\" akan dicetak dan kemudian ditingkatkan sebesar 1. Proses ini akan terus berlanjut hingga nilai \"i\" tidak lagi kurang dari \"number\", pada saat itu program akan keluar dari loop.', '2023-06-01 18:14:49', '2024-03-23 12:04:44', NULL), +(21, 7, 1, 'Jika kondisi dalam while diganti menjadi “while(i > number)â€, apakah output yang dikeluarkan oleh program ?', 'Output dari kode program di atas adalah tidak ada. Hal ini dikarenakan kondisi pada while loop, yaitu i > number, tidak terpenuhi pada awalnya. Karena nilai awal i adalah 1 dan number adalah 6, maka kondisi 1 > 6 akan bernilai false. Oleh karena itu, blok kode dalam while loop tidak akan dieksekusi, sehingga tidak ada output yang dicetak ke layar', 'Karena nilai awal variabel \"i\" adalah 1 dan nilai variabel \"number\" adalah 6, maka kondisi \"while(i > number)\" tidak akan terpenuhi.\r\nKarena itu, blok while tidak akan dieksekusi, sehingga tidak akan ada output yang dihasilkan.', 'Karena nilai awal variabel \"i\" adalah 1 dan nilai variabel \"number\" adalah 6, kondisi \"while(i > number)\" tidak terpenuhi.\r\nProgram tidak akan masuk ke dalam blok while karena kondisinya salah. Sehingga, tidak ada output yang dihasilkan.', 'Tidak Ada Output Karena kondisi while tidak terpenuhi, program tidak akan masuk ke dalam loop.', '2023-06-01 18:14:49', '2024-03-23 12:04:44', NULL), +(22, 8, 1, 'Apakah fungsi dari baris kode “int next = first + second†?', 'Pada program Fibonacci, fungsi dari kode “int next = first + second;†adalah untuk menghitung nilai angka selanjutnya dalam deret Fibonacci.\r\n\r\nPada setiap iterasi perulangan, nilai next dihitung dengan menjumlahkan nilai first dan second. Kemudian, nilai next akan menjadi angka baru dalam deret Fibonacci.\r\n\r\nMisalnya, pada awalnya first memiliki nilai 0 dan second memiliki nilai 1. Pada iterasi pertama, next akan dihitung sebagai 0 + 1 = 1. Setelah itu, nilai first akan diperbarui menjadi 1 dan nilai second akan diperbarui menjadi 1.\r\n\r\nPada iterasi berikutnya, next akan dihitung sebagai 1 + 1 = 2. Proses ini akan terus berlanjut sampai mencapai jumlah angka Fibonacci yang diinginkan.\r\n\r\nDengan mengupdate nilai first dan second setiap kali perulangan dilakukan, kita dapat menghasilkan deret Fibonacci dengan benar.', 'Baris kode tersebut menghitung bilangan Fibonacci berikutnya dengan menjumlahkan dua bilangan Fibonacci sebelumnya yang disimpan dalam variabel \"first\" dan \"second\". Hasilnya disimpan dalam variabel \"next\" untuk digunakan dalam iterasi berikutnya.', 'Baris kode tersebut bertujuan untuk menghasilkan bilangan Fibonacci berikutnya dalam deret Fibonacci. Dengan menambahkan dua bilangan Fibonacci sebelumnya, kita dapat menentukan bilangan Fibonacci berikutnya dalam deret tersebut.', 'Baris kode tersebut digunakan untuk menghitung dan menyimpan nilai bilangan Fibonacci berikutnya dalam variabel \"next\". Nilai \"next\" kemudian akan digunakan dalam iterasi selanjutnya dalam mencetak deret Fibonacci.', '2023-06-01 18:16:41', '2024-03-23 12:06:51', NULL), +(23, 8, 1, 'Jelaskan alur program dalam blok kode do-while diatas!', 'Variabel next diinisialisasi dengan hasil penjumlahan first dan second.\r\nNilai next dicetak menggunakan perintah System.out.print(next + \" \"), sehingga akan mencetak nilai next diikuti dengan spasi. Nilai first diperbarui dengan nilai second. Nilai second diperbarui dengan nilai next. \r\n\r\nVariabel i (yang merupakan counter) ditambahkan dengan 1 menggunakan perintah i++. Kondisi i <= n dievaluasi. Jika kondisi tersebut terpenuhi, maka program akan kembali ke langkah 1 dan melanjutkan iterasi berikutnya. Jika kondisi tidak terpenuhi, maka program akan keluar dari loop.\r\n\r\nLangkah-langkah 1-6 akan terus diulang sampai kondisi i <= n tidak terpenuhi.', 'Variabel \"n\" menyimpan nilai yang menunjukkan panjang dari deret Fibonacci yang ingin dihasilkan. Variabel \"first\" dan \"second\" digunakan untuk menyimpan dua angka pertama dari deret Fibonacci, yaitu 0 dan 1. Variabel \"i\" digunakan sebagai counter untuk menghitung iterasi. Pesan \"Deret Fibonacci: \" dicetak sebagai judul.\r\nDua angka pertama dari deret Fibonacci, yaitu \"first\" dan \"second\", dicetak. Di dalam blok do, dilakukan iterasi untuk menghasilkan angka-angka selanjutnya dalam deret Fibonacci. Selama nilai \"i\" masih kurang dari atau sama dengan nilai \"n\", langkah-langkah berikut dijalankan: Variabel \"next\" menampung hasil penjumlahan dari \"first\" dan \"second\", yang merupakan angka selanjutnya dalam deret Fibonacci. Angka \"next\" dicetak. Nilai variabel \"first\" diperbarui menjadi nilai variabel \"second\". Nilai variabel \"second\" diperbarui menjadi nilai variabel \"next\". Counter \"i\" ditingkatkan. Iterasi dilakukan hingga nilai \"i\" mencapai nilai \"n\". Proses ini akan menghasilkan deret Fibonacci sepanjang n sesuai dengan nilai yang dimasukkan ke dalam variabel \"n\".', 'Inisialisasi Variabel: Variabel \"n\" menentukan jumlah angka dalam deret Fibonacci yang akan dihasilkan. Variabel \"first\" dan \"second\" memuat dua angka pertama dalam deret Fibonacci, yaitu 0 dan 1. Variabel \"i\" digunakan sebagai penghitung iterasi untuk mengontrol berapa kali deret Fibonacci dihasilkan. Cetak Judul: \"Deret Fibonacci: \" dicetak sebagai judul untuk hasil output. Cetak Angka Awal: Dua angka pertama dari deret Fibonacci, yaitu \"first\" dan \"second\", dicetak.\r\nIterasi untuk Menghasilkan Deret Fibonacci: Program menggunakan do-while loop untuk melakukan iterasi untuk menghasilkan angka-angka berikutnya dalam deret Fibonacci. Setiap iterasi, variabel \"next\" dihitung sebagai penjumlahan dari dua angka terakhir dalam deret Fibonacci. Angka \"next\" dicetak sebagai bagian dari deret Fibonacci.\r\nVariabel \"first\" dan \"second\" diperbarui untuk menyesuaikan angka-angka terakhir dalam deret Fibonacci. Counter \"i\" ditingkatkan untuk melanjutkan iterasi. Pengecekan Batas: Iterasi dilakukan hingga jumlah iterasi mencapai atau melebihi nilai \"n\", sesuai dengan jumlah angka yang diinginkan dalam deret Fibonacci. Proses ini akan terus berlanjut hingga mencapai jumlah iterasi yang diinginkan, menghasilkan deret Fibonacci sesuai dengan panjang yang ditentukan oleh nilai variabel \"n\".', 'Program menghasilkan deret Fibonacci dengan jumlah elemen yang ditentukan oleh variabel \"n\". Tahapan program: Inisialisasi variabel: \"n\" untuk menentukan jumlah elemen, \"first\" dan \"second\" untuk dua elemen pertama, \"i\" sebagai penghitung iterasi. Cetak judul \"Deret Fibonacci: \". Cetak dua elemen pertama. Lakukan iterasi menggunakan do-while loop: Hitung dan cetak elemen berikutnya. Perbarui variabel \"first\" dan \"second\". Perbarui penghitung iterasi. Iterasi dilakukan hingga mencapai atau melebihi jumlah elemen yang diinginkan.', '2023-06-01 18:16:41', '2024-03-23 12:06:51', NULL), +(24, 8, 1, 'Jika nilai variabel n di ganti menjadi 7, output apakah yang akan dikeluarkan program?', '0 1 1 2 3 5 8 13 21', 'Program akan mencetak deret Fibonacci hingga ke-7 (n=7). Deret Fibonacci dimulai dari 0 dan 1, kemudian setiap angka berikutnya adalah penjumlahan dari dua angka sebelumnya. Sehingga output program akan mencetak deret Fibonacci: \"0 1 1 2 3 5 8 13 21\".', 'Program akan menghasilkan deret Fibonacci hingga bilangan ke-7, dimulai dari 0 dan 1. Setiap bilangan dalam deret Fibonacci dihasilkan dengan menambahkan dua bilangan sebelumnya. Sehingga, setelah 0 dan 1, angka berikutnya adalah penjumlahan dari 0 + 1 = 1, 1 + 1 = 2, 1 + 2 = 3, 2 + 3 = 5, 3 + 5 = 8, 5 + 8 = 13, dan seterusnya. Oleh karena itu, output program akan mencetak deret Fibonacci: \"0 1 1 2 3 5 8 13 21\".', 'Program akan menghasilkan deret Fibonacci hingga bilangan ke-7, dimulai dari 0 dan 1. Setiap angka dalam deret Fibonacci dihasilkan dengan menambahkan dua angka sebelumnya. Dengan kata lain, setiap angka dalam deret Fibonacci adalah hasil dari penjumlahan dua angka sebelumnya. Sehingga, output program akan mencetak deret Fibonacci: \"0 1 1 2 3 5 8 13 21\".', '2023-06-01 18:16:41', '2024-03-23 12:06:51', NULL), +(25, 9, 1, 'Apakah fungsi kondisi (i <=5) pada perulangan pertama (outer loop)?', 'Kode program tersebut berfungsi untuk menentukan jumlah baris piramida bintang. Jika 5 diganti menjadi 7, maka baris piramida menjadi 7 baris', 'Kondisi tersebut mengontrol jumlah baris yang akan dicetak. Dengan i bervariasi dari 1 hingga 5, perulangan luar akan mencetak 5 baris.', 'Dengan i bervariasi dari 1 hingga 5, setiap baris akan memiliki jumlah bintang yang sesuai dengan nilai i.', 'Kondisi tersebut digunakan untuk membentuk pola bertingkat dalam pola bintang. Saat i meningkat, jumlah bintang yang dicetak dalam satu baris juga bertambah sesuai dengan nilai i.', '2023-06-01 18:19:46', '2024-03-23 12:08:41', NULL), +(26, 9, 1, 'Jelaskan alur program dari perulangan kedua (inner loop) yang menggunakan variabel j!', 'Perulangan akan dimulai dari nilai 1 dan berakhir pada saat nilai “j†sama dengan atau kurang dari nilai “iâ€. Saat kondisi terpenuhi, satu bintang akan ditambahkan ke variabel “outputâ€, jumlah bintang akan terus bertambah seiring dengan nilai “i†yang meningkat.', 'Program memulai perulangan pertama (outer loop) dengan nilai i mulai dari 1 hingga 5, sesuai dengan jumlah baris yang ingin dibuat dalam piramida. Pada setiap iterasi perulangan pertama, program memulai perulangan kedua (inner loop) dengan nilai j mulai dari 1 hingga i. Pada setiap iterasi perulangan kedua, program mencetak sebuah bintang (*) ke dalam variabel output. Jumlah bintang (*) yang dicetak pada setiap iterasi perulangan kedua (inner loop) akan bertambah sesuai dengan nilai i pada iterasi perulangan pertama (outer loop). Setelah mencetak bintang (*) sejumlah i kali pada setiap baris, program akan menambahkan karakter baris baru (\\n) ke dalam variabel output. Proses ini akan terus berlanjut hingga perulangan pertama (outer loop) selesai, dan output akan dicetak ke layar. Dengan demikian, pada setiap baris, jumlah bintang () yang dicetak akan meningkat sesuai dengan nomor barisnya, membentuk piramida dari bintang ().', 'Pada setiap iterasi perulangan pertama (outer loop), nilai variabel i menentukan nomor baris yang sedang diproses dalam piramida. Saat perulangan kedua (inner loop) dimulai, nilai variabel j dimulai dari 1 hingga mencapai nilai yang sama dengan variabel i, menandakan jumlah bintang (*) yang akan dicetak pada baris saat ini. Di setiap iterasi perulangan kedua, sebuah bintang (*) ditambahkan ke dalam variabel output. Jumlah bintang (*) yang dicetak pada setiap baris bertambah sesuai dengan nomor barisnya, membentuk pola bertingkat yang khas dalam piramida. Setelah mencetak bintang (*) sejumlah yang sesuai untuk baris saat ini, karakter baris baru (\\n) ditambahkan ke dalam variabel output untuk memindahkan output ke baris berikutnya. Proses ini diulangi hingga seluruh baris dalam piramida selesai dibangun.', 'Perulangan kedua menggunakan variabel j untuk menambahkan satu bintang () pada setiap baris piramida, di mana jumlah bintang () yang dicetak bertambah sesuai dengan nomor barisnya.', '2023-06-01 18:19:46', '2024-03-23 12:08:41', NULL), +(27, 9, 1, 'Apakah output yang diberikan program, jika kondisi ( i<= 5) pada perulangan pertama (outer loop) di ganti menjadi ( i<=6 )?', 'Jumlah baris piramida akan bertambah 1 baris, sehingga menjadi 6 baris, dengan baris terakhir memiliki 6 bintang.', 'Program akan mencetak piramida dengan tinggi 6 baris. Setiap baris akan memiliki jumlah bintang yang sama dengan nomor barisnya.', 'Program akan menghasilkan pola piramida dengan tinggi 6 baris, di mana jumlah bintang pada setiap baris akan sama dengan nomor barisnya. Dengan kata lain, pada baris pertama hanya akan ada satu bintang, pada baris kedua akan ada dua bintang, pada baris ketiga akan ada tiga bintang, dan seterusnya hingga baris keenam akan memiliki enam bintang.', 'Program akan mencetak pola piramida dengan tinggi 6 baris, di mana jumlah bintang pada setiap baris sesuai dengan nomor barisnya.', '2023-06-01 18:19:46', '2024-03-23 12:08:41', NULL), +(28, 10, 1, 'Kode program manakah yang berfungsi untuk merubah array menjadi data string?', 'Yang merubah array menjadi data string adalah baris kode Arrays.toString(topics)', 'Dengan menggunakan metode Arrays.toString(), array topics dikonversi menjadi string.', 'Dengan menggunakan metode Arrays.toString(), array topics diubah menjadi string dengan cara menggabungkan semua elemen array ke dalam satu string dengan tanda kurung siku dan koma sebagai pemisah antara elemen-elemen array tersebut.', 'Metode Arrays.toString() mengubah array topics menjadi string dengan cara menggabungkan semua elemen array ke dalam satu string, di mana setiap elemen dipisahkan oleh koma dan dikelilingi oleh tanda kurung siku.', '2023-06-01 18:21:53', '2024-03-23 12:10:41', NULL), +(29, 10, 1, 'Jelaskan alur program dari kode program diatas!', 'Array topics berisi empat elemen yang mewakili topik-topik berita, yaitu \"Opinion\", \"Tech\", \"Science\", dan \"Health\". Variabel topicArray diinisialisasi dengan hasil pemanggilan Arrays.toString(topics). Fungsi Arrays.toString() digunakan untuk mengonversi array topics menjadi string dengan format yang sesuai.\r\n\r\nSelanjutnya, perintah System.out.print(topicArray) digunakan untuk mencetak isi dari variabel topicArray, yaitu string yang berisi daftar topik-topik berita yang diubah dari array topics.\r\nKetika program dijalankan, string yang berisi daftar topik-topik berita akan ditampilkan sebagai output.', 'Mendefinisikan sebuah array topics yang berisi beberapa topik berita. Menggunakan method Arrays.toString() untuk mengonversi array topics menjadi sebuah string. String yang dihasilkan disimpan dalam variabel topicArray. Menggunakan System.out.print() untuk mencetak isi dari variabel topicArray, yang merupakan string yang berisi seluruh topik berita yang ada dalam array topics.', 'Array topics dideklarasikan dengan berisi beberapa topik berita. Kemudian, isi dari array topics diubah menjadi string menggunakan metode Arrays.toString(). Hasil konversi tersebut disimpan dalam variabel topicArray. Selanjutnya, isi dari variabel topicArray dicetak menggunakan System.out.print(). Ini akan mencetak daftar topik berita dalam bentuk string.', 'Pertama, terdapat sebuah array yang menyimpan beberapa topik berita yang telah ditentukan sebelumnya. Selanjutnya, array tersebut diubah menjadi sebuah string menggunakan sebuah metode. Hasil dari proses tersebut disimpan dalam variabel topicArray. Akhirnya, string yang berisi daftar topik berita tersebut dicetak ke layar.', '2023-06-01 18:21:53', '2024-03-23 12:10:41', NULL), +(30, 10, 1, 'Jika elemen array topics diubah menjadi “String[] topics = {1,2,3,4};â€, apakah output yang dihasilkan program? Jelaskan mengapa!', 'Error. Karena elemen array berisi bilangan bulat, sedangkan tipe data array adalah String', 'Error, Program akan menghasilkan kesalahan kompilasi karena tipe data yang dideklarasikan untuk array \"topics\" adalah string, sedangkan elemennya diberikan dalam tipe data integer.\r\nJava tidak dapat mengonversi integer menjadi string secara otomatis dalam konteks ini.', 'Program akan menghasilkan kesalahan saat dijalankan karena mencoba mencetak nilai array integer sebagai string tanpa konversi tipe data yang sesuai.', 'Program menghasilkan error karena terjadi inkonsistensi antara tipe data yang dideklarasikan untuk array \"topics\" (string) dan tipe data elemennya (integer). Dengan kata lain, program mencoba memasukkan nilai integer ke dalam array yang dideklarasikan sebagai array string, yang tidak dapat dilakukan secara langsung dalam Java. Ini menyebabkan kesalahan kompilasi karena Java tidak dapat secara otomatis mengonversi tipe data integer menjadi tipe data string dalam konteks ini.', '2023-06-01 18:21:53', '2024-03-23 12:10:41', NULL), +(31, 11, 1, 'Apakah fungsi dari kode “i < nilai.length;†pada perulangan pertama ?', 'Fungsi dari kode tersebut adalah untuk membatasi jumlah perulangan sebanyak jumlah panjang data dari array nilai', 'Kode \"i < nilai.length;\" pada perulangan pertama digunakan untuk memastikan bahwa iterasi berlangsung selama nilai dari variabel \'i\' kurang dari panjang (jumlah baris) dari array dua dimensi \'nilai\'. Dengan demikian, itu memastikan bahwa iterasi akan terjadi untuk setiap baris dalam array \'nilai\'.', 'Kode tersebut bertanggung jawab untuk membatasi iterasi agar tidak melebihi jumlah baris yang ada dalam array dua dimensi \'nilai\'. Ini membantu mencegah kesalahan indeks dan memastikan bahwa hanya baris yang ada dalam array yang diperlakukan.', 'Dengan \"i < nilai.length;\", perulangan memastikan bahwa iterasi berlangsung untuk setiap baris dalam array \'nilai\' tanpa melampaui batas yang ditetapkan oleh panjang array, sehingga memastikan bahwa semua data dalam array \'nilai\' diproses dengan benar.', '2023-06-01 18:27:43', '2024-03-23 12:12:23', NULL); +INSERT INTO `essay_question` (`id`, `question_id`, `user_id`, `question`, `answer`, `answer2`, `answer3`, `answer4`, `created_at`, `updated_at`, `deleted_at`) VALUES +(32, 11, 1, 'Jelaskan alur program dari blok kode perulangan kedua (inner loop) diatas!', 'Perulangan akan dimulai dari nilai 0 dan berakhir pada saat nilai “j†kurang dari jumlah panjang array nilai. Saat kondisi terpenuhi, satu nilai akan ditambahkan ke variabel “totalâ€. selain itu, variabel “jumlahData†juga akan ditambahkan dengan 1. nilai akan terus bertambah seiring dengan nilai “j†yang meningkat.', 'Variabel j diinisialisasi dengan nilai 0. Perulangan dilakukan selama nilai j kurang dari panjang array yang terdapat pada indeks ke i dari array nilai. Pada setiap iterasi, nilai dari array yang terletak pada indeks [i][j] ditambahkan ke dalam variabel total. Variabel jumlahData ditambah satu setiap kali perulangan dalam loop j dilakukan, untuk menghitung jumlah total data yang telah diproses. Setelah loop j selesai, program akan kembali ke awal loop i (outer loop) untuk melanjutkan iterasinya atau program berakhir jika syarat iterasi pada loop i tidak terpenuhi.', 'Pertama, variabel j diinisialisasi dengan nilai 0. Kemudian, loop akan berjalan selama nilai j kurang dari panjang array yang terdapat pada indeks ke i dari array nilai. Di setiap iterasi loop j, program akan mengakses nilai yang terletak pada indeks [i][j] dari array nilai. Nilai tersebut akan ditambahkan ke dalam variabel total, yang bertujuan untuk mengakumulasikan total nilai dari semua elemen dalam array nilai. Selain itu, variabel jumlahData akan bertambah satu pada setiap iterasi loop j. Hal ini bertujuan untuk menghitung jumlah total elemen yang telah diproses. Setelah loop j selesai, program akan melanjutkan ke iterasi berikutnya dalam loop i (outer loop) jika masih memenuhi syarat, atau program akan berakhir jika iterasi terakhir dari loop i telah selesai.', 'Perulangan dimulai dengan inisialisasi nilai j sebagai 0, dan akan terus berjalan selama nilai j kurang dari panjang array yang terdapat pada indeks ke i dari array nilai. Selama iterasi ini, setiap elemen array yang berada pada indeks [i][j] akan diakses. Nilai dari elemen tersebut akan ditambahkan ke dalam variabel total, yang bertanggung jawab untuk mengumpulkan total nilai dari semua elemen dalam array nilai. Selain itu, setiap kali iterasi dilakukan, variabel jumlahData akan bertambah satu. Ini dilakukan untuk menghitung jumlah total elemen yang telah diproses dalam perulangan. Dengan demikian, proses ini akan terus berlanjut hingga seluruh elemen dalam array nilai pada baris yang sedang diproses telah selesai diproses.', '2023-06-01 18:27:43', '2024-03-23 12:12:23', NULL), +(33, 11, 1, 'Jika elemen array nilai diganti menjadi “double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}};â€. Berapakah rata-rata nilai yang didapatkan?', 'Rata-rata yang didapatkan adalah 82', 'Jika elemen array nilai diganti menjadi “double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}};†maka rata-rata nilai yang didapatkan adalah 82.', 'Jika nilai-nilai dalam array diubah menjadi \"double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}};\", maka rata-rata yang dihasilkan adalah 82. Dengan kata lain, rata-rata dari kumpulan nilai tersebut adalah 82, yang merupakan nilai tengah dari rentang nilai yang ada. Hal ini menunjukkan bahwa sebagian besar nilai berada di sekitar angka 82, yang dapat dianggap sebagai representasi keseluruhan dari kumpulan data tersebut.', 'Jika kita mengubah nilai-nilai dalam array menjadi \"double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}};\", maka rata-rata yang dihasilkan adalah 82. Dengan kata lain, nilai rata-rata dari semua nilai dalam array tersebut adalah 82. Ini menunjukkan bahwa secara keseluruhan, nilai-nilai tersebut cenderung mendekati angka 82.', '2023-06-01 18:27:43', '2024-03-23 12:12:23', NULL), +(34, 12, 1, 'Apakah kegunaan dari kode “tampil()†pada main method?', 'Fungsi dari kode “tampil()†adalah untuk memanggil fungsi tampil.', 'Fungsi dari kode \"tampil()\" adalah untuk menampilkan hasil perhitungan luas dan keliling lingkaran dengan menggunakan metode \"tampil\". Dengan kata lain, kode \"tampil()\" bertanggung jawab untuk menampilkan informasi tentang luas dan keliling lingkaran ke layar atau output yang sesuai.', 'Kode \"tampil()\" berfungsi untuk mengorganisir dan menampilkan hasil perhitungan luas dan keliling lingkaran. Dengan kata lain, tugas kode \"tampil()\" adalah untuk menampilkan informasi terkait lingkaran, seperti luas dan kelilingnya, kepada pengguna secara jelas dan terstruktur.', 'Kode \"tampil()\" berfungsi untuk menampilkan hasil perhitungan luas dan keliling lingkaran ke layar atau output. Dengan kata lain, tugasnya adalah untuk menyajikan informasi tentang lingkaran kepada pengguna secara visual atau dalam bentuk teks agar dapat dengan mudah dipahami.', '2023-06-01 18:31:05', '2024-03-23 12:14:42', NULL), +(35, 12, 1, 'Jelaskan alur program yang ada pada fungsi “tampil()â€!', 'Inisialisasi phi dengan 3.14, inisialisasi r dengan 14. Kemudian, inisialisasi variabel luas dengan memanggil method luasLingkaran yang berparameter phi dan r, begitupun dengan variabel keliling yang memanggil kelilingLingkaran', 'Variabel lokal phi diinisialisasi dengan nilai 3.14 dan variabel r diinisialisasi dengan nilai 14. Fungsi luasLingkaran(phi, r) dipanggil dengan mengirimkan nilai phi dan r sebagai argumen. Fungsi ini menghitung luas lingkaran menggunakan rumus Ï€r^2, dimana phi adalah nilai pi (Ï€) dan r adalah jari-jari lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Fungsi kelilingLingkaran(phi, r) dipanggil dengan mengirimkan nilai phi dan r sebagai argumen. Fungsi ini menghitung keliling lingkaran menggunakan rumus 2Ï€r, dimana phi adalah nilai pi (Ï€) dan r adalah jari-jari lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Menggunakan System.out.print, hasil perhitungan luas dan keliling lingkaran ditampilkan dalam satu baris dengan format yang sesuai. Pada kasus ini, hasil luas dan keliling lingkaran akan ditampilkan dalam satu baris dengan pesan \"Luas Lingkaran = ...\" diikuti oleh nilai luas dan pesan \"Keliling Lingkaran = ...\" diikuti oleh nilai keliling.', 'Pertama, program menetapkan nilai phi (Ï€) dengan 3.14 dan nilai jari-jari lingkaran (r) dengan 14. Selanjutnya, fungsi luasLingkaran(phi, r) dipanggil untuk menghitung luas lingkaran. Fungsi ini menggunakan rumus matematika Ï€r^2, yang mengalikan phi dengan kuadrat jari-jari lingkaran, sehingga menghasilkan luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel luas. Kemudian, fungsi kelilingLingkaran(phi, r) dipanggil untuk menghitung keliling lingkaran. Fungsi ini menggunakan rumus 2Ï€r, yang mengalikan phi dengan dua kali jari-jari lingkaran, sehingga menghasilkan keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel keliling. Akhirnya, program menampilkan hasil luas dan keliling lingkaran dengan menggunakan System.out.print. Informasi ditampilkan dalam satu baris dengan format yang sesuai, diawali dengan pesan \"Luas Lingkaran = ...\" yang diikuti oleh nilai luas, dan diikuti lagi dengan pesan \"Keliling Lingkaran = ...\" yang diikuti oleh nilai keliling.', 'Fungsi tampil() bertugas menampilkan luas dan keliling lingkaran dengan jari-jari 14 dan nilai pi sebesar 3.14. Prosesnya melibatkan perhitungan luas dan keliling menggunakan rumus matematika yang sesuai, kemudian hasilnya ditampilkan dalam satu baris dengan format yang jelas dan mudah dimengerti.', '2023-06-01 18:31:05', '2024-03-23 12:14:42', NULL), +(36, 12, 1, 'Apa yang terjadi jika kode “tampil()†pada main method di hapus?', 'Jika kode tersebut dihapus, maka program tidak menampilkan output apapun', 'Jika tampil() adalah satu-satunya kode di dalam main() dan kita menghapusnya, maka kompilator akan menghasilkan kesalahan karena tidak ada tindakan yang dilakukan dalam main(). Kode harus melakukan sesuatu yang relevan di dalam metode main() untuk menjalankan program.', 'Tanpa pemanggilan tampil(), tidak ada tindakan yang dilakukan dalam main(), yang berarti tidak akan ada output yang dihasilkan ketika program dijalankan.', 'Jika tidak ada kode lain yang dieksekusi di dalam main() selain pemanggilan tampil(), meskipun tampil() dihapus, program masih akan berjalan. Namun, tidak akan ada output yang ditampilkan.', '2023-06-01 18:31:05', '2024-03-23 12:14:42', NULL), +(37, 13, 1, 'Apakah program ini menggunakan rekursi? Jelaskan!', 'Ya, program ini menggunakan rekursi. Fungsi hitungBunga memanggil dirinya sendiri dengan parameter yang telah diubah untuk tahun sebelumnya. Proses ini terjadi hingga mencapai kondisi base, yaitu saat tahun menjadi 0, di mana rekursi berhenti dan mengembalikan saldo akhir.', 'Metode hitungBunga() memanggil dirinya sendiri secara rekursif dengan parameter yang dimodifikasi pada setiap iterasi, yaitu tahun - 1, hingga mencapai kondisi basis tahun == 0.', 'Iya, Kasus dasar dalam rekursi ini adalah ketika tahun == 0, di mana tidak ada lagi tahun yang tersisa untuk dihitung, sehingga metode mengembalikan saldo.', 'Terdapat pola rekursif yang jelas dalam program ini di mana setiap pemanggilan fungsi hitungBunga() memecah masalah menjadi masalah yang lebih kecil (tahun yang berkurang) hingga mencapai kasus dasar.', '2023-06-01 18:37:39', '2024-03-23 12:16:22', NULL), +(38, 13, 1, 'Jelaskan alur kode program yang ada dalam method atau fungsi hitungBunga!', 'Fungsi hitungBunga didefinisikan dengan tiga parameter, yaitu saldo (saldo awal), bunga (persentase bunga per tahun), dan tahun (jumlah tahun). \r\n\r\nPertama, program melakukan pengecekan kondisi if (tahun == 0). Jika tahun sama dengan 0, artinya perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\r\nJika kondisi pada langkah sebelumnya tidak terpenuhi, program akan melanjutkan ke blok else.\r\nPada blok else, variabel bungaTahunan dihitung dengan rumus saldo * (bunga / 100), yang merupakan bunga yang diperoleh dalam satu tahun.\r\nSelanjutnya, variabel total dihitung dengan menambahkan saldo dengan bungaTahunan, yang merupakan total saldo setelah satu tahun dengan bunga.\r\n\r\nTerakhir, fungsi hitungBunga dipanggil secara rekursif dengan nilai total sebagai saldo baru, bunga yang sama, dan tahun - 1 sebagai tahun yang berkurang satu.\r\n\r\nAlur program akan berulang kembali ke pengecekan tahun dengan nilai saldo dan tahun yang baru. Proses ini akan terus berlanjut hingga kondisi tahun == 0 terpenuhi, dan fungsi akan mengembalikan saldo akhir setelah seluruh perhitungan bunga selesai.', 'Parameter dan Kondisional: Fungsi ini menerima tiga parameter: saldo (saldo awal), bunga (tingkat bunga tahunan), dan tahun (jumlah tahun). Pertama, fungsi memeriksa apakah tahun sama dengan 0. Jika ya, itu berarti sudah mencapai akhir perhitungan dan fungsi mengembalikan saldo saat ini.\r\n\r\nPerhitungan Bunga Tahunan: Jika tahun bukan 0, itu berarti perlu dilakukan perhitungan bunga untuk tahun tersebut. Bunga tahunan dihitung sebagai saldo awal dikalikan dengan tingkat bunga (dalam persen).\r\n\r\nTotal Saldo: Setelah mendapatkan nilai bunga tahunan, total saldo untuk tahun tersebut dihitung dengan menambahkan saldo awal dengan bunga tahunan.\r\n\r\nRekursi: Kemudian, fungsi hitungBunga() dipanggil kembali dengan nilai total saldo yang baru, tingkat bunga yang sama, dan jumlah tahun dikurangi satu. Langkah ini diulangi secara rekursif sampai mencapai tahun yang ditentukan.\r\n\r\nPengembalian Nilai: Setelah semua perhitungan selesai, nilai total saldo akhir setelah sejumlah tahun dikembalikan sebagai output dari fungsi hitungBunga().\r\n\r\nDengan cara ini, fungsi hitungBunga() secara rekursif menghitung total saldo akhir setelah sejumlah tahun dengan mengakumulasikan bunga tahunan pada saldo awal pada setiap iterasi tahun.', 'Pengecekan Awal: Fungsi memeriksa apakah sudah mencapai akhir perhitungan. Jika tahun yang diberikan adalah 0, artinya sudah selesai, dan saldo saat ini dikembalikan.\r\n\r\nPerhitungan Bunga: Jika masih ada tahun yang harus dihitung, maka bunga tahunan dihitung terlebih dahulu. Ini adalah seberapa banyak uang yang akan ditambahkan ke saldo awal pada tahun tersebut, berdasarkan persentase bunga.\r\n\r\nPertambahan Saldo: Bunga tahunan kemudian ditambahkan ke saldo awal untuk mendapatkan total saldo setelah bunga diperhitungkan.\r\n\r\nRekursi: Fungsi kembali dipanggil untuk tahun selanjutnya dengan total saldo baru tersebut sebagai saldo awal.\r\n\r\nPengulangan Langkah: Langkah-langkah di atas diulangi untuk setiap tahun, terus-menerus menambahkan bunga ke saldo sebelumnya.\r\n\r\nPengembalian Hasil: Setelah semua tahun dihitung, total saldo akhir dikembalikan sebagai hasil perhitungan.\r\n\r\nDengan cara ini, fungsi bekerja secara berulang untuk mengakumulasikan bunga pada saldo awal dari tahun ke tahun, hingga mencapai jumlah tahun yang ditentukan.', 'Fungsi hitungBunga() menghitung total saldo setelah beberapa tahun dengan menambahkan bunga tahunan ke saldo awal pada setiap iterasi tahun, hingga mencapai jumlah tahun yang ditentukan. Proses ini berlangsung secara berulang, di mana saldo yang dihitung kembali digunakan sebagai saldo awal untuk tahun berikutnya, sampai semua tahun dihitung. Akhirnya, fungsi mengembalikan total saldo akhir setelah perhitungan selesai.', '2023-06-01 18:37:39', '2024-03-23 12:16:22', NULL), +(39, 13, 1, 'Jika bunga pertahun diganti menjadi 7%, berapakah jumlah uang yang dihasilkan setelah 5 tahun?', 'Uang yang dihasilkan setelah menabung 5 tahun adalah 1.402.551,7307', 'Dengan bunga 7% pertahun, jumlah uang setelah 5 tahun adalah 1.402.551,7307', 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah 1.402.551,7307.', '1.402.551,7307', '2023-06-01 18:37:39', '2024-03-23 12:16:22', NULL), +(56, 26, 1, 'aaa', 'aaa', 'aa', 'aa', 'aa', '2024-03-23 12:23:52', '2024-03-23 12:24:33', '2024-03-23 12:24:33'), +(57, 26, 1, 'bbb', 'bbb', 'bb', 'bb', 'bb', '2024-03-23 12:23:52', '2024-03-23 12:24:33', '2024-03-23 12:24:33'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `explaining_score` +-- + +CREATE TABLE `explaining_score` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `content_id` int UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `konteks_penjelasan` int DEFAULT NULL, + `keruntutan` int DEFAULT NULL, + `kebenaran` int DEFAULT NULL, + `is_accepted` tinyint(1) DEFAULT NULL, + `essay_question_id` bigint UNSIGNED NOT NULL, + `user_answer_id` bigint UNSIGNED NOT NULL, + `total_score_id` bigint UNSIGNED NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `explaining_score` +-- + +INSERT INTO `explaining_score` (`id`, `user_id`, `content_id`, `question_id`, `konteks_penjelasan`, `keruntutan`, `kebenaran`, `is_accepted`, `essay_question_id`, `user_answer_id`, `total_score_id`, `created_at`, `updated_at`) VALUES +(1, 2, 1, 1, 20, NULL, NULL, 0, 1, 1, 1, '2023-06-01 18:49:37', '2023-06-01 18:49:37'), +(2, 2, 1, 1, NULL, 10, NULL, 0, 2, 2, 1, '2023-06-01 18:49:37', '2023-06-01 18:49:37'), +(3, 2, 1, 1, NULL, NULL, 5, 0, 3, 3, 1, '2023-06-01 18:49:37', '2023-06-01 18:49:37'), +(4, 2, 2, 2, 5, NULL, NULL, 0, 4, 4, 2, '2023-06-01 19:35:27', '2023-06-01 19:35:27'), +(5, 2, 2, 2, NULL, 15, NULL, 0, 5, 5, 2, '2023-06-01 19:35:27', '2023-06-01 19:35:27'), +(6, 2, 2, 2, NULL, NULL, 10, 0, 6, 6, 2, '2023-06-01 19:35:27', '2023-06-01 19:35:27'), +(7, 2, 3, 3, 2, NULL, NULL, 0, 7, 7, 3, '2023-06-01 20:01:42', '2023-06-01 20:02:30'), +(8, 2, 3, 3, NULL, 5, NULL, 0, 8, 8, 3, '2023-06-01 20:01:42', '2023-06-01 20:02:30'), +(9, 2, 3, 3, NULL, NULL, 3, 0, 9, 9, 3, '2023-06-01 20:01:42', '2023-06-01 20:02:30'), +(10, 2, 4, 4, 5, NULL, NULL, 0, 10, 10, 4, '2023-06-01 20:48:40', '2023-06-01 20:48:40'), +(11, 2, 4, 4, NULL, 20, NULL, 0, 11, 11, 4, '2023-06-01 20:48:40', '2023-06-01 20:48:40'), +(12, 2, 4, 4, NULL, NULL, 3, 0, 12, 12, 4, '2023-06-01 20:48:40', '2023-06-01 20:48:40'), +(13, 2, 5, 5, 3, NULL, NULL, 0, 13, 13, 5, '2023-06-03 06:00:26', '2023-06-03 06:00:26'), +(14, 2, 5, 5, NULL, 3, NULL, 0, 14, 14, 5, '2023-06-03 06:00:26', '2023-06-03 06:00:26'), +(15, 2, 5, 5, NULL, NULL, 3, 0, 15, 15, 5, '2023-06-03 06:00:26', '2023-06-03 06:00:26'), +(16, 2, 6, 6, 3, NULL, NULL, 0, 16, 16, 6, '2023-06-03 06:40:02', '2023-06-03 06:40:02'), +(17, 2, 6, 6, NULL, 3, NULL, 0, 17, 17, 6, '2023-06-03 06:40:02', '2023-06-03 06:40:02'), +(18, 2, 6, 6, NULL, NULL, 3, 0, 18, 18, 6, '2023-06-03 06:40:02', '2023-06-03 06:40:02'), +(19, 2, 11, 11, 10, NULL, NULL, 0, 31, 31, 7, '2023-06-04 07:32:01', '2023-06-04 07:32:01'), +(20, 2, 11, 11, NULL, 3, NULL, 0, 32, 34, 7, '2023-06-04 07:32:01', '2023-06-04 07:32:01'), +(21, 2, 11, 11, NULL, NULL, 20, 0, 33, 37, 7, '2023-06-04 07:32:01', '2023-06-04 07:32:01'), +(22, 2, 7, 7, 3, NULL, NULL, 0, 19, 19, 8, '2023-06-24 06:25:08', '2023-06-24 06:25:08'), +(23, 2, 7, 7, NULL, 5, NULL, 0, 20, 20, 8, '2023-06-24 06:25:08', '2023-06-24 06:25:08'), +(24, 2, 7, 7, NULL, NULL, 10, 0, 21, 21, 8, '2023-06-24 06:25:08', '2023-06-24 06:25:08'), +(25, 3, 1, 1, 5, NULL, NULL, 0, 1, 46, 9, '2023-07-02 20:44:42', '2023-07-02 20:44:42'), +(26, 3, 1, 1, NULL, 10, NULL, 0, 2, 47, 9, '2023-07-02 20:44:42', '2023-07-02 20:44:42'), +(27, 3, 1, 1, NULL, NULL, 15, 0, 3, 48, 9, '2023-07-02 20:44:42', '2023-07-02 20:44:42'), +(28, 4, 1, 1, 20, NULL, NULL, 0, 1, 52, 10, '2023-07-06 20:23:59', '2023-07-06 20:23:59'), +(29, 4, 1, 1, NULL, 20, NULL, 0, 2, 53, 10, '2023-07-06 20:23:59', '2023-07-06 20:23:59'), +(30, 4, 1, 1, NULL, NULL, 10, 0, 3, 54, 10, '2023-07-06 20:23:59', '2023-07-06 20:23:59'), +(31, 6, 2, 2, 20, NULL, NULL, 0, 4, 58, 11, '2024-01-22 22:57:08', '2024-01-22 22:57:08'), +(32, 6, 2, 2, NULL, 20, NULL, 0, 5, 59, 11, '2024-01-22 22:57:08', '2024-01-22 22:57:08'), +(33, 6, 2, 2, NULL, NULL, 20, 0, 6, 60, 11, '2024-01-22 22:57:08', '2024-01-22 22:57:08'), +(34, 6, 1, 1, 20, NULL, NULL, 0, 1, 55, 12, '2024-01-22 23:48:21', '2024-01-22 23:48:21'), +(35, 6, 1, 1, NULL, NULL, NULL, 0, 2, 56, 12, '2024-01-22 23:48:21', '2024-06-19 08:34:38'), +(36, 6, 1, 1, NULL, NULL, 20, 0, 3, 57, 12, '2024-01-22 23:48:21', '2024-06-19 08:34:38'), +(37, 6, 3, 3, 20, NULL, NULL, 0, 7, 61, 13, '2024-01-30 22:01:34', '2024-01-30 22:01:34'), +(38, 6, 3, 3, NULL, 20, NULL, 0, 8, 62, 13, '2024-01-30 22:01:34', '2024-01-30 22:01:34'), +(39, 6, 3, 3, NULL, NULL, 20, 0, 9, 63, 13, '2024-01-30 22:01:34', '2024-01-30 22:01:34'), +(40, 6, 4, 4, 20, NULL, NULL, 0, 10, 64, 14, '2024-02-26 20:33:37', '2024-02-26 20:33:37'), +(41, 6, 4, 4, NULL, 20, NULL, 0, 11, 65, 14, '2024-02-26 20:33:37', '2024-02-26 20:33:37'), +(42, 6, 4, 4, NULL, NULL, 20, 0, 12, 66, 14, '2024-02-26 20:33:37', '2024-02-26 20:33:37'), +(43, 6, 5, 5, 20, NULL, NULL, 0, 13, 67, 15, '2024-02-26 20:34:05', '2024-02-26 20:34:05'), +(44, 6, 5, 5, NULL, 20, NULL, 0, 14, 68, 15, '2024-02-26 20:34:05', '2024-02-26 20:34:05'), +(45, 6, 5, 5, NULL, NULL, 20, 0, 15, 69, 15, '2024-02-26 20:34:05', '2024-02-26 20:34:05'), +(46, 7, 1, 1, 15, NULL, NULL, 0, 1, 74, 16, '2024-03-08 07:52:30', '2024-03-08 07:52:30'), +(47, 7, 1, 1, NULL, 15, NULL, 0, 2, 75, 16, '2024-03-08 07:52:30', '2024-03-08 07:52:30'), +(48, 7, 1, 1, NULL, NULL, 15, 0, 3, 76, 16, '2024-03-08 07:52:30', '2024-03-08 07:52:30'), +(52, 7, 2, 2, 20, NULL, NULL, 0, 4, 93, 18, '2024-03-08 08:37:29', '2024-03-08 08:37:29'), +(53, 7, 2, 2, NULL, 20, NULL, 0, 5, 94, 18, '2024-03-08 08:37:29', '2024-03-08 08:37:29'), +(54, 7, 2, 2, NULL, NULL, 20, 0, 6, 95, 18, '2024-03-08 08:37:29', '2024-03-08 08:37:29'), +(55, 7, 3, 3, 20, NULL, NULL, 0, 7, 96, 19, '2024-03-08 08:40:00', '2024-03-08 08:40:00'), +(56, 7, 3, 3, NULL, 20, NULL, 0, 8, 97, 19, '2024-03-08 08:40:00', '2024-03-08 08:40:00'), +(57, 7, 3, 3, NULL, NULL, 20, 0, 9, 98, 19, '2024-03-08 08:40:00', '2024-03-08 08:40:00'), +(58, 7, 4, 4, 15, NULL, NULL, 0, 10, 99, 20, '2024-03-08 09:20:33', '2024-03-08 09:20:33'), +(59, 7, 4, 4, NULL, 20, NULL, 0, 11, 100, 20, '2024-03-08 09:20:33', '2024-03-08 09:20:33'), +(60, 7, 4, 4, NULL, NULL, 15, 0, 12, 101, 20, '2024-03-08 09:20:33', '2024-03-08 09:20:33'), +(61, 9, 1, 1, 10, NULL, NULL, 0, 1, 102, 21, '2024-03-11 05:01:27', '2024-03-11 05:01:27'), +(62, 9, 1, 1, NULL, 15, NULL, 0, 2, 103, 21, '2024-03-11 05:01:27', '2024-03-11 05:01:27'), +(63, 9, 1, 1, NULL, NULL, 15, 0, 3, 104, 21, '2024-03-11 05:01:27', '2024-03-11 05:01:27'), +(64, 9, 2, 2, 20, NULL, NULL, 0, 4, 105, 22, '2024-03-11 05:05:21', '2024-03-11 05:05:21'), +(65, 9, 2, 2, NULL, 20, NULL, 0, 5, 106, 22, '2024-03-11 05:05:21', '2024-03-11 05:05:21'), +(66, 9, 2, 2, NULL, NULL, 20, 0, 6, 107, 22, '2024-03-11 05:05:21', '2024-03-11 05:05:21'), +(67, 9, 3, 3, 20, NULL, NULL, 0, 7, 108, 23, '2024-03-11 05:07:59', '2024-03-11 05:07:59'), +(68, 9, 3, 3, NULL, 20, NULL, 0, 8, 109, 23, '2024-03-11 05:07:59', '2024-03-11 05:07:59'), +(69, 9, 3, 3, NULL, NULL, 20, 0, 9, 110, 23, '2024-03-11 05:07:59', '2024-03-11 05:07:59'), +(70, 9, 4, 4, 15, NULL, NULL, 0, 10, 111, 24, '2024-03-11 05:10:35', '2024-03-11 05:10:35'), +(71, 9, 4, 4, NULL, 20, NULL, 0, 11, 112, 24, '2024-03-11 05:10:35', '2024-03-11 05:10:35'), +(72, 9, 4, 4, NULL, NULL, 15, 0, 12, 113, 24, '2024-03-11 05:10:35', '2024-03-11 05:10:35'), +(73, 9, 5, 5, 15, NULL, NULL, 0, 13, 114, 25, '2024-03-11 05:15:53', '2024-03-11 05:15:53'), +(74, 9, 5, 5, NULL, 20, NULL, 0, 14, 115, 25, '2024-03-11 05:15:53', '2024-03-11 05:15:53'), +(75, 9, 5, 5, NULL, NULL, 15, 0, 15, 116, 25, '2024-03-11 05:15:53', '2024-03-11 05:15:53'), +(76, 7, 5, 5, 10, NULL, NULL, 0, 13, 117, 26, '2024-03-11 05:19:50', '2024-03-11 05:19:50'), +(77, 7, 5, 5, NULL, 20, NULL, 0, 14, 118, 26, '2024-03-11 05:19:50', '2024-03-11 05:19:50'), +(78, 7, 5, 5, NULL, NULL, 10, 0, 15, 119, 26, '2024-03-11 05:19:50', '2024-03-11 05:19:50'), +(79, 10, 1, 1, 20, NULL, NULL, 0, 1, 120, 27, '2024-03-11 08:35:46', '2024-05-01 20:57:26'), +(80, 10, 1, 1, NULL, 20, NULL, 0, 2, 121, 27, '2024-03-11 08:35:46', '2024-03-11 08:35:46'), +(81, 10, 1, 1, NULL, NULL, 20, 0, 3, 122, 27, '2024-03-11 08:35:46', '2024-05-01 20:57:26'), +(82, 10, 2, 2, 20, NULL, NULL, 0, 4, 123, 28, '2024-03-11 08:38:05', '2024-03-11 08:38:05'), +(83, 10, 2, 2, NULL, 20, NULL, 0, 5, 124, 28, '2024-03-11 08:38:05', '2024-03-11 08:38:05'), +(84, 10, 2, 2, NULL, NULL, 20, 0, 6, 125, 28, '2024-03-11 08:38:05', '2024-03-11 08:38:05'), +(85, 10, 3, 3, 20, NULL, NULL, 0, 7, 126, 29, '2024-03-11 08:42:06', '2024-03-11 08:42:06'), +(86, 10, 3, 3, NULL, 15, NULL, 0, 8, 127, 29, '2024-03-11 08:42:06', '2024-03-11 08:42:06'), +(87, 10, 3, 3, NULL, NULL, 15, 0, 9, 128, 29, '2024-03-11 08:42:06', '2024-03-11 08:42:06'), +(88, 10, 4, 4, 15, NULL, NULL, 0, 10, 129, 30, '2024-03-11 08:45:48', '2024-03-11 08:45:48'), +(89, 10, 4, 4, NULL, 20, NULL, 0, 11, 130, 30, '2024-03-11 08:45:48', '2024-03-11 08:45:48'), +(90, 10, 4, 4, NULL, NULL, 15, 0, 12, 131, 30, '2024-03-11 08:45:48', '2024-03-11 08:45:48'), +(91, 10, 5, 5, 15, NULL, NULL, 0, 13, 132, 31, '2024-03-11 08:49:16', '2024-03-11 08:49:16'), +(92, 10, 5, 5, NULL, 20, NULL, 0, 14, 133, 31, '2024-03-11 08:49:16', '2024-03-11 08:49:16'), +(93, 10, 5, 5, NULL, NULL, 10, 0, 15, 134, 31, '2024-03-11 08:49:16', '2024-03-11 08:49:16'), +(94, 11, 1, 1, 10, NULL, NULL, 0, 1, 135, 32, '2024-03-11 08:56:31', '2024-03-11 08:56:31'), +(95, 11, 1, 1, NULL, 20, NULL, 0, 2, 136, 32, '2024-03-11 08:56:31', '2024-03-11 08:56:31'), +(96, 11, 1, 1, NULL, NULL, 15, 0, 3, 137, 32, '2024-03-11 08:56:31', '2024-03-11 08:56:31'), +(97, 11, 2, 2, 20, NULL, NULL, 0, 4, 138, 33, '2024-03-11 08:58:04', '2024-03-11 08:58:04'), +(98, 11, 2, 2, NULL, 20, NULL, 0, 5, 139, 33, '2024-03-11 08:58:04', '2024-03-11 08:58:04'), +(99, 11, 2, 2, NULL, NULL, 20, 0, 6, 140, 33, '2024-03-11 08:58:04', '2024-03-11 08:58:04'), +(100, 11, 3, 3, 15, NULL, NULL, 0, 7, 141, 34, '2024-03-11 08:59:24', '2024-03-11 08:59:24'), +(101, 11, 3, 3, NULL, 20, NULL, 0, 8, 142, 34, '2024-03-11 08:59:24', '2024-03-11 08:59:24'), +(102, 11, 3, 3, NULL, NULL, 15, 0, 9, 143, 34, '2024-03-11 08:59:24', '2024-03-11 08:59:24'), +(103, 11, 4, 4, 15, NULL, NULL, 0, 10, 144, 35, '2024-03-11 09:00:41', '2024-03-11 09:00:41'), +(104, 11, 4, 4, NULL, 20, NULL, 0, 11, 145, 35, '2024-03-11 09:00:41', '2024-03-11 09:00:41'), +(105, 11, 4, 4, NULL, NULL, 15, 0, 12, 146, 35, '2024-03-11 09:00:41', '2024-03-11 09:00:41'), +(106, 11, 5, 5, 15, NULL, NULL, 0, 13, 147, 36, '2024-03-11 09:02:15', '2024-03-11 09:02:15'), +(107, 11, 5, 5, NULL, 20, NULL, 0, 14, 148, 36, '2024-03-11 09:02:15', '2024-03-11 09:02:15'), +(108, 11, 5, 5, NULL, NULL, 15, 0, 15, 149, 36, '2024-03-11 09:02:15', '2024-03-11 09:02:15'), +(109, 12, 1, 1, 15, NULL, NULL, 0, 1, 150, 37, '2024-03-11 09:11:14', '2024-03-11 09:11:14'), +(110, 12, 1, 1, NULL, 15, NULL, 0, 2, 151, 37, '2024-03-11 09:11:14', '2024-03-11 09:11:14'), +(111, 12, 1, 1, NULL, NULL, 15, 0, 3, 152, 37, '2024-03-11 09:11:14', '2024-03-11 09:11:14'), +(112, 12, 2, 2, 20, NULL, NULL, 0, 4, 153, 38, '2024-03-11 09:12:25', '2024-03-11 09:12:25'), +(113, 12, 2, 2, NULL, 20, NULL, 0, 5, 154, 38, '2024-03-11 09:12:25', '2024-03-11 09:12:25'), +(114, 12, 2, 2, NULL, NULL, 20, 0, 6, 155, 38, '2024-03-11 09:12:25', '2024-03-11 09:12:25'), +(115, 12, 3, 3, 15, NULL, NULL, 0, 7, 156, 39, '2024-03-11 09:14:08', '2024-03-11 09:14:08'), +(116, 12, 3, 3, NULL, 15, NULL, 0, 8, 157, 39, '2024-03-11 09:14:08', '2024-03-11 09:14:08'), +(117, 12, 3, 3, NULL, NULL, 15, 0, 9, 158, 39, '2024-03-11 09:14:08', '2024-03-11 09:14:08'), +(118, 12, 4, 4, 15, NULL, NULL, 0, 10, 159, 40, '2024-03-11 09:16:51', '2024-03-11 09:16:51'), +(119, 12, 4, 4, NULL, 20, NULL, 0, 11, 160, 40, '2024-03-11 09:16:51', '2024-03-11 09:16:51'), +(120, 12, 4, 4, NULL, NULL, 15, 0, 12, 161, 40, '2024-03-11 09:16:51', '2024-03-11 09:16:51'), +(121, 12, 5, 5, 15, NULL, NULL, 0, 13, 162, 41, '2024-03-11 09:18:03', '2024-03-11 09:18:03'), +(122, 12, 5, 5, NULL, 15, NULL, 0, 14, 163, 41, '2024-03-11 09:18:03', '2024-03-11 09:18:03'), +(123, 12, 5, 5, NULL, NULL, 10, 0, 15, 164, 41, '2024-03-11 09:18:03', '2024-03-11 09:18:03'), +(124, 13, 1, 1, 15, NULL, NULL, 0, 1, 165, 42, '2024-03-11 09:22:14', '2024-03-11 09:22:14'), +(125, 13, 1, 1, NULL, 15, NULL, 0, 2, 166, 42, '2024-03-11 09:22:14', '2024-03-11 09:22:14'), +(126, 13, 1, 1, NULL, NULL, 15, 0, 3, 167, 42, '2024-03-11 09:22:14', '2024-03-11 09:22:14'), +(127, 13, 2, 2, 20, NULL, NULL, 0, 4, 168, 43, '2024-03-11 09:24:16', '2024-03-11 09:24:16'), +(128, 13, 2, 2, NULL, 20, NULL, 0, 5, 169, 43, '2024-03-11 09:24:16', '2024-03-11 09:24:16'), +(129, 13, 2, 2, NULL, NULL, 20, 0, 6, 170, 43, '2024-03-11 09:24:16', '2024-03-11 09:24:16'), +(130, 13, 3, 3, 20, NULL, NULL, 0, 7, 171, 44, '2024-03-11 09:25:55', '2024-03-11 09:25:55'), +(131, 13, 3, 3, NULL, 20, NULL, 0, 8, 172, 44, '2024-03-11 09:25:55', '2024-03-11 09:25:55'), +(132, 13, 3, 3, NULL, NULL, 15, 0, 9, 173, 44, '2024-03-11 09:25:55', '2024-03-11 09:25:55'), +(133, 13, 4, 4, 20, NULL, NULL, 0, 10, 174, 45, '2024-03-11 09:29:34', '2024-03-11 09:29:34'), +(134, 13, 4, 4, NULL, 20, NULL, 0, 11, 175, 45, '2024-03-11 09:29:34', '2024-03-11 09:29:34'), +(135, 13, 4, 4, NULL, NULL, 15, 0, 12, 176, 45, '2024-03-11 09:29:34', '2024-03-11 09:29:34'), +(136, 13, 5, 5, 10, NULL, NULL, 0, 13, 177, 46, '2024-03-11 09:31:20', '2024-03-11 09:31:20'), +(137, 13, 5, 5, NULL, 20, NULL, 0, 14, 178, 46, '2024-03-11 09:31:20', '2024-03-11 09:31:20'), +(138, 13, 5, 5, NULL, NULL, 15, 0, 15, 179, 46, '2024-03-11 09:31:20', '2024-03-11 09:31:20'), +(139, 14, 1, 1, 10, NULL, NULL, 0, 1, 180, 47, '2024-03-11 09:41:30', '2024-03-11 09:41:30'), +(140, 14, 1, 1, NULL, 20, NULL, 0, 2, 181, 47, '2024-03-11 09:41:30', '2024-03-11 09:41:30'), +(141, 14, 1, 1, NULL, NULL, 10, 0, 3, 182, 47, '2024-03-11 09:41:30', '2024-03-11 09:41:30'), +(142, 14, 2, 2, 20, NULL, NULL, 0, 4, 183, 48, '2024-03-11 09:43:07', '2024-03-11 09:43:07'), +(143, 14, 2, 2, NULL, 20, NULL, 0, 5, 184, 48, '2024-03-11 09:43:07', '2024-03-11 09:43:07'), +(144, 14, 2, 2, NULL, NULL, 15, 0, 6, 185, 48, '2024-03-11 09:43:07', '2024-03-11 09:43:07'), +(145, 14, 3, 3, 15, NULL, NULL, 0, 7, 186, 49, '2024-03-11 09:44:33', '2024-03-11 09:44:33'), +(146, 14, 3, 3, NULL, 15, NULL, 0, 8, 187, 49, '2024-03-11 09:44:33', '2024-03-11 09:44:33'), +(147, 14, 3, 3, NULL, NULL, 15, 0, 9, 188, 49, '2024-03-11 09:44:33', '2024-03-11 09:44:33'), +(148, 14, 4, 4, 15, NULL, NULL, 0, 10, 189, 50, '2024-03-11 09:46:35', '2024-03-11 09:46:35'), +(149, 14, 4, 4, NULL, 20, NULL, 0, 11, 190, 50, '2024-03-11 09:46:35', '2024-03-11 09:46:35'), +(150, 14, 4, 4, NULL, NULL, 15, 0, 12, 191, 50, '2024-03-11 09:46:35', '2024-03-11 09:46:35'), +(151, 14, 5, 5, 15, NULL, NULL, 0, 13, 192, 51, '2024-03-11 09:48:04', '2024-03-11 09:48:04'), +(152, 14, 5, 5, NULL, 15, NULL, 0, 14, 193, 51, '2024-03-11 09:48:04', '2024-03-11 09:48:04'), +(153, 14, 5, 5, NULL, NULL, 15, 0, 15, 194, 51, '2024-03-11 09:48:04', '2024-03-11 09:48:04'), +(154, 15, 1, 1, 15, NULL, NULL, 0, 1, 195, 52, '2024-03-11 09:56:15', '2024-03-11 09:56:15'), +(155, 15, 1, 1, NULL, 15, NULL, 0, 2, 196, 52, '2024-03-11 09:56:15', '2024-03-11 09:56:15'), +(156, 15, 1, 1, NULL, NULL, 15, 0, 3, 197, 52, '2024-03-11 09:56:15', '2024-03-11 09:56:15'), +(157, 15, 2, 2, 20, NULL, NULL, 0, 4, 198, 53, '2024-03-11 09:57:30', '2024-03-11 09:57:30'), +(158, 15, 2, 2, NULL, 20, NULL, 0, 5, 199, 53, '2024-03-11 09:57:30', '2024-03-11 09:57:30'), +(159, 15, 2, 2, NULL, NULL, 20, 0, 6, 200, 53, '2024-03-11 09:57:30', '2024-03-11 09:57:30'), +(160, 15, 3, 3, 15, NULL, NULL, 0, 7, 201, 54, '2024-03-11 09:59:46', '2024-03-11 09:59:46'), +(161, 15, 3, 3, NULL, 20, NULL, 0, 8, 202, 54, '2024-03-11 09:59:46', '2024-03-11 09:59:46'), +(162, 15, 3, 3, NULL, NULL, 15, 0, 9, 203, 54, '2024-03-11 09:59:46', '2024-03-11 09:59:46'), +(163, 15, 4, 4, 20, NULL, NULL, 0, 10, 204, 55, '2024-03-11 10:01:13', '2024-03-11 10:01:13'), +(164, 15, 4, 4, NULL, 20, NULL, 0, 11, 205, 55, '2024-03-11 10:01:13', '2024-03-11 10:01:13'), +(165, 15, 4, 4, NULL, NULL, 15, 0, 12, 206, 55, '2024-03-11 10:01:13', '2024-03-11 10:01:13'), +(166, 15, 5, 5, 10, NULL, NULL, 0, 13, 207, 56, '2024-03-11 10:02:37', '2024-03-11 10:02:37'), +(167, 15, 5, 5, NULL, 20, NULL, 0, 14, 208, 56, '2024-03-11 10:02:37', '2024-03-11 10:02:37'), +(168, 15, 5, 5, NULL, NULL, 15, 0, 15, 209, 56, '2024-03-11 10:02:37', '2024-03-11 10:02:37'), +(169, 16, 1, 1, 10, NULL, NULL, 0, 1, 210, 57, '2024-03-11 10:15:20', '2024-03-11 10:15:20'), +(170, 16, 1, 1, NULL, 15, NULL, 0, 2, 211, 57, '2024-03-11 10:15:20', '2024-03-11 10:15:20'), +(171, 16, 1, 1, NULL, NULL, 15, 0, 3, 212, 57, '2024-03-11 10:15:20', '2024-03-11 10:15:20'), +(172, 16, 2, 2, 20, NULL, NULL, 0, 4, 213, 58, '2024-03-11 10:16:40', '2024-03-11 10:16:40'), +(173, 16, 2, 2, NULL, 20, NULL, 0, 5, 214, 58, '2024-03-11 10:16:40', '2024-03-11 10:16:40'), +(174, 16, 2, 2, NULL, NULL, 20, 0, 6, 215, 58, '2024-03-11 10:16:40', '2024-03-11 10:16:40'), +(175, 16, 3, 3, 15, NULL, NULL, 0, 7, 216, 59, '2024-03-11 10:18:08', '2024-03-11 10:18:08'), +(176, 16, 3, 3, NULL, 20, NULL, 0, 8, 217, 59, '2024-03-11 10:18:08', '2024-03-11 10:18:08'), +(177, 16, 3, 3, NULL, NULL, 15, 0, 9, 218, 59, '2024-03-11 10:18:08', '2024-03-11 10:18:08'), +(178, 16, 4, 4, 15, NULL, NULL, 0, 10, 219, 60, '2024-03-11 10:19:31', '2024-03-11 10:19:31'), +(179, 16, 4, 4, NULL, 20, NULL, 0, 11, 220, 60, '2024-03-11 10:19:31', '2024-03-11 10:19:31'), +(180, 16, 4, 4, NULL, NULL, 15, 0, 12, 221, 60, '2024-03-11 10:19:31', '2024-03-11 10:19:31'), +(181, 16, 5, 5, 15, NULL, NULL, 0, 13, 222, 61, '2024-03-11 10:20:47', '2024-03-11 10:20:47'), +(182, 16, 5, 5, NULL, 15, NULL, 0, 14, 223, 61, '2024-03-11 10:20:47', '2024-03-11 10:20:47'), +(183, 16, 5, 5, NULL, NULL, 10, 0, 15, 224, 61, '2024-03-11 10:20:47', '2024-03-11 10:20:47'), +(184, 17, 1, 1, 10, NULL, NULL, 0, 1, 225, 62, '2024-03-11 10:24:24', '2024-03-11 10:24:24'), +(185, 17, 1, 1, NULL, 15, NULL, 0, 2, 226, 62, '2024-03-11 10:24:24', '2024-03-11 10:24:24'), +(186, 17, 1, 1, NULL, NULL, 15, 0, 3, 227, 62, '2024-03-11 10:24:24', '2024-03-11 10:24:24'), +(187, 17, 2, 2, 20, NULL, NULL, 0, 4, 228, 63, '2024-03-11 10:25:54', '2024-03-11 10:25:54'), +(188, 17, 2, 2, NULL, 20, NULL, 0, 5, 229, 63, '2024-03-11 10:25:54', '2024-03-11 10:25:54'), +(189, 17, 2, 2, NULL, NULL, 20, 0, 6, 230, 63, '2024-03-11 10:25:54', '2024-03-11 10:25:54'), +(190, 17, 3, 3, 15, NULL, NULL, 0, 7, 231, 64, '2024-03-11 10:27:04', '2024-03-11 10:27:04'), +(191, 17, 3, 3, NULL, 20, NULL, 0, 8, 232, 64, '2024-03-11 10:27:04', '2024-03-11 10:27:04'), +(192, 17, 3, 3, NULL, NULL, 15, 0, 9, 233, 64, '2024-03-11 10:27:04', '2024-03-11 10:27:04'), +(193, 17, 4, 4, 15, NULL, NULL, 0, 10, 234, 65, '2024-03-11 10:28:24', '2024-03-11 10:28:24'), +(194, 17, 4, 4, NULL, 20, NULL, 0, 11, 235, 65, '2024-03-11 10:28:24', '2024-03-11 10:28:24'), +(195, 17, 4, 4, NULL, NULL, 15, 0, 12, 236, 65, '2024-03-11 10:28:24', '2024-03-11 10:28:24'), +(196, 17, 5, 5, 10, NULL, NULL, 0, 13, 237, 66, '2024-03-11 10:30:15', '2024-03-11 10:30:15'), +(197, 17, 5, 5, NULL, 15, NULL, 0, 14, 238, 66, '2024-03-11 10:30:15', '2024-03-11 10:30:15'), +(198, 17, 5, 5, NULL, NULL, 10, 0, 15, 239, 66, '2024-03-11 10:30:15', '2024-03-11 10:30:15'), +(199, 10, 6, 6, 15, NULL, NULL, 0, 16, 240, 67, '2024-03-24 00:15:46', '2024-03-24 00:15:46'), +(200, 10, 6, 6, NULL, 20, NULL, 0, 17, 241, 67, '2024-03-24 00:15:46', '2024-03-24 00:15:46'), +(201, 10, 6, 6, NULL, NULL, 20, 0, 18, 242, 67, '2024-03-24 00:15:46', '2024-03-24 00:15:46'), +(202, 10, 7, 7, 20, NULL, NULL, 0, 19, 243, 68, '2024-03-24 00:18:49', '2024-03-24 00:18:49'), +(203, 10, 7, 7, NULL, 20, NULL, 0, 20, 244, 68, '2024-03-24 00:18:49', '2024-03-24 00:18:49'), +(204, 10, 7, 7, NULL, NULL, 20, 0, 21, 245, 68, '2024-03-24 00:18:49', '2024-03-24 00:18:49'), +(205, 10, 8, 8, 20, NULL, NULL, 0, 22, 246, 69, '2024-03-24 00:22:53', '2024-03-24 00:22:53'), +(206, 10, 8, 8, NULL, 15, NULL, 0, 23, 247, 69, '2024-03-24 00:22:53', '2024-03-24 00:22:53'), +(207, 10, 8, 8, NULL, NULL, 15, 0, 24, 248, 69, '2024-03-24 00:22:53', '2024-03-24 00:22:53'), +(208, 10, 9, 9, 10, NULL, NULL, 0, 25, 249, 70, '2024-03-24 00:25:42', '2024-03-24 00:25:42'), +(209, 10, 9, 9, NULL, 15, NULL, 0, 26, 250, 70, '2024-03-24 00:25:42', '2024-03-24 00:25:42'), +(210, 10, 9, 9, NULL, NULL, 15, 0, 27, 251, 70, '2024-03-24 00:25:42', '2024-03-24 00:25:42'), +(211, 10, 10, 10, 20, NULL, NULL, 0, 28, 252, 71, '2024-03-24 00:28:33', '2024-03-24 00:28:33'), +(212, 10, 10, 10, NULL, 20, NULL, 0, 29, 253, 71, '2024-03-24 00:28:33', '2024-03-24 00:28:33'), +(213, 10, 10, 10, NULL, NULL, 10, 0, 30, 254, 71, '2024-03-24 00:28:33', '2024-03-24 00:28:33'), +(214, 10, 11, 11, 15, NULL, NULL, 0, 31, 255, 72, '2024-03-24 00:33:15', '2024-03-24 00:33:15'), +(215, 10, 11, 11, NULL, 15, NULL, 0, 32, 256, 72, '2024-03-24 00:33:15', '2024-03-24 00:33:15'), +(216, 10, 11, 11, NULL, NULL, 10, 0, 33, 257, 72, '2024-03-24 00:33:15', '2024-03-24 00:33:15'), +(217, 10, 12, 12, 15, NULL, NULL, 0, 34, 258, 73, '2024-03-24 00:35:41', '2024-03-24 00:35:41'), +(218, 10, 12, 12, NULL, 15, NULL, 0, 35, 259, 73, '2024-03-24 00:35:41', '2024-03-24 00:35:41'), +(219, 10, 12, 12, NULL, NULL, 15, 0, 36, 260, 73, '2024-03-24 00:35:41', '2024-03-24 00:35:41'), +(220, 10, 13, 13, 10, NULL, NULL, 0, 37, 261, 74, '2024-03-24 00:40:01', '2024-03-24 00:40:01'), +(221, 10, 13, 13, NULL, 20, NULL, 0, 38, 262, 74, '2024-03-24 00:40:01', '2024-03-24 00:40:01'), +(222, 10, 13, 13, NULL, NULL, 15, 0, 39, 263, 74, '2024-03-24 00:40:01', '2024-03-24 00:40:01'), +(223, 19, 1, 1, 10, NULL, NULL, 0, 1, 264, 75, '2024-03-24 00:54:19', '2024-03-24 00:54:19'), +(224, 19, 1, 1, NULL, 20, NULL, 0, 2, 265, 75, '2024-03-24 00:54:19', '2024-03-24 00:54:19'), +(225, 19, 1, 1, NULL, NULL, 15, 0, 3, 266, 75, '2024-03-24 00:54:19', '2024-03-24 00:54:19'), +(226, 19, 2, 2, 20, NULL, NULL, 0, 4, 267, 76, '2024-03-24 00:55:57', '2024-03-24 00:55:57'), +(227, 19, 2, 2, NULL, 20, NULL, 0, 5, 268, 76, '2024-03-24 00:55:57', '2024-03-24 00:55:57'), +(228, 19, 2, 2, NULL, NULL, 20, 0, 6, 269, 76, '2024-03-24 00:55:57', '2024-03-24 00:55:57'), +(229, 19, 3, 3, 20, NULL, NULL, 0, 7, 270, 77, '2024-03-24 00:57:13', '2024-03-24 00:57:13'), +(230, 19, 3, 3, NULL, 15, NULL, 0, 8, 271, 77, '2024-03-24 00:57:13', '2024-03-24 00:57:13'), +(231, 19, 3, 3, NULL, NULL, 15, 0, 9, 272, 77, '2024-03-24 00:57:13', '2024-03-24 00:57:13'), +(232, 19, 4, 4, 15, NULL, NULL, 0, 10, 273, 78, '2024-03-24 00:58:37', '2024-03-24 00:58:37'), +(233, 19, 4, 4, NULL, 20, NULL, 0, 11, 274, 78, '2024-03-24 00:58:37', '2024-03-24 00:58:37'), +(234, 19, 4, 4, NULL, NULL, 15, 0, 12, 275, 78, '2024-03-24 00:58:37', '2024-03-24 00:58:37'), +(235, 19, 5, 5, 15, NULL, NULL, 0, 13, 276, 79, '2024-03-24 00:59:54', '2024-03-24 00:59:54'), +(236, 19, 5, 5, NULL, 20, NULL, 0, 14, 277, 79, '2024-03-24 00:59:54', '2024-03-24 00:59:54'), +(237, 19, 5, 5, NULL, NULL, 10, 0, 15, 278, 79, '2024-03-24 00:59:54', '2024-03-24 00:59:54'), +(238, 19, 6, 6, 15, NULL, NULL, 0, 16, 279, 80, '2024-03-24 01:02:20', '2024-03-24 01:02:20'), +(239, 19, 6, 6, NULL, 20, NULL, 0, 17, 280, 80, '2024-03-24 01:02:20', '2024-03-24 01:02:20'), +(240, 19, 6, 6, NULL, NULL, 20, 0, 18, 281, 80, '2024-03-24 01:02:20', '2024-03-24 01:02:20'), +(241, 19, 7, 7, 20, NULL, NULL, 0, 19, 282, 81, '2024-03-24 01:04:02', '2024-03-24 01:04:02'), +(242, 19, 7, 7, NULL, 20, NULL, 0, 20, 283, 81, '2024-03-24 01:04:02', '2024-03-24 01:04:02'), +(243, 19, 7, 7, NULL, NULL, 20, 0, 21, 284, 81, '2024-03-24 01:04:02', '2024-03-24 01:04:02'), +(244, 19, 8, 8, 20, NULL, NULL, 0, 22, 285, 82, '2024-03-24 01:05:14', '2024-03-24 01:05:14'), +(245, 19, 8, 8, NULL, 15, NULL, 0, 23, 286, 82, '2024-03-24 01:05:14', '2024-03-24 01:05:14'), +(246, 19, 8, 8, NULL, NULL, 15, 0, 24, 287, 82, '2024-03-24 01:05:14', '2024-03-24 01:05:14'), +(247, 19, 9, 9, 10, NULL, NULL, 0, 25, 288, 83, '2024-03-24 01:06:43', '2024-03-24 01:06:43'), +(248, 19, 9, 9, NULL, 15, NULL, 0, 26, 289, 83, '2024-03-24 01:06:43', '2024-03-24 01:06:43'), +(249, 19, 9, 9, NULL, NULL, 15, 0, 27, 290, 83, '2024-03-24 01:06:43', '2024-03-24 01:06:43'), +(250, 19, 10, 10, 20, NULL, NULL, 0, 28, 291, 84, '2024-03-24 01:08:21', '2024-03-24 01:08:21'), +(251, 19, 10, 10, NULL, 20, NULL, 0, 29, 292, 84, '2024-03-24 01:08:21', '2024-03-24 01:08:21'), +(252, 19, 10, 10, NULL, NULL, 10, 0, 30, 293, 84, '2024-03-24 01:08:21', '2024-03-24 01:08:21'), +(253, 19, 11, 11, 15, NULL, NULL, 0, 31, 294, 85, '2024-03-24 01:10:22', '2024-03-24 01:10:22'), +(254, 19, 11, 11, NULL, 15, NULL, 0, 32, 295, 85, '2024-03-24 01:10:22', '2024-03-24 01:10:22'), +(255, 19, 11, 11, NULL, NULL, 10, 0, 33, 296, 85, '2024-03-24 01:10:22', '2024-03-24 01:10:22'), +(256, 19, 12, 12, 15, NULL, NULL, 0, 34, 297, 86, '2024-03-24 01:11:42', '2024-03-24 01:11:42'), +(257, 19, 12, 12, NULL, 20, NULL, 0, 35, 298, 86, '2024-03-24 01:11:42', '2024-03-24 01:11:42'), +(258, 19, 12, 12, NULL, NULL, 15, 0, 36, 299, 86, '2024-03-24 01:11:42', '2024-03-24 01:11:42'), +(259, 19, 13, 13, 10, NULL, NULL, 0, 37, 300, 87, '2024-03-24 01:13:20', '2024-03-24 01:13:20'), +(260, 19, 13, 13, NULL, 20, NULL, 0, 38, 301, 87, '2024-03-24 01:13:20', '2024-03-24 01:13:20'), +(261, 19, 13, 13, NULL, NULL, 15, 0, 39, 302, 87, '2024-03-24 01:13:20', '2024-03-24 01:13:20'), +(262, 12, 6, 6, 15, NULL, NULL, 0, 16, 303, 88, '2024-03-24 01:17:20', '2024-03-24 01:17:20'), +(263, 12, 6, 6, NULL, 20, NULL, 0, 17, 304, 88, '2024-03-24 01:17:20', '2024-03-24 01:17:20'), +(264, 12, 6, 6, NULL, NULL, 20, 0, 18, 305, 88, '2024-03-24 01:17:20', '2024-03-24 01:17:20'), +(265, 12, 7, 7, 20, NULL, NULL, 0, 19, 306, 89, '2024-03-24 01:18:54', '2024-03-24 01:18:54'), +(266, 12, 7, 7, NULL, 20, NULL, 0, 20, 307, 89, '2024-03-24 01:18:54', '2024-03-24 01:18:54'), +(267, 12, 7, 7, NULL, NULL, 20, 0, 21, 308, 89, '2024-03-24 01:18:54', '2024-03-24 01:18:54'), +(268, 12, 8, 8, 20, NULL, NULL, 0, 22, 309, 90, '2024-03-24 01:22:49', '2024-03-24 01:22:49'), +(269, 12, 8, 8, NULL, 15, NULL, 0, 23, 310, 90, '2024-03-24 01:22:49', '2024-03-24 01:22:49'), +(270, 12, 8, 8, NULL, NULL, 15, 0, 24, 311, 90, '2024-03-24 01:22:49', '2024-03-24 01:22:49'), +(271, 12, 9, 9, 10, NULL, NULL, 0, 25, 312, 91, '2024-03-24 01:24:14', '2024-03-24 01:24:14'), +(272, 12, 9, 9, NULL, 15, NULL, 0, 26, 313, 91, '2024-03-24 01:24:14', '2024-03-24 01:24:14'), +(273, 12, 9, 9, NULL, NULL, 15, 0, 27, 314, 91, '2024-03-24 01:24:14', '2024-03-24 01:24:14'), +(274, 12, 10, 10, 20, NULL, NULL, 0, 28, 315, 92, '2024-03-24 01:25:52', '2024-03-24 01:25:52'), +(275, 12, 10, 10, NULL, 20, NULL, 0, 29, 316, 92, '2024-03-24 01:25:52', '2024-03-24 01:25:52'), +(276, 12, 10, 10, NULL, NULL, 10, 0, 30, 317, 92, '2024-03-24 01:25:52', '2024-03-24 01:25:52'), +(277, 12, 11, 11, 15, NULL, NULL, 0, 31, 318, 93, '2024-03-24 01:27:08', '2024-03-24 01:27:08'), +(278, 12, 11, 11, NULL, 15, NULL, 0, 32, 319, 93, '2024-03-24 01:27:08', '2024-03-24 01:27:08'), +(279, 12, 11, 11, NULL, NULL, 10, 0, 33, 320, 93, '2024-03-24 01:27:08', '2024-03-24 01:27:08'), +(280, 12, 12, 12, 15, NULL, NULL, 0, 34, 321, 94, '2024-03-24 01:28:30', '2024-03-24 01:28:30'), +(281, 12, 12, 12, NULL, 15, NULL, 0, 35, 322, 94, '2024-03-24 01:28:30', '2024-03-24 01:28:30'), +(282, 12, 12, 12, NULL, NULL, 15, 0, 36, 323, 94, '2024-03-24 01:28:30', '2024-03-24 01:28:30'), +(283, 12, 13, 13, 10, NULL, NULL, 0, 37, 324, 95, '2024-03-24 01:30:03', '2024-03-24 01:30:03'), +(284, 12, 13, 13, NULL, 20, NULL, 0, 38, 325, 95, '2024-03-24 01:30:03', '2024-03-24 01:30:03'), +(285, 12, 13, 13, NULL, NULL, 15, 0, 39, 326, 95, '2024-03-24 01:30:03', '2024-03-24 01:30:03'), +(286, 13, 6, 6, 15, NULL, NULL, 0, 16, 327, 96, '2024-03-24 01:32:55', '2024-03-24 01:32:55'), +(287, 13, 6, 6, NULL, 20, NULL, 0, 17, 328, 96, '2024-03-24 01:32:55', '2024-03-24 01:32:55'), +(288, 13, 6, 6, NULL, NULL, 20, 0, 18, 329, 96, '2024-03-24 01:32:55', '2024-03-24 01:32:55'), +(289, 13, 7, 7, 20, NULL, NULL, 0, 19, 330, 97, '2024-03-24 01:34:22', '2024-03-24 01:34:22'), +(290, 13, 7, 7, NULL, 20, NULL, 0, 20, 331, 97, '2024-03-24 01:34:22', '2024-03-24 01:34:22'), +(291, 13, 7, 7, NULL, NULL, 20, 0, 21, 332, 97, '2024-03-24 01:34:22', '2024-03-24 01:34:22'), +(292, 13, 8, 8, 20, NULL, NULL, 0, 22, 333, 98, '2024-03-24 01:35:35', '2024-03-24 01:35:35'), +(293, 13, 8, 8, NULL, 15, NULL, 0, 23, 334, 98, '2024-03-24 01:35:35', '2024-03-24 01:35:35'), +(294, 13, 8, 8, NULL, NULL, 15, 0, 24, 335, 98, '2024-03-24 01:35:35', '2024-03-24 01:35:35'), +(295, 13, 9, 9, 15, NULL, NULL, 0, 25, 336, 99, '2024-03-24 01:36:56', '2024-03-24 01:36:56'), +(296, 13, 9, 9, NULL, 15, NULL, 0, 26, 337, 99, '2024-03-24 01:36:56', '2024-03-24 01:36:56'), +(297, 13, 9, 9, NULL, NULL, 15, 0, 27, 338, 99, '2024-03-24 01:36:56', '2024-03-24 01:36:56'), +(298, 13, 10, 10, 20, NULL, NULL, 0, 28, 339, 100, '2024-03-24 01:38:37', '2024-03-24 01:38:37'), +(299, 13, 10, 10, NULL, 20, NULL, 0, 29, 340, 100, '2024-03-24 01:38:37', '2024-03-24 01:38:37'), +(300, 13, 10, 10, NULL, NULL, 10, 0, 30, 341, 100, '2024-03-24 01:38:37', '2024-03-24 01:38:37'), +(301, 13, 11, 11, 15, NULL, NULL, 0, 31, 342, 101, '2024-03-24 01:39:50', '2024-03-24 01:39:50'), +(302, 13, 11, 11, NULL, 15, NULL, 0, 32, 343, 101, '2024-03-24 01:39:50', '2024-03-24 01:39:50'), +(303, 13, 11, 11, NULL, NULL, 10, 0, 33, 344, 101, '2024-03-24 01:39:50', '2024-03-24 01:39:50'), +(304, 13, 12, 12, 15, NULL, NULL, 0, 34, 345, 102, '2024-03-24 01:40:47', '2024-03-24 01:40:47'), +(305, 13, 12, 12, NULL, 20, NULL, 0, 35, 346, 102, '2024-03-24 01:40:47', '2024-03-24 01:40:47'), +(306, 13, 12, 12, NULL, NULL, 15, 0, 36, 347, 102, '2024-03-24 01:40:47', '2024-03-24 01:40:47'), +(307, 13, 13, 13, 15, NULL, NULL, 0, 37, 348, 103, '2024-03-24 01:41:53', '2024-03-24 01:41:53'), +(308, 13, 13, 13, NULL, 15, NULL, 0, 38, 349, 103, '2024-03-24 01:41:53', '2024-03-24 01:41:53'), +(309, 13, 13, 13, NULL, NULL, 20, 0, 39, 350, 103, '2024-03-24 01:41:53', '2024-03-24 01:41:53'), +(310, 21, 1, 1, 20, NULL, NULL, 0, 1, 351, 104, '2024-03-24 02:56:16', '2024-03-24 02:56:16'), +(311, 21, 1, 1, NULL, 20, NULL, 0, 2, 352, 104, '2024-03-24 02:56:16', '2024-03-24 02:56:16'), +(312, 21, 1, 1, NULL, NULL, 20, 0, 3, 353, 104, '2024-03-24 02:56:16', '2024-03-24 02:56:16'), +(313, 21, 2, 2, 20, NULL, NULL, 0, 4, 357, 105, '2024-03-28 08:33:18', '2024-03-28 08:33:18'), +(314, 21, 2, 2, NULL, 20, NULL, 0, 5, 358, 105, '2024-03-28 08:33:18', '2024-03-28 08:33:18'), +(315, 21, 2, 2, NULL, NULL, 20, 0, 6, 359, 105, '2024-03-28 08:33:18', '2024-03-28 08:33:18'), +(316, 21, 3, 3, 15, NULL, NULL, 0, 7, 360, 106, '2024-03-28 08:34:43', '2024-03-28 08:34:43'), +(317, 21, 3, 3, NULL, 20, NULL, 0, 8, 361, 106, '2024-03-28 08:34:43', '2024-03-28 08:34:43'), +(318, 21, 3, 3, NULL, NULL, 20, 0, 9, 362, 106, '2024-03-28 08:34:43', '2024-03-28 08:34:43'), +(319, 21, 4, 4, 20, NULL, NULL, 0, 10, 363, 107, '2024-03-28 08:36:41', '2024-03-28 08:36:41'), +(320, 21, 4, 4, NULL, 20, NULL, 0, 11, 364, 107, '2024-03-28 08:36:41', '2024-03-28 08:36:41'), +(321, 21, 4, 4, NULL, NULL, 20, 0, 12, 365, 107, '2024-03-28 08:36:41', '2024-03-28 08:36:41'), +(322, 21, 5, 5, 20, NULL, NULL, 0, 13, 366, 108, '2024-03-28 08:37:59', '2024-03-28 08:37:59'), +(323, 21, 5, 5, NULL, 15, NULL, 0, 14, 367, 108, '2024-03-28 08:37:59', '2024-03-28 08:37:59'), +(324, 21, 5, 5, NULL, NULL, 15, 0, 15, 368, 108, '2024-03-28 08:37:59', '2024-03-28 08:37:59'), +(325, 21, 6, 6, 15, NULL, NULL, 0, 16, 369, 109, '2024-03-28 08:39:19', '2024-03-28 08:39:19'), +(326, 21, 6, 6, NULL, 20, NULL, 0, 17, 370, 109, '2024-03-28 08:39:19', '2024-03-28 08:39:19'), +(327, 21, 6, 6, NULL, NULL, 20, 0, 18, 371, 109, '2024-03-28 08:39:19', '2024-03-28 08:39:19'), +(328, 21, 7, 7, 20, NULL, NULL, 0, 19, 372, 110, '2024-03-28 08:40:31', '2024-03-28 08:40:31'), +(329, 21, 7, 7, NULL, 20, NULL, 0, 20, 373, 110, '2024-03-28 08:40:31', '2024-03-28 08:40:31'), +(330, 21, 7, 7, NULL, NULL, 20, 0, 21, 374, 110, '2024-03-28 08:40:31', '2024-03-28 08:40:31'), +(331, 21, 8, 8, 20, NULL, NULL, 0, 22, 375, 111, '2024-03-28 08:41:45', '2024-03-28 08:41:45'), +(332, 21, 8, 8, NULL, 20, NULL, 0, 23, 376, 111, '2024-03-28 08:41:45', '2024-03-28 08:41:45'), +(333, 21, 8, 8, NULL, NULL, 20, 0, 24, 377, 111, '2024-03-28 08:41:45', '2024-03-28 08:41:45'), +(334, 21, 9, 9, 15, NULL, NULL, 0, 25, 378, 112, '2024-03-28 08:42:55', '2024-03-28 08:42:55'), +(335, 21, 9, 9, NULL, 20, NULL, 0, 26, 379, 112, '2024-03-28 08:42:55', '2024-03-28 08:42:55'), +(336, 21, 9, 9, NULL, NULL, 15, 0, 27, 380, 112, '2024-03-28 08:42:55', '2024-03-28 08:42:55'), +(337, 21, 10, 10, 20, NULL, NULL, 0, 28, 381, 113, '2024-03-28 08:44:21', '2024-03-28 08:44:21'), +(338, 21, 10, 10, NULL, 20, NULL, 0, 29, 382, 113, '2024-03-28 08:44:21', '2024-03-28 08:44:21'), +(339, 21, 10, 10, NULL, NULL, 15, 0, 30, 383, 113, '2024-03-28 08:44:21', '2024-03-28 08:44:21'), +(340, 21, 11, 11, 20, NULL, NULL, 0, 31, 384, 114, '2024-03-28 08:45:49', '2024-03-28 08:45:49'), +(341, 21, 11, 11, NULL, 15, NULL, 0, 32, 385, 114, '2024-03-28 08:45:49', '2024-03-28 08:45:49'), +(342, 21, 11, 11, NULL, NULL, 20, 0, 33, 386, 114, '2024-03-28 08:45:49', '2024-03-28 08:45:49'), +(343, 21, 12, 12, 15, NULL, NULL, 0, 34, 387, 115, '2024-03-28 08:46:54', '2024-03-28 08:46:54'), +(344, 21, 12, 12, NULL, 20, NULL, 0, 35, 388, 115, '2024-03-28 08:46:54', '2024-03-28 08:46:54'), +(345, 21, 12, 12, NULL, NULL, 15, 0, 36, 389, 115, '2024-03-28 08:46:54', '2024-03-28 08:46:54'), +(346, 21, 13, 13, 15, NULL, NULL, 0, 37, 390, 116, '2024-03-28 08:48:01', '2024-03-28 08:48:01'), +(347, 21, 13, 13, NULL, 20, NULL, 0, 38, 391, 116, '2024-03-28 08:48:01', '2024-03-28 08:48:01'), +(348, 21, 13, 13, NULL, NULL, 20, 0, 39, 392, 116, '2024-03-28 08:48:01', '2024-03-28 08:48:01'), +(349, 22, 1, 1, 20, NULL, NULL, 0, 1, 393, 117, '2024-03-28 09:00:14', '2024-03-28 09:00:14'), +(350, 22, 1, 1, NULL, 20, NULL, 0, 2, 394, 117, '2024-03-28 09:00:14', '2024-03-28 09:00:14'), +(351, 22, 1, 1, NULL, NULL, 20, 0, 3, 395, 117, '2024-03-28 09:00:14', '2024-03-28 09:00:14'), +(352, 22, 2, 2, 20, NULL, NULL, 0, 4, 396, 118, '2024-03-28 09:04:28', '2024-03-28 09:04:28'), +(353, 22, 2, 2, NULL, 20, NULL, 0, 5, 397, 118, '2024-03-28 09:04:28', '2024-03-28 09:04:28'), +(354, 22, 2, 2, NULL, NULL, 20, 0, 6, 398, 118, '2024-03-28 09:04:28', '2024-03-28 09:04:28'), +(355, 22, 3, 3, 20, NULL, NULL, 0, 7, 399, 119, '2024-03-28 09:05:30', '2024-03-28 09:05:30'), +(356, 22, 3, 3, NULL, 20, NULL, 0, 8, 400, 119, '2024-03-28 09:05:30', '2024-03-28 09:05:30'), +(357, 22, 3, 3, NULL, NULL, 20, 0, 9, 401, 119, '2024-03-28 09:05:30', '2024-03-28 09:05:30'), +(358, 22, 4, 4, 20, NULL, NULL, 0, 10, 402, 120, '2024-03-28 09:06:42', '2024-03-28 09:06:42'), +(359, 22, 4, 4, NULL, 20, NULL, 0, 11, 403, 120, '2024-03-28 09:06:42', '2024-03-28 09:06:42'), +(360, 22, 4, 4, NULL, NULL, 20, 0, 12, 404, 120, '2024-03-28 09:06:42', '2024-03-28 09:06:42'), +(361, 22, 5, 5, 15, NULL, NULL, 0, 13, 405, 121, '2024-03-28 09:08:17', '2024-03-28 09:08:17'), +(362, 22, 5, 5, NULL, 20, NULL, 0, 14, 406, 121, '2024-03-28 09:08:17', '2024-03-28 09:08:17'), +(363, 22, 5, 5, NULL, NULL, 20, 0, 15, 407, 121, '2024-03-28 09:08:17', '2024-03-28 09:08:17'), +(364, 22, 6, 6, 20, NULL, NULL, 0, 16, 408, 122, '2024-03-28 09:13:04', '2024-03-28 09:13:04'), +(365, 22, 6, 6, NULL, 20, NULL, 0, 17, 409, 122, '2024-03-28 09:13:04', '2024-03-28 09:13:04'), +(366, 22, 6, 6, NULL, NULL, 20, 0, 18, 410, 122, '2024-03-28 09:13:04', '2024-03-28 09:13:04'), +(367, 22, 7, 7, 20, NULL, NULL, 0, 19, 411, 123, '2024-03-28 09:14:15', '2024-03-28 09:14:15'), +(368, 22, 7, 7, NULL, 20, NULL, 0, 20, 412, 123, '2024-03-28 09:14:15', '2024-03-28 09:14:15'), +(369, 22, 7, 7, NULL, NULL, 20, 0, 21, 413, 123, '2024-03-28 09:14:15', '2024-03-28 09:14:15'), +(370, 22, 8, 8, 20, NULL, NULL, 0, 22, 414, 124, '2024-03-28 09:15:23', '2024-03-28 09:15:23'), +(371, 22, 8, 8, NULL, 20, NULL, 0, 23, 415, 124, '2024-03-28 09:15:23', '2024-03-28 09:15:23'), +(372, 22, 8, 8, NULL, NULL, 20, 0, 24, 416, 124, '2024-03-28 09:15:23', '2024-03-28 09:15:23'), +(373, 22, 9, 9, 15, NULL, NULL, 0, 25, 417, 125, '2024-03-28 09:16:39', '2024-03-28 09:16:39'), +(374, 22, 9, 9, NULL, 20, NULL, 0, 26, 418, 125, '2024-03-28 09:16:39', '2024-03-28 09:16:39'), +(375, 22, 9, 9, NULL, NULL, 15, 0, 27, 419, 125, '2024-03-28 09:16:39', '2024-03-28 09:16:39'), +(376, 22, 10, 10, 20, NULL, NULL, 0, 28, 420, 126, '2024-03-28 09:17:52', '2024-03-28 09:17:52'), +(377, 22, 10, 10, NULL, 20, NULL, 0, 29, 421, 126, '2024-03-28 09:17:52', '2024-03-28 09:17:52'), +(378, 22, 10, 10, NULL, NULL, 20, 0, 30, 422, 126, '2024-03-28 09:17:52', '2024-03-28 09:17:52'), +(379, 22, 11, 11, 15, NULL, NULL, 0, 31, 423, 127, '2024-03-28 09:18:59', '2024-03-28 09:18:59'), +(380, 22, 11, 11, NULL, 15, NULL, 0, 32, 424, 127, '2024-03-28 09:18:59', '2024-03-28 09:18:59'), +(381, 22, 11, 11, NULL, NULL, 20, 0, 33, 425, 127, '2024-03-28 09:18:59', '2024-03-28 09:18:59'), +(382, 22, 12, 12, 15, NULL, NULL, 0, 34, 426, 128, '2024-03-28 09:20:11', '2024-03-28 09:20:11'), +(383, 22, 12, 12, NULL, 20, NULL, 0, 35, 427, 128, '2024-03-28 09:20:11', '2024-03-28 09:20:11'), +(384, 22, 12, 12, NULL, NULL, 15, 0, 36, 428, 128, '2024-03-28 09:20:11', '2024-03-28 09:20:11'), +(385, 22, 13, 13, 15, NULL, NULL, 0, 37, 429, 129, '2024-03-28 09:21:18', '2024-03-28 09:21:18'), +(386, 22, 13, 13, NULL, 20, NULL, 0, 38, 430, 129, '2024-03-28 09:21:18', '2024-03-28 09:21:18'), +(387, 22, 13, 13, NULL, NULL, 20, 0, 39, 431, 129, '2024-03-28 09:21:18', '2024-03-28 09:21:18'), +(388, 23, 1, 1, 15, NULL, NULL, 0, 1, 432, 130, '2024-04-01 04:02:05', '2024-04-01 04:02:05'), +(389, 23, 1, 1, NULL, 15, NULL, 0, 2, 433, 130, '2024-04-01 04:02:05', '2024-04-01 04:02:05'), +(390, 23, 1, 1, NULL, NULL, 15, 0, 3, 434, 130, '2024-04-01 04:02:05', '2024-04-01 04:02:05'), +(391, 23, 2, 2, 20, NULL, NULL, 0, 4, 435, 131, '2024-04-01 04:03:27', '2024-04-01 04:03:27'), +(392, 23, 2, 2, NULL, 20, NULL, 0, 5, 436, 131, '2024-04-01 04:03:27', '2024-04-01 04:03:27'), +(393, 23, 2, 2, NULL, NULL, 20, 0, 6, 437, 131, '2024-04-01 04:03:27', '2024-04-01 04:03:27'), +(394, 23, 3, 3, 20, NULL, NULL, 0, 7, 438, 132, '2024-04-01 04:04:45', '2024-04-01 04:04:45'), +(395, 23, 3, 3, NULL, 20, NULL, 0, 8, 439, 132, '2024-04-01 04:04:45', '2024-04-01 04:04:45'), +(396, 23, 3, 3, NULL, NULL, 15, 0, 9, 440, 132, '2024-04-01 04:04:45', '2024-04-01 04:04:45'), +(397, 23, 4, 4, 20, NULL, NULL, 0, 10, 441, 133, '2024-04-01 04:06:46', '2024-04-01 04:06:46'), +(398, 23, 4, 4, NULL, 20, NULL, 0, 11, 442, 133, '2024-04-01 04:06:46', '2024-04-01 04:06:46'), +(399, 23, 4, 4, NULL, NULL, 15, 0, 12, 443, 133, '2024-04-01 04:06:46', '2024-04-01 04:06:46'), +(400, 23, 5, 5, 10, NULL, NULL, 0, 13, 444, 134, '2024-04-01 04:09:16', '2024-04-01 04:09:16'), +(401, 23, 5, 5, NULL, 20, NULL, 0, 14, 445, 134, '2024-04-01 04:09:16', '2024-04-01 04:09:16'), +(402, 23, 5, 5, NULL, NULL, 15, 0, 15, 446, 134, '2024-04-01 04:09:16', '2024-04-01 04:09:16'), +(403, 23, 6, 6, 15, NULL, NULL, 0, 16, 447, 135, '2024-04-01 04:10:47', '2024-04-01 04:10:47'), +(404, 23, 6, 6, NULL, 20, NULL, 0, 17, 448, 135, '2024-04-01 04:10:47', '2024-04-01 04:10:47'), +(405, 23, 6, 6, NULL, NULL, 20, 0, 18, 449, 135, '2024-04-01 04:10:47', '2024-04-01 04:10:47'), +(406, 23, 7, 7, 20, NULL, NULL, 0, 19, 450, 136, '2024-04-01 04:12:16', '2024-04-01 04:12:16'), +(407, 23, 7, 7, NULL, 20, NULL, 0, 20, 451, 136, '2024-04-01 04:12:16', '2024-04-01 04:12:16'), +(408, 23, 7, 7, NULL, NULL, 20, 0, 21, 452, 136, '2024-04-01 04:12:16', '2024-04-01 04:12:16'), +(409, 23, 8, 8, 20, NULL, NULL, 0, 22, 453, 137, '2024-04-01 04:13:34', '2024-04-01 04:13:34'), +(410, 23, 8, 8, NULL, 15, NULL, 0, 23, 454, 137, '2024-04-01 04:13:34', '2024-04-01 04:13:34'), +(411, 23, 8, 8, NULL, NULL, 15, 0, 24, 455, 137, '2024-04-01 04:13:34', '2024-04-01 04:13:34'), +(412, 23, 9, 9, 15, NULL, NULL, 0, 25, 456, 138, '2024-04-01 04:17:07', '2024-04-01 04:17:07'), +(413, 23, 9, 9, NULL, 15, NULL, 0, 26, 457, 138, '2024-04-01 04:17:07', '2024-04-01 04:17:07'), +(414, 23, 9, 9, NULL, NULL, 15, 0, 27, 458, 138, '2024-04-01 04:17:07', '2024-04-01 04:17:07'), +(415, 23, 10, 10, 15, NULL, NULL, 0, 28, 459, 139, '2024-04-01 04:18:33', '2024-04-01 04:18:33'), +(416, 23, 10, 10, NULL, 20, NULL, 0, 29, 460, 139, '2024-04-01 04:18:33', '2024-04-01 04:18:33'), +(417, 23, 10, 10, NULL, NULL, 10, 0, 30, 461, 139, '2024-04-01 04:18:33', '2024-04-01 04:18:33'), +(418, 23, 11, 11, 15, NULL, NULL, 0, 31, 462, 140, '2024-04-01 04:20:49', '2024-04-01 04:20:49'), +(419, 23, 11, 11, NULL, 15, NULL, 0, 32, 463, 140, '2024-04-01 04:20:49', '2024-04-01 04:20:49'), +(420, 23, 11, 11, NULL, NULL, 10, 0, 33, 464, 140, '2024-04-01 04:20:49', '2024-04-01 04:20:49'), +(421, 23, 12, 12, 15, NULL, NULL, 0, 34, 465, 141, '2024-04-01 04:23:44', '2024-04-01 04:23:44'), +(422, 23, 12, 12, NULL, 20, NULL, 0, 35, 466, 141, '2024-04-01 04:23:44', '2024-04-01 04:23:44'), +(423, 23, 12, 12, NULL, NULL, 15, 0, 36, 467, 141, '2024-04-01 04:23:44', '2024-04-01 04:23:44'), +(424, 23, 13, 13, 15, NULL, NULL, 0, 37, 468, 142, '2024-04-01 04:26:00', '2024-04-01 04:26:00'), +(425, 23, 13, 13, NULL, 15, NULL, 0, 38, 469, 142, '2024-04-01 04:26:00', '2024-04-01 04:26:00'), +(426, 23, 13, 13, NULL, NULL, 20, 0, 39, 470, 142, '2024-04-01 04:26:00', '2024-04-01 04:26:00'), +(427, 24, 1, 1, 15, NULL, NULL, 0, 1, 471, 143, '2024-04-01 04:39:46', '2024-04-01 04:39:46'), +(428, 24, 1, 1, NULL, 15, NULL, 0, 2, 472, 143, '2024-04-01 04:39:46', '2024-04-01 04:39:46'), +(429, 24, 1, 1, NULL, NULL, 15, 0, 3, 473, 143, '2024-04-01 04:39:46', '2024-04-01 04:39:46'), +(430, 24, 2, 2, 20, NULL, NULL, 0, 4, 474, 144, '2024-04-01 04:41:18', '2024-04-01 04:41:18'), +(431, 24, 2, 2, NULL, 20, NULL, 0, 5, 475, 144, '2024-04-01 04:41:18', '2024-04-01 04:41:18'), +(432, 24, 2, 2, NULL, NULL, 20, 0, 6, 476, 144, '2024-04-01 04:41:18', '2024-04-01 04:41:18'), +(433, 24, 3, 3, 15, NULL, NULL, 0, 7, 477, 145, '2024-04-01 04:42:52', '2024-04-01 04:42:52'), +(434, 24, 3, 3, NULL, 20, NULL, 0, 8, 478, 145, '2024-04-01 04:42:52', '2024-04-01 04:42:52'), +(435, 24, 3, 3, NULL, NULL, 15, 0, 9, 479, 145, '2024-04-01 04:42:52', '2024-04-01 04:42:52'), +(436, 24, 4, 4, 20, NULL, NULL, 0, 10, 480, 146, '2024-04-01 04:44:20', '2024-04-01 04:44:20'), +(437, 24, 4, 4, NULL, 20, NULL, 0, 11, 481, 146, '2024-04-01 04:44:20', '2024-04-01 04:44:20'), +(438, 24, 4, 4, NULL, NULL, 15, 0, 12, 482, 146, '2024-04-01 04:44:20', '2024-04-01 04:44:20'), +(439, 24, 5, 5, 10, NULL, NULL, 0, 13, 483, 147, '2024-04-01 04:45:46', '2024-04-01 04:45:46'), +(440, 24, 5, 5, NULL, 20, NULL, 0, 14, 484, 147, '2024-04-01 04:45:46', '2024-04-01 04:45:46'), +(441, 24, 5, 5, NULL, NULL, 15, 0, 15, 485, 147, '2024-04-01 04:45:46', '2024-04-01 04:45:46'), +(442, 24, 6, 6, 15, NULL, NULL, 0, 16, 486, 148, '2024-04-01 04:47:02', '2024-04-01 04:47:02'), +(443, 24, 6, 6, NULL, 20, NULL, 0, 17, 487, 148, '2024-04-01 04:47:02', '2024-04-01 04:47:02'), +(444, 24, 6, 6, NULL, NULL, 20, 0, 18, 488, 148, '2024-04-01 04:47:02', '2024-04-01 04:47:02'), +(445, 24, 7, 7, 20, NULL, NULL, 0, 19, 489, 149, '2024-04-01 04:48:17', '2024-04-01 04:48:17'), +(446, 24, 7, 7, NULL, 20, NULL, 0, 20, 490, 149, '2024-04-01 04:48:17', '2024-04-01 04:48:17'), +(447, 24, 7, 7, NULL, NULL, 20, 0, 21, 491, 149, '2024-04-01 04:48:17', '2024-04-01 04:48:17'), +(448, 24, 8, 8, 20, NULL, NULL, 0, 22, 492, 150, '2024-04-01 04:51:17', '2024-04-01 04:51:17'), +(449, 24, 8, 8, NULL, 15, NULL, 0, 23, 493, 150, '2024-04-01 04:51:17', '2024-04-01 04:51:17'), +(450, 24, 8, 8, NULL, NULL, 15, 0, 24, 494, 150, '2024-04-01 04:51:17', '2024-04-01 04:51:17'), +(451, 24, 9, 9, 15, NULL, NULL, 0, 25, 495, 151, '2024-04-01 04:53:08', '2024-04-01 04:53:08'), +(452, 24, 9, 9, NULL, 15, NULL, 0, 26, 496, 151, '2024-04-01 04:53:08', '2024-04-01 04:53:08'), +(453, 24, 9, 9, NULL, NULL, 15, 0, 27, 497, 151, '2024-04-01 04:53:08', '2024-04-01 04:53:08'), +(454, 24, 10, 10, 15, NULL, NULL, 0, 28, 498, 152, '2024-04-01 04:54:35', '2024-04-01 04:54:35'), +(455, 24, 10, 10, NULL, 20, NULL, 0, 29, 499, 152, '2024-04-01 04:54:35', '2024-04-01 04:54:35'), +(456, 24, 10, 10, NULL, NULL, 10, 0, 30, 500, 152, '2024-04-01 04:54:35', '2024-04-01 04:54:35'), +(457, 24, 11, 11, 15, NULL, NULL, 0, 31, 501, 153, '2024-04-01 04:57:08', '2024-04-01 04:57:08'), +(458, 24, 11, 11, NULL, 15, NULL, 0, 32, 502, 153, '2024-04-01 04:57:08', '2024-04-01 04:57:08'), +(459, 24, 11, 11, NULL, NULL, 10, 0, 33, 503, 153, '2024-04-01 04:57:08', '2024-04-01 04:57:08'), +(460, 24, 12, 12, 15, NULL, NULL, 0, 34, 504, 154, '2024-04-01 05:00:33', '2024-04-01 05:00:33'), +(461, 24, 12, 12, NULL, 20, NULL, 0, 35, 505, 154, '2024-04-01 05:00:33', '2024-04-01 05:00:33'), +(462, 24, 12, 12, NULL, NULL, 15, 0, 36, 506, 154, '2024-04-01 05:00:33', '2024-04-01 05:00:33'), +(463, 24, 13, 13, 15, NULL, NULL, 0, 37, 507, 155, '2024-04-01 05:01:49', '2024-04-01 05:01:49'), +(464, 24, 13, 13, NULL, 15, NULL, 0, 38, 508, 155, '2024-04-01 05:01:49', '2024-04-01 05:01:49'), +(465, 24, 13, 13, NULL, NULL, 20, 0, 39, 509, 155, '2024-04-01 05:01:49', '2024-04-01 05:01:49'), +(466, 6, 7, 7, 20, NULL, NULL, 0, 19, 510, 156, '2024-04-07 10:38:08', '2024-04-07 10:38:08'), +(467, 6, 7, 7, NULL, 20, NULL, 0, 20, 511, 156, '2024-04-07 10:38:08', '2024-04-07 10:38:08'), +(468, 6, 7, 7, NULL, NULL, 20, 0, 21, 512, 156, '2024-04-07 10:38:08', '2024-04-07 10:38:08'), +(469, 25, 1, 1, 20, NULL, NULL, 0, 1, 513, 157, '2024-04-16 17:16:04', '2024-04-16 17:16:04'), +(470, 25, 1, 1, NULL, 20, NULL, 0, 2, 514, 157, '2024-04-16 17:16:04', '2024-04-16 17:16:04'), +(471, 25, 1, 1, NULL, NULL, 20, 0, 3, 515, 157, '2024-04-16 17:16:04', '2024-04-16 17:16:04'), +(472, 25, 2, 2, 20, NULL, NULL, 0, 4, 516, 158, '2024-04-16 17:17:55', '2024-04-16 17:17:55'), +(473, 25, 2, 2, NULL, 20, NULL, 0, 5, 517, 158, '2024-04-16 17:17:55', '2024-04-16 17:17:55'), +(474, 25, 2, 2, NULL, NULL, 20, 0, 6, 518, 158, '2024-04-16 17:17:55', '2024-04-16 17:17:55'), +(475, 25, 3, 3, 20, NULL, NULL, 0, 7, 519, 159, '2024-04-16 17:47:23', '2024-04-16 17:47:23'), +(476, 25, 3, 3, NULL, 20, NULL, 0, 8, 520, 159, '2024-04-16 17:47:23', '2024-04-16 17:47:23'), +(477, 25, 3, 3, NULL, NULL, 20, 0, 9, 521, 159, '2024-04-16 17:47:23', '2024-04-16 17:47:23'), +(478, 25, 4, 4, 20, NULL, NULL, 0, 10, 522, 160, '2024-04-23 18:55:46', '2024-04-23 18:55:46'), +(479, 25, 4, 4, NULL, 20, NULL, 0, 11, 523, 160, '2024-04-23 18:55:46', '2024-04-23 18:55:46'), +(480, 25, 4, 4, NULL, NULL, 20, 0, 12, 524, 160, '2024-04-23 18:55:46', '2024-04-23 18:55:46'), +(481, 26, 1, 1, 20, NULL, NULL, 1, 1, 525, 161, '2024-04-26 13:28:07', '2024-06-25 05:50:52'), +(482, 26, 1, 1, NULL, 20, NULL, 1, 2, 526, 161, '2024-04-26 13:28:07', '2024-06-25 05:50:52'), +(483, 26, 1, 1, NULL, NULL, 20, 1, 3, 527, 161, '2024-04-26 13:28:07', '2024-06-25 05:50:52'), +(484, 26, 2, 2, 20, NULL, NULL, 0, 4, 528, 162, '2024-04-26 13:49:53', '2024-04-26 13:49:53'), +(485, 26, 2, 2, NULL, 20, NULL, 0, 5, 529, 162, '2024-04-26 13:49:53', '2024-04-26 13:49:53'), +(486, 26, 2, 2, NULL, NULL, 20, 0, 6, 530, 162, '2024-04-26 13:49:53', '2024-04-26 13:49:53'), +(487, 26, 3, 3, 20, NULL, NULL, 0, 7, 531, 163, '2024-04-26 20:45:57', '2024-04-26 20:45:57'), +(488, 26, 3, 3, NULL, 20, NULL, 0, 8, 532, 163, '2024-04-26 20:45:57', '2024-04-26 20:45:57'), +(489, 26, 3, 3, NULL, NULL, 20, 0, 9, 533, 163, '2024-04-26 20:45:57', '2024-04-26 20:45:57'), +(490, 26, 4, 4, 15, NULL, NULL, 0, 10, 534, 164, '2024-04-26 21:05:49', '2024-04-26 21:05:49'), +(491, 26, 4, 4, NULL, 20, NULL, 0, 11, 535, 164, '2024-04-26 21:05:49', '2024-04-26 21:05:49'), +(492, 26, 4, 4, NULL, NULL, 20, 0, 12, 536, 164, '2024-04-26 21:05:49', '2024-04-26 21:05:49'), +(493, 26, 5, 5, 15, NULL, NULL, 0, 13, 537, 165, '2024-04-26 21:19:53', '2024-04-26 21:19:53'), +(494, 26, 5, 5, NULL, 20, NULL, 0, 14, 538, 165, '2024-04-26 21:19:53', '2024-04-26 21:19:53'), +(495, 26, 5, 5, NULL, NULL, 15, 0, 15, 539, 165, '2024-04-26 21:19:53', '2024-04-26 21:19:53'), +(496, 26, 6, 6, 20, NULL, NULL, 0, 16, 540, 166, '2024-04-26 21:35:11', '2024-04-26 21:35:11'), +(497, 26, 6, 6, NULL, 20, NULL, 0, 17, 541, 166, '2024-04-26 21:35:11', '2024-04-26 21:35:11'), +(498, 26, 6, 6, NULL, NULL, 20, 0, 18, 542, 166, '2024-04-26 21:35:11', '2024-04-26 21:35:11'), +(499, 26, 7, 7, 20, NULL, NULL, 0, 19, 543, 167, '2024-04-26 21:49:57', '2024-04-26 21:49:57'), +(500, 26, 7, 7, NULL, 20, NULL, 0, 20, 544, 167, '2024-04-26 21:49:57', '2024-04-26 21:49:57'), +(501, 26, 7, 7, NULL, NULL, 15, 0, 21, 545, 167, '2024-04-26 21:49:57', '2024-04-26 21:49:57'), +(502, 26, 8, 8, 15, NULL, NULL, 0, 22, 546, 168, '2024-04-26 23:32:26', '2024-04-26 23:32:26'), +(503, 26, 8, 8, NULL, 20, NULL, 0, 23, 547, 168, '2024-04-26 23:32:26', '2024-04-26 23:32:26'), +(504, 26, 8, 8, NULL, NULL, 20, 0, 24, 548, 168, '2024-04-26 23:32:26', '2024-04-26 23:32:26'), +(505, 26, 9, 9, 15, NULL, NULL, 0, 25, 549, 169, '2024-04-26 23:53:41', '2024-04-26 23:53:41'), +(506, 26, 9, 9, NULL, 20, NULL, 0, 26, 550, 169, '2024-04-26 23:53:41', '2024-04-26 23:53:41'), +(507, 26, 9, 9, NULL, NULL, 5, 0, 27, 551, 169, '2024-04-26 23:53:41', '2024-04-26 23:53:41'), +(508, 26, 10, 10, 10, NULL, NULL, 0, 28, 552, 170, '2024-04-27 00:25:31', '2024-04-27 00:25:31'), +(509, 26, 10, 10, NULL, 20, NULL, 0, 29, 553, 170, '2024-04-27 00:25:31', '2024-04-27 00:25:31'), +(510, 26, 10, 10, NULL, NULL, 15, 0, 30, 554, 170, '2024-04-27 00:25:31', '2024-04-27 00:25:31'), +(511, 26, 11, 11, 10, NULL, NULL, 0, 31, 555, 171, '2024-04-27 00:41:38', '2024-04-27 00:41:38'), +(512, 26, 11, 11, NULL, 15, NULL, 0, 32, 556, 171, '2024-04-27 00:41:38', '2024-04-27 00:41:38'), +(513, 26, 11, 11, NULL, NULL, 5, 0, 33, 557, 171, '2024-04-27 00:41:38', '2024-04-27 00:41:38'), +(514, 26, 12, 12, 10, NULL, NULL, 0, 34, 558, 172, '2024-04-27 00:59:53', '2024-04-27 00:59:53'), +(515, 26, 12, 12, NULL, 10, NULL, 0, 35, 559, 172, '2024-04-27 00:59:53', '2024-04-27 00:59:53'), +(516, 26, 12, 12, NULL, NULL, 5, 0, 36, 560, 172, '2024-04-27 00:59:53', '2024-04-27 00:59:53'), +(517, 26, 13, 13, 15, NULL, NULL, 0, 37, 561, 173, '2024-04-27 01:18:43', '2024-04-27 01:18:43'), +(518, 26, 13, 13, NULL, 20, NULL, 0, 38, 562, 173, '2024-04-27 01:18:43', '2024-04-27 01:18:43'), +(519, 26, 13, 13, NULL, NULL, 20, 0, 39, 563, 173, '2024-04-27 01:18:43', '2024-04-27 01:18:43'), +(520, 27, 1, 1, 20, NULL, NULL, 0, 1, 564, 174, '2024-04-27 05:50:17', '2024-04-27 05:50:17'), +(521, 27, 1, 1, NULL, 20, NULL, 0, 2, 565, 174, '2024-04-27 05:50:17', '2024-04-27 05:50:17'), +(522, 27, 1, 1, NULL, NULL, 20, 0, 3, 566, 174, '2024-04-27 05:50:17', '2024-04-27 05:50:17'), +(523, 27, 2, 2, 20, NULL, NULL, 0, 4, 567, 175, '2024-04-27 05:59:31', '2024-04-27 05:59:31'), +(524, 27, 2, 2, NULL, 20, NULL, 0, 5, 568, 175, '2024-04-27 05:59:31', '2024-04-27 05:59:31'), +(525, 27, 2, 2, NULL, NULL, 20, 0, 6, 569, 175, '2024-04-27 05:59:31', '2024-04-27 05:59:31'), +(526, 27, 3, 3, 20, NULL, NULL, 0, 7, 570, 176, '2024-04-27 06:08:37', '2024-04-27 06:08:37'), +(527, 27, 3, 3, NULL, 20, NULL, 0, 8, 571, 176, '2024-04-27 06:08:37', '2024-04-27 06:08:37'), +(528, 27, 3, 3, NULL, NULL, 20, 0, 9, 572, 176, '2024-04-27 06:08:37', '2024-04-27 06:08:37'), +(529, 27, 4, 4, 20, NULL, NULL, 0, 10, 573, 177, '2024-04-27 06:19:14', '2024-04-27 06:19:14'), +(530, 27, 4, 4, NULL, 20, NULL, 0, 11, 574, 177, '2024-04-27 06:19:14', '2024-04-27 06:19:14'), +(531, 27, 4, 4, NULL, NULL, 20, 0, 12, 575, 177, '2024-04-27 06:19:14', '2024-04-27 06:19:14'), +(532, 27, 5, 5, 15, NULL, NULL, 0, 13, 576, 178, '2024-04-27 06:28:07', '2024-04-27 06:28:07'), +(533, 27, 5, 5, NULL, 20, NULL, 0, 14, 577, 178, '2024-04-27 06:28:07', '2024-04-27 06:28:07'), +(534, 27, 5, 5, NULL, NULL, 20, 0, 15, 578, 178, '2024-04-27 06:28:07', '2024-04-27 06:28:07'), +(535, 27, 6, 6, 20, NULL, NULL, 0, 16, 579, 179, '2024-04-27 06:36:23', '2024-04-27 06:36:23'), +(536, 27, 6, 6, NULL, 20, NULL, 0, 17, 580, 179, '2024-04-27 06:36:23', '2024-04-27 06:36:23'), +(537, 27, 6, 6, NULL, NULL, 20, 0, 18, 581, 179, '2024-04-27 06:36:23', '2024-04-27 06:36:23'), +(538, 27, 7, 7, 20, NULL, NULL, 0, 19, 582, 180, '2024-04-27 06:47:11', '2024-04-27 06:47:11'); +INSERT INTO `explaining_score` (`id`, `user_id`, `content_id`, `question_id`, `konteks_penjelasan`, `keruntutan`, `kebenaran`, `is_accepted`, `essay_question_id`, `user_answer_id`, `total_score_id`, `created_at`, `updated_at`) VALUES +(539, 27, 7, 7, NULL, 20, NULL, 0, 20, 583, 180, '2024-04-27 06:47:11', '2024-04-27 06:47:11'), +(540, 27, 7, 7, NULL, NULL, 15, 0, 21, 584, 180, '2024-04-27 06:47:11', '2024-04-27 06:47:11'), +(541, 27, 8, 8, 15, NULL, NULL, 0, 22, 585, 181, '2024-04-27 06:59:04', '2024-04-27 06:59:04'), +(542, 27, 8, 8, NULL, 20, NULL, 0, 23, 586, 181, '2024-04-27 06:59:04', '2024-04-27 06:59:04'), +(543, 27, 8, 8, NULL, NULL, 20, 0, 24, 587, 181, '2024-04-27 06:59:04', '2024-04-27 06:59:04'), +(544, 27, 9, 9, 15, NULL, NULL, 0, 25, 588, 182, '2024-04-27 07:08:30', '2024-04-27 07:08:30'), +(545, 27, 9, 9, NULL, 20, NULL, 0, 26, 589, 182, '2024-04-27 07:08:30', '2024-04-27 07:08:30'), +(546, 27, 9, 9, NULL, NULL, 5, 0, 27, 590, 182, '2024-04-27 07:08:30', '2024-04-27 07:08:30'), +(547, 27, 10, 10, 5, NULL, NULL, 0, 28, 591, 183, '2024-04-27 07:20:38', '2024-04-27 07:20:38'), +(548, 27, 10, 10, NULL, 20, NULL, 0, 29, 592, 183, '2024-04-27 07:20:38', '2024-04-27 07:20:38'), +(549, 27, 10, 10, NULL, NULL, 15, 0, 30, 593, 183, '2024-04-27 07:20:38', '2024-04-27 07:20:38'), +(550, 27, 11, 11, 10, NULL, NULL, 0, 31, 594, 184, '2024-04-27 07:29:35', '2024-04-27 07:29:35'), +(551, 27, 11, 11, NULL, 15, NULL, 0, 32, 595, 184, '2024-04-27 07:29:35', '2024-04-27 07:29:35'), +(552, 27, 11, 11, NULL, NULL, 5, 0, 33, 596, 184, '2024-04-27 07:29:35', '2024-04-27 07:29:35'), +(553, 27, 12, 12, 10, NULL, NULL, 0, 34, 597, 185, '2024-04-27 07:39:51', '2024-04-27 07:39:51'), +(554, 27, 12, 12, NULL, 10, NULL, 0, 35, 598, 185, '2024-04-27 07:39:51', '2024-04-27 07:39:51'), +(555, 27, 12, 12, NULL, NULL, 5, 0, 36, 599, 185, '2024-04-27 07:39:51', '2024-04-27 07:39:51'), +(556, 27, 13, 13, 15, NULL, NULL, 0, 37, 600, 186, '2024-04-27 07:47:59', '2024-04-27 07:47:59'), +(557, 27, 13, 13, NULL, 20, NULL, 0, 38, 601, 186, '2024-04-27 07:47:59', '2024-04-27 07:47:59'), +(558, 27, 13, 13, NULL, NULL, 20, 0, 39, 602, 186, '2024-04-27 07:47:59', '2024-04-27 07:47:59'), +(559, 28, 1, 1, 20, NULL, NULL, 0, 1, 603, 187, '2024-04-27 13:40:47', '2024-04-27 13:40:47'), +(560, 28, 1, 1, NULL, 20, NULL, 0, 2, 604, 187, '2024-04-27 13:40:47', '2024-04-27 13:40:47'), +(561, 28, 1, 1, NULL, NULL, 20, 0, 3, 605, 187, '2024-04-27 13:40:47', '2024-04-27 13:40:47'), +(562, 28, 2, 2, 20, NULL, NULL, 0, 4, 606, 188, '2024-04-27 13:49:18', '2024-04-27 13:49:18'), +(563, 28, 2, 2, NULL, 20, NULL, 0, 5, 607, 188, '2024-04-27 13:49:18', '2024-04-27 13:49:18'), +(564, 28, 2, 2, NULL, NULL, 20, 0, 6, 608, 188, '2024-04-27 13:49:18', '2024-04-27 13:49:18'), +(565, 28, 3, 3, 20, NULL, NULL, 0, 7, 609, 189, '2024-04-27 13:57:26', '2024-04-27 13:57:26'), +(566, 28, 3, 3, NULL, 20, NULL, 0, 8, 610, 189, '2024-04-27 13:57:26', '2024-04-27 13:57:26'), +(567, 28, 3, 3, NULL, NULL, 20, 0, 9, 611, 189, '2024-04-27 13:57:26', '2024-04-27 13:57:26'), +(568, 28, 4, 4, 15, NULL, NULL, 0, 10, 612, 190, '2024-04-27 14:05:32', '2024-04-27 14:05:32'), +(569, 28, 4, 4, NULL, 20, NULL, 0, 11, 613, 190, '2024-04-27 14:05:32', '2024-04-27 14:05:32'), +(570, 28, 4, 4, NULL, NULL, 20, 0, 12, 614, 190, '2024-04-27 14:05:32', '2024-04-27 14:05:32'), +(571, 28, 5, 5, 15, NULL, NULL, 0, 13, 615, 191, '2024-04-27 14:13:48', '2024-04-27 14:13:48'), +(572, 28, 5, 5, NULL, 20, NULL, 0, 14, 616, 191, '2024-04-27 14:13:48', '2024-04-27 14:13:48'), +(573, 28, 5, 5, NULL, NULL, 15, 0, 15, 617, 191, '2024-04-27 14:13:48', '2024-04-27 14:13:48'), +(574, 28, 6, 6, 20, NULL, NULL, 0, 16, 618, 192, '2024-04-27 14:21:56', '2024-04-27 14:21:56'), +(575, 28, 6, 6, NULL, 20, NULL, 0, 17, 619, 192, '2024-04-27 14:21:56', '2024-04-27 14:21:56'), +(576, 28, 6, 6, NULL, NULL, 20, 0, 18, 620, 192, '2024-04-27 14:21:56', '2024-04-27 14:21:56'), +(577, 28, 7, 7, 20, NULL, NULL, 0, 19, 621, 193, '2024-04-27 14:30:08', '2024-04-27 14:30:08'), +(578, 28, 7, 7, NULL, 20, NULL, 0, 20, 622, 193, '2024-04-27 14:30:08', '2024-04-27 14:30:08'), +(579, 28, 7, 7, NULL, NULL, 15, 0, 21, 623, 193, '2024-04-27 14:30:08', '2024-04-27 14:30:08'), +(580, 28, 8, 8, 15, NULL, NULL, 0, 22, 624, 194, '2024-04-27 14:37:26', '2024-04-27 14:37:26'), +(581, 28, 8, 8, NULL, 20, NULL, 0, 23, 625, 194, '2024-04-27 14:37:26', '2024-04-27 14:37:26'), +(582, 28, 8, 8, NULL, NULL, 20, 0, 24, 626, 194, '2024-04-27 14:37:26', '2024-04-27 14:37:26'), +(583, 28, 9, 9, 15, NULL, NULL, 0, 25, 627, 195, '2024-04-27 14:46:42', '2024-04-27 14:46:42'), +(584, 28, 9, 9, NULL, 20, NULL, 0, 26, 628, 195, '2024-04-27 14:46:42', '2024-04-27 14:46:42'), +(585, 28, 9, 9, NULL, NULL, 5, 0, 27, 629, 195, '2024-04-27 14:46:42', '2024-04-27 14:46:42'), +(586, 28, 10, 10, 10, NULL, NULL, 0, 28, 630, 196, '2024-04-27 14:54:32', '2024-04-27 14:54:32'), +(587, 28, 10, 10, NULL, 20, NULL, 0, 29, 631, 196, '2024-04-27 14:54:32', '2024-04-27 14:54:32'), +(588, 28, 10, 10, NULL, NULL, 15, 0, 30, 632, 196, '2024-04-27 14:54:32', '2024-04-27 14:54:32'), +(589, 28, 11, 11, 15, NULL, NULL, 0, 31, 633, 197, '2024-04-27 15:02:17', '2024-04-27 15:02:17'), +(590, 28, 11, 11, NULL, 15, NULL, 0, 32, 634, 197, '2024-04-27 15:02:17', '2024-04-27 15:02:17'), +(591, 28, 11, 11, NULL, NULL, 5, 0, 33, 635, 197, '2024-04-27 15:02:17', '2024-04-27 15:02:17'), +(592, 28, 12, 12, 10, NULL, NULL, 0, 34, 636, 198, '2024-04-27 15:09:25', '2024-04-27 15:09:25'), +(593, 28, 12, 12, NULL, 10, NULL, 0, 35, 637, 198, '2024-04-27 15:09:25', '2024-04-27 15:09:25'), +(594, 28, 12, 12, NULL, NULL, 5, 0, 36, 638, 198, '2024-04-27 15:09:26', '2024-04-27 15:09:26'), +(595, 28, 13, 13, 10, NULL, NULL, 0, 37, 639, 199, '2024-04-27 15:16:48', '2024-04-27 15:16:48'), +(596, 28, 13, 13, NULL, 20, NULL, 0, 38, 640, 199, '2024-04-27 15:16:48', '2024-04-27 15:16:48'), +(597, 28, 13, 13, NULL, NULL, 20, 0, 39, 641, 199, '2024-04-27 15:16:48', '2024-04-27 15:16:48'), +(598, 29, 1, 1, 20, NULL, NULL, 0, 1, 642, 200, '2024-04-27 19:24:45', '2024-04-27 19:24:45'), +(599, 29, 1, 1, NULL, 20, NULL, 0, 2, 643, 200, '2024-04-27 19:24:45', '2024-04-27 19:24:45'), +(600, 29, 1, 1, NULL, NULL, 20, 0, 3, 644, 200, '2024-04-27 19:24:45', '2024-04-27 19:24:45'), +(601, 29, 2, 2, 20, NULL, NULL, 0, 4, 645, 201, '2024-04-27 19:36:08', '2024-04-27 19:36:08'), +(602, 29, 2, 2, NULL, 20, NULL, 0, 5, 646, 201, '2024-04-27 19:36:08', '2024-04-27 19:36:08'), +(603, 29, 2, 2, NULL, NULL, 20, 0, 6, 647, 201, '2024-04-27 19:36:08', '2024-04-27 19:36:08'), +(604, 29, 3, 3, 20, NULL, NULL, 0, 7, 648, 202, '2024-04-27 19:46:02', '2024-04-27 19:46:02'), +(605, 29, 3, 3, NULL, 20, NULL, 0, 8, 649, 202, '2024-04-27 19:46:02', '2024-04-27 19:46:02'), +(606, 29, 3, 3, NULL, NULL, 20, 0, 9, 650, 202, '2024-04-27 19:46:02', '2024-04-27 19:46:02'), +(607, 29, 4, 4, 15, NULL, NULL, 0, 10, 651, 203, '2024-04-27 19:53:39', '2024-04-27 19:53:39'), +(608, 29, 4, 4, NULL, 20, NULL, 0, 11, 652, 203, '2024-04-27 19:53:39', '2024-04-27 19:53:39'), +(609, 29, 4, 4, NULL, NULL, 20, 0, 12, 653, 203, '2024-04-27 19:53:39', '2024-04-27 19:53:39'), +(610, 29, 5, 5, 15, NULL, NULL, 0, 13, 654, 204, '2024-04-27 20:01:54', '2024-04-27 20:01:54'), +(611, 29, 5, 5, NULL, 20, NULL, 0, 14, 655, 204, '2024-04-27 20:01:54', '2024-04-27 20:01:54'), +(612, 29, 5, 5, NULL, NULL, 15, 0, 15, 656, 204, '2024-04-27 20:01:54', '2024-04-27 20:01:54'), +(613, 29, 6, 6, 20, NULL, NULL, 0, 16, 657, 205, '2024-04-27 20:10:28', '2024-04-27 20:10:28'), +(614, 29, 6, 6, NULL, 20, NULL, 0, 17, 658, 205, '2024-04-27 20:10:28', '2024-04-27 20:10:28'), +(615, 29, 6, 6, NULL, NULL, 20, 0, 18, 659, 205, '2024-04-27 20:10:28', '2024-04-27 20:10:28'), +(616, 29, 7, 7, 20, NULL, NULL, 0, 19, 660, 206, '2024-04-27 20:19:07', '2024-04-27 20:19:07'), +(617, 29, 7, 7, NULL, 20, NULL, 0, 20, 661, 206, '2024-04-27 20:19:07', '2024-04-27 20:19:07'), +(618, 29, 7, 7, NULL, NULL, 15, 0, 21, 662, 206, '2024-04-27 20:19:07', '2024-04-27 20:19:07'), +(619, 29, 8, 8, 15, NULL, NULL, 0, 22, 663, 207, '2024-04-27 20:27:47', '2024-04-27 20:27:47'), +(620, 29, 8, 8, NULL, 15, NULL, 0, 23, 664, 207, '2024-04-27 20:27:47', '2024-04-27 20:27:47'), +(621, 29, 8, 8, NULL, NULL, 20, 0, 24, 665, 207, '2024-04-27 20:27:47', '2024-04-27 20:27:47'), +(622, 29, 9, 9, 15, NULL, NULL, 0, 25, 666, 208, '2024-04-27 20:37:18', '2024-04-27 20:37:18'), +(623, 29, 9, 9, NULL, 20, NULL, 0, 26, 667, 208, '2024-04-27 20:37:18', '2024-04-27 20:37:18'), +(624, 29, 9, 9, NULL, NULL, 5, 0, 27, 668, 208, '2024-04-27 20:37:18', '2024-04-27 20:37:18'), +(625, 29, 10, 10, 10, NULL, NULL, 0, 28, 669, 209, '2024-04-27 20:45:13', '2024-04-27 20:45:13'), +(626, 29, 10, 10, NULL, 20, NULL, 0, 29, 670, 209, '2024-04-27 20:45:13', '2024-04-27 20:45:13'), +(627, 29, 10, 10, NULL, NULL, 15, 0, 30, 671, 209, '2024-04-27 20:45:13', '2024-04-27 20:45:13'), +(628, 29, 11, 11, 15, NULL, NULL, 0, 31, 672, 210, '2024-04-27 20:55:02', '2024-04-27 20:55:02'), +(629, 29, 11, 11, NULL, 15, NULL, 0, 32, 673, 210, '2024-04-27 20:55:02', '2024-04-27 20:55:02'), +(630, 29, 11, 11, NULL, NULL, 10, 0, 33, 674, 210, '2024-04-27 20:55:02', '2024-04-27 20:55:02'), +(631, 29, 12, 12, 15, NULL, NULL, 0, 34, 680, 211, '2024-04-27 21:08:09', '2024-04-27 21:08:09'), +(632, 29, 12, 12, NULL, 15, NULL, 0, 35, 681, 211, '2024-04-27 21:08:09', '2024-04-27 21:08:09'), +(633, 29, 12, 12, NULL, NULL, 5, 0, 36, 682, 211, '2024-04-27 21:08:09', '2024-04-27 21:08:09'), +(634, 29, 13, 13, 15, NULL, NULL, 0, 37, 683, 212, '2024-04-27 21:16:50', '2024-04-27 21:16:50'), +(635, 29, 13, 13, NULL, 20, NULL, 0, 38, 684, 212, '2024-04-27 21:16:50', '2024-04-27 21:16:50'), +(636, 29, 13, 13, NULL, NULL, 20, 0, 39, 685, 212, '2024-04-27 21:16:50', '2024-04-27 21:16:50'), +(637, 30, 1, 1, 20, NULL, NULL, 0, 1, 686, 213, '2024-04-28 05:54:29', '2024-04-28 05:54:29'), +(638, 30, 1, 1, NULL, 20, NULL, 0, 2, 687, 213, '2024-04-28 05:54:29', '2024-04-28 05:54:29'), +(639, 30, 1, 1, NULL, NULL, 20, 0, 3, 688, 213, '2024-04-28 05:54:29', '2024-04-28 05:54:29'), +(640, 30, 2, 2, 20, NULL, NULL, 0, 4, 689, 214, '2024-04-28 06:08:28', '2024-04-28 06:08:28'), +(641, 30, 2, 2, NULL, 20, NULL, 0, 5, 690, 214, '2024-04-28 06:08:28', '2024-04-28 06:08:28'), +(642, 30, 2, 2, NULL, NULL, 20, 0, 6, 691, 214, '2024-04-28 06:08:28', '2024-04-28 06:08:28'), +(643, 30, 3, 3, 20, NULL, NULL, 0, 7, 692, 215, '2024-04-28 06:16:03', '2024-04-28 06:16:03'), +(644, 30, 3, 3, NULL, 20, NULL, 0, 8, 693, 215, '2024-04-28 06:16:03', '2024-04-28 06:16:03'), +(645, 30, 3, 3, NULL, NULL, 20, 0, 9, 694, 215, '2024-04-28 06:16:03', '2024-04-28 06:16:03'), +(646, 30, 4, 4, 20, NULL, NULL, 0, 10, 695, 216, '2024-04-28 06:24:23', '2024-04-28 06:24:23'), +(647, 30, 4, 4, NULL, 20, NULL, 0, 11, 696, 216, '2024-04-28 06:24:23', '2024-04-28 06:24:23'), +(648, 30, 4, 4, NULL, NULL, 20, 0, 12, 697, 216, '2024-04-28 06:24:23', '2024-04-28 06:24:23'), +(649, 30, 5, 5, 15, NULL, NULL, 0, 13, 698, 217, '2024-04-28 06:32:10', '2024-04-28 06:32:10'), +(650, 30, 5, 5, NULL, 20, NULL, 0, 14, 699, 217, '2024-04-28 06:32:10', '2024-04-28 06:32:10'), +(651, 30, 5, 5, NULL, NULL, 20, 0, 15, 700, 217, '2024-04-28 06:32:10', '2024-04-28 06:32:10'), +(652, 30, 6, 6, 20, NULL, NULL, 0, 16, 701, 218, '2024-04-28 06:42:29', '2024-04-28 06:42:29'), +(653, 30, 6, 6, NULL, 20, NULL, 0, 17, 702, 218, '2024-04-28 06:42:29', '2024-04-28 06:42:29'), +(654, 30, 6, 6, NULL, NULL, 20, 0, 18, 703, 218, '2024-04-28 06:42:29', '2024-04-28 06:42:29'), +(655, 30, 7, 7, 20, NULL, NULL, 0, 19, 704, 219, '2024-04-28 06:50:29', '2024-04-28 06:50:29'), +(656, 30, 7, 7, NULL, 20, NULL, 0, 20, 705, 219, '2024-04-28 06:50:29', '2024-04-28 06:50:29'), +(657, 30, 7, 7, NULL, NULL, 15, 0, 21, 706, 219, '2024-04-28 06:50:29', '2024-04-28 06:50:29'), +(658, 30, 8, 8, 15, NULL, NULL, 0, 22, 707, 220, '2024-04-28 07:02:54', '2024-04-28 07:02:54'), +(659, 30, 8, 8, NULL, 20, NULL, 0, 23, 708, 220, '2024-04-28 07:02:54', '2024-04-28 07:02:54'), +(660, 30, 8, 8, NULL, NULL, 20, 0, 24, 709, 220, '2024-04-28 07:02:54', '2024-04-28 07:02:54'), +(661, 30, 9, 9, 10, NULL, NULL, 0, 25, 710, 221, '2024-04-28 07:11:43', '2024-04-28 07:11:43'), +(662, 30, 9, 9, NULL, 20, NULL, 0, 26, 711, 221, '2024-04-28 07:11:43', '2024-04-28 07:11:43'), +(663, 30, 9, 9, NULL, NULL, 3, 0, 27, 712, 221, '2024-04-28 07:11:43', '2024-04-28 07:11:43'), +(664, 30, 10, 10, 10, NULL, NULL, 0, 28, 713, 222, '2024-04-28 07:23:57', '2024-04-28 07:23:57'), +(665, 30, 10, 10, NULL, 20, NULL, 0, 29, 714, 222, '2024-04-28 07:23:57', '2024-04-28 07:23:57'), +(666, 30, 10, 10, NULL, NULL, 15, 0, 30, 715, 222, '2024-04-28 07:23:57', '2024-04-28 07:23:57'), +(667, 30, 11, 11, 15, NULL, NULL, 0, 31, 716, 223, '2024-04-28 07:34:08', '2024-04-28 07:34:08'), +(668, 30, 11, 11, NULL, 15, NULL, 0, 32, 717, 223, '2024-04-28 07:34:08', '2024-04-28 07:34:08'), +(669, 30, 11, 11, NULL, NULL, 5, 0, 33, 718, 223, '2024-04-28 07:34:08', '2024-04-28 07:34:08'), +(670, 30, 12, 12, 15, NULL, NULL, 0, 34, 719, 224, '2024-04-28 07:42:09', '2024-04-28 07:42:09'), +(671, 30, 12, 12, NULL, 15, NULL, 0, 35, 720, 224, '2024-04-28 07:42:09', '2024-04-28 07:42:09'), +(672, 30, 12, 12, NULL, NULL, 5, 0, 36, 721, 224, '2024-04-28 07:42:09', '2024-04-28 07:42:09'), +(673, 30, 13, 13, 15, NULL, NULL, 0, 37, 722, 225, '2024-04-28 07:52:32', '2024-04-28 07:52:32'), +(674, 30, 13, 13, NULL, 20, NULL, 0, 38, 723, 225, '2024-04-28 07:52:32', '2024-04-28 07:52:32'), +(675, 30, 13, 13, NULL, NULL, 15, 0, 39, 724, 225, '2024-04-28 07:52:32', '2024-04-28 07:52:32'), +(676, 31, 1, 1, 10, NULL, NULL, 0, 1, 725, 226, '2024-04-28 13:56:52', '2024-04-28 13:56:52'), +(677, 31, 1, 1, NULL, 15, NULL, 0, 2, 726, 226, '2024-04-28 13:56:52', '2024-04-28 14:00:14'), +(678, 31, 1, 1, NULL, NULL, 15, 0, 3, 727, 226, '2024-04-28 13:56:52', '2024-04-28 13:56:52'), +(679, 31, 2, 2, 20, NULL, NULL, 0, 4, 728, 227, '2024-04-28 14:03:27', '2024-04-28 14:03:27'), +(680, 31, 2, 2, NULL, 20, NULL, 0, 5, 729, 227, '2024-04-28 14:03:27', '2024-04-28 14:03:27'), +(681, 31, 2, 2, NULL, NULL, 20, 0, 6, 730, 227, '2024-04-28 14:03:27', '2024-04-28 14:03:27'), +(682, 31, 3, 3, 15, NULL, NULL, 0, 7, 731, 228, '2024-04-28 14:07:01', '2024-04-28 14:07:01'), +(683, 31, 3, 3, NULL, 15, NULL, 0, 8, 732, 228, '2024-04-28 14:07:01', '2024-04-28 14:07:01'), +(684, 31, 3, 3, NULL, NULL, 20, 0, 9, 733, 228, '2024-04-28 14:07:01', '2024-04-28 14:07:01'), +(685, 31, 4, 4, 15, NULL, NULL, 0, 10, 734, 229, '2024-04-28 14:11:01', '2024-04-28 14:11:01'), +(686, 31, 4, 4, NULL, 20, NULL, 0, 11, 735, 229, '2024-04-28 14:11:01', '2024-04-28 14:11:01'), +(687, 31, 4, 4, NULL, NULL, 15, 0, 12, 736, 229, '2024-04-28 14:11:01', '2024-04-28 14:11:01'), +(688, 31, 5, 5, 10, NULL, NULL, 0, 13, 737, 230, '2024-04-28 14:14:28', '2024-04-28 14:14:28'), +(689, 31, 5, 5, NULL, 20, NULL, 0, 14, 738, 230, '2024-04-28 14:14:28', '2024-04-28 14:14:28'), +(690, 31, 5, 5, NULL, NULL, 10, 0, 15, 739, 230, '2024-04-28 14:14:28', '2024-04-28 14:14:28'), +(691, 31, 6, 6, 15, NULL, NULL, 0, 16, 740, 231, '2024-04-28 14:17:38', '2024-04-28 14:17:38'), +(692, 31, 6, 6, NULL, 20, NULL, 0, 17, 741, 231, '2024-04-28 14:17:38', '2024-04-28 14:17:38'), +(693, 31, 6, 6, NULL, NULL, 10, 0, 18, 742, 231, '2024-04-28 14:17:38', '2024-04-28 14:17:38'), +(694, 31, 7, 7, 20, NULL, NULL, 0, 19, 743, 232, '2024-04-28 14:20:18', '2024-04-28 14:20:18'), +(695, 31, 7, 7, NULL, 20, NULL, 0, 20, 744, 232, '2024-04-28 14:20:18', '2024-04-28 14:20:18'), +(696, 31, 7, 7, NULL, NULL, 15, 0, 21, 745, 232, '2024-04-28 14:20:18', '2024-04-28 14:20:18'), +(697, 31, 8, 8, 15, NULL, NULL, 0, 22, 746, 233, '2024-04-28 14:23:59', '2024-04-28 14:23:59'), +(698, 31, 8, 8, NULL, 15, NULL, 0, 23, 747, 233, '2024-04-28 14:23:59', '2024-04-28 14:23:59'), +(699, 31, 8, 8, NULL, NULL, 20, 0, 24, 748, 233, '2024-04-28 14:23:59', '2024-04-28 14:23:59'), +(700, 31, 9, 9, 5, NULL, NULL, 0, 25, 749, 234, '2024-04-28 14:27:42', '2024-04-28 14:27:42'), +(701, 31, 9, 9, NULL, 15, NULL, 0, 26, 750, 234, '2024-04-28 14:27:42', '2024-04-28 14:27:42'), +(702, 31, 9, 9, NULL, NULL, 3, 0, 27, 751, 234, '2024-04-28 14:27:42', '2024-04-28 14:27:42'), +(703, 31, 10, 10, 5, NULL, NULL, 0, 28, 752, 235, '2024-04-28 14:30:47', '2024-04-28 14:30:47'), +(704, 31, 10, 10, NULL, 20, NULL, 0, 29, 753, 235, '2024-04-28 14:30:47', '2024-04-28 14:30:47'), +(705, 31, 10, 10, NULL, NULL, 10, 0, 30, 754, 235, '2024-04-28 14:30:47', '2024-04-28 14:30:47'), +(706, 31, 11, 11, 10, NULL, NULL, 0, 31, 755, 236, '2024-04-28 14:33:12', '2024-04-28 14:33:12'), +(707, 31, 11, 11, NULL, 15, NULL, 0, 32, 756, 236, '2024-04-28 14:33:12', '2024-04-28 14:33:12'), +(708, 31, 11, 11, NULL, NULL, 5, 0, 33, 757, 236, '2024-04-28 14:33:12', '2024-04-28 14:33:12'), +(709, 31, 12, 12, 10, NULL, NULL, 0, 34, 758, 237, '2024-04-28 14:36:01', '2024-04-28 14:36:01'), +(710, 31, 12, 12, NULL, 5, NULL, 0, 35, 759, 237, '2024-04-28 14:36:01', '2024-04-28 14:36:01'), +(711, 31, 12, 12, NULL, NULL, 5, 0, 36, 760, 237, '2024-04-28 14:36:01', '2024-04-28 14:36:01'), +(712, 31, 13, 13, 15, NULL, NULL, 0, 37, 761, 238, '2024-04-28 14:38:26', '2024-04-28 14:38:26'), +(713, 31, 13, 13, NULL, 20, NULL, 0, 38, 762, 238, '2024-04-28 14:38:26', '2024-04-28 14:38:26'), +(714, 31, 13, 13, NULL, NULL, 10, 0, 39, 763, 238, '2024-04-28 14:38:26', '2024-04-28 14:38:26'), +(715, 32, 1, 1, 20, NULL, NULL, 0, 1, 764, 239, '2024-05-01 19:22:16', '2024-05-01 19:22:16'), +(716, 32, 1, 1, NULL, 20, NULL, 0, 2, 765, 239, '2024-05-01 19:22:16', '2024-05-01 19:22:16'), +(717, 32, 1, 1, NULL, NULL, 20, 0, 3, 766, 239, '2024-05-01 19:22:16', '2024-05-01 19:22:16'), +(718, 32, 2, 2, 20, NULL, NULL, 0, 4, 767, 240, '2024-05-01 19:43:56', '2024-05-01 19:43:56'), +(719, 32, 2, 2, NULL, 20, NULL, 0, 5, 768, 240, '2024-05-01 19:43:56', '2024-05-01 19:43:56'), +(720, 32, 2, 2, NULL, NULL, 20, 0, 6, 769, 240, '2024-05-01 19:43:56', '2024-05-01 19:43:56'), +(721, 32, 3, 3, 20, NULL, NULL, 0, 7, 770, 241, '2024-05-01 19:56:38', '2024-05-01 19:56:38'), +(722, 32, 3, 3, NULL, 20, NULL, 0, 8, 771, 241, '2024-05-01 19:56:38', '2024-05-01 19:56:38'), +(723, 32, 3, 3, NULL, NULL, 20, 0, 9, 772, 241, '2024-05-01 19:56:38', '2024-05-01 19:56:38'), +(724, 33, 1, 1, 5, NULL, NULL, 0, 1, 773, 242, '2024-05-01 20:41:23', '2024-05-01 20:41:23'), +(725, 33, 1, 1, NULL, 3, NULL, 0, 2, 774, 242, '2024-05-01 20:41:23', '2024-05-01 20:41:23'), +(726, 33, 1, 1, NULL, NULL, 3, 0, 3, 775, 242, '2024-05-01 20:41:23', '2024-05-01 20:41:23'), +(727, 34, 1, 1, 5, NULL, NULL, 0, 1, 776, 243, '2024-05-01 21:31:07', '2024-05-01 21:31:07'), +(728, 34, 1, 1, NULL, 3, NULL, 0, 2, 777, 243, '2024-05-01 21:31:07', '2024-05-01 21:31:07'), +(729, 34, 1, 1, NULL, NULL, 3, 0, 3, 778, 243, '2024-05-01 21:31:07', '2024-05-01 21:31:07'), +(730, 34, 2, 2, 3, NULL, NULL, 0, 4, 779, 244, '2024-05-01 21:42:40', '2024-05-01 21:42:40'), +(731, 34, 2, 2, NULL, 5, NULL, 0, 5, 780, 244, '2024-05-01 21:42:40', '2024-05-01 21:42:40'), +(732, 34, 2, 2, NULL, NULL, 5, 0, 6, 781, 244, '2024-05-01 21:42:40', '2024-05-01 21:42:40'), +(733, 34, 3, 3, 3, NULL, NULL, 0, 7, 782, 245, '2024-05-01 22:36:00', '2024-05-01 22:36:00'), +(734, 34, 3, 3, NULL, 3, NULL, 0, 8, 783, 245, '2024-05-01 22:36:00', '2024-05-01 22:36:00'), +(735, 34, 3, 3, NULL, NULL, 5, 0, 9, 784, 245, '2024-05-01 22:36:00', '2024-05-01 22:36:00'), +(736, 34, 4, 4, 3, NULL, NULL, 0, 10, 785, 246, '2024-05-01 23:28:25', '2024-05-01 23:28:25'), +(737, 34, 4, 4, NULL, 3, NULL, 0, 11, 786, 246, '2024-05-01 23:28:25', '2024-05-01 23:28:25'), +(738, 34, 4, 4, NULL, NULL, 3, 0, 12, 787, 246, '2024-05-01 23:28:25', '2024-05-01 23:28:25'), +(739, 32, 4, 4, 20, NULL, NULL, 0, 10, 788, 247, '2024-05-02 15:11:57', '2024-05-02 15:11:57'), +(740, 32, 4, 4, NULL, 20, NULL, 0, 11, 789, 247, '2024-05-02 15:11:57', '2024-05-02 15:11:57'), +(741, 32, 4, 4, NULL, NULL, 20, 0, 12, 790, 247, '2024-05-02 15:11:57', '2024-05-02 15:11:57'), +(742, 32, 5, 5, 15, NULL, NULL, 0, 13, 791, 248, '2024-05-02 15:20:52', '2024-05-02 15:20:52'), +(743, 32, 5, 5, NULL, 20, NULL, 0, 14, 792, 248, '2024-05-02 15:20:52', '2024-05-02 15:20:52'), +(744, 32, 5, 5, NULL, NULL, 20, 0, 15, 793, 248, '2024-05-02 15:20:52', '2024-05-02 15:20:52'), +(745, 32, 6, 6, 20, NULL, NULL, 0, 16, 794, 249, '2024-05-02 15:30:01', '2024-05-02 15:30:01'), +(746, 32, 6, 6, NULL, 20, NULL, 0, 17, 795, 249, '2024-05-02 15:30:01', '2024-05-02 15:30:01'), +(747, 32, 6, 6, NULL, NULL, 20, 0, 18, 796, 249, '2024-05-02 15:30:01', '2024-05-02 15:30:01'), +(748, 32, 7, 7, 20, NULL, NULL, 0, 19, 797, 250, '2024-05-02 15:39:11', '2024-05-02 15:39:11'), +(749, 32, 7, 7, NULL, 20, NULL, 0, 20, 798, 250, '2024-05-02 15:39:11', '2024-05-02 15:39:11'), +(750, 32, 7, 7, NULL, NULL, 15, 0, 21, 799, 250, '2024-05-02 15:39:11', '2024-05-02 15:39:11'), +(751, 32, 8, 8, 15, NULL, NULL, 0, 22, 800, 251, '2024-05-02 15:47:20', '2024-05-02 15:47:20'), +(752, 32, 8, 8, NULL, 20, NULL, 0, 23, 801, 251, '2024-05-02 15:47:20', '2024-05-02 15:47:20'), +(753, 32, 8, 8, NULL, NULL, 20, 0, 24, 802, 251, '2024-05-02 15:47:20', '2024-05-02 15:47:20'), +(754, 32, 9, 9, 15, NULL, NULL, 0, 25, 803, 252, '2024-05-02 15:56:35', '2024-05-02 15:56:35'), +(755, 32, 9, 9, NULL, 20, NULL, 0, 26, 804, 252, '2024-05-02 15:56:35', '2024-05-02 15:56:35'), +(756, 32, 9, 9, NULL, NULL, 5, 0, 27, 805, 252, '2024-05-02 15:56:35', '2024-05-02 15:56:35'), +(757, 32, 10, 10, 5, NULL, NULL, 0, 28, 806, 253, '2024-05-02 16:04:40', '2024-05-02 16:04:40'), +(758, 32, 10, 10, NULL, 20, NULL, 0, 29, 807, 253, '2024-05-02 16:04:40', '2024-05-02 16:04:40'), +(759, 32, 10, 10, NULL, NULL, 15, 0, 30, 808, 253, '2024-05-02 16:04:40', '2024-05-02 16:04:40'), +(760, 32, 11, 11, 10, NULL, NULL, 0, 31, 809, 254, '2024-05-02 16:13:07', '2024-05-02 16:13:07'), +(761, 32, 11, 11, NULL, 15, NULL, 0, 32, 810, 254, '2024-05-02 16:13:07', '2024-05-02 16:13:07'), +(762, 32, 11, 11, NULL, NULL, 5, 0, 33, 811, 254, '2024-05-02 16:13:07', '2024-05-02 16:13:07'), +(763, 32, 12, 12, 10, NULL, NULL, 0, 34, 812, 255, '2024-05-02 16:21:46', '2024-05-02 16:21:46'), +(764, 32, 12, 12, NULL, 15, NULL, 0, 35, 813, 255, '2024-05-02 16:21:46', '2024-05-02 16:21:46'), +(765, 32, 12, 12, NULL, NULL, 5, 0, 36, 814, 255, '2024-05-02 16:21:47', '2024-05-02 16:21:47'), +(766, 32, 13, 13, 15, NULL, NULL, 0, 37, 815, 256, '2024-05-02 16:30:17', '2024-05-02 16:30:17'), +(767, 32, 13, 13, NULL, 20, NULL, 0, 38, 816, 256, '2024-05-02 16:30:17', '2024-05-02 16:30:17'), +(768, 32, 13, 13, NULL, NULL, 20, 0, 39, 817, 256, '2024-05-02 16:30:17', '2024-05-02 16:30:17'), +(769, 35, 1, 1, 20, NULL, NULL, 0, 1, 818, 257, '2024-05-02 17:21:13', '2024-05-02 17:21:13'), +(770, 35, 1, 1, NULL, 20, NULL, 0, 2, 819, 257, '2024-05-02 17:21:13', '2024-05-02 17:21:13'), +(771, 35, 1, 1, NULL, NULL, 15, 0, 3, 820, 257, '2024-05-02 17:21:13', '2024-05-02 17:21:13'), +(772, 35, 2, 2, 20, NULL, NULL, 0, 4, 821, 258, '2024-05-02 17:30:13', '2024-05-02 17:30:13'), +(773, 35, 2, 2, NULL, 20, NULL, 0, 5, 822, 258, '2024-05-02 17:30:13', '2024-05-02 17:30:13'), +(774, 35, 2, 2, NULL, NULL, 20, 0, 6, 823, 258, '2024-05-02 17:30:13', '2024-05-02 17:30:13'), +(775, 35, 3, 3, 20, NULL, NULL, 0, 7, 824, 259, '2024-05-02 17:38:26', '2024-05-02 17:38:26'), +(776, 35, 3, 3, NULL, 20, NULL, 0, 8, 825, 259, '2024-05-02 17:38:26', '2024-05-02 17:38:26'), +(777, 35, 3, 3, NULL, NULL, 20, 0, 9, 826, 259, '2024-05-02 17:38:26', '2024-05-02 17:38:26'), +(778, 35, 4, 4, 20, NULL, NULL, 0, 10, 827, 260, '2024-05-02 17:46:50', '2024-05-02 17:46:50'), +(779, 35, 4, 4, NULL, 20, NULL, 0, 11, 828, 260, '2024-05-02 17:46:50', '2024-05-02 17:46:50'), +(780, 35, 4, 4, NULL, NULL, 20, 0, 12, 829, 260, '2024-05-02 17:46:50', '2024-05-02 17:46:50'), +(781, 35, 5, 5, 15, NULL, NULL, 0, 13, 830, 261, '2024-05-02 17:56:54', '2024-05-02 17:56:54'), +(782, 35, 5, 5, NULL, 20, NULL, 0, 14, 831, 261, '2024-05-02 17:56:54', '2024-05-02 17:56:54'), +(783, 35, 5, 5, NULL, NULL, 20, 0, 15, 832, 261, '2024-05-02 17:56:54', '2024-05-02 17:56:54'), +(784, 35, 6, 6, 20, NULL, NULL, 0, 16, 833, 262, '2024-05-02 18:04:16', '2024-05-02 18:04:16'), +(785, 35, 6, 6, NULL, 20, NULL, 0, 17, 834, 262, '2024-05-02 18:04:16', '2024-05-02 18:04:16'), +(786, 35, 6, 6, NULL, NULL, 20, 0, 18, 835, 262, '2024-05-02 18:04:16', '2024-05-02 18:04:16'), +(787, 35, 7, 7, 20, NULL, NULL, 0, 19, 836, 263, '2024-05-02 18:20:46', '2024-05-02 18:20:46'), +(788, 35, 7, 7, NULL, 20, NULL, 0, 20, 837, 263, '2024-05-02 18:20:46', '2024-05-02 18:20:46'), +(789, 35, 7, 7, NULL, NULL, 15, 0, 21, 838, 263, '2024-05-02 18:20:46', '2024-05-02 18:20:46'), +(790, 35, 8, 8, 15, NULL, NULL, 0, 22, 839, 264, '2024-05-02 18:43:39', '2024-05-02 18:43:39'), +(791, 35, 8, 8, NULL, 20, NULL, 0, 23, 840, 264, '2024-05-02 18:43:39', '2024-05-02 18:43:39'), +(792, 35, 8, 8, NULL, NULL, 20, 0, 24, 841, 264, '2024-05-02 18:43:39', '2024-05-02 18:43:39'), +(793, 35, 9, 9, 10, NULL, NULL, 0, 25, 842, 265, '2024-05-02 18:55:12', '2024-05-02 18:55:12'), +(794, 35, 9, 9, NULL, 20, NULL, 0, 26, 843, 265, '2024-05-02 18:55:12', '2024-05-02 18:55:12'), +(795, 35, 9, 9, NULL, NULL, 3, 0, 27, 844, 265, '2024-05-02 18:55:12', '2024-05-02 18:55:12'), +(796, 35, 10, 10, 5, NULL, NULL, 0, 28, 845, 266, '2024-05-02 19:17:07', '2024-05-02 19:17:07'), +(797, 35, 10, 10, NULL, 20, NULL, 0, 29, 846, 266, '2024-05-02 19:17:07', '2024-05-02 19:17:07'), +(798, 35, 10, 10, NULL, NULL, 15, 0, 30, 847, 266, '2024-05-02 19:17:07', '2024-05-02 19:17:07'), +(799, 35, 11, 11, 15, NULL, NULL, 0, 31, 848, 267, '2024-05-02 19:27:15', '2024-05-02 19:27:15'), +(800, 35, 11, 11, NULL, 15, NULL, 0, 32, 849, 267, '2024-05-02 19:27:15', '2024-05-02 19:27:15'), +(801, 35, 11, 11, NULL, NULL, 5, 0, 33, 850, 267, '2024-05-02 19:27:15', '2024-05-02 19:27:15'), +(802, 35, 12, 12, 15, NULL, NULL, 0, 34, 851, 268, '2024-05-02 19:41:21', '2024-05-02 19:41:21'), +(803, 35, 12, 12, NULL, 15, NULL, 0, 35, 852, 268, '2024-05-02 19:41:21', '2024-05-02 19:41:21'), +(804, 35, 12, 12, NULL, NULL, 5, 0, 36, 853, 268, '2024-05-02 19:41:21', '2024-05-02 19:41:21'), +(805, 35, 13, 13, 15, NULL, NULL, 0, 37, 854, 269, '2024-05-02 19:50:28', '2024-05-02 19:50:28'), +(806, 35, 13, 13, NULL, 20, NULL, 0, 38, 855, 269, '2024-05-02 19:50:28', '2024-05-02 19:50:28'), +(807, 35, 13, 13, NULL, NULL, 20, 0, 39, 856, 269, '2024-05-02 19:50:28', '2024-05-02 19:50:28'), +(808, 36, 1, 1, 20, NULL, NULL, 0, 1, 857, 270, '2024-05-03 03:21:24', '2024-05-03 03:21:24'), +(809, 36, 1, 1, NULL, 20, NULL, 0, 2, 858, 270, '2024-05-03 03:21:24', '2024-05-03 03:21:24'), +(810, 36, 1, 1, NULL, NULL, 20, 0, 3, 859, 270, '2024-05-03 03:21:24', '2024-05-03 03:21:24'), +(811, 36, 2, 2, 20, NULL, NULL, 0, 4, 860, 271, '2024-05-03 03:29:58', '2024-05-03 03:29:58'), +(812, 36, 2, 2, NULL, 20, NULL, 0, 5, 861, 271, '2024-05-03 03:29:58', '2024-05-03 03:29:58'), +(813, 36, 2, 2, NULL, NULL, 20, 0, 6, 862, 271, '2024-05-03 03:29:58', '2024-05-03 03:29:58'), +(814, 36, 3, 3, 20, NULL, NULL, 0, 7, 863, 272, '2024-05-03 03:39:08', '2024-05-03 03:39:08'), +(815, 36, 3, 3, NULL, 20, NULL, 0, 8, 864, 272, '2024-05-03 03:39:08', '2024-05-03 03:39:08'), +(816, 36, 3, 3, NULL, NULL, 20, 0, 9, 865, 272, '2024-05-03 03:39:08', '2024-05-03 03:39:08'), +(817, 36, 4, 4, 20, NULL, NULL, 0, 10, 866, 273, '2024-05-03 03:55:02', '2024-05-03 03:55:02'), +(818, 36, 4, 4, NULL, 20, NULL, 0, 11, 867, 273, '2024-05-03 03:55:02', '2024-05-03 03:55:02'), +(819, 36, 4, 4, NULL, NULL, 20, 0, 12, 868, 273, '2024-05-03 03:55:02', '2024-05-03 03:55:02'), +(820, 36, 5, 5, 15, NULL, NULL, 0, 13, 869, 274, '2024-05-03 04:04:59', '2024-05-03 04:04:59'), +(821, 36, 5, 5, NULL, 15, NULL, 0, 14, 870, 274, '2024-05-03 04:04:59', '2024-05-03 04:04:59'), +(822, 36, 5, 5, NULL, NULL, 15, 0, 15, 871, 274, '2024-05-03 04:04:59', '2024-05-03 04:04:59'), +(823, 36, 6, 6, 15, NULL, NULL, 0, 16, 872, 275, '2024-05-03 04:13:54', '2024-05-03 04:13:54'), +(824, 36, 6, 6, NULL, 20, NULL, 0, 17, 873, 275, '2024-05-03 04:13:54', '2024-05-03 04:13:54'), +(825, 36, 6, 6, NULL, NULL, 20, 0, 18, 874, 275, '2024-05-03 04:13:54', '2024-05-03 04:13:54'), +(826, 36, 7, 7, 20, NULL, NULL, 0, 19, 875, 276, '2024-05-03 04:31:38', '2024-05-03 04:31:38'), +(827, 36, 7, 7, NULL, 20, NULL, 0, 20, 876, 276, '2024-05-03 04:31:38', '2024-05-03 04:31:38'), +(828, 36, 7, 7, NULL, NULL, 15, 0, 21, 877, 276, '2024-05-03 04:31:38', '2024-05-03 04:31:38'), +(829, 36, 8, 8, 15, NULL, NULL, 0, 22, 878, 277, '2024-05-03 04:51:13', '2024-05-03 04:51:13'), +(830, 36, 8, 8, NULL, 20, NULL, 0, 23, 879, 277, '2024-05-03 04:51:13', '2024-05-03 04:51:13'), +(831, 36, 8, 8, NULL, NULL, 20, 0, 24, 880, 277, '2024-05-03 04:51:13', '2024-05-03 04:51:13'), +(832, 36, 9, 9, 15, NULL, NULL, 0, 25, 881, 278, '2024-05-03 05:01:44', '2024-05-03 05:01:44'), +(833, 36, 9, 9, NULL, 20, NULL, 0, 26, 882, 278, '2024-05-03 05:01:44', '2024-05-03 05:01:44'), +(834, 36, 9, 9, NULL, NULL, 3, 0, 27, 883, 278, '2024-05-03 05:01:44', '2024-05-03 05:01:44'), +(835, 36, 10, 10, 5, NULL, NULL, 0, 28, 884, 279, '2024-05-03 05:24:34', '2024-05-03 05:24:34'), +(836, 36, 10, 10, NULL, 20, NULL, 0, 29, 885, 279, '2024-05-03 05:24:34', '2024-05-03 05:24:34'), +(837, 36, 10, 10, NULL, NULL, 15, 0, 30, 886, 279, '2024-05-03 05:24:34', '2024-05-03 05:24:34'), +(838, 36, 11, 11, 15, NULL, NULL, 0, 31, 887, 280, '2024-05-03 05:43:54', '2024-05-03 05:43:54'), +(839, 36, 11, 11, NULL, 15, NULL, 0, 32, 888, 280, '2024-05-03 05:43:54', '2024-05-03 05:43:54'), +(840, 36, 11, 11, NULL, NULL, 10, 0, 33, 889, 280, '2024-05-03 05:43:54', '2024-05-03 05:43:54'), +(841, 36, 12, 12, 15, NULL, NULL, 0, 34, 890, 281, '2024-05-03 05:55:08', '2024-05-03 05:55:08'), +(842, 36, 12, 12, NULL, 15, NULL, 0, 35, 891, 281, '2024-05-03 05:55:08', '2024-05-03 05:55:08'), +(843, 36, 12, 12, NULL, NULL, 5, 0, 36, 892, 281, '2024-05-03 05:55:08', '2024-05-03 05:55:08'), +(844, 36, 13, 13, 15, NULL, NULL, 0, 37, 893, 282, '2024-05-03 06:05:11', '2024-05-03 06:05:11'), +(845, 36, 13, 13, NULL, 20, NULL, 0, 38, 894, 282, '2024-05-03 06:05:11', '2024-05-03 06:05:11'), +(846, 36, 13, 13, NULL, NULL, 20, 0, 39, 895, 282, '2024-05-03 06:05:11', '2024-05-03 06:05:11'), +(847, 37, 1, 1, 20, NULL, NULL, 0, 1, 896, 283, '2024-06-03 05:10:24', '2024-06-03 05:10:24'), +(848, 37, 1, 1, NULL, 20, NULL, 0, 2, 897, 283, '2024-06-03 05:10:24', '2024-06-03 05:10:24'), +(849, 37, 1, 1, NULL, NULL, 20, 0, 3, 898, 283, '2024-06-03 05:10:24', '2024-06-03 05:10:24'), +(850, 37, 2, 2, 20, NULL, NULL, 0, 4, 899, 284, '2024-06-03 05:31:53', '2024-06-03 05:31:53'), +(851, 37, 2, 2, NULL, 20, NULL, 0, 5, 900, 284, '2024-06-03 05:31:53', '2024-06-03 05:31:53'), +(852, 37, 2, 2, NULL, NULL, 20, 0, 6, 901, 284, '2024-06-03 05:31:53', '2024-06-03 05:31:53'), +(853, 37, 3, 3, 20, NULL, NULL, 0, 7, 902, 285, '2024-06-03 05:41:20', '2024-06-03 05:41:20'), +(854, 37, 3, 3, NULL, 20, NULL, 0, 8, 903, 285, '2024-06-03 05:41:20', '2024-06-03 05:41:20'), +(855, 37, 3, 3, NULL, NULL, 20, 0, 9, 904, 285, '2024-06-03 05:41:20', '2024-06-03 05:41:20'), +(856, 37, 4, 4, 20, NULL, NULL, 0, 10, 905, 286, '2024-06-03 05:50:42', '2024-06-03 05:50:42'), +(857, 37, 4, 4, NULL, 20, NULL, 0, 11, 906, 286, '2024-06-03 05:50:42', '2024-06-03 05:50:42'), +(858, 37, 4, 4, NULL, NULL, 20, 0, 12, 907, 286, '2024-06-03 05:50:42', '2024-06-03 05:50:42'), +(859, 37, 5, 5, 15, NULL, NULL, 0, 13, 908, 287, '2024-06-03 06:06:55', '2024-06-03 06:06:55'), +(860, 37, 5, 5, NULL, 20, NULL, 0, 14, 909, 287, '2024-06-03 06:06:55', '2024-06-03 06:06:55'), +(861, 37, 5, 5, NULL, NULL, 20, 0, 15, 910, 287, '2024-06-03 06:06:55', '2024-06-03 06:06:55'), +(862, 37, 6, 6, 20, NULL, NULL, 0, 16, 911, 288, '2024-06-03 06:24:31', '2024-06-03 06:24:31'), +(863, 37, 6, 6, NULL, 20, NULL, 0, 17, 912, 288, '2024-06-03 06:24:31', '2024-06-03 06:24:31'), +(864, 37, 6, 6, NULL, NULL, 20, 0, 18, 913, 288, '2024-06-03 06:24:31', '2024-06-03 06:24:31'), +(865, 37, 7, 7, 20, NULL, NULL, 0, 19, 914, 289, '2024-06-03 06:39:55', '2024-06-03 06:39:55'), +(866, 37, 7, 7, NULL, 20, NULL, 0, 20, 915, 289, '2024-06-03 06:39:55', '2024-06-03 06:39:55'), +(867, 37, 7, 7, NULL, NULL, 15, 0, 21, 916, 289, '2024-06-03 06:39:55', '2024-06-03 06:39:55'), +(868, 37, 8, 8, 15, NULL, NULL, 0, 22, 917, 290, '2024-06-03 07:01:34', '2024-06-03 07:01:34'), +(869, 37, 8, 8, NULL, 20, NULL, 0, 23, 918, 290, '2024-06-03 07:01:34', '2024-06-03 07:01:34'), +(870, 37, 8, 8, NULL, NULL, 20, 0, 24, 919, 290, '2024-06-03 07:01:34', '2024-06-03 07:01:34'), +(871, 37, 9, 9, 10, NULL, NULL, 0, 25, 920, 291, '2024-06-03 07:09:54', '2024-06-03 07:09:54'), +(872, 37, 9, 9, NULL, 20, NULL, 0, 26, 921, 291, '2024-06-03 07:09:54', '2024-06-03 07:09:54'), +(873, 37, 9, 9, NULL, NULL, 5, 0, 27, 922, 291, '2024-06-03 07:09:54', '2024-06-03 07:09:54'), +(874, 37, 10, 10, 5, NULL, NULL, 0, 28, 923, 292, '2024-06-03 07:25:23', '2024-06-03 07:25:23'), +(875, 37, 10, 10, NULL, 20, NULL, 0, 29, 924, 292, '2024-06-03 07:25:23', '2024-06-03 07:25:23'), +(876, 37, 10, 10, NULL, NULL, 10, 0, 30, 925, 292, '2024-06-03 07:25:23', '2024-06-03 07:25:23'), +(877, 37, 11, 11, 1, NULL, NULL, 1, 31, 926, 293, '2024-06-03 07:33:21', '2024-07-04 20:44:37'), +(878, 37, 11, 11, NULL, 1, NULL, 1, 32, 927, 293, '2024-06-03 07:33:21', '2024-07-04 20:44:37'), +(879, 37, 11, 11, NULL, NULL, 5, 1, 33, 928, 293, '2024-06-03 07:33:21', '2024-07-04 20:44:37'), +(880, 37, 12, 12, 15, NULL, NULL, 0, 34, 929, 294, '2024-06-03 07:41:08', '2024-06-03 07:41:08'), +(881, 37, 12, 12, NULL, 15, NULL, 0, 35, 930, 294, '2024-06-03 07:41:08', '2024-06-03 07:41:08'), +(882, 37, 12, 12, NULL, NULL, 5, 0, 36, 931, 294, '2024-06-03 07:41:08', '2024-06-03 07:41:08'), +(883, 37, 13, 13, 15, NULL, NULL, 0, 37, 932, 295, '2024-06-03 08:05:10', '2024-06-03 08:05:10'), +(884, 37, 13, 13, NULL, 20, NULL, 0, 38, 933, 295, '2024-06-03 08:05:10', '2024-06-03 08:05:10'), +(885, 37, 13, 13, NULL, NULL, 20, 0, 39, 934, 295, '2024-06-03 08:05:10', '2024-06-03 08:05:10'), +(886, 39, 1, 1, 15, NULL, NULL, 0, 1, 935, 296, '2024-06-10 01:56:20', '2024-06-10 01:56:20'), +(887, 39, 1, 1, NULL, 15, NULL, 0, 2, 936, 296, '2024-06-10 01:56:20', '2024-06-10 01:56:20'), +(888, 39, 1, 1, NULL, NULL, 20, 0, 3, 937, 296, '2024-06-10 01:56:20', '2024-06-10 01:56:20'), +(889, 39, 2, 2, 10, NULL, NULL, 0, 4, 938, 297, '2024-06-10 02:01:01', '2024-06-10 02:01:01'), +(890, 39, 2, 2, NULL, 20, NULL, 0, 5, 939, 297, '2024-06-10 02:01:01', '2024-06-10 02:01:01'), +(891, 39, 2, 2, NULL, NULL, 10, 0, 6, 940, 297, '2024-06-10 02:01:01', '2024-06-10 02:01:01'), +(892, 39, 3, 3, 10, NULL, NULL, 0, 7, 941, 298, '2024-06-10 02:06:20', '2024-06-10 02:06:20'), +(893, 39, 3, 3, NULL, 15, NULL, 0, 8, 942, 298, '2024-06-10 02:06:20', '2024-06-10 02:06:20'), +(894, 39, 3, 3, NULL, NULL, 15, 0, 9, 943, 298, '2024-06-10 02:06:20', '2024-06-10 02:06:20'), +(895, 39, 4, 4, 20, NULL, NULL, 0, 10, 944, 299, '2024-06-10 02:16:20', '2024-06-10 02:16:20'), +(896, 39, 4, 4, NULL, 20, NULL, 0, 11, 945, 299, '2024-06-10 02:16:20', '2024-06-10 02:16:20'), +(897, 39, 4, 4, NULL, NULL, 15, 0, 12, 946, 299, '2024-06-10 02:16:20', '2024-06-10 02:16:20'), +(898, 39, 5, 5, 15, NULL, NULL, 0, 13, 947, 300, '2024-06-10 02:27:08', '2024-06-10 02:27:08'), +(899, 39, 5, 5, NULL, 15, NULL, 0, 14, 948, 300, '2024-06-10 02:27:08', '2024-06-10 02:27:08'), +(900, 39, 5, 5, NULL, NULL, 15, 0, 15, 949, 300, '2024-06-10 02:27:08', '2024-06-10 02:27:08'), +(901, 39, 6, 6, 10, NULL, NULL, 0, 16, 950, 301, '2024-06-10 02:33:38', '2024-06-10 02:33:38'), +(902, 39, 6, 6, NULL, 15, NULL, 0, 17, 951, 301, '2024-06-10 02:33:38', '2024-06-10 02:33:38'), +(903, 39, 6, 6, NULL, NULL, 10, 0, 18, 952, 301, '2024-06-10 02:33:38', '2024-06-10 02:33:38'), +(904, 39, 7, 7, 10, NULL, NULL, 0, 19, 953, 302, '2024-06-10 02:37:11', '2024-06-10 02:37:11'), +(905, 39, 7, 7, NULL, 15, NULL, 0, 20, 954, 302, '2024-06-10 02:37:11', '2024-06-10 02:37:11'), +(906, 39, 7, 7, NULL, NULL, 5, 0, 21, 955, 302, '2024-06-10 02:37:11', '2024-06-10 02:37:11'), +(907, 39, 8, 8, 15, NULL, NULL, 0, 22, 956, 303, '2024-06-10 02:45:59', '2024-06-10 02:45:59'), +(908, 39, 8, 8, NULL, 20, NULL, 0, 23, 957, 303, '2024-06-10 02:45:59', '2024-06-10 02:45:59'), +(909, 39, 8, 8, NULL, NULL, 10, 0, 24, 958, 303, '2024-06-10 02:45:59', '2024-06-10 02:45:59'), +(910, 39, 9, 9, 15, NULL, NULL, 0, 25, 959, 304, '2024-06-10 02:53:29', '2024-06-10 02:53:29'), +(911, 39, 9, 9, NULL, 15, NULL, 0, 26, 960, 304, '2024-06-10 02:53:29', '2024-06-10 02:53:29'), +(912, 39, 9, 9, NULL, NULL, 10, 0, 27, 961, 304, '2024-06-10 02:53:29', '2024-06-10 02:53:29'), +(913, 39, 10, 10, 20, NULL, NULL, 0, 28, 962, 305, '2024-06-10 03:07:52', '2024-06-10 03:07:52'), +(914, 39, 10, 10, NULL, 10, NULL, 0, 29, 963, 305, '2024-06-10 03:07:52', '2024-06-10 03:07:52'), +(915, 39, 10, 10, NULL, NULL, 20, 0, 30, 964, 305, '2024-06-10 03:07:52', '2024-06-10 03:07:52'), +(916, 40, 1, 1, 15, NULL, NULL, 0, 1, 965, 306, '2024-06-10 03:14:31', '2024-06-10 03:14:31'), +(917, 40, 1, 1, NULL, 20, NULL, 0, 2, 966, 306, '2024-06-10 03:14:31', '2024-06-10 03:14:31'), +(918, 40, 1, 1, NULL, NULL, 15, 0, 3, 967, 306, '2024-06-10 03:14:31', '2024-06-10 03:14:31'), +(919, 40, 2, 2, 10, NULL, NULL, 0, 4, 968, 307, '2024-06-10 03:22:10', '2024-06-10 03:22:10'), +(920, 40, 2, 2, NULL, 15, NULL, 0, 5, 969, 307, '2024-06-10 03:22:10', '2024-06-10 03:22:10'), +(921, 40, 2, 2, NULL, NULL, 10, 0, 6, 970, 307, '2024-06-10 03:22:10', '2024-06-10 03:22:10'), +(922, 40, 3, 3, 10, NULL, NULL, 0, 7, 971, 308, '2024-06-10 03:29:09', '2024-06-10 03:29:09'), +(923, 40, 3, 3, NULL, 15, NULL, 0, 8, 972, 308, '2024-06-10 03:29:09', '2024-06-10 03:29:09'), +(924, 40, 3, 3, NULL, NULL, 15, 0, 9, 973, 308, '2024-06-10 03:29:09', '2024-06-10 03:29:09'), +(925, 40, 4, 4, 15, NULL, NULL, 0, 10, 974, 309, '2024-06-10 03:35:15', '2024-06-10 03:35:15'), +(926, 40, 4, 4, NULL, 20, NULL, 0, 11, 975, 309, '2024-06-10 03:35:15', '2024-06-10 03:35:15'), +(927, 40, 4, 4, NULL, NULL, 10, 0, 12, 976, 309, '2024-06-10 03:35:15', '2024-06-10 03:35:15'), +(928, 40, 5, 5, 15, NULL, NULL, 0, 13, 977, 310, '2024-06-10 03:42:02', '2024-06-10 03:42:02'), +(929, 40, 5, 5, NULL, 15, NULL, 0, 14, 978, 310, '2024-06-10 03:42:03', '2024-06-10 03:42:03'), +(930, 40, 5, 5, NULL, NULL, 20, 0, 15, 979, 310, '2024-06-10 03:42:03', '2024-06-10 03:42:03'), +(931, 40, 6, 6, 15, NULL, NULL, 0, 16, 980, 311, '2024-06-10 03:50:50', '2024-06-10 03:50:50'), +(932, 40, 6, 6, NULL, 15, NULL, 0, 17, 981, 311, '2024-06-10 03:50:50', '2024-06-10 03:50:50'), +(933, 40, 6, 6, NULL, NULL, 20, 0, 18, 982, 311, '2024-06-10 03:50:50', '2024-06-10 03:50:50'), +(934, 41, 1, 1, 15, NULL, NULL, 0, 1, 983, 312, '2024-06-10 04:00:06', '2024-06-10 04:00:06'), +(935, 41, 1, 1, NULL, 20, NULL, 0, 2, 984, 312, '2024-06-10 04:00:06', '2024-06-10 04:00:06'), +(936, 41, 1, 1, NULL, NULL, 15, 0, 3, 985, 312, '2024-06-10 04:00:06', '2024-06-10 04:00:06'), +(937, 41, 2, 2, 15, NULL, NULL, 0, 4, 986, 313, '2024-06-10 04:05:04', '2024-06-10 04:05:04'), +(938, 41, 2, 2, NULL, 15, NULL, 0, 5, 987, 313, '2024-06-10 04:05:04', '2024-06-10 04:05:04'), +(939, 41, 2, 2, NULL, NULL, 15, 0, 6, 988, 313, '2024-06-10 04:05:04', '2024-06-10 04:05:04'), +(940, 41, 3, 3, 15, NULL, NULL, 0, 7, 989, 314, '2024-06-10 04:12:05', '2024-06-10 04:12:05'), +(941, 41, 3, 3, NULL, 15, NULL, 0, 8, 990, 314, '2024-06-10 04:12:05', '2024-06-10 04:12:05'), +(942, 41, 3, 3, NULL, NULL, 15, 0, 9, 991, 314, '2024-06-10 04:12:05', '2024-06-10 04:12:05'), +(943, 41, 4, 4, 15, NULL, NULL, 0, 10, 992, 315, '2024-06-10 04:18:10', '2024-06-10 04:18:10'), +(944, 41, 4, 4, NULL, 20, NULL, 0, 11, 993, 315, '2024-06-10 04:18:10', '2024-06-10 04:18:10'), +(945, 41, 4, 4, NULL, NULL, 15, 0, 12, 994, 315, '2024-06-10 04:18:10', '2024-06-10 04:18:10'), +(946, 41, 5, 5, 15, NULL, NULL, 0, 13, 995, 316, '2024-06-10 04:28:00', '2024-06-10 04:28:00'), +(947, 41, 5, 5, NULL, 15, NULL, 0, 14, 996, 316, '2024-06-10 04:28:00', '2024-06-10 04:28:00'), +(948, 41, 5, 5, NULL, NULL, 20, 0, 15, 997, 316, '2024-06-10 04:28:00', '2024-06-10 04:28:00'), +(949, 41, 6, 6, 10, NULL, NULL, 0, 16, 998, 317, '2024-06-10 04:31:22', '2024-06-10 04:31:22'), +(950, 41, 6, 6, NULL, 15, NULL, 0, 17, 999, 317, '2024-06-10 04:31:22', '2024-06-10 04:31:22'), +(951, 41, 6, 6, NULL, NULL, 20, 0, 18, 1000, 317, '2024-06-10 04:31:22', '2024-06-10 04:31:22'), +(952, 41, 7, 7, 5, NULL, NULL, 0, 19, 1001, 318, '2024-06-10 04:35:17', '2024-06-10 04:35:17'), +(953, 41, 7, 7, NULL, 15, NULL, 0, 20, 1002, 318, '2024-06-10 04:35:17', '2024-06-10 04:35:17'), +(954, 41, 7, 7, NULL, NULL, 3, 0, 21, 1003, 318, '2024-06-10 04:35:17', '2024-06-10 04:35:17'), +(955, 41, 8, 8, 10, NULL, NULL, 0, 22, 1004, 319, '2024-06-10 04:38:58', '2024-06-10 04:38:58'), +(956, 41, 8, 8, NULL, 15, NULL, 0, 23, 1005, 319, '2024-06-10 04:38:58', '2024-06-10 04:38:58'), +(957, 41, 8, 8, NULL, NULL, 20, 0, 24, 1006, 319, '2024-06-10 04:38:58', '2024-06-10 04:38:58'), +(958, 41, 9, 9, 10, NULL, NULL, 0, 25, 1007, 320, '2024-06-10 04:43:01', '2024-06-10 04:43:01'), +(959, 41, 9, 9, NULL, 15, NULL, 0, 26, 1008, 320, '2024-06-10 04:43:01', '2024-06-10 04:43:01'), +(960, 41, 9, 9, NULL, NULL, 5, 0, 27, 1009, 320, '2024-06-10 04:43:01', '2024-06-10 04:43:01'), +(961, 41, 10, 10, 20, NULL, NULL, 0, 28, 1010, 321, '2024-06-13 03:23:44', '2024-06-13 03:23:44'), +(962, 41, 10, 10, NULL, 15, NULL, 0, 29, 1011, 321, '2024-06-13 03:23:44', '2024-06-13 03:23:44'), +(963, 41, 10, 10, NULL, NULL, 10, 0, 30, 1012, 321, '2024-06-13 03:23:44', '2024-06-13 03:23:44'), +(964, 41, 11, 11, 20, NULL, NULL, 0, 31, 1013, 322, '2024-06-13 03:41:38', '2024-06-13 03:41:38'), +(965, 41, 11, 11, NULL, 15, NULL, 0, 32, 1014, 322, '2024-06-13 03:41:38', '2024-06-13 03:41:38'), +(966, 41, 11, 11, NULL, NULL, 15, 0, 33, 1015, 322, '2024-06-13 03:41:38', '2024-06-13 03:41:38'), +(967, 41, 12, 12, 20, NULL, NULL, 0, 34, 1016, 323, '2024-06-13 03:45:53', '2024-06-13 03:45:53'), +(968, 41, 12, 12, NULL, 15, NULL, 0, 35, 1017, 323, '2024-06-13 03:45:53', '2024-06-13 03:45:53'), +(969, 41, 12, 12, NULL, NULL, 15, 0, 36, 1018, 323, '2024-06-13 03:45:53', '2024-06-13 03:45:53'), +(970, 41, 13, 13, 5, NULL, NULL, 0, 37, 1019, 324, '2024-06-13 03:51:23', '2024-06-13 03:51:23'), +(971, 41, 13, 13, NULL, 10, NULL, 0, 38, 1020, 324, '2024-06-13 03:51:23', '2024-06-13 03:51:23'), +(972, 41, 13, 13, NULL, NULL, 20, 0, 39, 1021, 324, '2024-06-13 03:51:23', '2024-06-13 03:51:23'), +(973, 40, 7, 7, 15, NULL, NULL, 0, 19, 1022, 325, '2024-06-13 05:32:28', '2024-06-13 05:32:28'), +(974, 40, 7, 7, NULL, 20, NULL, 0, 20, 1023, 325, '2024-06-13 05:32:28', '2024-06-13 05:32:28'), +(975, 40, 7, 7, NULL, NULL, 3, 0, 21, 1024, 325, '2024-06-13 05:32:28', '2024-06-13 05:32:28'), +(976, 40, 8, 8, 20, NULL, NULL, 0, 22, 1025, 326, '2024-06-13 05:38:02', '2024-06-13 05:38:02'), +(977, 40, 8, 8, NULL, 20, NULL, 0, 23, 1026, 326, '2024-06-13 05:38:02', '2024-06-13 05:38:02'), +(978, 40, 8, 8, NULL, NULL, 20, 0, 24, 1027, 326, '2024-06-13 05:38:02', '2024-06-13 05:38:02'), +(979, 40, 9, 9, 15, NULL, NULL, 0, 25, 1028, 327, '2024-06-13 05:43:55', '2024-06-13 05:43:55'), +(980, 40, 9, 9, NULL, 20, NULL, 0, 26, 1029, 327, '2024-06-13 05:43:55', '2024-06-13 05:43:55'), +(981, 40, 9, 9, NULL, NULL, 5, 0, 27, 1030, 327, '2024-06-13 05:43:55', '2024-06-13 05:43:55'), +(982, 40, 10, 10, 20, NULL, NULL, 0, 28, 1031, 328, '2024-06-13 05:47:23', '2024-06-13 05:47:23'), +(983, 40, 10, 10, NULL, 15, NULL, 0, 29, 1032, 328, '2024-06-13 05:47:23', '2024-06-13 05:47:23'), +(984, 40, 10, 10, NULL, NULL, 3, 0, 30, 1033, 328, '2024-06-13 05:47:23', '2024-06-13 05:47:23'), +(985, 40, 11, 11, 15, NULL, NULL, 0, 31, 1034, 329, '2024-06-13 05:51:24', '2024-06-13 05:51:24'), +(986, 40, 11, 11, NULL, 20, NULL, 0, 32, 1035, 329, '2024-06-13 05:51:24', '2024-06-13 05:51:24'), +(987, 40, 11, 11, NULL, NULL, 15, 0, 33, 1036, 329, '2024-06-13 05:51:24', '2024-06-13 05:51:24'), +(988, 40, 12, 12, 20, NULL, NULL, 0, 34, 1037, 330, '2024-06-13 05:54:21', '2024-06-13 05:54:21'), +(989, 40, 12, 12, NULL, 20, NULL, 0, 35, 1038, 330, '2024-06-13 05:54:21', '2024-06-13 05:54:21'), +(990, 40, 12, 12, NULL, NULL, 15, 0, 36, 1039, 330, '2024-06-13 05:54:21', '2024-06-13 05:54:21'), +(991, 40, 13, 13, 5, NULL, NULL, 0, 37, 1040, 331, '2024-06-13 05:56:07', '2024-06-13 05:56:07'), +(992, 40, 13, 13, NULL, 10, NULL, 0, 38, 1041, 331, '2024-06-13 05:56:07', '2024-06-13 05:56:07'), +(993, 40, 13, 13, NULL, NULL, 20, 0, 39, 1042, 331, '2024-06-13 05:56:07', '2024-06-13 05:56:07'), +(994, 42, 1, 1, 15, NULL, NULL, 0, 1, 1043, 332, '2024-06-22 05:47:08', '2024-06-22 05:47:08'), +(995, 42, 1, 1, NULL, 20, NULL, 0, 2, 1044, 332, '2024-06-22 05:47:08', '2024-06-22 05:47:08'), +(996, 42, 1, 1, NULL, NULL, 20, 0, 3, 1045, 332, '2024-06-22 05:47:08', '2024-06-22 05:47:08'), +(997, 42, 2, 2, 15, NULL, NULL, 0, 4, 1046, 333, '2024-06-22 06:48:07', '2024-06-22 06:48:07'), +(998, 42, 2, 2, NULL, 15, NULL, 0, 5, 1047, 333, '2024-06-22 06:48:07', '2024-06-22 06:48:07'), +(999, 42, 2, 2, NULL, NULL, 10, 0, 6, 1048, 333, '2024-06-22 06:48:07', '2024-06-22 06:48:07'), +(1000, 43, 1, 1, 19, NULL, NULL, 1, 1, 1049, 334, '2024-06-23 07:50:04', '2024-06-30 10:58:12'), +(1001, 43, 1, 1, NULL, 16, NULL, 1, 2, 1050, 334, '2024-06-23 07:50:04', '2024-06-30 10:58:12'), +(1002, 43, 1, 1, NULL, NULL, 17, 1, 3, 1051, 334, '2024-06-23 07:50:04', '2024-06-30 10:58:12'), +(1003, 43, 2, 2, 15, NULL, NULL, 1, 4, 1052, 335, '2024-06-24 00:51:59', '2024-06-25 07:24:06'), +(1004, 43, 2, 2, NULL, 20, NULL, 1, 5, 1053, 335, '2024-06-24 00:51:59', '2024-06-25 07:24:06'), +(1005, 43, 2, 2, NULL, NULL, 10, 1, 6, 1054, 335, '2024-06-24 00:51:59', '2024-06-25 07:24:06'), +(1006, 44, 1, 1, 18, NULL, NULL, 0, 1, 1055, 336, '2024-06-24 11:40:58', '2024-06-24 11:40:58'), +(1007, 44, 1, 1, NULL, 17, NULL, 0, 2, 1056, 336, '2024-06-24 11:40:58', '2024-06-24 11:40:58'), +(1008, 44, 1, 1, NULL, NULL, 17, 0, 3, 1057, 336, '2024-06-24 11:40:58', '2024-06-24 11:40:58'), +(1009, 44, 2, 2, 18, NULL, NULL, 0, 4, 1058, 337, '2024-06-24 11:44:13', '2024-06-30 20:06:00'), +(1010, 44, 2, 2, NULL, 17, NULL, 0, 5, 1059, 337, '2024-06-24 11:44:13', '2024-06-30 20:06:00'), +(1011, 44, 2, 2, NULL, NULL, 18, 0, 6, 1060, 337, '2024-06-24 11:44:13', '2024-06-30 20:06:00'), +(1012, 43, 3, 3, 16, NULL, NULL, 1, 7, 1063, 338, '2024-06-25 03:25:23', '2024-06-25 08:12:12'), +(1013, 43, 3, 3, NULL, 17, NULL, 1, 8, 1064, 338, '2024-06-25 03:25:23', '2024-06-25 08:12:12'), +(1014, 43, 3, 3, NULL, NULL, 19, 1, 9, 1065, 338, '2024-06-25 03:25:23', '2024-06-25 08:12:12'), +(1015, 43, 4, 4, 20, NULL, NULL, 1, 10, 1066, 339, '2024-06-25 03:26:55', '2024-06-25 08:22:47'), +(1016, 43, 4, 4, NULL, 20, NULL, 1, 11, 1067, 339, '2024-06-25 03:26:55', '2024-06-25 08:22:47'), +(1017, 43, 4, 4, NULL, NULL, 20, 1, 12, 1068, 339, '2024-06-25 03:26:55', '2024-06-25 08:22:47'), +(1018, 43, 5, 5, 20, NULL, NULL, 1, 13, 1096, 340, '2024-06-30 11:19:52', '2024-06-30 11:22:27'), +(1019, 43, 5, 5, NULL, 20, NULL, 1, 14, 1097, 340, '2024-06-30 11:19:52', '2024-06-30 11:22:27'), +(1020, 43, 5, 5, NULL, NULL, 20, 1, 15, 1098, 340, '2024-06-30 11:19:52', '2024-06-30 11:22:27'), +(1021, 43, 6, 6, 18, NULL, NULL, 0, 16, 1099, 341, '2024-06-30 11:21:30', '2024-06-30 11:21:30'), +(1022, 43, 6, 6, NULL, 18, NULL, 0, 17, 1100, 341, '2024-06-30 11:21:30', '2024-06-30 11:21:30'), +(1023, 43, 6, 6, NULL, NULL, 16, 0, 18, 1101, 341, '2024-06-30 11:21:30', '2024-06-30 11:21:30'), +(1024, 45, 1, 1, 20, NULL, NULL, 1, 1, 1102, 342, '2024-06-30 11:24:04', '2024-06-30 20:05:02'), +(1025, 45, 1, 1, NULL, 20, NULL, 1, 2, 1103, 342, '2024-06-30 11:24:04', '2024-06-30 20:05:02'), +(1026, 45, 1, 1, NULL, NULL, 20, 1, 3, 1104, 342, '2024-06-30 11:24:04', '2024-06-30 20:05:02'), +(1027, 45, 2, 2, 18, NULL, NULL, 0, 4, 1105, 343, '2024-07-02 10:29:23', '2024-07-04 20:43:31'), +(1028, 45, 2, 2, NULL, 20, NULL, 0, 5, 1106, 343, '2024-07-02 10:29:23', '2024-07-04 20:43:31'), +(1029, 45, 2, 2, NULL, NULL, 20, 0, 6, 1107, 343, '2024-07-02 10:29:23', '2024-07-04 20:43:31'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `explains` +-- + +CREATE TABLE `explains` ( + `id` bigint UNSIGNED NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `edited_admin` bigint UNSIGNED DEFAULT NULL, + `level_id` int UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `question_id` int DEFAULT NULL, + `code` tinyint(1) NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `failed_jobs` +-- + +CREATE TABLE `failed_jobs` ( + `id` bigint UNSIGNED NOT NULL, + `uuid` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `connection` text COLLATE utf8mb4_unicode_ci NOT NULL, + `queue` text COLLATE utf8mb4_unicode_ci NOT NULL, + `payload` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `exception` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `failed_at` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `lessons` +-- + +CREATE TABLE `lessons` ( + `id` int UNSIGNED NOT NULL, + `title` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `course_id` int UNSIGNED NOT NULL, + `posisition` int NOT NULL, + `published` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `level_id` int UNSIGNED NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `lessons` +-- + +INSERT INTO `lessons` (`id`, `title`, `description`, `course_id`, `posisition`, `published`, `created_at`, `updated_at`, `level_id`) VALUES +(1, 'Tipe Data, Variabel dan Operator', 'User dapat memahami dan mampu menjelaskan tentang Tipe Data, Variabel, Input-Output, Sequence dan operator ke pemrograman Java', 1, 1, 1, '2023-06-01 04:30:20', '2023-06-01 04:30:20', 1), +(2, 'Sintaks Pemilihan 1', 'User mampu menyelesaikan permasalahan/studi kasus menggunakan sintaks pemilihan 1 dan mengimplementasikannya dalam bahasa pemrograman Java.', 1, 2, 1, '2023-06-01 04:33:08', '2023-06-01 04:33:08', 1), +(3, 'Sintaks Pemilihan 2', 'User memahami tentang operator logika dan mampu menyelesaikan permasalahan dengan menggunakan sintaks pemilihan bersarang', 1, 3, 1, '2023-06-01 04:34:51', '2023-06-01 04:34:51', 1), +(4, 'Sintaks Perulangan 1', 'User memahami serta mampu membuat kode program dalam bahasa Java menggunakan instruksi perulangan.', 1, 4, 1, '2023-06-01 04:35:54', '2023-06-01 04:35:54', 2), +(5, 'Sintaks Perulangan 2', 'User memahami konsep perulangan bersarang dan mampu membuat kode program perulangan bersarang dalam bahasa Java', 1, 5, 1, '2023-06-01 04:38:11', '2023-06-01 04:38:11', 2), +(6, 'Array 1', 'User mampu memahami konsep array satu dimensi, memberikan contoh penggunaan array satu dimensi, membuat kode program menggunakan konsep array satu dimensi', 1, 6, 1, '2023-06-01 04:41:46', '2023-06-01 04:43:34', 2), +(7, 'Array Multidimensi', 'User memahami konsep array 2 dimensi dan membuat kode program dengan menggunakan konsep array multidimensi.', 1, 7, 1, '2023-06-01 04:43:01', '2023-06-01 04:43:01', 3), +(8, 'Fungsi 1', 'User mampu memahami penggunaan fungsi static pada Java dengan parameter dan mengembalikan nilai dan membuat kode program dengan menggunakan fungsi static dan mengeksekusi fungsi tersebut.', 1, 8, 1, '2023-06-01 04:45:03', '2023-06-01 04:45:03', 3), +(9, 'Fungsi 2', 'User memahami konsep fungsi rekursif dan mampu mengimplementasikan fungsi rekursif dalam kode program', 1, 9, 1, '2023-06-01 04:46:33', '2023-06-01 04:46:33', 3); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `levels` +-- + +CREATE TABLE `levels` ( + `id` int UNSIGNED NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `course_id` int UNSIGNED NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `description` text COLLATE utf8mb4_unicode_ci NOT NULL, + `deleted_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `levels` +-- + +INSERT INTO `levels` (`id`, `name`, `course_id`, `created_at`, `updated_at`, `description`, `deleted_at`) VALUES +(1, 'Easy', 1, '2023-02-28 03:27:44', '2023-03-06 02:30:00', 'Start your journey with easiest step', NULL), +(2, 'Medium', 1, '2023-02-28 03:28:42', '2023-02-28 03:28:42', 'Step forward to medium level', NULL), +(3, 'Hard', 1, '2023-02-28 03:28:59', '2023-02-28 03:28:59', 'You did it! push your limit.', NULL), +(5, 'mudah', 1, '2023-03-06 02:00:35', '2023-03-06 02:03:41', 'as', '2023-03-06 02:03:41'), +(6, 'mudah', 1, '2023-03-06 02:01:02', '2023-03-06 02:03:57', 'kjk', '2023-03-06 02:03:57'), +(7, 'advance', 1, '2023-07-02 20:35:39', '2023-07-02 20:36:05', 'advance your programming skill', '2023-07-02 20:36:05'), +(8, 'abca', 1, '2024-03-28 09:55:02', '2024-03-28 09:55:10', 'abc', '2024-03-28 09:55:10'), +(9, 'abc', 1, '2024-03-28 12:29:10', '2024-03-28 12:29:14', 'aa', '2024-03-28 12:29:14'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `migrations` +-- + +CREATE TABLE `migrations` ( + `id` int UNSIGNED NOT NULL, + `migration` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `batch` int NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `migrations` +-- + +INSERT INTO `migrations` (`id`, `migration`, `batch`) VALUES +(1, '2014_10_12_000000_create_users_table', 1), +(2, '2014_10_12_100000_create_password_resets_table', 1), +(3, '2019_08_19_000000_create_failed_jobs_table', 1), +(4, '2019_12_14_000001_create_personal_access_tokens_table', 1), +(5, '2022_05_30_114700_create_roles_table', 1), +(6, '2022_05_30_115524_create_courses_table', 1), +(7, '2022_05_30_120348_create_lessons_table', 1), +(8, '2022_05_30_141552_create_contents_table', 1), +(9, '2022_05_30_143915_add_role_to_user_column', 1), +(10, '2022_05_30_150023_create_questions_table', 1), +(11, '2022_05_30_180245_create_student_course_table', 1), +(12, '2022_05_31_015033_create_answers_table', 1), +(13, '2022_05_31_023057_add_nullable_to_answers', 1), +(14, '2022_05_31_030846_add_null_to_question', 1), +(15, '2022_05_31_070600_create_user_scores_table', 1), +(16, '2022_05_31_151123_create_badge_settings_table', 2), +(17, '2022_06_02_055725_change_column_in_contents', 3), +(18, '2022_06_13_155450_add_column_is_essay_to_question_table', 4), +(19, '2022_06_16_105917_change_column_question_on_question_table', 4), +(20, '2022_06_20_121634_create_user_code_test_score_table', 5), +(21, '2022_06_20_152419_add_question_id_on_user_scores_table', 5), +(22, '2022_07_19_073038_add_column_timer_to_question_table', 6), +(23, '2022_07_25_112343_add_column_start_time_to_user_scores_table', 7), +(24, '2022_07_25_125721_create_table_code_error_logs', 7), +(25, '2022_07_25_214126_add_column_on_timer_on_code_error_logs', 8), +(26, '2022_07_25_220037_add_column_on_timer_on_user_scores_table', 8), +(27, '2023_02_28_031855_create_levels_table', 9), +(28, '2023_02_28_062544_add_description_to_levels_table', 10), +(29, '2023_03_10_073837_create_table_code_history_logs', 11), +(30, '2023_03_10_074326_create_code_history_logs_table', 12), +(31, '2023_03_17_071601_create_explains_table', 13), +(32, '2023_05_18_144701_create_essay_question_table', 14), +(33, '2023_05_18_145219_create_user_answer_table', 15), +(34, '2023_05_23_060818_create_wondering_score_table', 16), +(35, '2023_05_23_061330_create_explaining_score_table', 17), +(36, '2023_05_28_125135_create_total_score_table', 18), +(37, '2023_06_23_042517_add_class_to_users_table', 19), +(38, '2024_03_22_175814_add_additional_answers_to_essay_question_table', 20), +(39, '2024_03_22_180425_add_additional_answers_to_essay_question_table', 21); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `password_resets` +-- + +CREATE TABLE `password_resets` ( + `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `token` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `password_resets` +-- + +INSERT INTO `password_resets` (`email`, `token`, `created_at`) VALUES +('fransiskaly@gmail.com', '$2y$10$mio8nnHOnS0FKHjcDkEF0O1d8h7QhKHqRLgUcT/AUcM2e9/BQo2Ce', '2023-02-14 05:51:57'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `personal_access_tokens` +-- + +CREATE TABLE `personal_access_tokens` ( + `id` bigint UNSIGNED NOT NULL, + `tokenable_type` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `tokenable_id` bigint UNSIGNED NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `token` varchar(64) COLLATE utf8mb4_unicode_ci NOT NULL, + `abilities` text COLLATE utf8mb4_unicode_ci, + `last_used_at` timestamp NULL DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `questions` +-- + +CREATE TABLE `questions` ( + `id` int UNSIGNED NOT NULL, + `content_id` int UNSIGNED NOT NULL, + `question_name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `question` longtext COLLATE utf8mb4_unicode_ci NOT NULL, + `image` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `score` int NOT NULL, + `hint` text COLLATE utf8mb4_unicode_ci, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + `is_essay` int NOT NULL DEFAULT '0', + `timer` int DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `questions` +-- + +INSERT INTO `questions` (`id`, `content_id`, `question_name`, `question`, `image`, `score`, `hint`, `created_at`, `updated_at`, `deleted_at`, `is_essay`, `timer`) VALUES +(1, 1, 'Tipe Data, Variabel dan Operator', '

      Studi Kasus:

      Lengkapilah kode program berdasarkan perintah berikut :

      • Tambahkan tipe data untuk variabel panjang, lebar, tinggi, Vbalok dan Lbalok berdasarkan nilai yang ada.
      • Tambahkan rumus volume balok “panjang * lebar * tinggi†pada variabel Vbalok
      • Tambahkan rumus volume balok “2*(panjang * lebar + panjang * tinggi + lebar * tinggi)†pada variabel Lbalok

       

      public class TipeData {\n      public static void main(String args[]) {\n             … panjang, lebar, tinggi, vBalok, lBalok;\n             \n             panjang = 10;\n             lebar = 6;\n             tinggi = 7;\n             \n             // volume balok\n             vBalok = ……;\n             \n             // Luas permukaan balok\n             lBalok = …..;\n             \n             System.out.print(\"Volume balok = \"+ vBalok + \", \");\n             System.out.print(\"Luas permukaan balok = \"+ lBalok);\n             \n      }\n}\n
      ', NULL, 30, NULL, '2023-06-01 08:11:49', '2024-02-26 23:45:59', NULL, 1, NULL), +(2, 2, 'IF-ELSE Angka', '

      Studi Kasus:

      Buatlah kondisi dimana apabila variabel nilai lebih dari 70 maka akan menampilkan \"Selamat anda lulus!\"

      

      public class Angka {\r\n      public static void main(String args[]) {\r\n            int nilai = 80;\r\n            \r\n            if(nilai > 70) {\r\n                   System.out.print(\"…\");\r\n            }\r\n      }\r\n \r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 08:14:09', '2024-03-23 11:55:29', NULL, 1, NULL), +(3, 3, 'Sintaks IF-ELSE IF-ELSE', '

      Studi Kasus:

      Buatlah kondisi dimana apabila variabel itemCost lebih dari 24 maka akan menampilkan \"High Value Item!\"

      sedangkan apabila dibawah dari nilai variabel tersebut akan menampilkan \"Low Value Item!\"

       

      public class Order {\r\n        \r\n        public static void main(String[] args) {\r\n                double itemCost = 30.99;\r\n                String order = \"\";\r\n                if(itemCost > 24.00) {\r\n                         order = \". . .\";\r\n                } else {\r\n                         order = \"...â€;\r\n                }\r\n                System.out.print(order);\r\n        }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 08:16:58', '2024-03-23 11:57:25', NULL, 1, NULL), +(4, 4, 'Pemilihan Switch-Case', '

      Studi Kasus :

      Buatlah program dengan menggunakan pemilihan switch-case, dimana berlaku aturan sebagai berikut :

      • Ketika shipping bernilai \"Regular\", shippingCost harus 0.
      • Ketika shipping bernilai \"Express\", shippingCost harus 1.75.
      • Nilai default harus 0.50 untuk shippingCost.
       \r\npublic class OrderCase {\r\n           \r\n           public static void main(String[] args) {\r\n             \r\n                 String shipping = \"Express\";\r\n                 double shippingCost;\r\n             \r\n               switch (shipping) {\r\n               case \"Regular\": \r\n                 // isi disini\r\n                 break;\r\n               case \"Express\": \r\n                 // isi disini\r\n                 break;\r\n               default:\r\n                  //isi disini\r\n             }\r\n             System.out.print(\"Shipping cost: \" + shippingCost);\r\n             \r\n           }\r\n}\r\n


      ', NULL, 30, NULL, '2023-06-01 08:18:42', '2024-03-23 11:59:15', NULL, 1, NULL), +(5, 5, 'Pemilihan Bersarang', '

      Studi Kasus :

       

      Sebuah toko buku sedang mengadakan diskon akhir tahun dengan ketentuan sebagai berikut :

      • Jika pembeli memiliki kartu member, maka pembeli dengan total belanja kurang dari Rp.100.000 mendapatkan diskon 10%, pembeli dengan total belanja Rp.100.000 – Rp.150.000 mendapatkan diskon 15%, sedangkan pembeli dengan total belanja lebih dari Rp.150.000 mendapatkan diskon 20%.
      • Jika pembeli tidak memiliki kartu member, maka pembeli dengan total belanja kurang dari Rp.100.000 mendapatkan diskon 5%, pembeli dengan total belanja Rp.100.000 – Rp.150.000 mendapatkan diskon 10%, sedangkan pembeli dengan total belanja lebih dari Rp.150.000 mendapatkan diskon 15%

      Buatlah kode program dari studi kasus tersebut menggunakan pengkondisian bersarang

       

      public class BookStore {\r\n \r\n      public static void main(String args[]) {\r\n            boolean isMember = true;\r\n            int total = 200000;\r\n            int diskon =0;\r\n            \r\n            if(isMember == true) {\r\n                   // tulis disini\r\n            } else {\r\n                   //tulis disini\r\n \r\n            }\r\n            System.out.print(\"diskon yang didapatkan adalah \" + diskon + \"%\");\r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 08:21:08', '2024-03-23 12:01:06', NULL, 1, NULL), +(6, 6, 'Perulangan For', '

      Studi Kasus:

      Buatlah perulangan Loop For sampai memunculkan angka 1-5!


      public class LuckyFive {\r\n         \r\n         public static void main(String[] args) {\r\n                 int number = 6;\r\n                 for(int i = 1; i < number; i++) {\r\n                          //print angka\r\n                 }\r\n         }\r\n

      }

      ', NULL, 30, NULL, '2023-06-01 08:22:55', '2024-03-23 12:02:56', NULL, 1, NULL), +(7, 7, 'Perulangan While', '

      Studi Kasus:

      Buatlah perulangan Loop sampai dengan memunculkan angka 1-5!

      public class LuckyFiveSecond {\r\n         \r\n          public static void main(String[] args) {\r\n               int number = 6;\r\n               int i = 1;\r\n               // isikan perulangan while\r\n \r\n          }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:14:49', '2024-03-23 12:04:43', NULL, 1, NULL), +(8, 8, 'Perulangan Do-While', '

      Studi Kasus:

      Buatlah program menggunakan perulangan do-while untuk menampilkan deret fibonnaci sebanyak 6 dengan angka pertama 0 dan angka kedua 1

       

      public class Fibonacci {\r\n      public static void main(String[] args) {\r\n            int n = 6;\r\n            int first = ...;\r\n            int second = ...;\r\n            int i = 1;\r\n            \r\n            System.out.print(\"Deret Fibonacci: \\n\");\r\n            System.out.print(first + \" \" + second + \" \");\r\n            \r\n            do {\r\n                   int next = first + second;\r\n                   System.out.print(next + \" \");\r\n                   first = second ;\r\n                   second = next;\r\n                   i++;\r\n            } while (i <= n);\r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:16:41', '2024-03-23 12:06:51', NULL, 1, NULL), +(9, 9, 'Perulangan bersarang piramid', '

      Studi Kasus:

      Buatlah program menggunakan perulangan do-while yang dapat menghasilkan keluaran seperti pada gambar berikut!

       

      public class SecondPiramid {\r\n      public static void main(String args[]) {\r\n             String output = \"\";\r\n             for([isi iterasi]) {\r\n                    for([isi iterasi]) {\r\n                          output += \"*\";\r\n                    }\r\n                    output += \"\\n\";\r\n             }\r\n             System.out.print(output);\r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:19:46', '2024-03-23 12:08:41', NULL, 1, NULL), +(10, 10, 'Array satu dimensi', '

      Studi Kasus:

      Buatlah data array dari data berikut!

      \"Opinion\", \"Tech\", \"Science\", \"Health\"\r\n

      Kemudian tampilkan data tersebut menjadi data String!

      Serta tambahkan import java.util.Arrays!

       

      import java.util.Arrays;\r\n \r\npublic class NewsFeed {\r\n         \r\n         public static void main(String[] args) {\r\n                 String[] topics = {//isi dengan data array sesuai perintah};\r\n                 String topicArray = Arrays.toString(topics);\r\n                 System.out.print(topicArray);\r\n         }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:21:53', '2024-03-23 12:10:41', NULL, 1, NULL), +(11, 11, 'Array Multidimensi', '

      Studi Kasus :

      Seorang guru membutuhkan program untuk mengelola nilai-nilai siswanya. Program tersebut mampu untuk menghitung nilai rata-rata dengan memanfaatkan array dua dimensi. Buatlah kode program untuk kebutuhan guru tersebut!

       

      public class Average {\r\n      public static void main(String args[]) {\r\n             double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}};\r\n             double total = 0;\r\n             int jumlahData = 0;\r\n             \r\n             for(int i = 0; i < nilai.length; i++) {\r\n                   for([isi iterasi]) {\r\n                          total += nilai[i][j];\r\n                          jumlahData++;\r\n                   }\r\n             }\r\n             double rataRata = total/jumlahData; \r\n             System.out.print(rataRata);\r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:27:43', '2024-03-23 12:12:23', NULL, 1, NULL), +(12, 12, 'Fungsi Static', '

      Studi Kasus:

      Buatlah sebuah class Lingkaran yang didalamnya terdapat fungsi untuk menghitung luas dan keliling lingkaran!

       

      public class Lingkaran {\r\n      public static double luasLingkaran(double phi, int r) {\r\n             double luas = phi * r *r;\r\n             //tulis pengembalian nilai\r\n      }\r\n      \r\n      public static double kelilingLingkaran(double phi, int r) {\r\n            double keliling = ….;\r\n             return keliling;\r\n      }\r\n      \r\n      public static void tampil() {\r\n             double phi = 3.14;\r\n             int r = 14;\r\n             double luas = luasLingkaran([isikan parameter]);\r\n             double keliling = kelilingLingkaran([isikan parameter]);\r\n             System.out.print(\"Luas Lingkaran = \" + luas + \"\\n\" + \"Keliling Lingkaran = \" + keliling);\r\n      }\r\n      \r\n      public static void main(String args[]) {\r\n             //panggil fungsi tampil\r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:31:05', '2024-03-23 12:14:42', NULL, 1, NULL), +(13, 13, 'Fungsi Rekursif', '

      Studi Kasus :

      Tentukanlah berapa banyak tabungan setelah 5 tahun dengan bunga 6% per tahun jika saldo awal sebesar Rp.1.000.000. Buatlah program dengan memanfaatkan fungsi rekursif

       

      public class Bank {\r\n      static double hitungBunga(...) {\r\n             if(tahun == 0) {\r\n                   return saldo;\r\n             } else {\r\n                   double bungaTahunan = ...;\r\n                   double total = saldo + ...;\r\n                   return hitungBunga(total, bunga, tahun - 1);\r\n             }\r\n      }\r\n      \r\n      public static void main(String args[]) {\r\n             double saldoAwal = 1000000;\r\n             int tahun = ...;\r\n             double bunga = ...;\r\n             \r\n             System.out.print(\"Jumlah uang setelah \" + tahun + \" tahun: \" + hitungBunga(saldoAwal,bunga, tahun));\r\n             \r\n      }\r\n}\r\n
      ', NULL, 30, NULL, '2023-06-01 18:37:39', '2024-03-23 12:16:22', NULL, 1, NULL), +(14, 13, 'Rekursif Bank edit', '

      Studi Kasus :

      Tentukanlah berapa banyak tabungan setelah 5 tahun dengan bunga 6% per tahun jika saldo awal sebesar Rp.1.000.000. Buatlah program dengan memanfaatkan fungsi rekursif

       

      public class Bank {\r\n  static double hitungBunga(...) {\r\n  \r\n               if(tahun == 0) {\r\n  \r\n                     return saldo;\r\n  \r\n               } else {\r\n  \r\n                     double bungaTahunan = ...;\r\n  \r\n                     double total = saldo + ...;\r\n\r\n                   return hitungBunga(total, bunga, tahun - 1);\r\n\r\n             }\r\n\r\n      }\r\n\r\n      \r\n\r\n      public static void main(String args[]) {\r\n\r\n             double saldoAwal = 1000000;\r\n\r\n             int tahun = ...;\r\n\r\n             double bunga = ...;\r\n\r\n             \r\n\r\n             System.out.print(\"Jumlah uang setelah \" + tahun + \" tahun: \" + hitungBunga(saldoAwal,bunga, tahun));\r\n\r\n             \r\n\r\n      }\r\n\r\n}\r\n

            

      ', NULL, 30, NULL, '2023-07-02 20:41:22', '2023-07-02 20:42:13', '2023-07-02 20:42:13', 1, NULL), +(15, 1, 'Tipe Data, Variabel dan Operator', '


      ', NULL, 30, NULL, '2024-02-26 07:11:38', '2024-02-26 07:12:27', '2024-02-26 07:12:27', 0, NULL), +(16, 1, 'Tipe Data, Variabel dan Operator', '


      ', NULL, 30, NULL, '2024-02-26 07:11:45', '2024-02-26 23:48:22', '2024-02-26 23:48:22', 1, NULL), +(17, 2, 'If else', '


      ', NULL, 30, NULL, '2024-03-22 11:21:16', '2024-03-22 11:29:52', '2024-03-22 11:29:52', 1, NULL), +(18, 2, 'If else', '


      ', NULL, 30, NULL, '2024-03-22 11:25:00', '2024-03-22 11:29:30', '2024-03-22 11:29:30', 1, NULL), +(19, 2, 'If else', '


      ', NULL, 30, NULL, '2024-03-22 11:27:08', '2024-03-22 11:29:45', '2024-03-22 11:29:45', 1, NULL), +(20, 1, 'If else', '


      ', NULL, 30, NULL, '2024-03-22 11:27:39', '2024-03-22 11:29:37', '2024-03-22 11:29:37', 1, NULL), +(21, 1, 'Tipe Data, Variabel dan Operator', '

      Studi Kasus:

      Lengkapilah kode program berdasarkan perintah berikut :

      • Tambahkan tipe data untuk variabel panjang, lebar, tinggi, Vbalok dan Lbalok berdasarkan nilai yang ada.
      • Tambahkan rumus volume balok “panjang * lebar * tinggi†pada variabel Vbalok
      • Tambahkan rumus volume balok “2*(panjang * lebar + panjang * tinggi + lebar * tinggi)†pada variabel Lbalok

       

      public class TipeData {\r\n      public static void main(String args[]) {\r\n             … panjang, lebar, tinggi, vBalok, lBalok;\r\n             \r\n             panjang = 10;\r\n             lebar = 6;\r\n             tinggi = 7;\r\n             \r\n             // volume balok\r\n             vBalok = ……;\r\n             \r\n             // Luas permukaan balok\r\n             lBalok = …..;\r\n             \r\n             System.out.print(\"Volume balok = \"+ vBalok + \", \");\r\n             System.out.print(\"Luas permukaan balok = \"+ lBalok);\r\n             \r\n      }\r\n}\r\n


      ', NULL, 30, NULL, '2024-03-22 11:31:41', '2024-03-22 11:58:04', '2024-03-22 11:58:04', 1, NULL), +(22, 1, 'Tipe Data, Variabel dan Operator', '

      Studi Kasus:

      Lengkapilah kode program berdasarkan perintah berikut :

      • Tambahkan tipe data untuk variabel panjang, lebar, tinggi, Vbalok dan Lbalok berdasarkan nilai yang ada.
      • Tambahkan rumus volume balok “panjang * lebar * tinggi†pada variabel Vbalok
      • Tambahkan rumus volume balok “2*(panjang * lebar + panjang * tinggi + lebar * tinggi)†pada variabel Lbalok

       

      public class TipeData {\r\n      public static void main(String args[]) {\r\n             â€¦ panjang, lebar, tinggi, vBalok, lBalok;\r\n             \r\n             panjang = 10;\r\n             lebar = 6;\r\n             tinggi = 7;\r\n             \r\n             // volume balok\r\n             vBalok = ……;\r\n             \r\n             // Luas permukaan balok\r\n             lBalok = …..;\r\n             \r\n             System.out.print(\"Volume balok = \"+ vBalok + \", \");\r\n             System.out.print(\"Luas permukaan balok = \"+ lBalok);\r\n             \r\n      }\r\n}\r\n


      ', NULL, 30, NULL, '2024-03-22 11:34:10', '2024-03-22 11:44:23', '2024-03-22 11:44:23', 1, NULL), +(25, 1, 'aaaa', '

      aa

      ', NULL, 30, NULL, '2024-03-22 12:01:04', '2024-03-23 12:17:20', '2024-03-23 12:17:20', 1, NULL), +(26, 1, 'aaaa', '


      ', NULL, 30, NULL, '2024-03-23 12:23:52', '2024-03-23 12:24:33', '2024-03-23 12:24:33', 1, NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `roles` +-- + +CREATE TABLE `roles` ( + `id` int UNSIGNED NOT NULL, + `role` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `roles` +-- + +INSERT INTO `roles` (`id`, `role`, `created_at`, `updated_at`) VALUES +(1, 'Admin', NULL, NULL), +(2, 'Students', '2022-05-31 04:18:17', '2022-05-31 04:18:17'), +(3, 'Teacher', '2022-05-31 04:19:36', '2022-05-31 04:19:36'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `role_user` +-- + +CREATE TABLE `role_user` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED DEFAULT NULL, + `role_id` bigint UNSIGNED DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `student_courses` +-- + +CREATE TABLE `student_courses` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `course_id` int UNSIGNED NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `student_courses` +-- + +INSERT INTO `student_courses` (`id`, `user_id`, `course_id`, `created_at`, `updated_at`) VALUES +(1, 2, 1, '2023-06-01 05:58:57', '2023-06-01 05:58:57'), +(2, 3, 1, '2023-06-07 07:23:38', '2023-06-07 07:23:38'), +(3, 4, 1, '2023-07-06 20:14:36', '2023-07-06 20:14:36'), +(4, 6, 1, '2023-12-18 21:51:17', '2023-12-18 21:51:17'), +(5, 7, 1, '2024-03-08 07:44:11', '2024-03-08 07:44:11'), +(6, 1, 1, '2024-03-09 01:49:29', '2024-03-09 01:49:29'), +(7, 9, 1, '2024-03-11 04:59:04', '2024-03-11 04:59:04'), +(8, 10, 1, '2024-03-11 08:27:59', '2024-03-11 08:27:59'), +(9, 11, 1, '2024-03-11 08:54:12', '2024-03-11 08:54:12'), +(10, 12, 1, '2024-03-11 09:09:11', '2024-03-11 09:09:11'), +(11, 13, 1, '2024-03-11 09:20:15', '2024-03-11 09:20:15'), +(12, 14, 1, '2024-03-11 09:39:10', '2024-03-11 09:39:10'), +(13, 15, 1, '2024-03-11 09:51:06', '2024-03-11 09:51:06'), +(14, 16, 1, '2024-03-11 10:13:33', '2024-03-11 10:13:33'), +(15, 17, 1, '2024-03-11 10:22:46', '2024-03-11 10:22:46'), +(16, 19, 1, '2024-03-24 00:50:16', '2024-03-24 00:50:16'), +(17, 20, 1, '2024-03-24 01:46:07', '2024-03-24 01:46:07'), +(18, 21, 1, '2024-03-24 02:20:20', '2024-03-24 02:20:20'), +(19, 22, 1, '2024-03-28 08:58:46', '2024-03-28 08:58:46'), +(20, 23, 1, '2024-04-01 04:00:08', '2024-04-01 04:00:08'), +(21, 24, 1, '2024-04-01 04:37:18', '2024-04-01 04:37:18'), +(22, 25, 1, '2024-04-16 17:14:25', '2024-04-16 17:14:25'), +(23, 26, 1, '2024-04-26 13:24:54', '2024-04-26 13:24:54'), +(24, 27, 1, '2024-04-27 05:48:48', '2024-04-27 05:48:48'), +(25, 28, 1, '2024-04-27 13:39:07', '2024-04-27 13:39:07'), +(26, 29, 1, '2024-04-27 19:23:06', '2024-04-27 19:23:06'), +(27, 30, 1, '2024-04-28 05:53:09', '2024-04-28 05:53:09'), +(28, 31, 1, '2024-04-28 13:55:08', '2024-04-28 13:55:08'), +(29, 32, 1, '2024-05-01 19:20:12', '2024-05-01 19:20:12'), +(30, 33, 1, '2024-05-01 20:40:36', '2024-05-01 20:40:36'), +(31, 34, 1, '2024-05-01 21:30:07', '2024-05-01 21:30:07'), +(32, 35, 1, '2024-05-02 16:39:42', '2024-05-02 16:39:42'), +(33, 36, 1, '2024-05-03 03:10:42', '2024-05-03 03:10:42'), +(34, 37, 1, '2024-06-03 05:06:15', '2024-06-03 05:06:15'), +(35, 39, 1, '2024-06-10 01:50:12', '2024-06-10 01:50:12'), +(36, 40, 1, '2024-06-10 03:09:11', '2024-06-10 03:09:11'), +(37, 41, 1, '2024-06-10 03:54:01', '2024-06-10 03:54:01'), +(38, 42, 1, '2024-06-22 05:41:36', '2024-06-22 05:41:36'), +(39, 43, 1, '2024-06-23 07:44:15', '2024-06-23 07:44:15'), +(40, 44, 1, '2024-06-24 11:39:38', '2024-06-24 11:39:38'), +(41, 45, 1, '2024-06-30 10:51:13', '2024-06-30 10:51:13'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `total_score` +-- + +CREATE TABLE `total_score` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `content_id` int UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `score` int NOT NULL, + `wondering_score_id` bigint UNSIGNED NOT NULL, + `user_score_id` bigint UNSIGNED NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `total_score` +-- + +INSERT INTO `total_score` (`id`, `user_id`, `content_id`, `question_id`, `score`, `wondering_score_id`, `user_score_id`, `created_at`, `updated_at`) VALUES +(1, 2, 1, 1, 75, 1, 1, '2023-06-01 18:49:37', '2023-06-01 18:49:37'), +(2, 2, 2, 2, 70, 3, 2, '2023-06-01 19:35:27', '2023-06-01 19:35:27'), +(3, 2, 3, 3, 50, 4, 3, '2023-06-01 20:01:42', '2023-06-01 20:02:30'), +(4, 2, 4, 4, 68, 5, 4, '2023-06-01 20:48:40', '2023-06-01 20:48:40'), +(5, 2, 5, 5, 49, 6, 5, '2023-06-03 06:00:26', '2023-06-03 06:00:26'), +(6, 2, 6, 6, 49, 7, 6, '2023-06-03 06:40:02', '2023-06-03 06:40:02'), +(7, 2, 11, 11, 73, 13, 11, '2023-06-04 07:32:01', '2023-06-04 07:32:01'), +(8, 2, 7, 7, 58, 8, 7, '2023-06-24 06:25:08', '2023-06-24 06:25:08'), +(9, 3, 1, 1, 70, 16, 16, '2023-07-02 20:44:42', '2023-07-02 20:44:42'), +(10, 4, 1, 1, 90, 18, 18, '2023-07-06 20:23:59', '2023-07-06 20:23:59'), +(11, 6, 2, 2, 100, 19, 20, '2024-01-22 22:57:08', '2024-01-22 22:57:08'), +(12, 6, 1, 1, 80, 20, 19, '2024-01-22 23:48:21', '2024-06-19 08:34:38'), +(13, 6, 3, 3, 100, 21, 21, '2024-01-30 22:01:34', '2024-01-30 22:01:34'), +(14, 6, 4, 4, 100, 28, 22, '2024-02-26 20:33:37', '2024-02-26 20:33:37'), +(15, 6, 5, 5, 100, 29, 23, '2024-02-26 20:34:05', '2024-02-26 20:34:05'), +(16, 7, 1, 1, 85, 41, 25, '2024-03-08 07:52:30', '2024-03-08 07:52:30'), +(18, 7, 2, 2, 100, 43, 30, '2024-03-08 08:37:29', '2024-03-08 08:37:29'), +(19, 7, 3, 3, 100, 44, 31, '2024-03-08 08:40:00', '2024-03-08 08:40:00'), +(20, 7, 4, 4, 90, 45, 32, '2024-03-08 09:20:33', '2024-03-08 09:20:33'), +(21, 9, 1, 1, 80, 46, 33, '2024-03-11 05:01:27', '2024-03-11 05:01:27'), +(22, 9, 2, 2, 100, 47, 34, '2024-03-11 05:05:21', '2024-03-11 05:05:21'), +(23, 9, 3, 3, 100, 48, 35, '2024-03-11 05:07:59', '2024-03-11 05:07:59'), +(24, 9, 4, 4, 90, 49, 36, '2024-03-11 05:10:35', '2024-03-11 05:10:35'), +(25, 9, 5, 5, 90, 50, 37, '2024-03-11 05:15:53', '2024-03-11 05:15:53'), +(26, 7, 5, 5, 80, 51, 38, '2024-03-11 05:19:50', '2024-03-11 05:19:50'), +(27, 10, 1, 1, 100, 52, 39, '2024-03-11 08:35:46', '2024-05-01 20:57:26'), +(28, 10, 2, 2, 100, 53, 40, '2024-03-11 08:38:05', '2024-03-11 08:38:05'), +(29, 10, 3, 3, 90, 54, 41, '2024-03-11 08:42:06', '2024-03-11 08:42:06'), +(30, 10, 4, 4, 90, 55, 42, '2024-03-11 08:45:48', '2024-03-11 08:45:48'), +(31, 10, 5, 5, 85, 56, 43, '2024-03-11 08:49:16', '2024-03-11 08:49:16'), +(32, 11, 1, 1, 85, 57, 44, '2024-03-11 08:56:31', '2024-03-11 08:56:31'), +(33, 11, 2, 2, 100, 58, 45, '2024-03-11 08:58:04', '2024-03-11 08:58:04'), +(34, 11, 3, 3, 90, 59, 46, '2024-03-11 08:59:24', '2024-03-11 08:59:24'), +(35, 11, 4, 4, 90, 60, 47, '2024-03-11 09:00:41', '2024-03-11 09:00:41'), +(36, 11, 5, 5, 90, 61, 48, '2024-03-11 09:02:15', '2024-03-11 09:02:15'), +(37, 12, 1, 1, 85, 62, 49, '2024-03-11 09:11:14', '2024-03-11 09:11:14'), +(38, 12, 2, 2, 100, 63, 50, '2024-03-11 09:12:25', '2024-03-11 09:12:25'), +(39, 12, 3, 3, 85, 64, 51, '2024-03-11 09:14:08', '2024-03-11 09:14:08'), +(40, 12, 4, 4, 90, 65, 52, '2024-03-11 09:16:51', '2024-03-11 09:16:51'), +(41, 12, 5, 5, 80, 66, 53, '2024-03-11 09:18:03', '2024-03-11 09:18:03'), +(42, 13, 1, 1, 85, 67, 54, '2024-03-11 09:22:14', '2024-03-11 09:22:14'), +(43, 13, 2, 2, 100, 68, 55, '2024-03-11 09:24:16', '2024-03-11 09:24:16'), +(44, 13, 3, 3, 95, 69, 56, '2024-03-11 09:25:55', '2024-03-11 09:25:55'), +(45, 13, 4, 4, 95, 70, 57, '2024-03-11 09:29:34', '2024-03-11 09:29:34'), +(46, 13, 5, 5, 85, 71, 58, '2024-03-11 09:31:20', '2024-03-11 09:31:20'), +(47, 14, 1, 1, 80, 72, 59, '2024-03-11 09:41:30', '2024-03-11 09:41:30'), +(48, 14, 2, 2, 95, 73, 60, '2024-03-11 09:43:07', '2024-03-11 09:43:07'), +(49, 14, 3, 3, 85, 74, 61, '2024-03-11 09:44:33', '2024-03-11 09:44:33'), +(50, 14, 4, 4, 90, 75, 62, '2024-03-11 09:46:35', '2024-03-11 09:46:35'), +(51, 14, 5, 5, 85, 76, 63, '2024-03-11 09:48:04', '2024-03-11 09:48:04'), +(52, 15, 1, 1, 85, 77, 64, '2024-03-11 09:56:15', '2024-03-11 09:56:15'), +(53, 15, 2, 2, 100, 78, 65, '2024-03-11 09:57:30', '2024-03-11 09:57:30'), +(54, 15, 3, 3, 90, 79, 66, '2024-03-11 09:59:46', '2024-03-11 09:59:46'), +(55, 15, 4, 4, 95, 80, 67, '2024-03-11 10:01:13', '2024-03-11 10:01:13'), +(56, 15, 5, 5, 85, 81, 68, '2024-03-11 10:02:37', '2024-03-11 10:02:37'), +(57, 16, 1, 1, 80, 82, 69, '2024-03-11 10:15:20', '2024-03-11 10:15:20'), +(58, 16, 2, 2, 100, 83, 70, '2024-03-11 10:16:40', '2024-03-11 10:16:40'), +(59, 16, 3, 3, 90, 84, 71, '2024-03-11 10:18:08', '2024-03-11 10:18:08'), +(60, 16, 4, 4, 90, 85, 72, '2024-03-11 10:19:31', '2024-03-11 10:19:31'), +(61, 16, 5, 5, 80, 86, 73, '2024-03-11 10:20:47', '2024-03-11 10:20:47'), +(62, 17, 1, 1, 80, 87, 74, '2024-03-11 10:24:24', '2024-03-11 10:24:24'), +(63, 17, 2, 2, 100, 88, 75, '2024-03-11 10:25:54', '2024-03-11 10:25:54'), +(64, 17, 3, 3, 90, 89, 76, '2024-03-11 10:27:04', '2024-03-11 10:27:04'), +(65, 17, 4, 4, 90, 90, 77, '2024-03-11 10:28:24', '2024-03-11 10:28:24'), +(66, 17, 5, 5, 75, 91, 78, '2024-03-11 10:30:15', '2024-03-11 10:30:15'), +(67, 10, 6, 6, 95, 92, 79, '2024-03-24 00:15:46', '2024-03-24 00:15:46'), +(68, 10, 7, 7, 100, 93, 80, '2024-03-24 00:18:49', '2024-03-24 00:18:49'), +(69, 10, 8, 8, 90, 94, 81, '2024-03-24 00:22:53', '2024-03-24 00:22:53'), +(70, 10, 9, 9, 80, 95, 82, '2024-03-24 00:25:42', '2024-03-24 00:25:42'), +(71, 10, 10, 10, 90, 96, 83, '2024-03-24 00:28:33', '2024-03-24 00:28:33'), +(72, 10, 11, 11, 80, 97, 84, '2024-03-24 00:33:15', '2024-03-24 00:33:15'), +(73, 10, 12, 12, 85, 98, 85, '2024-03-24 00:35:41', '2024-03-24 00:35:41'), +(74, 10, 13, 13, 85, 99, 86, '2024-03-24 00:40:01', '2024-03-24 00:40:01'), +(75, 19, 1, 1, 85, 100, 87, '2024-03-24 00:54:19', '2024-03-24 00:54:19'), +(76, 19, 2, 2, 100, 101, 88, '2024-03-24 00:55:57', '2024-03-24 00:55:57'), +(77, 19, 3, 3, 90, 102, 89, '2024-03-24 00:57:13', '2024-03-24 00:57:13'), +(78, 19, 4, 4, 90, 103, 90, '2024-03-24 00:58:37', '2024-03-24 00:58:37'), +(79, 19, 5, 5, 85, 104, 91, '2024-03-24 00:59:54', '2024-03-24 00:59:54'), +(80, 19, 6, 6, 95, 105, 92, '2024-03-24 01:02:20', '2024-03-24 01:02:20'), +(81, 19, 7, 7, 100, 106, 93, '2024-03-24 01:04:02', '2024-03-24 01:04:02'), +(82, 19, 8, 8, 90, 107, 94, '2024-03-24 01:05:14', '2024-03-24 01:05:14'), +(83, 19, 9, 9, 80, 108, 95, '2024-03-24 01:06:43', '2024-03-24 01:06:43'), +(84, 19, 10, 10, 90, 109, 96, '2024-03-24 01:08:21', '2024-03-24 01:08:21'), +(85, 19, 11, 11, 80, 110, 97, '2024-03-24 01:10:22', '2024-03-24 01:10:22'), +(86, 19, 12, 12, 90, 111, 98, '2024-03-24 01:11:42', '2024-03-24 01:11:42'), +(87, 19, 13, 13, 85, 112, 99, '2024-03-24 01:13:20', '2024-03-24 01:13:20'), +(88, 12, 6, 6, 95, 113, 100, '2024-03-24 01:17:20', '2024-03-24 01:17:20'), +(89, 12, 7, 7, 100, 114, 101, '2024-03-24 01:18:54', '2024-03-24 01:18:54'), +(90, 12, 8, 8, 90, 115, 102, '2024-03-24 01:22:49', '2024-03-24 01:22:49'), +(91, 12, 9, 9, 80, 116, 103, '2024-03-24 01:24:14', '2024-03-24 01:24:14'), +(92, 12, 10, 10, 90, 117, 104, '2024-03-24 01:25:52', '2024-03-24 01:25:52'), +(93, 12, 11, 11, 80, 118, 105, '2024-03-24 01:27:08', '2024-03-24 01:27:08'), +(94, 12, 12, 12, 85, 119, 106, '2024-03-24 01:28:30', '2024-03-24 01:28:30'), +(95, 12, 13, 13, 85, 120, 107, '2024-03-24 01:30:03', '2024-03-24 01:30:03'), +(96, 13, 6, 6, 95, 121, 108, '2024-03-24 01:32:55', '2024-03-24 01:32:55'), +(97, 13, 7, 7, 100, 122, 109, '2024-03-24 01:34:22', '2024-03-24 01:34:22'), +(98, 13, 8, 8, 90, 123, 110, '2024-03-24 01:35:35', '2024-03-24 01:35:35'), +(99, 13, 9, 9, 85, 124, 111, '2024-03-24 01:36:56', '2024-03-24 01:36:56'), +(100, 13, 10, 10, 90, 125, 112, '2024-03-24 01:38:37', '2024-03-24 01:38:37'), +(101, 13, 11, 11, 80, 126, 113, '2024-03-24 01:39:50', '2024-03-24 01:39:50'), +(102, 13, 12, 12, 90, 127, 114, '2024-03-24 01:40:47', '2024-03-24 01:40:47'), +(103, 13, 13, 13, 90, 128, 115, '2024-03-24 01:41:53', '2024-03-24 01:41:53'), +(104, 21, 1, 1, 100, 129, 116, '2024-03-24 02:56:16', '2024-03-24 02:56:16'), +(105, 21, 2, 2, 100, 130, 120, '2024-03-28 08:33:18', '2024-03-28 08:33:18'), +(106, 21, 3, 3, 95, 131, 121, '2024-03-28 08:34:43', '2024-03-28 08:34:43'), +(107, 21, 4, 4, 100, 132, 122, '2024-03-28 08:36:41', '2024-03-28 08:36:41'), +(108, 21, 5, 5, 90, 133, 123, '2024-03-28 08:37:59', '2024-03-28 08:37:59'), +(109, 21, 6, 6, 95, 134, 124, '2024-03-28 08:39:19', '2024-03-28 08:39:19'), +(110, 21, 7, 7, 100, 135, 125, '2024-03-28 08:40:31', '2024-03-28 08:40:31'), +(111, 21, 8, 8, 100, 136, 126, '2024-03-28 08:41:45', '2024-03-28 08:41:45'), +(112, 21, 9, 9, 90, 137, 127, '2024-03-28 08:42:55', '2024-03-28 08:42:55'), +(113, 21, 10, 10, 95, 138, 128, '2024-03-28 08:44:21', '2024-03-28 08:44:21'), +(114, 21, 11, 11, 95, 139, 129, '2024-03-28 08:45:49', '2024-03-28 08:45:49'), +(115, 21, 12, 12, 90, 140, 130, '2024-03-28 08:46:54', '2024-03-28 08:46:54'), +(116, 21, 13, 13, 95, 141, 131, '2024-03-28 08:48:01', '2024-03-28 08:48:01'), +(117, 22, 1, 1, 100, 142, 132, '2024-03-28 09:00:14', '2024-03-28 09:00:14'), +(118, 22, 2, 2, 100, 143, 133, '2024-03-28 09:04:28', '2024-03-28 09:04:28'), +(119, 22, 3, 3, 100, 144, 134, '2024-03-28 09:05:30', '2024-03-28 09:05:30'), +(120, 22, 4, 4, 100, 145, 135, '2024-03-28 09:06:42', '2024-03-28 09:06:42'), +(121, 22, 5, 5, 95, 146, 136, '2024-03-28 09:08:17', '2024-03-28 09:08:17'), +(122, 22, 6, 6, 100, 147, 137, '2024-03-28 09:13:04', '2024-03-28 09:13:04'), +(123, 22, 7, 7, 100, 148, 138, '2024-03-28 09:14:15', '2024-03-28 09:14:15'), +(124, 22, 8, 8, 100, 149, 139, '2024-03-28 09:15:23', '2024-03-28 09:15:23'), +(125, 22, 9, 9, 90, 150, 140, '2024-03-28 09:16:39', '2024-03-28 09:16:39'), +(126, 22, 10, 10, 100, 151, 141, '2024-03-28 09:17:52', '2024-03-28 09:17:52'), +(127, 22, 11, 11, 90, 152, 142, '2024-03-28 09:18:59', '2024-03-28 09:18:59'), +(128, 22, 12, 12, 90, 153, 143, '2024-03-28 09:20:11', '2024-03-28 09:20:11'), +(129, 22, 13, 13, 95, 154, 144, '2024-03-28 09:21:18', '2024-03-28 09:21:18'), +(130, 23, 1, 1, 85, 155, 145, '2024-04-01 04:02:05', '2024-04-01 04:02:05'), +(131, 23, 2, 2, 100, 156, 146, '2024-04-01 04:03:27', '2024-04-01 04:03:27'), +(132, 23, 3, 3, 95, 157, 147, '2024-04-01 04:04:45', '2024-04-01 04:04:45'), +(133, 23, 4, 4, 95, 158, 148, '2024-04-01 04:06:46', '2024-04-01 04:06:46'), +(134, 23, 5, 5, 85, 159, 149, '2024-04-01 04:09:16', '2024-04-01 04:09:16'), +(135, 23, 6, 6, 95, 160, 150, '2024-04-01 04:10:47', '2024-04-01 04:10:47'), +(136, 23, 7, 7, 100, 161, 151, '2024-04-01 04:12:16', '2024-04-01 04:12:16'), +(137, 23, 8, 8, 90, 162, 152, '2024-04-01 04:13:34', '2024-04-01 04:13:34'), +(138, 23, 9, 9, 85, 163, 153, '2024-04-01 04:17:07', '2024-04-01 04:17:07'), +(139, 23, 10, 10, 85, 164, 154, '2024-04-01 04:18:33', '2024-04-01 04:18:33'), +(140, 23, 11, 11, 80, 165, 155, '2024-04-01 04:20:49', '2024-04-01 04:20:49'), +(141, 23, 12, 12, 90, 166, 156, '2024-04-01 04:23:44', '2024-04-01 04:23:44'), +(142, 23, 13, 13, 90, 167, 157, '2024-04-01 04:26:00', '2024-04-01 04:26:00'), +(143, 24, 1, 1, 85, 168, 158, '2024-04-01 04:39:46', '2024-04-01 04:39:46'), +(144, 24, 2, 2, 100, 169, 159, '2024-04-01 04:41:18', '2024-04-01 04:41:18'), +(145, 24, 3, 3, 90, 170, 160, '2024-04-01 04:42:52', '2024-04-01 04:42:52'), +(146, 24, 4, 4, 95, 171, 161, '2024-04-01 04:44:20', '2024-04-01 04:44:20'), +(147, 24, 5, 5, 85, 172, 162, '2024-04-01 04:45:46', '2024-04-01 04:45:46'), +(148, 24, 6, 6, 95, 173, 163, '2024-04-01 04:47:02', '2024-04-01 04:47:02'), +(149, 24, 7, 7, 100, 174, 164, '2024-04-01 04:48:17', '2024-04-01 04:48:17'), +(150, 24, 8, 8, 90, 175, 165, '2024-04-01 04:51:17', '2024-04-01 04:51:17'), +(151, 24, 9, 9, 85, 176, 166, '2024-04-01 04:53:08', '2024-04-01 04:53:08'), +(152, 24, 10, 10, 85, 177, 167, '2024-04-01 04:54:35', '2024-04-01 04:54:35'), +(153, 24, 11, 11, 80, 178, 168, '2024-04-01 04:57:08', '2024-04-01 04:57:08'), +(154, 24, 12, 12, 90, 179, 169, '2024-04-01 05:00:33', '2024-04-01 05:00:33'), +(155, 24, 13, 13, 90, 180, 170, '2024-04-01 05:01:49', '2024-04-01 05:01:49'), +(156, 6, 7, 7, 100, 181, 171, '2024-04-07 10:38:08', '2024-04-07 10:38:08'), +(157, 25, 1, 1, 100, 182, 172, '2024-04-16 17:16:04', '2024-04-16 17:16:04'), +(158, 25, 2, 2, 100, 183, 173, '2024-04-16 17:17:55', '2024-04-16 17:17:55'), +(159, 25, 3, 3, 100, 184, 174, '2024-04-16 17:47:23', '2024-04-16 17:47:23'), +(160, 25, 4, 4, 100, 185, 175, '2024-04-23 18:55:46', '2024-04-23 18:55:46'), +(161, 26, 1, 1, 100, 186, 176, '2024-04-26 13:28:07', '2024-04-26 13:28:07'), +(162, 26, 2, 2, 100, 187, 177, '2024-04-26 13:49:53', '2024-04-26 13:49:53'), +(163, 26, 3, 3, 100, 188, 178, '2024-04-26 20:45:57', '2024-04-26 20:45:57'), +(164, 26, 4, 4, 95, 189, 179, '2024-04-26 21:05:49', '2024-04-26 21:05:49'), +(165, 26, 5, 5, 90, 190, 180, '2024-04-26 21:19:53', '2024-04-26 21:19:53'), +(166, 26, 6, 6, 100, 191, 181, '2024-04-26 21:35:11', '2024-04-26 21:35:11'), +(167, 26, 7, 7, 95, 192, 182, '2024-04-26 21:49:57', '2024-04-26 21:49:57'), +(168, 26, 8, 8, 95, 193, 183, '2024-04-26 23:32:26', '2024-04-26 23:32:26'), +(169, 26, 9, 9, 80, 194, 184, '2024-04-26 23:53:41', '2024-04-26 23:53:41'), +(170, 26, 10, 10, 85, 195, 185, '2024-04-27 00:25:31', '2024-04-27 00:25:31'), +(171, 26, 11, 11, 70, 196, 186, '2024-04-27 00:41:38', '2024-04-27 00:41:38'), +(172, 26, 12, 12, 65, 197, 187, '2024-04-27 00:59:53', '2024-04-27 00:59:53'), +(173, 26, 13, 13, 95, 198, 188, '2024-04-27 01:18:43', '2024-04-27 01:18:43'), +(174, 27, 1, 1, 100, 199, 189, '2024-04-27 05:50:17', '2024-04-27 05:50:17'), +(175, 27, 2, 2, 100, 200, 190, '2024-04-27 05:59:31', '2024-04-27 05:59:31'), +(176, 27, 3, 3, 100, 201, 191, '2024-04-27 06:08:37', '2024-04-27 06:08:37'), +(177, 27, 4, 4, 100, 202, 192, '2024-04-27 06:19:14', '2024-04-27 06:19:14'), +(178, 27, 5, 5, 95, 203, 193, '2024-04-27 06:28:07', '2024-04-27 06:28:07'), +(179, 27, 6, 6, 100, 204, 194, '2024-04-27 06:36:23', '2024-04-27 06:36:23'), +(180, 27, 7, 7, 95, 205, 195, '2024-04-27 06:47:11', '2024-04-27 06:47:11'), +(181, 27, 8, 8, 95, 206, 196, '2024-04-27 06:59:04', '2024-04-27 06:59:04'), +(182, 27, 9, 9, 80, 207, 197, '2024-04-27 07:08:30', '2024-04-27 07:08:30'), +(183, 27, 10, 10, 80, 208, 198, '2024-04-27 07:20:38', '2024-04-27 07:20:38'), +(184, 27, 11, 11, 70, 209, 199, '2024-04-27 07:29:35', '2024-04-27 07:29:35'), +(185, 27, 12, 12, 65, 210, 200, '2024-04-27 07:39:51', '2024-04-27 07:39:51'), +(186, 27, 13, 13, 95, 211, 201, '2024-04-27 07:47:59', '2024-04-27 07:47:59'), +(187, 28, 1, 1, 100, 212, 202, '2024-04-27 13:40:47', '2024-04-27 13:40:47'), +(188, 28, 2, 2, 100, 213, 203, '2024-04-27 13:49:18', '2024-04-27 13:49:18'), +(189, 28, 3, 3, 100, 214, 204, '2024-04-27 13:57:26', '2024-04-27 13:57:26'), +(190, 28, 4, 4, 95, 215, 205, '2024-04-27 14:05:32', '2024-04-27 14:05:32'), +(191, 28, 5, 5, 90, 216, 206, '2024-04-27 14:13:48', '2024-04-27 14:13:48'), +(192, 28, 6, 6, 100, 217, 207, '2024-04-27 14:21:56', '2024-04-27 14:21:56'), +(193, 28, 7, 7, 95, 218, 208, '2024-04-27 14:30:08', '2024-04-27 14:30:08'), +(194, 28, 8, 8, 95, 219, 209, '2024-04-27 14:37:26', '2024-04-27 14:37:26'), +(195, 28, 9, 9, 80, 220, 210, '2024-04-27 14:46:42', '2024-04-27 14:46:42'), +(196, 28, 10, 10, 85, 221, 211, '2024-04-27 14:54:32', '2024-04-27 14:54:32'), +(197, 28, 11, 11, 75, 222, 212, '2024-04-27 15:02:17', '2024-04-27 15:02:17'), +(198, 28, 12, 12, 65, 223, 213, '2024-04-27 15:09:25', '2024-04-27 15:09:25'), +(199, 28, 13, 13, 90, 224, 214, '2024-04-27 15:16:48', '2024-04-27 15:16:48'), +(200, 29, 1, 1, 100, 225, 215, '2024-04-27 19:24:45', '2024-04-27 19:24:45'), +(201, 29, 2, 2, 100, 226, 216, '2024-04-27 19:36:08', '2024-04-27 19:36:08'), +(202, 29, 3, 3, 100, 227, 217, '2024-04-27 19:46:02', '2024-04-27 19:46:02'), +(203, 29, 4, 4, 95, 228, 218, '2024-04-27 19:53:39', '2024-04-27 19:53:39'), +(204, 29, 5, 5, 90, 229, 219, '2024-04-27 20:01:54', '2024-04-27 20:01:54'), +(205, 29, 6, 6, 100, 230, 220, '2024-04-27 20:10:28', '2024-04-27 20:10:28'), +(206, 29, 7, 7, 95, 231, 221, '2024-04-27 20:19:07', '2024-04-27 20:19:07'), +(207, 29, 8, 8, 90, 232, 222, '2024-04-27 20:27:47', '2024-04-27 20:27:47'), +(208, 29, 9, 9, 80, 233, 223, '2024-04-27 20:37:18', '2024-04-27 20:37:18'), +(209, 29, 10, 10, 85, 234, 224, '2024-04-27 20:45:13', '2024-04-27 20:45:13'), +(210, 29, 11, 11, 80, 235, 225, '2024-04-27 20:55:02', '2024-04-27 20:55:02'), +(211, 29, 12, 12, 75, 236, 229, '2024-04-27 21:08:09', '2024-04-27 21:08:09'), +(212, 29, 13, 13, 95, 237, 230, '2024-04-27 21:16:50', '2024-04-27 21:16:50'), +(213, 30, 1, 1, 100, 238, 231, '2024-04-28 05:54:29', '2024-04-28 05:54:29'), +(214, 30, 2, 2, 100, 239, 232, '2024-04-28 06:08:28', '2024-04-28 06:08:28'), +(215, 30, 3, 3, 100, 240, 233, '2024-04-28 06:16:03', '2024-04-28 06:16:03'), +(216, 30, 4, 4, 100, 241, 234, '2024-04-28 06:24:23', '2024-04-28 06:24:23'), +(217, 30, 5, 5, 95, 242, 235, '2024-04-28 06:32:10', '2024-04-28 06:32:10'), +(218, 30, 6, 6, 100, 243, 236, '2024-04-28 06:42:29', '2024-04-28 06:42:29'), +(219, 30, 7, 7, 95, 244, 237, '2024-04-28 06:50:29', '2024-04-28 06:50:29'), +(220, 30, 8, 8, 95, 245, 238, '2024-04-28 07:02:54', '2024-04-28 07:02:54'), +(221, 30, 9, 9, 73, 246, 239, '2024-04-28 07:11:43', '2024-04-28 07:11:43'), +(222, 30, 10, 10, 85, 247, 240, '2024-04-28 07:23:57', '2024-04-28 07:23:57'), +(223, 30, 11, 11, 75, 248, 241, '2024-04-28 07:34:08', '2024-04-28 07:34:08'), +(224, 30, 12, 12, 75, 249, 242, '2024-04-28 07:42:09', '2024-04-28 07:42:09'), +(225, 30, 13, 13, 90, 250, 243, '2024-04-28 07:52:32', '2024-04-28 07:52:32'), +(226, 31, 1, 1, 80, 251, 244, '2024-04-28 13:56:52', '2024-04-28 14:00:14'), +(227, 31, 2, 2, 100, 252, 245, '2024-04-28 14:03:27', '2024-04-28 14:03:27'), +(228, 31, 3, 3, 90, 253, 246, '2024-04-28 14:07:01', '2024-04-28 14:07:01'), +(229, 31, 4, 4, 90, 254, 247, '2024-04-28 14:11:01', '2024-04-28 14:11:01'), +(230, 31, 5, 5, 80, 255, 248, '2024-04-28 14:14:28', '2024-04-28 14:14:28'), +(231, 31, 6, 6, 85, 256, 249, '2024-04-28 14:17:38', '2024-04-28 14:17:38'), +(232, 31, 7, 7, 95, 257, 250, '2024-04-28 14:20:18', '2024-04-28 14:20:18'), +(233, 31, 8, 8, 90, 258, 251, '2024-04-28 14:23:59', '2024-04-28 14:23:59'), +(234, 31, 9, 9, 63, 259, 252, '2024-04-28 14:27:42', '2024-04-28 14:27:42'), +(235, 31, 10, 10, 75, 260, 253, '2024-04-28 14:30:47', '2024-04-28 14:30:47'), +(236, 31, 11, 11, 70, 261, 254, '2024-04-28 14:33:12', '2024-04-28 14:33:12'), +(237, 31, 12, 12, 60, 262, 255, '2024-04-28 14:36:01', '2024-04-28 14:36:01'), +(238, 31, 13, 13, 85, 263, 256, '2024-04-28 14:38:26', '2024-04-28 14:38:26'), +(239, 32, 1, 1, 100, 264, 257, '2024-05-01 19:22:16', '2024-05-01 19:22:16'), +(240, 32, 2, 2, 100, 265, 258, '2024-05-01 19:43:56', '2024-05-01 19:43:56'), +(241, 32, 3, 3, 100, 266, 259, '2024-05-01 19:56:38', '2024-05-01 19:56:38'), +(242, 33, 1, 1, 51, 267, 260, '2024-05-01 20:41:23', '2024-05-01 20:41:23'), +(243, 34, 1, 1, 51, 268, 261, '2024-05-01 21:31:07', '2024-05-01 21:31:07'), +(244, 34, 2, 2, 53, 269, 262, '2024-05-01 21:42:39', '2024-05-01 21:42:39'), +(245, 34, 3, 3, 51, 270, 263, '2024-05-01 22:36:00', '2024-05-01 22:36:00'), +(246, 34, 4, 4, 49, 271, 264, '2024-05-01 23:28:25', '2024-05-01 23:28:25'), +(247, 32, 4, 4, 100, 272, 265, '2024-05-02 15:11:57', '2024-05-02 15:11:57'), +(248, 32, 5, 5, 95, 273, 266, '2024-05-02 15:20:52', '2024-05-02 15:20:52'), +(249, 32, 6, 6, 100, 274, 267, '2024-05-02 15:30:01', '2024-05-02 15:30:01'), +(250, 32, 7, 7, 95, 275, 268, '2024-05-02 15:39:11', '2024-05-02 15:39:11'), +(251, 32, 8, 8, 95, 276, 269, '2024-05-02 15:47:20', '2024-05-02 15:47:20'), +(252, 32, 9, 9, 80, 277, 270, '2024-05-02 15:56:35', '2024-05-02 15:56:35'), +(253, 32, 10, 10, 80, 278, 271, '2024-05-02 16:04:40', '2024-05-02 16:04:40'), +(254, 32, 11, 11, 70, 279, 272, '2024-05-02 16:13:07', '2024-05-02 16:13:07'), +(255, 32, 12, 12, 70, 280, 273, '2024-05-02 16:21:46', '2024-05-02 16:21:46'), +(256, 32, 13, 13, 95, 281, 274, '2024-05-02 16:30:17', '2024-05-02 16:30:17'), +(257, 35, 1, 1, 95, 282, 275, '2024-05-02 17:21:13', '2024-05-02 17:21:13'), +(258, 35, 2, 2, 100, 283, 276, '2024-05-02 17:30:13', '2024-05-02 17:30:13'), +(259, 35, 3, 3, 100, 284, 277, '2024-05-02 17:38:26', '2024-05-02 17:38:26'), +(260, 35, 4, 4, 100, 285, 278, '2024-05-02 17:46:50', '2024-05-02 17:46:50'), +(261, 35, 5, 5, 95, 286, 279, '2024-05-02 17:56:54', '2024-05-02 17:56:54'), +(262, 35, 6, 6, 100, 287, 280, '2024-05-02 18:04:16', '2024-05-02 18:04:16'), +(263, 35, 7, 7, 95, 288, 281, '2024-05-02 18:20:46', '2024-05-02 18:20:46'), +(264, 35, 8, 8, 95, 289, 282, '2024-05-02 18:43:39', '2024-05-02 18:43:39'), +(265, 35, 9, 9, 73, 290, 283, '2024-05-02 18:55:12', '2024-05-02 18:55:12'), +(266, 35, 10, 10, 80, 291, 284, '2024-05-02 19:17:07', '2024-05-02 19:17:07'), +(267, 35, 11, 11, 75, 292, 285, '2024-05-02 19:27:15', '2024-05-02 19:27:15'), +(268, 35, 12, 12, 75, 293, 286, '2024-05-02 19:41:21', '2024-05-02 19:41:21'), +(269, 35, 13, 13, 95, 294, 287, '2024-05-02 19:50:28', '2024-05-02 19:50:28'), +(270, 36, 1, 1, 100, 295, 288, '2024-05-03 03:21:24', '2024-05-03 03:21:24'), +(271, 36, 2, 2, 100, 296, 289, '2024-05-03 03:29:58', '2024-05-03 03:29:58'), +(272, 36, 3, 3, 100, 297, 290, '2024-05-03 03:39:08', '2024-05-03 03:39:08'), +(273, 36, 4, 4, 100, 298, 291, '2024-05-03 03:55:02', '2024-05-03 03:55:02'), +(274, 36, 5, 5, 85, 299, 292, '2024-05-03 04:04:59', '2024-05-03 04:04:59'), +(275, 36, 6, 6, 95, 300, 293, '2024-05-03 04:13:54', '2024-05-03 04:13:54'), +(276, 36, 7, 7, 95, 301, 294, '2024-05-03 04:31:38', '2024-05-03 04:31:38'), +(277, 36, 8, 8, 95, 302, 295, '2024-05-03 04:51:13', '2024-05-03 04:51:13'), +(278, 36, 9, 9, 78, 303, 296, '2024-05-03 05:01:44', '2024-05-03 05:01:44'), +(279, 36, 10, 10, 80, 304, 297, '2024-05-03 05:24:34', '2024-05-03 05:24:34'), +(280, 36, 11, 11, 80, 305, 298, '2024-05-03 05:43:54', '2024-05-03 05:43:54'), +(281, 36, 12, 12, 75, 306, 299, '2024-05-03 05:55:08', '2024-05-03 05:55:08'), +(282, 36, 13, 13, 95, 307, 300, '2024-05-03 06:05:11', '2024-05-03 06:05:11'), +(283, 37, 1, 1, 100, 308, 301, '2024-06-03 05:10:24', '2024-06-03 05:10:24'), +(284, 37, 2, 2, 100, 309, 302, '2024-06-03 05:31:53', '2024-06-03 05:31:53'), +(285, 37, 3, 3, 100, 310, 303, '2024-06-03 05:41:20', '2024-06-03 05:41:20'), +(286, 37, 4, 4, 100, 311, 304, '2024-06-03 05:50:42', '2024-06-03 05:50:42'), +(287, 37, 5, 5, 95, 312, 305, '2024-06-03 06:06:55', '2024-06-03 06:06:55'), +(288, 37, 6, 6, 100, 313, 306, '2024-06-03 06:24:31', '2024-06-03 06:24:31'), +(289, 37, 7, 7, 95, 314, 307, '2024-06-03 06:39:55', '2024-06-03 06:39:55'), +(290, 37, 8, 8, 95, 315, 308, '2024-06-03 07:01:34', '2024-06-03 07:01:34'), +(291, 37, 9, 9, 75, 316, 309, '2024-06-03 07:09:54', '2024-06-03 07:09:54'), +(292, 37, 10, 10, 75, 317, 310, '2024-06-03 07:25:23', '2024-06-03 07:25:23'), +(293, 37, 11, 11, 47, 318, 311, '2024-06-03 07:33:21', '2024-07-04 20:44:37'), +(294, 37, 12, 12, 75, 319, 312, '2024-06-03 07:41:08', '2024-06-03 07:41:08'), +(295, 37, 13, 13, 95, 320, 313, '2024-06-03 08:05:10', '2024-06-03 08:05:10'), +(296, 39, 1, 1, 90, 321, 314, '2024-06-10 01:56:20', '2024-06-10 01:56:20'), +(297, 39, 2, 2, 80, 322, 315, '2024-06-10 02:01:01', '2024-06-10 02:01:01'), +(298, 39, 3, 3, 80, 323, 316, '2024-06-10 02:06:20', '2024-06-10 02:06:20'), +(299, 39, 4, 4, 95, 324, 317, '2024-06-10 02:16:20', '2024-06-10 02:16:20'), +(300, 39, 5, 5, 85, 325, 318, '2024-06-10 02:27:08', '2024-06-10 02:27:08'), +(301, 39, 6, 6, 75, 326, 319, '2024-06-10 02:33:38', '2024-06-10 02:33:38'), +(302, 39, 7, 7, 70, 327, 320, '2024-06-10 02:37:11', '2024-06-10 02:37:11'), +(303, 39, 8, 8, 85, 328, 321, '2024-06-10 02:45:59', '2024-06-10 02:45:59'), +(304, 39, 9, 9, 80, 329, 322, '2024-06-10 02:53:29', '2024-06-10 02:53:29'), +(305, 39, 10, 10, 90, 330, 323, '2024-06-10 03:07:52', '2024-06-10 03:07:52'), +(306, 40, 1, 1, 90, 331, 324, '2024-06-10 03:14:31', '2024-06-10 03:14:31'), +(307, 40, 2, 2, 75, 332, 325, '2024-06-10 03:22:10', '2024-06-10 03:22:10'), +(308, 40, 3, 3, 80, 333, 326, '2024-06-10 03:29:09', '2024-06-10 03:29:09'), +(309, 40, 4, 4, 85, 334, 327, '2024-06-10 03:35:15', '2024-06-10 03:35:15'), +(310, 40, 5, 5, 90, 335, 328, '2024-06-10 03:42:02', '2024-06-10 03:42:02'), +(311, 40, 6, 6, 90, 336, 329, '2024-06-10 03:50:50', '2024-06-10 03:50:50'), +(312, 41, 1, 1, 90, 338, 330, '2024-06-10 04:00:06', '2024-06-10 04:00:06'), +(313, 41, 2, 2, 85, 339, 331, '2024-06-10 04:05:04', '2024-06-10 04:05:04'), +(314, 41, 3, 3, 85, 340, 332, '2024-06-10 04:12:05', '2024-06-10 04:12:05'), +(315, 41, 4, 4, 90, 341, 333, '2024-06-10 04:18:10', '2024-06-10 04:18:10'), +(316, 41, 5, 5, 90, 342, 334, '2024-06-10 04:28:00', '2024-06-10 04:28:00'), +(317, 41, 6, 6, 85, 343, 335, '2024-06-10 04:31:22', '2024-06-10 04:31:22'), +(318, 41, 7, 7, 63, 344, 336, '2024-06-10 04:35:17', '2024-06-10 04:35:17'), +(319, 41, 8, 8, 85, 345, 337, '2024-06-10 04:38:58', '2024-06-10 04:38:58'), +(320, 41, 9, 9, 70, 346, 338, '2024-06-10 04:43:01', '2024-06-10 04:43:01'), +(321, 41, 10, 10, 85, 347, 339, '2024-06-13 03:23:44', '2024-06-13 03:23:44'), +(322, 41, 11, 11, 90, 348, 340, '2024-06-13 03:41:38', '2024-06-13 03:41:38'), +(323, 41, 12, 12, 90, 349, 341, '2024-06-13 03:45:53', '2024-06-13 03:45:53'), +(324, 41, 13, 13, 75, 350, 342, '2024-06-13 03:51:23', '2024-06-13 03:51:23'), +(325, 40, 7, 7, 78, 337, 343, '2024-06-13 05:32:28', '2024-06-13 05:32:28'), +(326, 40, 8, 8, 100, 351, 344, '2024-06-13 05:38:02', '2024-06-13 05:38:02'), +(327, 40, 9, 9, 80, 352, 345, '2024-06-13 05:43:55', '2024-06-13 05:43:55'), +(328, 40, 10, 10, 78, 353, 346, '2024-06-13 05:47:23', '2024-06-13 05:47:23'), +(329, 40, 11, 11, 90, 354, 347, '2024-06-13 05:51:24', '2024-06-13 05:51:24'), +(330, 40, 12, 12, 95, 355, 348, '2024-06-13 05:54:21', '2024-06-13 05:54:21'), +(331, 40, 13, 13, 75, 356, 349, '2024-06-13 05:56:07', '2024-06-13 05:56:07'), +(332, 42, 1, 1, 95, 357, 350, '2024-06-22 05:47:08', '2024-06-22 05:47:08'), +(333, 42, 2, 2, 80, 358, 351, '2024-06-22 06:48:07', '2024-06-22 06:48:07'), +(334, 43, 1, 1, 92, 359, 352, '2024-06-23 07:50:04', '2024-06-30 10:58:12'), +(335, 43, 2, 2, 85, 360, 353, '2024-06-24 00:51:59', '2024-06-24 00:51:59'), +(336, 44, 1, 1, 92, 361, 354, '2024-06-24 11:40:58', '2024-06-24 11:40:58'), +(337, 44, 2, 2, 93, 362, 355, '2024-06-24 11:44:13', '2024-06-30 20:06:00'), +(338, 43, 3, 3, 92, 363, 358, '2024-06-25 03:25:23', '2024-06-25 03:25:23'), +(339, 43, 4, 4, 100, 364, 359, '2024-06-25 03:26:55', '2024-06-25 03:28:12'), +(340, 43, 5, 5, 100, 366, 369, '2024-06-30 11:19:52', '2024-06-30 11:22:27'), +(341, 43, 6, 6, 92, 367, 370, '2024-06-30 11:21:30', '2024-06-30 11:21:30'), +(342, 45, 1, 1, 100, 365, 371, '2024-06-30 11:24:04', '2024-06-30 19:29:01'), +(343, 45, 2, 2, 98, 368, 372, '2024-07-02 10:29:23', '2024-07-04 20:43:31'); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `users` +-- + +CREATE TABLE `users` ( + `id` bigint UNSIGNED NOT NULL, + `name` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `email` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `email_verified_at` timestamp NULL DEFAULT NULL, + `password` varchar(255) COLLATE utf8mb4_unicode_ci NOT NULL, + `remember_token` varchar(100) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `role_id` int UNSIGNED NOT NULL, + `class` bigint DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `users` +-- + +INSERT INTO `users` (`id`, `name`, `email`, `email_verified_at`, `password`, `remember_token`, `created_at`, `updated_at`, `role_id`, `class`) VALUES +(1, 'admin', 'admin@gmail.com', NULL, '$2y$10$9Yu3jveXxD6UxNLoCCF6dOQz3PGZ7t5r6XFgJ5mKjfjNMii1988qm', 'uo1f0f2emkionuMAilZRGVFmir84BT5N4StXyh2q0QUmVmCIR3Zf4XUveVUY', '2023-06-01 11:21:59', '2023-06-01 11:21:59', 1, NULL), +(2, 'test0106', 'test0106@gmail.com', NULL, '$2a$12$yRljj7l8Kmx89U8HUlLbd.Bm3Eg4pgWJN5d/xMspE0X3ibadThNHC', NULL, '2023-06-01 05:58:54', '2023-06-24 22:29:00', 2, 1), +(3, 'test0706', 'test0706@gmail.com', NULL, '$2a$12$0Fp39tbhuKC6xu3AWTIOIeNB8KIKDpBW6fMgao7xJMLRSKh.l9xgC', NULL, '2023-06-07 07:23:31', '2023-06-24 22:29:08', 2, 2), +(4, 'fransiska_test', 'test0707@gmail.com', NULL, '$2y$10$R.vDVcCv5ufOaJFr9rb4Je0DrrIoX.11ooalBbMfKojZnAmicDyL2', NULL, '2023-07-06 18:37:55', '2023-07-06 18:37:55', 2, 2), +(5, 'test0109', 'test0109@gmail.com', NULL, '$2y$10$izw5.r5EwLcTdIDkYbb6HeajEHTkHK6.a8xNAtylIxAz8fCARpSNy', NULL, '2023-09-01 08:14:22', '2023-09-01 08:14:22', 2, 2), +(6, 'rossa akmalia', 'rossaakmalia66@gmail.com', NULL, '$2y$10$oYgZ49oPvibYzdu39A18ReINP4GyXmh7byUB0XyK.uhhJMN6/5kWa', NULL, '2023-12-18 21:04:51', '2023-12-18 21:04:51', 2, 1), +(7, 'Percobaan 1', 'percobaan1@gmail.com', NULL, '$2y$10$pZkSSzb/ZYVPJEaumgsz2.nM106KmW1vrNW2a2B0tzb8Knvpzf2iq', NULL, '2024-03-08 07:41:59', '2024-03-08 07:41:59', 2, 2), +(8, 'Admin2', 'admin2@gmail.com', NULL, '$2y$10$9z58abgbHvj1gqSWNnfmyeuvzEYBM0PJ53OMJcr2UaGSaHJE.owq.', NULL, '2024-03-09 02:39:36', '2024-03-09 02:39:36', 1, 2), +(9, 'Percobaan2', 'percobaan2@gmail.com', NULL, '$2y$10$dub9iNoPWHn9LYqrkPbiY.MFF2v3c.oCUKHjkOvBUTp5xCb33jbJ.', NULL, '2024-03-11 04:54:39', '2024-03-11 04:54:39', 2, 2), +(10, 'Case Folding Lower', 'lower@gmail.com', NULL, '$2y$10$7pEoOwfz1ZhZOGXfN35rhuEGMOmKyvhIMzrMDHy535ZfSQZ2y7BFu', NULL, '2024-03-11 08:27:55', '2024-03-11 08:27:55', 2, 2), +(11, 'Case Folding Lower dan Tanda Baca', 'lowertandabaca@gmail.com', NULL, '$2y$10$CXvEpobtXCeLiAPgyXroLusxgbpcyUQpZ39YgRcBnAwm.dNwpn472', NULL, '2024-03-11 08:54:10', '2024-03-11 08:54:10', 2, 2), +(12, 'Case Folding Lower dan Stopwords', 'lowerstopword@gmail.com', NULL, '$2y$10$z.YuIll2yOdv.IZRrU.yI.oehT9IwXxlzW8CVJ0McgUUtuHd2YtwO', NULL, '2024-03-11 09:07:04', '2024-03-11 09:07:04', 2, 2), +(13, 'Case Folding Lower dan Steeming', 'lowersteeming@gmail.com', NULL, '$2y$10$auZMY7SZZ5PFZgmUxKIdOOkRihOcPb8/b6q0fAB/a59lvenVF48Qu', NULL, '2024-03-11 09:20:13', '2024-03-11 09:20:13', 2, 2), +(14, 'Case Folding Lower Tanda Baca dan Stopword', 'lowertandabacastopword@gmail.com', NULL, '$2y$10$OB8eA7t.0eO0jL6jY5cTme4tDa/hq5yT9dSm16/y7VdI3G2HcUjCG', NULL, '2024-03-11 09:39:08', '2024-03-11 09:39:08', 2, 2), +(15, 'Case Folding Lower Tanda Baca dan Steeming', 'lowertandasteeming@gmail.com', NULL, '$2y$10$nn.yuel00two2Hvo/Cw0/eDDctUVeRdMRfnKcRhrmHYItQU.eaUA2', NULL, '2024-03-11 09:50:59', '2024-03-11 09:50:59', 2, 2), +(16, 'Case Folding Lower Stopword dan Steeming', 'lowerstopwordsteeming@gmail.com', NULL, '$2y$10$v2yAYfo/UnXC03tN6cj4fOGqi/m.qXxvvnHq03X2UVFb954vpwxsG', NULL, '2024-03-11 10:13:31', '2024-03-11 10:13:31', 2, 2), +(17, 'Case Folding Lower Tanda Baca Stopword dan Steeming', 'lowertandastopwordsteeming@gmail.com', NULL, '$2y$10$s4V7CNM12G5W3cvt5YC2EOKKGIWIJb6/FdfIgqfHo9KBAG.jTHon.', NULL, '2024-03-11 10:22:44', '2024-03-11 10:22:44', 2, 2), +(19, 'Case Folding Lower Tanda Baca non Sistematis', 'lowertandabacanonsistematis@gmail.com', NULL, '$2y$10$aOpVIl3u8/4.rymY6qKUvOLKMMGT7Cn0pL.TSropSiDX/l6ElnOji', NULL, '2024-03-24 00:50:14', '2024-03-24 00:51:46', 2, 2), +(20, 'Case Folding Lower Tanda Baca non Sistematis Stopword', 'lowertandasistematisstopword@gmail.com', NULL, '$2y$10$QGcfa26RyvHO9i/qOBWT3Ox5BdM46/mrTm/P.Jz4jz3vc5PUwcofK', NULL, '2024-03-24 01:45:58', '2024-03-24 01:45:58', 2, 2), +(21, '4 Kunci Jawaban', 'kuncijawaban4@gmail.com', NULL, '$2y$10$4Yd1AMuS1EQezGWfxyqM5uaNSlSxLq5R1GK6nzPEgFTl5avvCj2zi', NULL, '2024-03-24 02:20:19', '2024-03-24 02:20:19', 2, 1), +(22, 'Kunci 4 Lower Tanda Baca Non Sistematis Steeming', 'kunci4lowertandanonsistematissteeming@gmail.com', NULL, '$2y$10$uScWr2R3Qk3537fkXOL0SOjmwb7RhLDUDEkzCRGr99s5/NlcOSBQ2', NULL, '2024-03-28 08:58:44', '2024-03-28 08:58:44', 2, 1), +(23, 'Case Folding Lower Tanda Baca non Sistematis Steeming', 'lowertandanonsistematissteeming@gmail.com', NULL, '$2y$10$Jp4Mh/Oof0wFW9x8BiW7Auf1c2ylmnDkxio1ev1n5YZn0NmpbFRDW', NULL, '2024-04-01 04:00:03', '2024-04-01 04:00:03', 2, 1), +(24, 'Case Folding Sinonim', 'sinonim@gmail.com', NULL, '$2y$10$ERwH6SKrzJBhBySgdZC3uObFrLEINNfm5SyBQT/Kf86XaVOcCV0IS', NULL, '2024-04-01 04:37:15', '2024-04-01 04:37:15', 2, 1), +(25, 'User Baru', 'userbaru@gmail.com', NULL, '$2y$10$n65rIKYSWkY9R.Ad0G/IYea0v9jInnQdB2kLlQXBGFAzZPhLHwsO6', NULL, '2024-04-16 17:14:21', '2024-04-16 17:14:21', 2, 1), +(26, 'Jawaban Benar Ori', 'jawabanbenarori@gmail.com', NULL, '$2y$10$hTvv2Aqq5I1eHRrUckIWE.tKnmwXrerwCVYRaf6kym9IqcWawJBm6', NULL, '2024-04-26 13:24:15', '2024-04-26 13:24:15', 2, 1), +(27, 'Jawaban Tanda Baca', 'jawabantandabaca@gmail.com', NULL, '$2y$10$FWZMqgfWPfkOjC1adYonVeaxOwnjfJi/8dbQhQK7u6JhsxTGMy2r.', NULL, '2024-04-27 05:48:46', '2024-04-27 05:48:46', 2, 2), +(28, 'Jawaban Lower', 'jawabanlower@gmail.com', NULL, '$2y$10$Y4eKB0bawA.41ti.AiPI3OiicPkUpGTSQHNj5Mm.zt43h2Kk4jkt6', NULL, '2024-04-27 13:39:01', '2024-04-27 13:39:01', 2, 2), +(29, 'Jawaban Stopword', 'jawavabstopword@gmail.com', NULL, '$2y$10$Qjxavi3Gtx2KK92aK/Nwt.eaFowxQpi5dGMnYlvSmR6kMljR6JT0i', NULL, '2024-04-27 19:22:56', '2024-04-27 19:22:56', 2, 2), +(30, 'Jawaban Steeming', 'jawabansteeming@gmail.com', NULL, '$2y$10$49SDWTyotwnCF8axIYem2.vL9fKZD8kj0bOIUpOqxePtrEwTbdYhm', NULL, '2024-04-28 05:53:05', '2024-04-28 05:53:05', 2, 2), +(31, 'Jawaban Sinonim', 'jawabansinonim@gmail.com', NULL, '$2y$10$aM6tygESjJ2wzeqjoJH96OE92NuT.pOnVYh71wyREpqKAUTxJbcvi', NULL, '2024-04-28 13:55:02', '2024-04-28 13:55:02', 2, 2), +(32, 'Jawaban Tanda Baca Lower', 'jawabantandabacalower@gmail.com', NULL, '$2y$10$704t.mYRLNG4AR8SMZiileeFV6OuyZ0NV/NphYRReRxN4J9lQn7oG', NULL, '2024-05-01 19:20:09', '2024-05-01 19:20:09', 2, 2), +(33, 'abc', 'abc@gmail.com', NULL, '$2y$10$rJfslKPiEYaCSA3RMpHnX.ZDa7YFALUW3yF/Agz75X9R8c1vPafIO', NULL, '2024-05-01 20:40:33', '2024-05-01 20:40:33', 2, 1), +(34, 'baru', 'baru@gmail.com', NULL, '$2y$10$RDVAb1t9jO0FHG9mQhE3OOsOZFfKXdCNohzLepiV2WCcNHx59Flfi', NULL, '2024-05-01 21:30:04', '2024-05-01 21:30:04', 2, 1), +(35, 'Jawaban Tanda Baca Lower Steeming', 'jawabantandalowersteeming@gmail.com', NULL, '$2y$10$vvEa9rUzWjYmYgdFcuW9iOnNOmdvHMzazcJrxw/7.Pjjb8LRMgftK', NULL, '2024-05-02 16:39:40', '2024-05-02 16:39:40', 2, 1), +(36, 'Jawaban Tanda Lower Stop Steem', 'jawabantandalowerstopsteem@gmail.com', NULL, '$2y$10$WO3LfngPWcwBjjkkQHKO0.q33H7Rt5vN9kzJ3j93BAX/KpUl6ejSi', NULL, '2024-05-03 03:10:40', '2024-05-03 03:10:40', 2, 1), +(37, 'SteemingBaru', 'steemingbaru@gmail.com', NULL, '$2y$10$y0jzWd35jGpRTZ3U0egVwefyGNGpFCBUySYqznCrkIvA0VTRNuWHK', NULL, '2024-06-03 05:06:10', '2024-06-03 05:06:10', 2, 1), +(38, 'aaa', 'aaaa@gmail.com', NULL, '$2y$10$2WGpk17g.bNpEDL6N2Zdz.cJkr9jBvnyr2iAmAyDMTvsSoaCecB9G', NULL, '2024-06-09 20:12:38', '2024-06-09 20:12:38', 2, 3), +(39, 'Ifa Indrian', 'ifa@gmail.com', NULL, '$2y$10$0y6eOsEicvzhbFOvfTdbluepHmaMI4bunJZ6G06bgpSNkWHvtcfN6', NULL, '2024-06-10 01:50:09', '2024-06-10 01:50:09', 2, 1), +(40, 'Della Jannata', 'della@gmail.com', NULL, '$2y$10$99RvTjjUO.VkaxPyPzKSKepafxpo74RqaPcBtkdXbulOf5Jwna2zK', NULL, '2024-06-10 03:09:07', '2024-06-10 03:09:07', 2, 1), +(41, 'Lia Puspita', 'lia@gmail.com', NULL, '$2y$10$ObLkI4KvNbSM5N3RW4c5zu1mhF9euiSLoXLo5W6siAUsoCAUn/gGu', NULL, '2024-06-10 03:53:51', '2024-06-10 03:53:51', 2, 1), +(42, 'Rossa', 'rossa@gmail.com', NULL, '$2y$10$1dYp/OskcCPxeC8pqT76Ne3Vds2ULE0XxCj6iqAQMbcbryaOwB682', NULL, '2024-06-22 05:41:34', '2024-06-22 05:41:34', 2, 1), +(43, 'pelajar', 'pelajar@gmail.com', NULL, '$2y$10$JJ4o6TF4pm9yE2L9wBLJSuED5fwczIKf6PVye.y9C0x8Yy2tDf0Dy', NULL, '2024-06-23 07:44:13', '2024-06-23 07:44:13', 2, 1), +(44, 'Normalisasi', 'normalisasi@gmail.com', NULL, '$2y$10$h8SNuFcOOKUhBPwaElGm8uKNR7lANLXgGAhZ5JncIosyQ2c4FC2MW', NULL, '2024-06-24 11:39:34', '2024-06-24 11:39:34', 2, 1), +(45, 'revisi', 'revisi@gmail.com', NULL, '$2y$10$EwdW/pqRIjfx8.CGkrWkp..111VmhrfMeKMXDZFz5drvHNkLmGEMG', NULL, '2024-06-30 10:50:56', '2024-06-30 10:50:56', 2, 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `user_answer` +-- + +CREATE TABLE `user_answer` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `essay_question_id` bigint UNSIGNED NOT NULL, + `answer` text COLLATE utf8mb4_unicode_ci NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `user_answer` +-- + +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(1, 2, 1, 'Karena nilai dari variabel tersebut berbentuk bilangan bulat', '2023-06-01 18:47:46', '2023-06-01 18:47:46', NULL), +(2, 2, 2, 'Langkah-langkah perhitungan volume balok adalah mengalikan panjang, lebar, dan tinggi balok. Sedangkan langkah-langkah perhitungan luas permukaan balok adalah menghitung jumlah sisi-sisi balok (2 sisi panjang * lebar, 2 sisi panjang * tinggi, dan 2 sisi lebar * tinggi) kemudian menjumlahkannya.', '2023-06-01 18:47:46', '2023-06-01 18:47:46', NULL), +(3, 2, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, Anda dapat mengganti nilai pada bagian panjang = 10, lebar = 6, dan tinggi = 7 dengan nilai yang diinginkan', '2023-06-01 18:47:46', '2023-06-01 18:47:46', NULL), +(4, 2, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', '2023-06-01 19:32:48', '2023-06-01 19:32:48', NULL), +(5, 2, 5, 'Alur program dari kode di atas adalah sebagai berikut:\n\n• Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java.\n• Kemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80.\n• Program akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70.\n• Jika kondisi dalam blok if (nilai > 70) bernilai true, program akan mengeksekusi pernyataan yang ada di dalam blok if, yaitu mencetak string \"Selamat anda lulus!\" menggunakan System.out.print().\n• Jika kondisi dalam blok if bernilai false, program akan melanjutkan ke pernyataan setelah blok if dan program akan selesai.', '2023-06-01 19:32:49', '2023-06-01 19:32:49', NULL), +(6, 2, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2023-06-01 19:32:49', '2023-06-01 19:32:49', NULL), +(7, 2, 7, 'If-else digunakan untuk membagi kondisi menjadi dua kemungkinan. Dalam studi kasus diatas, IF digunakan untuk melakukan pengecekan apakah nilai itemCost lebih besar dari 24. Jika kondisi tersebut terpenuhi, maka variabel order bernilai \"High Value Item!\" akan dicetak. Sedangkan jika nilai itemCost tidak lebih dari 24, maka variabel order bernilai “Low Order Value!â€', '2023-06-01 19:45:23', '2023-06-01 19:45:23', NULL), +(8, 2, 8, '• Mendeklarasikan kelas Order.\n• Mendeklarasikan method main sebagai method utama yang akan dieksekusi saat program dijalankan.\n• Mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99.\n• Mendeklarasikan variabel order dengan tipe data String dan memberikannya nilai awal berupa string kosong (\"\").\n• Melakukan pengecekan kondisi menggunakan pernyataan if. Kondisi yang dievaluasi adalah itemCost > 24.00.\n• Jika kondisi tersebut benar (nilai itemCost lebih besar dari 24.00), maka blok kode di dalam if akan dieksekusi.\n• Dalam blok if, nilai variabel order diubah menjadi \"High Value Item!\".\n• Jika kondisi dalam if tidak terpenuhi (nilai itemCost tidak lebih besar dari 24.00), maka blok kode di dalam else akan dieksekusi.\n• Dalam blok else, nilai variabel order diubah menjadi \"Low Value Item!\".\n• Setelah blok if-else selesai dieksekusi, pesan yang ada dalam variabel order akan dicetak menggunakan System.out.print.\n• Output yang ditampilkan akan bergantung pada nilai itemCost. Jika itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan dicetak. Jika tidak, maka pesan \"Low Value Item!\" akan dicetak.', '2023-06-01 19:45:23', '2023-06-01 19:45:23', NULL), +(9, 2, 9, 'Program akan menampilkan output “Low Value Itemâ€', '2023-06-01 19:45:23', '2023-06-01 19:45:23', NULL), +(10, 2, 10, 'Dengan menggunakan default, program akan menangani situasi di mana nilai shipping tidak cocok dengan case-case yang didefinisikan sebelumnya. Default berfungsi sebagai pilihan terakhir yang akan dieksekusi jika tidak ada case yang cocok dengan nilai yang dievaluasi.', '2023-06-01 20:47:17', '2023-06-01 20:47:17', NULL), +(11, 2, 11, 'Alur program dari baris kode switch-case di atas adalah sebagai berikut:\n\nProgram dimulai dengan mendeklarasikan variabel shipping dengan nilai \"Express\" dan variabel shippingCost tanpa nilai awal. Kemudian, program melanjutkan ke switch statement dengan mengevaluasi nilai dari variabel shipping. \n\nProgram akan membandingkan nilai shipping dengan setiap case yang ada. Jika nilai shipping cocok dengan salah satu case, program akan melompat ke blok kode yang sesuai dengan case tersebut.\nJika nilai shipping adalah \"Regular\", maka variabel shippingCost akan diatur menjadi 0.\nJika nilai shipping adalah \"Express\", maka variabel shippingCost akan diatur menjadi 1.75.\nJika nilai shipping tidak cocok dengan case-case di atas, program akan melompat ke blok kode dalam default.\nPada blok kode default, variabel shippingCost akan diatur menjadi 0.50.\n\nSetelah switch statement selesai dieksekusi, program akan mencetak nilai shippingCost dengan menggunakan pernyataan System.out.print(\"Shipping cost: \" + shippingCost);.\nDengan demikian, alur program akan menentukan nilai shippingCost berdasarkan nilai shipping yang dievaluasi menggunakan switch-case.', '2023-06-01 20:47:17', '2023-06-01 20:47:17', NULL), +(12, 2, 12, 'Pada saat nilai shipping tidak bernilai regular maupun express, sehingga mengeluarkan nilai default, yaitu 0.05', '2023-06-01 20:47:17', '2023-06-01 20:47:17', NULL), +(13, 2, 13, 'Karena variabel isMember di rancang untuk menampung nilai salah saja', '2023-06-03 05:19:09', '2023-06-03 05:55:47', NULL), +(14, 2, 14, '• Jika nilai isMember adalah false, maka program akan masuk kedalam pemilihan else.\n• Program akan melakukan pengecekan total. Diketahui total adalah 200000, sehingga masuk kedalam blok pemilihan ketiga dengan diskon 15 %\n• Sehingga, output dari program tersebut adalah “diskon yang didapatkan adalah 10%â€', '2023-06-03 05:19:09', '2023-06-03 05:55:47', NULL), +(15, 2, 15, 'program akan mengeluarkan output “diskon yang didapatkan adalah 90%â€', '2023-06-03 05:19:09', '2023-06-03 05:34:08', NULL), +(16, 2, 16, 'd', '2023-06-03 06:38:15', '2023-06-03 06:39:41', NULL), +(17, 2, 17, 'b', '2023-06-03 06:38:15', '2023-06-03 06:38:15', NULL), +(18, 2, 18, 'c', '2023-06-03 06:38:15', '2023-06-03 06:38:15', NULL), +(19, 2, 19, 'Pada kode program tersebut, i++ digunakan sebagai operator penambahan (increment) pada variabel i.\n\nKegunaan dari i++ adalah untuk menambahkan nilai 1 pada variabel i setiap kali perulangan dilakukan. Dalam konteks kode program yang diberikan, setiap iterasi perulangan akan mencetak nilai i dan kemudian nilai i akan ditambah 1 menggunakan i++.\n\nSehingga, i++ berguna untuk mengatur aliran perulangan dan menghindari terjadinya perulangan tak terbatas (infinite loop) dengan memastikan bahwa kondisi perulangan pada while-loop (i < number) akan berhenti pada suatu titik saat nilai i mencapai nilai number yang ditentukan.', '2023-06-04 06:27:46', '2023-06-04 06:27:46', NULL), +(20, 2, 20, 'Variabel number diinisialisasi dengan nilai 6, dan variabel i diinisialisasi dengan nilai 1. Kondisi i < number dievaluasi. Jika kondisi tersebut terpenuhi (nilai i kurang dari number), maka blok kode di dalam while loop akan dieksekusi. Jika kondisi tidak terpenuhi, maka program akan keluar dari loop. Di dalam loop, perintah System.out.print(i) akan mencetak nilai i ke layar. \n\nPada iterasi pertama, nilai i adalah 1, sehingga angka 1 akan dicetak. Selanjutnya, perintah i++ akan menambahkan nilai i sebesar 1. Proses di atas akan diulang terus menerus selama kondisi i < number masih terpenuhi. Pada setiap iterasi, nilai i akan bertambah 1 dan angka tersebut akan dicetak ke layar. \n\nLoop akan berhenti saat nilai i sama dengan atau melebihi nilai number, yaitu saat i bernilai 6. Setelah loop selesai, program akan keluar dari blok while dan program akan berakhir.', '2023-06-04 06:27:46', '2023-06-04 06:27:46', NULL), +(21, 2, 21, 'Output dari kode program di atas adalah tidak ada. Hal ini dikarenakan kondisi pada while loop, yaitu i > number, tidak terpenuhi pada awalnya. Karena nilai awal i adalah 1 dan number adalah 6, maka kondisi 1 > 6 akan bernilai false. Oleh karena itu, blok kode dalam while loop tidak akan dieksekusi, sehingga tidak ada output yang dicetak ke layar.', '2023-06-04 06:27:46', '2023-06-04 06:27:46', NULL), +(22, 2, 22, 'Pada program Fibonacci, fungsi dari kode “int next = first + second;†adalah untuk menghitung nilai angka selanjutnya dalam deret Fibonacci.\n\nPada setiap iterasi perulangan, nilai next dihitung dengan menjumlahkan nilai first dan second. Kemudian, nilai next akan menjadi angka baru dalam deret Fibonacci.\n\nMisalnya, pada awalnya first memiliki nilai 0 dan second memiliki nilai 1. Pada iterasi pertama, next akan dihitung sebagai 0 + 1 = 1. Setelah itu, nilai first akan diperbarui menjadi 1 dan nilai second akan diperbarui menjadi 1.\n\nPada iterasi berikutnya, next akan dihitung sebagai 1 + 1 = 2. Proses ini akan terus berlanjut sampai mencapai jumlah angka Fibonacci yang diinginkan.\n\nDengan mengupdate nilai first dan second setiap kali perulangan dilakukan, kita dapat menghasilkan deret Fibonacci dengan benar.', '2023-06-04 06:48:55', '2023-06-04 06:48:55', NULL), +(23, 2, 23, 'Variabel next diinisialisasi dengan hasil penjumlahan first dan second.\nNilai next dicetak menggunakan perintah System.out.print(next + \" \"), sehingga akan mencetak nilai next diikuti dengan spasi. Nilai first diperbarui dengan nilai second. Nilai second diperbarui dengan nilai next. \n\nVariabel i (yang merupakan counter) ditambahkan dengan 1 menggunakan perintah i++. Kondisi i <= n dievaluasi. Jika kondisi tersebut terpenuhi, maka program akan kembali ke langkah 1 dan melanjutkan iterasi berikutnya. Jika kondisi tidak terpenuhi, maka program akan keluar dari loop.\n\nLangkah-langkah 1-6 akan terus diulang sampai kondisi i <= n tidak terpenuhi.', '2023-06-04 06:48:55', '2023-06-04 06:48:55', NULL), +(24, 2, 24, 'Deret Fibonnaci: \n0 1 1 2 3 5 8 13 21', '2023-06-04 06:48:55', '2023-06-04 06:48:55', NULL), +(25, 2, 25, 'Kode program tersebut berfungsi untuk menentukan jumlah baris piramida bintang. Jika 5 diganti menjadi 7, maka baris piramida menjadi 7 baris', '2023-06-04 06:58:24', '2023-06-04 06:58:24', NULL), +(26, 2, 26, 'Perulangan akan dimulai dari nilai 1 dan berakhir pada saat nilai “j†sama dengan atau kurang dari nilai “iâ€. Saat kondisi terpenuhi, satu bintang akan ditambahkan ke variabel “outputâ€, jumlah bintang akan terus bertambah seiring dengan nilai “i†yang meningkat.', '2023-06-04 06:58:24', '2023-06-04 06:58:24', NULL), +(27, 2, 27, 'Jumlah baris piramida akan bertambah 1 baris, sehingga menjadi 6 baris, dengan baris terakhir memiliki 6 bintang.', '2023-06-04 06:58:24', '2023-06-04 06:58:24', NULL), +(28, 2, 28, 'Yang merubah array menjadi data string adalah baris kode Arrays.toString(topics)', '2023-06-04 07:00:54', '2023-06-04 07:00:54', NULL), +(29, 2, 29, 'Array topics berisi empat elemen yang mewakili topik-topik berita, yaitu \"Opinion\", \"Tech\", \"Science\", dan \"Health\". Variabel topicArray diinisialisasi dengan hasil pemanggilan Arrays.toString(topics). Fungsi Arrays.toString() digunakan untuk mengonversi array topics menjadi string dengan format yang sesuai.\n\nSelanjutnya, perintah System.out.print(topicArray) digunakan untuk mencetak isi dari variabel topicArray, yaitu string yang berisi daftar topik-topik berita yang diubah dari array topics.\nKetika program dijalankan, string yang berisi daftar topik-topik berita akan ditampilkan sebagai output.', '2023-06-04 07:00:54', '2023-06-04 07:00:54', NULL), +(30, 2, 30, 'Error. Karena elemen array berisi bilangan bulat, sedangkan tipe data array adalah String', '2023-06-04 07:00:54', '2023-06-04 07:00:54', NULL), +(31, 2, 31, 'Fungsi dari kode tersebut adalah untuk membatasi jumlah perulangan sebanyak jumlah panjang data dari array nilai.', '2023-06-04 07:05:09', '2023-06-04 07:05:09', NULL), +(34, 2, 32, 'Perulangan akan dimulai dari nilai 0 dan berakhir pada saat nilai “j†kurang dari jumlah panjang array nilai. Saat kondisi terpenuhi, satu nilai akan ditambahkan ke variabel “total', '2023-06-04 07:05:09', '2023-06-04 07:05:09', NULL), +(37, 2, 33, 'Rata-rata yang didapatkan adalah 82', '2023-06-04 07:05:09', '2023-06-04 07:05:09', NULL), +(40, 2, 34, 'untuk memanggil fungsi tampil()', '2023-06-04 07:15:40', '2023-06-04 07:15:40', NULL), +(41, 2, 35, 'mengeluarkan output', '2023-06-04 07:15:40', '2023-06-04 07:15:40', NULL), +(42, 2, 36, 'program tidak akan mengeluarkan output apapun', '2023-06-04 07:15:40', '2023-06-04 07:15:40', NULL), +(43, 2, 37, 'ya, terletak pada fungsi hitungBunga, dengan memanggil dirinya sendiri', '2023-06-04 07:19:22', '2023-06-04 07:19:22', NULL), +(44, 2, 38, 'jhkk', '2023-06-04 07:19:22', '2023-06-04 07:28:54', NULL), +(45, 2, 39, '1402551.73', '2023-06-04 07:19:22', '2023-06-04 07:27:28', NULL), +(46, 3, 1, 'variabel panjang, lebar, tinggi, vBalok dan lBalok b', '2023-06-07 07:34:36', '2023-06-07 07:34:36', NULL), +(47, 3, 2, 'langkah-langkah perhitungan volume dan luas permukaan balok', '2023-06-07 07:34:36', '2023-06-07 07:34:36', NULL), +(48, 3, 3, 'engubah nilai panjang, lebar, dan tinggi', '2023-06-07 07:34:36', '2023-06-07 07:34:36', NULL), +(49, 3, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi,', '2023-07-06 19:31:59', '2023-07-06 19:31:59', NULL), +(50, 3, 5, 'Alur program dari kode di atas adalah sebagai berikut:\n\n• Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java.\n• Kemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80.\n• Program akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70.', '2023-07-06 19:31:59', '2023-07-06 19:31:59', NULL), +(51, 3, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2023-07-06 19:31:59', '2023-07-06 19:31:59', NULL), +(52, 4, 1, 'Karena nilai dari variabel tersebut berbentuk bilangan bulat', '2023-07-06 20:23:08', '2023-07-06 20:23:08', NULL), +(53, 4, 2, 'A', '2023-07-06 20:23:08', '2023-07-06 20:23:08', NULL), +(54, 4, 3, 'S', '2023-07-06 20:23:08', '2023-07-06 20:23:08', NULL), +(55, 6, 1, 'Karena nilai dari variabel tersebut berbentuk bilangan bulat', '2024-01-22 22:07:25', '2024-01-22 22:07:25', NULL), +(56, 6, 2, 'Langkah-langkah perhitungan volume balok adalah mengalikan panjang, lebar, dan tinggi balok. Sedangkan langkah-langkah perhitungan luas permukaan balok adalah menghitung jumlah sisi-sisi balok (2 sisi panjang * lebar, 2 sisi panjang * tinggi, dan 2 sisi lebar * tinggi) kemudian menjumlahkannya.', '2024-01-22 22:07:25', '2024-01-22 22:07:25', NULL), +(57, 6, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, Anda dapat mengganti nilai pada bagian panjang = 10, lebar = 6, dan tinggi = 7 dengan nilai yang diinginkan.', '2024-01-22 22:07:25', '2024-01-22 22:07:25', NULL), +(58, 6, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', '2024-01-22 22:49:43', '2024-01-22 22:49:43', NULL), +(59, 6, 5, 'Alur program dari kode di atas adalah sebagai berikut:\n\n• Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java.\n• Kemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80.\n• Program akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70.\n• Jika kondisi dalam blok if (nilai > 70) bernilai true, program akan mengeksekusi pernyataan yang ada di dalam blok if, yaitu mencetak string \"Selamat anda lulus!\" menggunakan System.out.print().\n• Jika kondisi dalam blok if bernilai false, program akan melanjutkan ke pernyataan setelah blok if dan program akan selesai.', '2024-01-22 22:49:43', '2024-01-22 22:49:43', NULL), +(60, 6, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2024-01-22 22:49:44', '2024-01-22 22:49:44', NULL), +(61, 6, 7, 'If-else digunakan untuk membagi kondisi menjadi dua kemungkinan. Dalam studi kasus diatas, IF digunakan untuk melakukan pengecekan apakah nilai itemCost lebih besar dari 24. Jika kondisi tersebut terpenuhi, maka variabel order bernilai \"High Value Item!\" akan dicetak. Sedangkan jika nilai itemCost tidak lebih dari 24, maka variabel order bernilai “Low Order Value!â€', '2024-01-30 21:58:48', '2024-01-30 21:58:48', NULL), +(62, 6, 8, '• Mendeklarasikan kelas Order.\n• Mendeklarasikan method main sebagai method utama yang akan dieksekusi saat program dijalankan.\n• Mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99.\n• Mendeklarasikan variabel order dengan tipe data String dan memberikannya nilai awal berupa string kosong (\"\").\n• Melakukan pengecekan kondisi menggunakan pernyataan if. Kondisi yang dievaluasi adalah itemCost > 24.00.\n• Jika kondisi tersebut benar (nilai itemCost lebih besar dari 24.00), maka blok kode di dalam if akan dieksekusi.\n• Dalam blok if, nilai variabel order diubah menjadi \"High Value Item!\".\n• Jika kondisi dalam if tidak terpenuhi (nilai itemCost tidak lebih besar dari 24.00), maka blok kode di dalam else akan dieksekusi.\n• Dalam blok else, nilai variabel order diubah menjadi \"Low Value Item!\".\n• Setelah blok if-else selesai dieksekusi, pesan yang ada dalam variabel order akan dicetak menggunakan System.out.print.\n• Output yang ditampilkan akan bergantung pada nilai itemCost. Jika itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan dicetak. Jika tidak, maka pesan \"Low Value Item!\" akan dicetak.', '2024-01-30 21:58:48', '2024-01-30 21:58:48', NULL), +(63, 6, 9, 'Program akan menampilkan output “Low Value Itemâ€', '2024-01-30 21:58:48', '2024-01-30 21:58:48', NULL), +(64, 6, 10, 'Dengan menggunakan default, program akan menangani situasi di mana nilai shipping tidak cocok dengan case-case yang didefinisikan sebelumnya. Default berfungsi sebagai pilihan terakhir yang akan dieksekusi jika tidak ada case yang cocok dengan nilai yang dievaluasi.', '2024-02-26 20:23:20', '2024-02-26 20:23:20', NULL), +(65, 6, 11, 'Program dimulai dengan mendeklarasikan variabel shipping dengan nilai \"Express\" dan variabel shippingCost tanpa nilai awal. Kemudian, program melanjutkan ke switch statement dengan mengevaluasi nilai dari variabel shipping. \n\nProgram akan membandingkan nilai shipping dengan setiap case yang ada. Jika nilai shipping cocok dengan salah satu case, program akan melompat ke blok kode yang sesuai dengan case tersebut.\nJika nilai shipping adalah \"Regular\", maka variabel shippingCost akan diatur menjadi 0.\nJika nilai shipping adalah \"Express\", maka variabel shippingCost akan diatur menjadi 1.75.\nJika nilai shipping tidak cocok dengan case-case di atas, program akan melompat ke blok kode dalam default.\nPada blok kode default, variabel shippingCost akan diatur menjadi 0.50.', '2024-02-26 20:23:20', '2024-02-26 20:23:20', NULL), +(66, 6, 12, 'Pada saat nilai shipping tidak bernilai regular maupun express, sehingga mengeluarkan nilai default, yaitu 0.05', '2024-02-26 20:23:20', '2024-02-26 20:23:20', NULL), +(67, 6, 13, 'Karena variabel isMember di rancang untuk menampung nilai salah atau benar', '2024-02-26 20:26:17', '2024-02-26 20:26:17', NULL), +(68, 6, 14, '• Jika nilai isMember adalah false, maka program akan masuk kedalam pemilihan else.\n• Program akan melakukan pengecekan total. Diketahui total adalah 200000, sehingga masuk kedalam blok pemilihan ketiga dengan diskon 15 %\n• Sehingga, output dari program tersebut adalah “diskon yang didapatkan adalah 15%â€', '2024-02-26 20:26:17', '2024-02-26 20:26:17', NULL), +(69, 6, 15, 'program akan mengeluarkan output “diskon yang didapatkan adalah 10%â€', '2024-02-26 20:26:17', '2024-02-26 20:26:17', NULL), +(71, 6, 16, 'aa', '2024-03-03 10:12:59', '2024-03-03 10:12:59', NULL), +(72, 6, 17, 'aaa', '2024-03-03 10:31:04', '2024-03-03 10:31:04', NULL), +(73, 6, 18, 'aa', '2024-03-03 10:31:08', '2024-03-03 10:31:08', NULL), +(74, 7, 1, 'Digunakan untuk menyimpan ukuran-ukuran geometris dan perhitungan matematika terkait dengan balok. Tipe data int cocok digunakan karena ukuran-ukuran tersebut umumnya diukur dalam bilangan bulat seperti sentimeter atau meter.', '2024-03-08 07:52:02', '2024-03-08 07:52:02', NULL), +(75, 7, 2, 'Program tersebut menghitung volume dan luas permukaan balok dengan mengalikan panjang, lebar, dan tinggi, kemudian menggunakan rumus yang sesuai. Volume dihitung dengan panjang * lebar * tinggi, sedangkan luas permukaan dihitung dengan rumus 2 * (panjang * lebar + panjang * tinggi + lebar * tinggi). Hasilnya dicetak sebagai output program.', '2024-03-08 07:52:13', '2024-03-08 07:52:13', NULL), +(76, 7, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok dalam kode program, cukup ubah nilai-nilai tersebut langsung pada bagian inisialisasi variabel panjang, lebar, dan tinggi. Setelah perubahan dilakukan, jalankan kembali program untuk mendapatkan hasil perhitungan dengan nilai yang baru.', '2024-03-08 07:52:20', '2024-03-08 07:52:20', NULL), +(93, 7, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', '2024-03-08 08:37:07', '2024-03-08 08:37:07', NULL), +(94, 7, 5, 'Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java.\nKemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80.\nProgram akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70.\nJika kondisi dalam blok if (nilai > 70) bernilai true, program akan mengeksekusi pernyataan yang ada di dalam blok if, yaitu mencetak string \"Selamat anda lulus!\" menggunakan System.out.print().\n• Jika kondisi dalam blok if bernilai false, program akan melanjutkan ke pernyataan setelah blok if dan program akan selesai.', '2024-03-08 08:37:12', '2024-03-08 08:37:12', NULL), +(95, 7, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2024-03-08 08:37:17', '2024-03-08 08:37:17', NULL), +(96, 7, 7, 'If-else digunakan untuk membagi kondisi menjadi dua kemungkinan. Dalam studi kasus diatas, IF digunakan untuk melakukan pengecekan apakah nilai itemCost lebih besar dari 24. Jika kondisi tersebut terpenuhi, maka variabel order bernilai \"High Value Item!\" akan dicetak. Sedangkan jika nilai itemCost tidak lebih dari 24, maka variabel order bernilai “Low Order Value!â€', '2024-03-08 08:39:34', '2024-03-08 08:39:34', NULL), +(97, 7, 8, '• Mendeklarasikan kelas Order.\n• Mendeklarasikan method main sebagai method utama yang akan dieksekusi saat program dijalankan.\n• Mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99.\n• Mendeklarasikan variabel order dengan tipe data String dan memberikannya nilai awal berupa string kosong (\"\").\n• Melakukan pengecekan kondisi menggunakan pernyataan if. Kondisi yang dievaluasi adalah itemCost > 24.00.\n• Jika kondisi tersebut benar (nilai itemCost lebih besar dari 24.00), maka blok kode di dalam if akan dieksekusi.\n• Dalam blok if, nilai variabel order diubah menjadi \"High Value Item!\".\n• Jika kondisi dalam if tidak terpenuhi (nilai itemCost tidak lebih besar dari 24.00), maka blok kode di dalam else akan dieksekusi.\n• Dalam blok else, nilai variabel order diubah menjadi \"Low Value Item!\".\n• Setelah blok if-else selesai dieksekusi, pesan yang ada dalam variabel order akan dicetak menggunakan System.out.print.\n• Output yang ditampilkan akan bergantung pada nilai itemCost. Jika itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan dicetak. Jika tidak, maka pesan \"Low Value Item!\" akan dicetak.', '2024-03-08 08:39:50', '2024-03-08 08:39:50', NULL), +(98, 7, 9, 'Program akan menampilkan output “Low Value Itemâ€', '2024-03-08 08:39:56', '2024-03-08 08:39:56', NULL), +(99, 7, 10, 'Baris program default dalam switch statement menentukan tindakan yang akan diambil jika tidak ada case yang cocok dengan nilai yang dievaluasi oleh switch statement tersebut. Dalam kasus tersebut, jika nilai shipping tidak cocok dengan \"Regular\" atau \"Express\", maka nilai shippingCost akan diatur menjadi 0.50.', '2024-03-08 09:20:18', '2024-03-08 09:20:18', NULL), +(100, 7, 11, 'Alur program dari baris kode switch-case di atas adalah sebagai berikut:\n\n1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\".\nSwitch statement digunakan untuk mengevaluasi nilai dari variabel shipping.\nNilai dari variabel shipping dibandingkan dengan setiap case dalam switch statement.\n2. Jika nilai shipping cocok dengan nilai pada case \"Regular\", maka blok kode di bawah case \"Regular\" akan dieksekusi, yaitu shippingCost akan diatur menjadi 0.\n3. Jika nilai shipping cocok dengan nilai pada case \"Express\", maka blok kode di bawah case \"Express\" akan dieksekusi, yaitu shippingCost akan diatur menjadi 1.75.\n4. Jika nilai shipping tidak cocok dengan nilai pada case \"Regular\" atau \"Express\", maka blok kode di bawah default akan dieksekusi, yaitu shippingCost akan diatur menjadi 0.50.\n5. Setelah switch statement dieksekusi, nilai shippingCost akan dicetak sebagai hasil akhir.', '2024-03-08 09:20:26', '2024-03-08 09:20:26', NULL), +(101, 7, 12, 'Dalam kode yang diberikan, tidak ada case atau kondisi yang mengatur shippingCost menjadi 0.05. Oleh karena itu, shippingCost tidak akan bernilai 0.05 dalam program tersebut.\n\nDalam switch-case yang diberikan, ada tiga kemungkinan nilai yang akan membuat shippingCost memiliki nilai tertentu:\n\nJika nilai shipping adalah \"Regular\", maka shippingCost akan menjadi 0.\nJika nilai shipping adalah \"Express\", maka shippingCost akan menjadi 1.75.\nJika nilai shipping tidak cocok dengan \"Regular\" atau \"Express\", maka shippingCost akan menjadi 0.50 melalui blok default.\nSehingga, tidak ada kondisi dalam program tersebut yang akan membuat shippingCost menjadi 0.05.', '2024-03-08 09:20:29', '2024-03-08 09:20:29', NULL), +(102, 9, 1, 'Digunakan untuk menyimpan ukuran-ukuran geometris dan perhitungan matematika terkait dengan balok. Tipe data int cocok digunakan karena ukuran-ukuran tersebut umumnya diukur dalam bilangan bulat seperti sentimeter atau meter.', '2024-03-11 05:00:58', '2024-03-11 05:00:58', NULL), +(103, 9, 2, 'Program tersebut menghitung volume dan luas permukaan balok dengan mengalikan panjang, lebar, dan tinggi, kemudian menggunakan rumus yang sesuai. Volume dihitung dengan panjang * lebar * tinggi, sedangkan luas permukaan dihitung dengan rumus 2 * (panjang * lebar + panjang * tinggi + lebar * tinggi). Hasilnya dicetak sebagai output program.', '2024-03-11 05:01:16', '2024-03-11 05:01:16', NULL), +(104, 9, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok dalam kode program, cukup ubah nilai-nilai tersebut langsung pada bagian inisialisasi variabel panjang, lebar, dan tinggi. Setelah perubahan dilakukan, jalankan kembali program untuk mendapatkan hasil perhitungan dengan nilai yang baru.', '2024-03-11 05:01:21', '2024-03-11 05:01:21', NULL), +(105, 9, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', '2024-03-11 05:05:06', '2024-03-11 05:05:06', NULL), +(106, 9, 5, 'Pertama, program akan menjalankan fungsi main yang merupakan titik masuk utama dalam program Java. Kemudian, sebuah variabel nilai dengan tipe data integer dideklarasikan dan diinisialisasi dengan nilai 80. Program akan melanjutkan ke blok if, yang akan mengevaluasi apakah nilai lebih besar dari 70. Jika kondisi dalam blok if (nilai > 70) bernilai true, program akan mengeksekusi pernyataan yang ada di dalam blok if, yaitu mencetak string \"Selamat anda lulus!\" menggunakan System.out.print(). • Jika kondisi dalam blok if bernilai false, program akan melanjutkan ke pernyataan setelah blok if dan program akan selesai.', '2024-03-11 05:05:11', '2024-03-11 05:05:11', NULL), +(107, 9, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2024-03-11 05:05:17', '2024-03-11 05:05:17', NULL), +(108, 9, 7, 'If-else digunakan untuk membagi kondisi menjadi dua kemungkinan. Dalam studi kasus diatas, IF digunakan untuk melakukan pengecekan apakah nilai itemCost lebih besar dari 24. Jika kondisi tersebut terpenuhi, maka variabel order bernilai \"High Value Item!\" akan dicetak. Sedangkan jika nilai itemCost tidak lebih dari 24, maka variabel order bernilai “Low Order Value!â€', '2024-03-11 05:07:42', '2024-03-11 05:07:42', NULL), +(109, 9, 8, '• Mendeklarasikan kelas Order. • Mendeklarasikan method main sebagai method utama yang akan dieksekusi saat program dijalankan. • Mendeklarasikan variabel itemCost dengan tipe data double dan memberikannya nilai 30.99. • Mendeklarasikan variabel order dengan tipe data String dan memberikannya nilai awal berupa string kosong (\"\"). • Melakukan pengecekan kondisi menggunakan pernyataan if. Kondisi yang dievaluasi adalah itemCost > 24.00. • Jika kondisi tersebut benar (nilai itemCost lebih besar dari 24.00), maka blok kode di dalam if akan dieksekusi. • Dalam blok if, nilai variabel order diubah menjadi \"High Value Item!\". • Jika kondisi dalam if tidak terpenuhi (nilai itemCost tidak lebih besar dari 24.00), maka blok kode di dalam else akan dieksekusi. • Dalam blok else, nilai variabel order diubah menjadi \"Low Value Item!\". • Setelah blok if-else selesai dieksekusi, pesan yang ada dalam variabel order akan dicetak menggunakan System.out.print. • Output yang ditampilkan akan bergantung pada nilai itemCost. Jika itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan dicetak. Jika tidak, maka pesan \"Low Value Item!\" akan dicetak.', '2024-03-11 05:07:48', '2024-03-11 05:07:48', NULL), +(110, 9, 9, 'Program akan menampilkan output “Low Value Itemâ€', '2024-03-11 05:07:54', '2024-03-11 05:07:54', NULL), +(111, 9, 10, 'Baris program default dalam switch statement menentukan tindakan yang akan diambil jika tidak ada case yang cocok dengan nilai yang dievaluasi oleh switch statement tersebut. Dalam kasus tersebut, jika nilai shipping tidak cocok dengan \"Regular\" atau \"Express\", maka nilai shippingCost akan diatur menjadi 0.50.', '2024-03-11 05:10:20', '2024-03-11 05:10:20', NULL), +(112, 9, 11, 'Alur program dari baris kode switch-case di atas adalah sebagai berikut: 1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". Switch statement digunakan untuk mengevaluasi nilai dari variabel shipping. Nilai dari variabel shipping dibandingkan dengan setiap case dalam switch statement. 2. Jika nilai shipping cocok dengan nilai pada case \"Regular\", maka blok kode di bawah case \"Regular\" akan dieksekusi, yaitu shippingCost akan diatur menjadi 0. 3. Jika nilai shipping cocok dengan nilai pada case \"Express\", maka blok kode di bawah case \"Express\" akan dieksekusi, yaitu shippingCost akan diatur menjadi 1.75. 4. Jika nilai shipping tidak cocok dengan nilai pada case \"Regular\" atau \"Express\", maka blok kode di bawah default akan dieksekusi, yaitu shippingCost akan diatur menjadi 0.50. 5. Setelah switch statement dieksekusi, nilai shippingCost akan dicetak sebagai hasil akhir.', '2024-03-11 05:10:24', '2024-03-11 05:10:24', NULL), +(113, 9, 12, 'Dalam kode yang diberikan, tidak ada case atau kondisi yang mengatur shippingCost menjadi 0.05. Oleh karena itu, shippingCost tidak akan bernilai 0.05 dalam program tersebut. Dalam switch-case yang diberikan, ada tiga kemungkinan nilai yang akan membuat shippingCost memiliki nilai tertentu: Jika nilai shipping adalah \"Regular\", maka shippingCost akan menjadi 0. Jika nilai shipping adalah \"Express\", maka shippingCost akan menjadi 1.75. Jika nilai shipping tidak cocok dengan \"Regular\" atau \"Express\", maka shippingCost akan menjadi 0.50 melalui blok default. Sehingga, tidak ada kondisi dalam program tersebut yang akan membuat shippingCost menjadi 0.05.', '2024-03-11 05:10:30', '2024-03-11 05:10:30', NULL), +(114, 9, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan konsep dari tipe data boolean. Dalam program ini, isMember digunakan untuk membedakan apakah pelanggan adalah anggota (true) atau bukan (false), sehingga pemberian diskon dapat ditentukan berdasarkan keanggotaan pelanggan.', '2024-03-11 05:15:38', '2024-03-11 05:15:38', NULL), +(115, 9, 14, 'Jika nilai isMember adalah false, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan mengevaluasi nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota.\n\nBerikut adalah alur program jika isMember bernilai false:\n\nProgram memeriksa kondisi if(isMember == true), tetapi karena isMember bernilai false, maka program akan melanjutkan ke blok else.\n\nDi dalam blok else, program memeriksa nilai total:\n\nJika total kurang dari 100.000, diskon yang diberikan adalah 5%.\nJika total antara 100.000 dan 150.000 (inklusif), diskon yang diberikan adalah 10%.\nJika total lebih dari 150.000, diskon yang diberikan adalah 15%.\nSetelah nilai diskon dihitung berdasarkan kondisi di atas, program akan mencetak hasil diskon yang didapatkan oleh pelanggan non-anggota.', '2024-03-11 05:15:43', '2024-03-11 05:15:43', NULL), +(116, 9, 15, 'Jika nilai variabel total adalah Rp. 30.000, dan isMember adalah false, maka program akan memberikan diskon 5% kepada pelanggan non-anggota karena total pembelian kurang dari Rp. 100.000.\n\nJadi, output program akan menjadi: 5%', '2024-03-11 05:15:49', '2024-03-11 05:15:49', NULL), +(117, 7, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan konsep dari tipe data boolean. Dalam program ini, isMember digunakan untuk membedakan apakah pelanggan adalah anggota (true) atau bukan (false), sehingga pemberian diskon dapat ditentukan berdasarkan keanggotaan pelanggan.', '2024-03-11 05:19:33', '2024-03-11 05:19:33', NULL), +(118, 7, 14, 'Jika nilai isMember adalah false, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan mengevaluasi nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota. Berikut adalah alur program jika isMember bernilai false: Program memeriksa kondisi if(isMember == true), tetapi karena isMember bernilai false, maka program akan melanjutkan ke blok else. Di dalam blok else, program memeriksa nilai total: Jika total kurang dari 100.000, diskon yang diberikan adalah 5%. Jika total antara 100.000 dan 150.000 (inklusif), diskon yang diberikan adalah 10%. Jika total lebih dari 150.000, diskon yang diberikan adalah 15%. Setelah nilai diskon dihitung berdasarkan kondisi di atas, program akan mencetak hasil diskon yang didapatkan oleh pelanggan non-anggota.', '2024-03-11 05:19:41', '2024-03-11 05:19:41', NULL), +(119, 7, 15, 'Jika nilai variabel total adalah Rp. 30.000, dan isMember adalah false, maka program akan memberikan diskon 5% kepada pelanggan non-anggota karena total pembelian kurang dari Rp. 100.000. Jadi, output program akan menjadi: 5%', '2024-03-11 05:19:46', '2024-03-11 05:19:46', NULL), +(120, 10, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 08:35:27', '2024-03-11 08:35:27', NULL), +(121, 10, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas:\n\n1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing.\n2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok.\n3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok.\n4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 08:35:37', '2024-03-11 08:35:37', NULL), +(122, 10, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 08:35:42', '2024-03-11 08:35:42', NULL), +(123, 10, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 08:37:52', '2024-03-11 08:37:52', NULL), +(124, 10, 5, 'Berikut adalah alur program dari kode yang diberikan:\n\n1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80.\n2. Dilakukan pengecekan kondisi menggunakan pernyataan if.\n3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi.\n4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan.\n5. Program selesai dieksekusi.', '2024-03-11 08:37:56', '2024-03-11 08:37:56', NULL), +(125, 10, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 08:38:02', '2024-03-11 08:38:02', NULL), +(126, 10, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 08:41:56', '2024-03-11 08:41:56', NULL), +(127, 10, 8, 'Berikut adalah alur program dari baris kode yang diberikan:\n\n1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99.\n2. Variabel order dideklarasikan sebagai string kosong.\n3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan.\n4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order.\n5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order.\n6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print.\n7. Program selesai dieksekusi.', '2024-03-11 08:41:59', '2024-03-11 08:41:59', NULL), +(128, 10, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 08:42:03', '2024-03-11 08:42:03', NULL), +(129, 10, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 08:45:39', '2024-03-11 08:45:39', NULL), +(130, 10, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\".\n2. Variabel shippingCost dideklarasikan tanpa diinisialisasi.\n3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case.\n4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0.\n5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75.\n6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50.\n8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print.\nProgram selesai dieksekusi.', '2024-03-11 08:45:42', '2024-03-11 08:45:42', NULL), +(131, 10, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 08:45:46', '2024-03-11 08:45:46', NULL), +(132, 10, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 08:49:06', '2024-03-11 08:49:06', NULL), +(133, 10, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 08:49:10', '2024-03-11 08:49:10', NULL), +(134, 10, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 08:49:13', '2024-03-11 08:49:13', NULL), +(135, 11, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 08:56:19', '2024-03-11 08:56:19', NULL), +(136, 11, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 08:56:23', '2024-03-11 08:56:23', NULL), +(137, 11, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 08:56:27', '2024-03-11 08:56:27', NULL), +(138, 11, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 08:57:56', '2024-03-11 08:57:56', NULL), +(139, 11, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 08:57:59', '2024-03-11 08:57:59', NULL), +(140, 11, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 08:58:02', '2024-03-11 08:58:02', NULL), +(141, 11, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 08:59:14', '2024-03-11 08:59:14', NULL), +(142, 11, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 08:59:17', '2024-03-11 08:59:17', NULL), +(143, 11, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 08:59:21', '2024-03-11 08:59:21', NULL), +(144, 11, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 09:00:32', '2024-03-11 09:00:32', NULL), +(145, 11, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 09:00:36', '2024-03-11 09:00:36', NULL), +(146, 11, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 09:00:38', '2024-03-11 09:00:38', NULL), +(147, 11, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 09:02:06', '2024-03-11 09:02:06', NULL), +(148, 11, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 09:02:09', '2024-03-11 09:02:09', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(149, 11, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 09:02:12', '2024-03-11 09:02:12', NULL), +(150, 12, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 09:10:58', '2024-03-11 09:10:58', NULL), +(151, 12, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 09:11:04', '2024-03-11 09:11:04', NULL), +(152, 12, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 09:11:09', '2024-03-11 09:11:09', NULL), +(153, 12, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 09:12:14', '2024-03-11 09:12:14', NULL), +(154, 12, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 09:12:18', '2024-03-11 09:12:18', NULL), +(155, 12, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 09:12:22', '2024-03-11 09:12:22', NULL), +(156, 12, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 09:13:58', '2024-03-11 09:13:58', NULL), +(157, 12, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 09:14:01', '2024-03-11 09:14:01', NULL), +(158, 12, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 09:14:05', '2024-03-11 09:14:05', NULL), +(159, 12, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 09:16:40', '2024-03-11 09:16:40', NULL), +(160, 12, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 09:16:43', '2024-03-11 09:16:43', NULL), +(161, 12, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 09:16:47', '2024-03-11 09:16:47', NULL), +(162, 12, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 09:17:53', '2024-03-11 09:17:53', NULL), +(163, 12, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 09:17:55', '2024-03-11 09:17:55', NULL), +(164, 12, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 09:17:59', '2024-03-11 09:17:59', NULL), +(165, 13, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 09:21:58', '2024-03-11 09:21:58', NULL), +(166, 13, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 09:22:06', '2024-03-11 09:22:06', NULL), +(167, 13, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 09:22:10', '2024-03-11 09:22:10', NULL), +(168, 13, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 09:24:03', '2024-03-11 09:24:03', NULL), +(169, 13, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 09:24:08', '2024-03-11 09:24:08', NULL), +(170, 13, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 09:24:12', '2024-03-11 09:24:12', NULL), +(171, 13, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 09:25:40', '2024-03-11 09:25:40', NULL), +(172, 13, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 09:25:45', '2024-03-11 09:25:45', NULL), +(173, 13, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 09:25:50', '2024-03-11 09:25:50', NULL), +(174, 13, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 09:29:23', '2024-03-11 09:29:23', NULL), +(175, 13, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 09:29:27', '2024-03-11 09:29:27', NULL), +(176, 13, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 09:29:30', '2024-03-11 09:29:30', NULL), +(177, 13, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 09:31:11', '2024-03-11 09:31:11', NULL), +(178, 13, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 09:31:14', '2024-03-11 09:31:14', NULL), +(179, 13, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 09:31:18', '2024-03-11 09:31:18', NULL), +(180, 14, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 09:41:17', '2024-03-11 09:41:17', NULL), +(181, 14, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 09:41:23', '2024-03-11 09:41:23', NULL), +(182, 14, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 09:41:27', '2024-03-11 09:41:27', NULL), +(183, 14, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 09:42:57', '2024-03-11 09:42:57', NULL), +(184, 14, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 09:43:01', '2024-03-11 09:43:01', NULL), +(185, 14, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 09:43:04', '2024-03-11 09:43:04', NULL), +(186, 14, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 09:44:21', '2024-03-11 09:44:21', NULL), +(187, 14, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 09:44:24', '2024-03-11 09:44:24', NULL), +(188, 14, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 09:44:29', '2024-03-11 09:44:29', NULL), +(189, 14, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 09:46:24', '2024-03-11 09:46:24', NULL), +(190, 14, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 09:46:28', '2024-03-11 09:46:28', NULL), +(191, 14, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 09:46:32', '2024-03-11 09:46:32', NULL), +(192, 14, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 09:47:53', '2024-03-11 09:47:53', NULL), +(193, 14, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 09:47:57', '2024-03-11 09:47:57', NULL), +(194, 14, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 09:48:00', '2024-03-11 09:48:00', NULL), +(195, 15, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 09:56:03', '2024-03-11 09:56:03', NULL), +(196, 15, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 09:56:08', '2024-03-11 09:56:08', NULL), +(197, 15, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 09:56:12', '2024-03-11 09:56:12', NULL), +(198, 15, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 09:57:19', '2024-03-11 09:57:19', NULL), +(199, 15, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 09:57:23', '2024-03-11 09:57:23', NULL), +(200, 15, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 09:57:26', '2024-03-11 09:57:26', NULL), +(201, 15, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 09:59:36', '2024-03-11 09:59:36', NULL), +(202, 15, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 09:59:40', '2024-03-11 09:59:40', NULL), +(203, 15, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 09:59:43', '2024-03-11 09:59:43', NULL), +(204, 15, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 10:01:02', '2024-03-11 10:01:02', NULL), +(205, 15, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 10:01:07', '2024-03-11 10:01:07', NULL), +(206, 15, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 10:01:10', '2024-03-11 10:01:10', NULL), +(207, 15, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 10:02:27', '2024-03-11 10:02:27', NULL), +(208, 15, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 10:02:30', '2024-03-11 10:02:30', NULL), +(209, 15, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 10:02:34', '2024-03-11 10:02:34', NULL), +(210, 16, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 10:15:01', '2024-03-11 10:15:01', NULL), +(211, 16, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 10:15:10', '2024-03-11 10:15:10', NULL), +(212, 16, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 10:15:16', '2024-03-11 10:15:16', NULL), +(213, 16, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 10:16:28', '2024-03-11 10:16:28', NULL), +(214, 16, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 10:16:31', '2024-03-11 10:16:31', NULL), +(215, 16, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 10:16:36', '2024-03-11 10:16:36', NULL), +(216, 16, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 10:17:54', '2024-03-11 10:17:54', NULL), +(217, 16, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 10:17:59', '2024-03-11 10:17:59', NULL), +(218, 16, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 10:18:04', '2024-03-11 10:18:04', NULL), +(219, 16, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 10:19:20', '2024-03-11 10:19:20', NULL), +(220, 16, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 10:19:23', '2024-03-11 10:19:23', NULL), +(221, 16, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 10:19:27', '2024-03-11 10:19:27', NULL), +(222, 16, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 10:20:37', '2024-03-11 10:20:37', NULL), +(223, 16, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 10:20:41', '2024-03-11 10:20:41', NULL), +(224, 16, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 10:20:44', '2024-03-11 10:20:44', NULL), +(225, 17, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-11 10:24:14', '2024-03-11 10:24:14', NULL), +(226, 17, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-11 10:24:18', '2024-03-11 10:24:18', NULL), +(227, 17, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-11 10:24:21', '2024-03-11 10:24:21', NULL), +(228, 17, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-11 10:25:43', '2024-03-11 10:25:43', NULL), +(229, 17, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-11 10:25:46', '2024-03-11 10:25:46', NULL), +(230, 17, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-11 10:25:50', '2024-03-11 10:25:50', NULL), +(231, 17, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-11 10:26:52', '2024-03-11 10:26:52', NULL), +(232, 17, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-11 10:26:56', '2024-03-11 10:26:56', NULL), +(233, 17, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-11 10:27:00', '2024-03-11 10:27:00', NULL), +(234, 17, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-11 10:28:13', '2024-03-11 10:28:13', NULL), +(235, 17, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-11 10:28:16', '2024-03-11 10:28:16', NULL), +(236, 17, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-11 10:28:21', '2024-03-11 10:28:21', NULL), +(237, 17, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-11 10:30:06', '2024-03-11 10:30:06', NULL), +(238, 17, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-11 10:30:10', '2024-03-11 10:30:10', NULL), +(239, 17, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-11 10:30:13', '2024-03-11 10:30:13', NULL), +(240, 10, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan.\n\nDalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number.\n\nJadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-24 00:15:22', '2024-03-24 00:15:22', NULL), +(241, 10, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;.\nKemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;.\nPada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi.\nDi dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi).\nSetelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i.\nProses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi.\nKetika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi.\nProgram selesai dieksekusi.', '2024-03-24 00:15:37', '2024-03-24 00:15:37', NULL), +(242, 10, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-24 00:15:42', '2024-03-24 00:15:42', NULL), +(243, 10, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for.\n\nDi dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi.\n\nDengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-24 00:18:32', '2024-03-24 00:18:32', NULL), +(244, 10, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;.\nSelanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;.\nProgram memasuki loop while, di mana kondisi i < number dievaluasi.\nJika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi.\nDi dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);.\nSetelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++.\nKontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi.\nProses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi.\nKetika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while.\nProgram selesai dieksekusi.', '2024-03-24 00:18:39', '2024-03-24 00:18:39', NULL), +(245, 10, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali.\n\nSehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-24 00:18:45', '2024-03-24 00:18:45', NULL), +(246, 10, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first).\n\nDengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-24 00:22:38', '2024-03-24 00:22:38', NULL), +(247, 10, 23, 'Program memasuki blok kode do-while.\nPertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6.\nVariabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci.\nVariabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan.\nString \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak.\nAngka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol.\nProgram masuk ke dalam blok pernyataan do-while.\nDi dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next.\nNilai next dicetak ke konsol.\nNilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini.\nNilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci.\nVariabel i (penghitung iterasi) ditambah 1.\nProgram mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci.\nProses ini berlanjut sampai nilai i melebihi nilai n.\nSetelah itu, program keluar dari blok perulangan do-while.\nProgram selesai dieksekusi.', '2024-03-24 00:22:43', '2024-03-24 00:22:43', NULL), +(248, 10, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-24 00:22:49', '2024-03-24 00:22:49', NULL), +(249, 10, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5.\n\nJadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-24 00:25:24', '2024-03-24 00:25:24', NULL), +(250, 10, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5.\n\nDi dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi.\n\nPada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1.\n\nKondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu.\n\nPada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1).\nPada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2).\nHal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5).\nDi dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi.\n\nSetelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida.\n\nProses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol.\n\nDengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-24 00:25:30', '2024-03-24 00:25:30', NULL), +(251, 10, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-24 00:25:37', '2024-03-24 00:25:37', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(252, 10, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-24 00:28:14', '2024-03-24 00:28:14', NULL), +(253, 10, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}.\nKemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string.\nHasil dari konversi tersebut disimpan dalam variabel topicArray.\nTerakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut.\nString yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-24 00:28:20', '2024-03-24 00:28:20', NULL), +(254, 10, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string.\n\nKode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi.\n\nJadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-24 00:28:27', '2024-03-24 00:28:27', NULL), +(255, 10, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai.\n\nDalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai.\n\nJadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-24 00:32:59', '2024-03-24 00:32:59', NULL), +(256, 10, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0.\nKemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai.\nJika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi.\nDi dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total.\nSelanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung.\nSetelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama.\nProses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi.\nSetelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai.\nProses ini berlanjut hingga semua baris dari matriks nilai telah diproses.\nSetelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung.\nRata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData.\nNilai rata-rata tersebut kemudian dicetak ke konsol.\nProgram selesai dieksekusi.', '2024-03-24 00:33:04', '2024-03-24 00:33:04', NULL), +(257, 10, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-24 00:33:10', '2024-03-24 00:33:10', NULL), +(258, 10, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-24 00:35:21', '2024-03-24 00:35:21', NULL), +(259, 10, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran.\nSelanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran.\nKemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran.\nHasil perhitungan luas lingkaran disimpan dalam variabel lokal luas.\nSelanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran.\nHasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling.\nSetelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya.\nJadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-24 00:35:27', '2024-03-24 00:35:27', NULL), +(260, 10, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan.\n\nTanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran.\n\nJadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-24 00:35:35', '2024-03-24 00:35:35', NULL), +(261, 10, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-24 00:39:44', '2024-03-24 00:39:44', NULL), +(262, 10, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun).\n\nPengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas.\n\nPerhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal.\n\nPerhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan.\n\nPanggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi.\n\nPengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-24 00:39:50', '2024-03-24 00:39:50', NULL), +(263, 10, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-24 00:39:56', '2024-03-24 00:39:56', NULL), +(264, 19, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-24 00:53:54', '2024-03-24 00:53:54', NULL), +(265, 19, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-24 00:54:05', '2024-03-24 00:54:05', NULL), +(266, 19, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-24 00:54:13', '2024-03-24 00:54:13', NULL), +(267, 19, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-24 00:55:38', '2024-03-24 00:55:38', NULL), +(268, 19, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-24 00:55:46', '2024-03-24 00:55:46', NULL), +(269, 19, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-24 00:55:52', '2024-03-24 00:55:52', NULL), +(270, 19, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-24 00:56:57', '2024-03-24 00:56:57', NULL), +(271, 19, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-24 00:57:02', '2024-03-24 00:57:02', NULL), +(272, 19, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-24 00:57:08', '2024-03-24 00:57:08', NULL), +(273, 19, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-24 00:58:22', '2024-03-24 00:58:22', NULL), +(274, 19, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-24 00:58:27', '2024-03-24 00:58:27', NULL), +(275, 19, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-24 00:58:32', '2024-03-24 00:58:32', NULL), +(276, 19, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-24 00:59:38', '2024-03-24 00:59:38', NULL), +(277, 19, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-24 00:59:44', '2024-03-24 00:59:44', NULL), +(278, 19, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-24 00:59:49', '2024-03-24 00:59:49', NULL), +(279, 19, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-24 01:02:05', '2024-03-24 01:02:05', NULL), +(280, 19, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-03-24 01:02:10', '2024-03-24 01:02:10', NULL), +(281, 19, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-24 01:02:15', '2024-03-24 01:02:15', NULL), +(282, 19, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-24 01:03:46', '2024-03-24 01:03:46', NULL), +(283, 19, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-03-24 01:03:51', '2024-03-24 01:03:51', NULL), +(284, 19, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-24 01:03:57', '2024-03-24 01:03:57', NULL), +(285, 19, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-24 01:04:58', '2024-03-24 01:04:58', NULL), +(286, 19, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-03-24 01:05:03', '2024-03-24 01:05:03', NULL), +(287, 19, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-24 01:05:10', '2024-03-24 01:05:10', NULL), +(288, 19, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-24 01:06:27', '2024-03-24 01:06:27', NULL), +(289, 19, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-24 01:06:32', '2024-03-24 01:06:32', NULL), +(290, 19, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-24 01:06:39', '2024-03-24 01:06:39', NULL), +(291, 19, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-24 01:08:03', '2024-03-24 01:08:03', NULL), +(292, 19, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-24 01:08:09', '2024-03-24 01:08:09', NULL), +(293, 19, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-24 01:08:16', '2024-03-24 01:08:16', NULL), +(294, 19, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-24 01:10:03', '2024-03-24 01:10:03', NULL), +(295, 19, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-03-24 01:10:11', '2024-03-24 01:10:11', NULL), +(296, 19, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-24 01:10:18', '2024-03-24 01:10:18', NULL), +(297, 19, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-24 01:11:28', '2024-03-24 01:11:28', NULL), +(298, 19, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-24 01:11:32', '2024-03-24 01:11:32', NULL), +(299, 19, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-24 01:11:37', '2024-03-24 01:11:37', NULL), +(300, 19, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-24 01:13:03', '2024-03-24 01:13:03', NULL), +(301, 19, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-24 01:13:08', '2024-03-24 01:13:08', NULL), +(302, 19, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-24 01:13:15', '2024-03-24 01:13:15', NULL), +(303, 12, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-24 01:17:06', '2024-03-24 01:17:06', NULL), +(304, 12, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-03-24 01:17:11', '2024-03-24 01:17:11', NULL), +(305, 12, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-24 01:17:16', '2024-03-24 01:17:16', NULL), +(306, 12, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-24 01:18:39', '2024-03-24 01:18:39', NULL), +(307, 12, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-03-24 01:18:44', '2024-03-24 01:18:44', NULL), +(308, 12, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-24 01:18:49', '2024-03-24 01:18:49', NULL), +(309, 12, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-24 01:22:33', '2024-03-24 01:22:33', NULL), +(310, 12, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-03-24 01:22:39', '2024-03-24 01:22:39', NULL), +(311, 12, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-24 01:22:45', '2024-03-24 01:22:45', NULL), +(312, 12, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-24 01:23:59', '2024-03-24 01:23:59', NULL), +(313, 12, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-24 01:24:03', '2024-03-24 01:24:03', NULL), +(314, 12, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-24 01:24:09', '2024-03-24 01:24:09', NULL), +(315, 12, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-24 01:25:37', '2024-03-24 01:25:37', NULL), +(316, 12, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-24 01:25:42', '2024-03-24 01:25:42', NULL), +(317, 12, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-24 01:25:47', '2024-03-24 01:25:47', NULL), +(318, 12, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-24 01:26:52', '2024-03-24 01:26:52', NULL), +(319, 12, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-03-24 01:26:57', '2024-03-24 01:26:57', NULL), +(320, 12, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-24 01:27:03', '2024-03-24 01:27:03', NULL), +(321, 12, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-24 01:28:15', '2024-03-24 01:28:15', NULL), +(322, 12, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-24 01:28:20', '2024-03-24 01:28:20', NULL), +(323, 12, 36, 'ika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-24 01:28:25', '2024-03-24 01:28:25', NULL), +(324, 12, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-24 01:29:45', '2024-03-24 01:29:45', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(325, 12, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-24 01:29:50', '2024-03-24 01:29:50', NULL), +(326, 12, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-24 01:29:58', '2024-03-24 01:29:58', NULL), +(327, 13, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-24 01:32:37', '2024-03-24 01:32:37', NULL), +(328, 13, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-03-24 01:32:45', '2024-03-24 01:32:45', NULL), +(329, 13, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-24 01:32:50', '2024-03-24 01:32:50', NULL), +(330, 13, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-24 01:34:07', '2024-03-24 01:34:07', NULL), +(331, 13, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-03-24 01:34:12', '2024-03-24 01:34:12', NULL), +(332, 13, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-24 01:34:17', '2024-03-24 01:34:17', NULL), +(333, 13, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-24 01:35:19', '2024-03-24 01:35:19', NULL), +(334, 13, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-03-24 01:35:24', '2024-03-24 01:35:24', NULL), +(335, 13, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-24 01:35:30', '2024-03-24 01:35:30', NULL), +(336, 13, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-24 01:36:41', '2024-03-24 01:36:41', NULL), +(337, 13, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-24 01:36:47', '2024-03-24 01:36:47', NULL), +(338, 13, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-24 01:36:52', '2024-03-24 01:36:52', NULL), +(339, 13, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-24 01:38:28', '2024-03-24 01:38:28', NULL), +(340, 13, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-24 01:38:30', '2024-03-24 01:38:30', NULL), +(341, 13, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-24 01:38:34', '2024-03-24 01:38:34', NULL), +(342, 13, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-24 01:39:38', '2024-03-24 01:39:38', NULL), +(343, 13, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-03-24 01:39:43', '2024-03-24 01:39:43', NULL), +(344, 13, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-24 01:39:46', '2024-03-24 01:39:46', NULL), +(345, 13, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-24 01:40:38', '2024-03-24 01:40:38', NULL), +(346, 13, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-24 01:40:41', '2024-03-24 01:40:41', NULL), +(347, 13, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-24 01:40:44', '2024-03-24 01:40:44', NULL), +(348, 13, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-24 01:41:42', '2024-03-24 01:41:42', NULL), +(349, 13, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-24 01:41:46', '2024-03-24 01:41:46', NULL), +(350, 13, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-24 01:41:49', '2024-03-24 01:41:49', NULL), +(351, 21, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-24 02:56:05', '2024-03-24 02:56:05', NULL), +(352, 21, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-24 02:56:09', '2024-03-24 02:56:09', NULL), +(353, 21, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-24 02:56:13', '2024-03-24 02:56:13', NULL), +(357, 21, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-28 08:33:06', '2024-03-28 08:33:06', NULL), +(358, 21, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-28 08:33:10', '2024-03-28 08:33:10', NULL), +(359, 21, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-28 08:33:14', '2024-03-28 08:33:14', NULL), +(360, 21, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-28 08:34:30', '2024-03-28 08:34:30', NULL), +(361, 21, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-28 08:34:34', '2024-03-28 08:34:34', NULL), +(362, 21, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-28 08:34:39', '2024-03-28 08:34:39', NULL), +(363, 21, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-28 08:36:26', '2024-03-28 08:36:26', NULL), +(364, 21, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-28 08:36:30', '2024-03-28 08:36:30', NULL), +(365, 21, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-28 08:36:36', '2024-03-28 08:36:36', NULL), +(366, 21, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-28 08:37:46', '2024-03-28 08:37:46', NULL), +(367, 21, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-28 08:37:51', '2024-03-28 08:37:51', NULL), +(368, 21, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-28 08:37:56', '2024-03-28 08:37:56', NULL), +(369, 21, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-28 08:39:07', '2024-03-28 08:39:07', NULL), +(370, 21, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-03-28 08:39:11', '2024-03-28 08:39:11', NULL), +(371, 21, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-28 08:39:16', '2024-03-28 08:39:16', NULL), +(372, 21, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-28 08:40:18', '2024-03-28 08:40:18', NULL), +(373, 21, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-03-28 08:40:22', '2024-03-28 08:40:22', NULL), +(374, 21, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-28 08:40:26', '2024-03-28 08:40:26', NULL), +(375, 21, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-28 08:41:32', '2024-03-28 08:41:32', NULL), +(376, 21, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-03-28 08:41:37', '2024-03-28 08:41:37', NULL), +(377, 21, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-28 08:41:42', '2024-03-28 08:41:42', NULL), +(378, 21, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-28 08:42:42', '2024-03-28 08:42:42', NULL), +(379, 21, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-28 08:42:47', '2024-03-28 08:42:47', NULL), +(380, 21, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-28 08:42:51', '2024-03-28 08:42:51', NULL), +(381, 21, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-28 08:44:08', '2024-03-28 08:44:08', NULL), +(382, 21, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-28 08:44:12', '2024-03-28 08:44:12', NULL), +(383, 21, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-28 08:44:17', '2024-03-28 08:44:17', NULL), +(384, 21, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-28 08:45:35', '2024-03-28 08:45:35', NULL), +(385, 21, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-03-28 08:45:39', '2024-03-28 08:45:39', NULL), +(386, 21, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-28 08:45:45', '2024-03-28 08:45:45', NULL), +(387, 21, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-28 08:46:44', '2024-03-28 08:46:44', NULL), +(388, 21, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-28 08:46:47', '2024-03-28 08:46:47', NULL), +(389, 21, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-28 08:46:51', '2024-03-28 08:46:51', NULL), +(390, 21, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-28 08:47:46', '2024-03-28 08:47:46', NULL), +(391, 21, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-28 08:47:51', '2024-03-28 08:47:51', NULL), +(392, 21, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-28 08:47:57', '2024-03-28 08:47:57', NULL), +(393, 22, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-03-28 08:59:54', '2024-03-28 08:59:54', NULL), +(394, 22, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-03-28 09:00:03', '2024-03-28 09:00:03', NULL), +(395, 22, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-03-28 09:00:10', '2024-03-28 09:00:10', NULL), +(396, 22, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-03-28 09:04:15', '2024-03-28 09:04:15', NULL), +(397, 22, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-03-28 09:04:21', '2024-03-28 09:04:21', NULL), +(398, 22, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-03-28 09:04:24', '2024-03-28 09:04:24', NULL), +(399, 22, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-03-28 09:05:14', '2024-03-28 09:05:14', NULL), +(400, 22, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-03-28 09:05:19', '2024-03-28 09:05:19', NULL), +(401, 22, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-03-28 09:05:26', '2024-03-28 09:05:26', NULL), +(402, 22, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-03-28 09:06:26', '2024-03-28 09:06:26', NULL), +(403, 22, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-03-28 09:06:31', '2024-03-28 09:06:31', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(404, 22, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-03-28 09:06:39', '2024-03-28 09:06:39', NULL), +(405, 22, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-03-28 09:08:03', '2024-03-28 09:08:03', NULL), +(406, 22, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-03-28 09:08:08', '2024-03-28 09:08:08', NULL), +(407, 22, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-03-28 09:08:12', '2024-03-28 09:08:12', NULL), +(408, 22, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-03-28 09:12:51', '2024-03-28 09:12:51', NULL), +(409, 22, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-03-28 09:12:57', '2024-03-28 09:12:57', NULL), +(410, 22, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-03-28 09:13:00', '2024-03-28 09:13:00', NULL), +(411, 22, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-03-28 09:14:01', '2024-03-28 09:14:01', NULL), +(412, 22, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-03-28 09:14:07', '2024-03-28 09:14:07', NULL), +(413, 22, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-03-28 09:14:11', '2024-03-28 09:14:11', NULL), +(414, 22, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-03-28 09:15:06', '2024-03-28 09:15:06', NULL), +(415, 22, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-03-28 09:15:12', '2024-03-28 09:15:12', NULL), +(416, 22, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-03-28 09:15:19', '2024-03-28 09:15:19', NULL), +(417, 22, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-03-28 09:16:23', '2024-03-28 09:16:23', NULL), +(418, 22, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-03-28 09:16:28', '2024-03-28 09:16:28', NULL), +(419, 22, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-03-28 09:16:34', '2024-03-28 09:16:34', NULL), +(420, 22, 28, 'String topicArray = Arrays.toString(topics);', '2024-03-28 09:17:39', '2024-03-28 09:17:39', NULL), +(421, 22, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-03-28 09:17:43', '2024-03-28 09:17:43', NULL), +(422, 22, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-03-28 09:17:48', '2024-03-28 09:17:48', NULL), +(423, 22, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-03-28 09:18:44', '2024-03-28 09:18:44', NULL), +(424, 22, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-03-28 09:18:48', '2024-03-28 09:18:48', NULL), +(425, 22, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-03-28 09:18:55', '2024-03-28 09:18:55', NULL), +(426, 22, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-03-28 09:19:58', '2024-03-28 09:19:58', NULL), +(427, 22, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-03-28 09:20:02', '2024-03-28 09:20:02', NULL), +(428, 22, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-03-28 09:20:07', '2024-03-28 09:20:07', NULL), +(429, 22, 37, 'Ya, program ini menggunakan rekursi.', '2024-03-28 09:21:05', '2024-03-28 09:21:05', NULL), +(430, 22, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-03-28 09:21:09', '2024-03-28 09:21:09', NULL), +(431, 22, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-03-28 09:21:15', '2024-03-28 09:21:15', NULL), +(432, 23, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-01 04:01:45', '2024-04-01 04:01:45', NULL), +(433, 23, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-01 04:01:52', '2024-04-01 04:01:52', NULL), +(434, 23, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-01 04:01:59', '2024-04-01 04:01:59', NULL), +(435, 23, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-01 04:03:04', '2024-04-01 04:03:04', NULL), +(436, 23, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-01 04:03:11', '2024-04-01 04:03:11', NULL), +(437, 23, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-01 04:03:19', '2024-04-01 04:03:19', NULL), +(438, 23, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-01 04:04:21', '2024-04-01 04:04:21', NULL), +(439, 23, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-04-01 04:04:30', '2024-04-01 04:04:30', NULL), +(440, 23, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-04-01 04:04:39', '2024-04-01 04:04:39', NULL), +(441, 23, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-01 04:06:28', '2024-04-01 04:06:28', NULL), +(442, 23, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-04-01 04:06:34', '2024-04-01 04:06:34', NULL), +(443, 23, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-04-01 04:06:40', '2024-04-01 04:06:40', NULL), +(444, 23, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-01 04:08:59', '2024-04-01 04:08:59', NULL), +(445, 23, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-01 04:09:05', '2024-04-01 04:09:05', NULL), +(446, 23, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-01 04:09:11', '2024-04-01 04:09:11', NULL), +(447, 23, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-01 04:10:29', '2024-04-01 04:10:29', NULL), +(448, 23, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-01 04:10:35', '2024-04-01 04:10:35', NULL), +(449, 23, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-04-01 04:10:41', '2024-04-01 04:10:41', NULL), +(450, 23, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-01 04:11:58', '2024-04-01 04:11:58', NULL), +(451, 23, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-01 04:12:04', '2024-04-01 04:12:04', NULL), +(452, 23, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-04-01 04:12:10', '2024-04-01 04:12:10', NULL), +(453, 23, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-04-01 04:13:15', '2024-04-01 04:13:15', NULL), +(454, 23, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-04-01 04:13:22', '2024-04-01 04:13:22', NULL), +(455, 23, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-04-01 04:13:28', '2024-04-01 04:13:28', NULL), +(456, 23, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-04-01 04:16:45', '2024-04-01 04:16:45', NULL), +(457, 23, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-04-01 04:16:51', '2024-04-01 04:16:51', NULL), +(458, 23, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-04-01 04:17:00', '2024-04-01 04:17:00', NULL), +(459, 23, 28, 'String topicArray = Arrays.toString(topics);', '2024-04-01 04:18:15', '2024-04-01 04:18:15', NULL), +(460, 23, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-04-01 04:18:20', '2024-04-01 04:18:20', NULL), +(461, 23, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-04-01 04:18:27', '2024-04-01 04:18:27', NULL), +(462, 23, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-04-01 04:20:31', '2024-04-01 04:20:31', NULL), +(463, 23, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-04-01 04:20:38', '2024-04-01 04:20:38', NULL), +(464, 23, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-04-01 04:20:44', '2024-04-01 04:20:44', NULL), +(465, 23, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-04-01 04:23:28', '2024-04-01 04:23:28', NULL), +(466, 23, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-04-01 04:23:33', '2024-04-01 04:23:33', NULL), +(467, 23, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-04-01 04:23:39', '2024-04-01 04:23:39', NULL), +(468, 23, 37, 'Ya, program ini menggunakan rekursi.', '2024-04-01 04:25:42', '2024-04-01 04:25:42', NULL), +(469, 23, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-04-01 04:25:48', '2024-04-01 04:25:48', NULL), +(470, 23, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-04-01 04:25:55', '2024-04-01 04:25:55', NULL), +(471, 24, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-01 04:39:19', '2024-04-01 04:39:19', NULL), +(472, 24, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-01 04:39:32', '2024-04-01 04:39:32', NULL), +(473, 24, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-01 04:39:39', '2024-04-01 04:39:39', NULL), +(474, 24, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-01 04:41:02', '2024-04-01 04:41:02', NULL), +(475, 24, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-01 04:41:08', '2024-04-01 04:41:08', NULL), +(476, 24, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-01 04:41:13', '2024-04-01 04:41:13', NULL), +(477, 24, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-01 04:42:32', '2024-04-01 04:42:32', NULL), +(478, 24, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi.', '2024-04-01 04:42:38', '2024-04-01 04:42:38', NULL), +(479, 24, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-04-01 04:42:46', '2024-04-01 04:42:46', NULL), +(480, 24, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-01 04:44:02', '2024-04-01 04:44:02', NULL), +(481, 24, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi.', '2024-04-01 04:44:07', '2024-04-01 04:44:07', NULL), +(482, 24, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-04-01 04:44:15', '2024-04-01 04:44:15', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(483, 24, 13, 'Variabel isMember bertipe data boolean karena nilainya hanya bisa berupa true atau false, yang sesuai dengan kondisi apakah pelanggan adalah anggota (member) atau bukan. Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-01 04:45:29', '2024-04-01 04:45:29', NULL), +(484, 24, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-01 04:45:35', '2024-04-01 04:45:35', NULL), +(485, 24, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-01 04:45:40', '2024-04-01 04:45:40', NULL), +(486, 24, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. Lebih tepatnya, itu adalah ekspresi increment yang bertugas untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-01 04:46:41', '2024-04-01 04:46:41', NULL), +(487, 24, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-01 04:46:47', '2024-04-01 04:46:47', NULL), +(488, 24, 18, 'Jika nilai dari variabel number adalah 8, maka program akan mencetak angka dari 1 hingga 7. Ini disebabkan oleh kondisi perulangan for, di mana i akan mulai dari 1 dan berakhir pada 7 (karena 7 kurang dari 8), sementara perulangan akan berhenti sebelum mencapai 8. Jadi, output dari program akan menjadi 1234567', '2024-04-01 04:46:54', '2024-04-01 04:46:54', NULL), +(489, 24, 19, 'Pada kode program di atas, i++ memiliki kegunaan yang sama dengan pada contoh sebelumnya yang menggunakan perulangan for. Di dalam perulangan while, i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-01 04:47:59', '2024-04-01 04:47:59', NULL), +(490, 24, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-01 04:48:05', '2024-04-01 04:48:05', NULL), +(491, 24, 21, 'Jika kondisi dalam while diganti menjadi while(i > number), maka loop while tidak akan pernah dieksekusi. Hal ini karena pada saat inisialisasi variabel i memiliki nilai 1, sedangkan nilai variabel number adalah 6. Kondisi i > number (1 > 6) tidak terpenuhi, sehingga blok pernyataan di dalam while tidak akan dieksekusi sama sekali. Sehingga, tidak ada output yang akan dikeluarkan oleh program dalam kasus ini. Program akan selesai tanpa mencetak apa pun ke konsol.', '2024-04-01 04:48:11', '2024-04-01 04:48:11', NULL), +(492, 24, 22, 'Baris kode int next = first + second; berfungsi untuk menghitung nilai selanjutnya dalam deret Fibonacci. Dalam deret Fibonacci, setiap angka adalah hasil penjumlahan dari dua angka sebelumnya. Oleh karena itu, next dihitung dengan menambahkan nilai first (angka sebelumnya dalam deret) dengan nilai second (angka sebelumnya dari first). Dengan melakukan operasi first + second, nilai next akan menjadi angka berikutnya dalam deret Fibonacci setelah first dan second. Kemudian, nilai-nilai variabel first dan second akan diperbarui untuk mempersiapkan perhitungan angka berikutnya dalam deret Fibonacci.', '2024-04-01 04:50:58', '2024-04-01 04:50:58', NULL), +(493, 24, 23, 'Program memasuki blok kode do-while. Pertama-tama, variabel n diinisialisasi dengan nilai 6, yang menunjukkan bahwa kita akan mencetak deret Fibonacci hingga indeks ke-6. Variabel first diinisialisasi dengan nilai 0, dan second diinisialisasi dengan nilai 1. Ini adalah dua angka awal dalam deret Fibonacci. Variabel i diinisialisasi dengan nilai 1, yang akan digunakan untuk menghitung jumlah iterasi dalam perulangan. String \"Deret Fibonacci: \\n\" dicetak ke konsol untuk memberikan label pada deret Fibonacci yang akan dicetak. Angka pertama dan kedua dalam deret Fibonacci (0 dan 1) dicetak ke konsol. Program masuk ke dalam blok pernyataan do-while. Di dalam blok do-while, angka berikutnya dalam deret Fibonacci dihitung dengan menjumlahkan nilai first dan second, dan hasilnya disimpan dalam variabel next. Nilai next dicetak ke konsol. Nilai variabel first diperbarui dengan nilai variabel second, yang berarti angka sebelumnya dalam deret Fibonacci menjadi nilai second saat ini. Nilai variabel second diperbarui dengan nilai next, yang merupakan angka berikutnya dalam deret Fibonacci. Variabel i (penghitung iterasi) ditambah 1. Program mengevaluasi kondisi i <= n. Jika kondisi terpenuhi, program akan kembali ke langkah 8 untuk menghitung dan mencetak angka berikutnya dalam deret Fibonacci. Proses ini berlanjut sampai nilai i melebihi nilai n. Setelah itu, program keluar dari blok perulangan do-while. Program selesai dieksekusi.', '2024-04-01 04:51:05', '2024-04-01 04:51:05', NULL), +(494, 24, 24, 'Jika nilai variabel n diganti menjadi 7, maka program akan mencetak deret Fibonacci hingga indeks ke-7 sehingga hasilnya 0 1 1 2 3 5 8', '2024-04-01 04:51:12', '2024-04-01 04:51:12', NULL), +(495, 24, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) menentukan berapa kali perulangan akan dieksekusi. Dalam kasus ini, kondisi tersebut berarti perulangan akan dieksekusi ketika nilai i kurang dari atau sama dengan 5. Jadi, fungsi dari kondisi i <= 5 adalah untuk mengontrol jumlah baris dalam pola bintang yang dibuat oleh piramid. Dengan kondisi tersebut, perulangan akan dieksekusi sebanyak lima kali, menghasilkan lima baris pada pola bintang. Pada setiap iterasi, jumlah bintang yang dicetak pada setiap baris akan sesuai dengan nilai i pada saat itu. Sehingga, pada iterasi pertama, hanya satu bintang yang dicetak, pada iterasi kedua dua bintang, dan seterusnya hingga iterasi kelima.', '2024-04-01 04:52:34', '2024-04-01 04:52:34', NULL), +(496, 24, 26, 'Setiap kali iterasi dari perulangan pertama (outer loop) dieksekusi, variabel i akan bertambah satu dari nilai awal 1 hingga mencapai 5, sesuai dengan kondisi i <= 5. Di dalam setiap iterasi dari perulangan pertama, perulangan kedua (inner loop) akan dieksekusi. Pada awal iterasi dari perulangan kedua, variabel j akan diinisialisasi dengan nilai awal 1. Kondisi perulangan kedua, j <= i, menentukan berapa kali perulangan ini akan dieksekusi. Pada setiap iterasi, jumlah bintang yang dicetak akan sesuai dengan nilai i pada saat itu. Pada iterasi pertama dari perulangan pertama (ketika i adalah 1), perulangan kedua akan dieksekusi satu kali (karena j kurang dari atau sama dengan 1). Pada iterasi kedua dari perulangan pertama (ketika i adalah 2), perulangan kedua akan dieksekusi dua kali (karena j kurang dari atau sama dengan 2). Hal ini berlanjut hingga iterasi kelima dari perulangan pertama, di mana perulangan kedua akan dieksekusi sebanyak lima kali (karena j kurang dari atau sama dengan 5). Di dalam blok perulangan kedua, bintang (*) akan ditambahkan ke variabel output pada setiap iterasi. Setelah perulangan kedua selesai dieksekusi untuk nilai i tertentu, baris baru (\\n) akan ditambahkan ke variabel output, sehingga bintang-bintang yang tercetak membentuk pola piramida. Proses ini akan terus berlanjut hingga iterasi dari perulangan pertama selesai, dan hasil akhirnya, output akan dicetak ke konsol. Dengan demikian, alur program dari perulangan kedua menggunakan variabel j adalah untuk menambahkan bintang ke dalam variabel output sesuai dengan jumlah iterasi yang sesuai dengan nilai i pada saat itu, yang menghasilkan pola piramida dari bintang', '2024-04-01 04:52:52', '2024-04-01 04:52:52', NULL), +(497, 24, 27, 'Jika kondisi i <= 5 pada perulangan pertama (outer loop) diganti menjadi i <= 6, maka perulangan akan dieksekusi lebih dari sebelumnya, yaitu sebanyak enam kali. Ini berarti akan ada enam baris dalam pola bintang yang dihasilkan.', '2024-04-01 04:53:00', '2024-04-01 04:53:00', NULL), +(498, 24, 28, 'String topicArray = Arrays.toString(topics);', '2024-04-01 04:54:11', '2024-04-01 04:54:11', NULL), +(499, 24, 29, 'Sebuah array topics yang berisi beberapa topik (dalam bentuk string) dideklarasikan dan diinisialisasi dengan nilai: {\"Opinion\", \"Tech\", \"Science\", \"Health\"}. Kemudian, dilakukan pemanggilan metode Arrays.toString() untuk mengonversi array topics menjadi sebuah string. Hasil dari konversi tersebut disimpan dalam variabel topicArray. Terakhir, string yang berisi representasi dari array topics disimpan dalam variabel topicArray tersebut. String yang berisi representasi dari array topics, yang sekarang disimpan dalam variabel topicArray, dicetak ke konsol menggunakan System.out.print(topicArray)', '2024-04-01 04:54:20', '2024-04-01 04:54:20', NULL), +(500, 24, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1, 2, 3, 4};, maka kode program akan menghasilkan kesalahan pada saat kompilasi. Hal ini disebabkan oleh perbedaan tipe data antara elemen-elemen array dengan tipe data yang diharapkan, yaitu string. Kode String[] topics = {1, 2, 3, 4}; mencoba untuk membuat array topics yang berisi nilai-nilai bertipe int, namun karena kita mendeklarasikan tipe array sebagai String[], maka ini akan menyebabkan kesalahan kompilasi. Jadi, output program tidak akan dihasilkan karena kesalahan kompilasi yang terjadi. Sebelum kita dapat mencetak array tersebut, kita perlu memastikan bahwa elemen-elemen array memiliki tipe data yang sesuai dengan deklarasi array. Dalam kasus ini, kita harus mengubah elemen-elemen array menjadi string, misalnya String[] topics = {\"1\", \"2\", \"3\", \"4\"};.', '2024-04-01 04:54:27', '2024-04-01 04:54:27', NULL), +(501, 24, 31, 'Pada kode i < nilai.length; pada perulangan pertama, nilai.length mengembalikan panjang (jumlah elemen) dari array dua dimensi nilai dalam dimensi pertama, yaitu jumlah baris dari matriks nilai. Jadi, fungsi dari kondisi i < nilai.length; adalah untuk memastikan bahwa iterasi dalam perulangan pertama akan terjadi sebanyak jumlah baris dalam matriks nilai. Dalam konteks ini, i digunakan sebagai indeks baris dari matriks nilai. Jadi, perulangan akan berlangsung dari baris pertama hingga baris terakhir dari matriks nilai. Pada setiap iterasi, blok pernyataan dalam perulangan akan dieksekusi untuk setiap baris dalam matriks nilai. Jadi, i < nilai.length; memastikan bahwa perulangan pertama akan berjalan sesuai dengan jumlah baris dalam matriks nilai, yang memungkinkan program untuk melakukan operasi pada setiap elemen dari matriks tersebut.', '2024-04-01 04:56:49', '2024-04-01 04:56:49', NULL), +(502, 24, 32, 'Perulangan kedua dimulai dengan inisialisasi variabel j dengan nilai 0. Kemudian, dilakukan pengecekan kondisi j < nilai[i].length, di mana nilai[i].length mengembalikan panjang (jumlah elemen) dari array yang berada pada baris ke-i dalam matriks nilai. Dalam konteks ini, ini mengacu pada jumlah elemen (atau jumlah kolom) dari baris ke-i dari matriks nilai. Jika kondisi j < nilai[i].length benar (true), blok pernyataan dalam perulangan kedua dieksekusi. Di dalam blok perulangan kedua, setiap elemen dari baris ke-i dalam matriks nilai diakses menggunakan nilai[i][j]. Nilai tersebut ditambahkan ke variabel total. Selanjutnya, variabel jumlahData (yang digunakan untuk menghitung total jumlah elemen dalam matriks) ditambah satu untuk setiap elemen yang dihitung. Setelah iterasi dalam perulangan kedua selesai, nilai j diperbarui dengan j++, sehingga memungkinkan iterasi ke elemen berikutnya dari baris yang sama. Proses di atas diulangi hingga kondisi j < nilai[i].length tidak lagi terpenuhi. Setelah semua elemen dari baris ke-i telah dihitung, kontrol kembali ke perulangan pertama, di mana nilai i diperbarui, dan proses di atas diulangi untuk baris berikutnya dari matriks nilai. Proses ini berlanjut hingga semua baris dari matriks nilai telah diproses. Setelah seluruh matriks nilai telah diproses, nilai total dari semua elemen matriks (total) dan jumlah total elemen dalam matriks (jumlahData) telah dihitung. Rata-rata dari semua elemen matriks dihitung dengan membagi total nilai dengan jumlah total elemen, yaitu rataRata = total / jumlahData. Nilai rata-rata tersebut kemudian dicetak ke konsol. Program selesai dieksekusi.', '2024-04-01 04:56:56', '2024-04-01 04:56:56', NULL), +(503, 24, 33, 'Dengan elemen array nilai yang baru, yaitu double[][] nilai = {{75, 80, 81}, {90, 95, 90}, {70, 75, 82}} rata-rata nilai yang didapatkan adalah sekitar 82.', '2024-04-01 04:57:02', '2024-04-01 04:57:02', NULL), +(504, 24, 34, 'Kode tampil() pada method main memiliki kegunaan untuk menampilkan informasi terkait luas dan keliling lingkaran ke konsol.', '2024-04-01 05:00:15', '2024-04-01 05:00:15', NULL), +(505, 24, 35, 'Pertama, sebuah variabel lokal phi diinisialisasi dengan nilai 3.14, yang merupakan nilai phi (Ï€) yang digunakan dalam perhitungan luas dan keliling lingkaran. Selanjutnya, sebuah variabel lokal r diinisialisasi dengan nilai 14, yang merupakan jari-jari lingkaran. Kemudian, dilakukan pemanggilan method luasLingkaran(phi, r) untuk menghitung luas lingkaran. Method ini menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai luas lingkaran. Hasil perhitungan luas lingkaran disimpan dalam variabel lokal luas. Selanjutnya, dilakukan pemanggilan method kelilingLingkaran(phi, r) untuk menghitung keliling lingkaran. Method ini juga menerima dua argumen, yaitu nilai phi (Ï€) dan jari-jari lingkaran (r), dan mengembalikan nilai keliling lingkaran. Hasil perhitungan keliling lingkaran disimpan dalam variabel lokal keliling. Setelah itu, hasil perhitungan luas dan keliling lingkaran dicetak ke konsol menggunakan System.out.print(). Cetak ini mencakup pesan yang menyatakan luas lingkaran beserta nilai luasnya, diikuti dengan pesan yang menyatakan keliling lingkaran beserta nilai kelilingnya. Jadi, fungsi tampil() bertujuan untuk menghitung luas dan keliling lingkaran dengan menggunakan rumus yang sesuai, dan kemudian menampilkan hasilnya ke konsol.', '2024-04-01 05:00:21', '2024-04-01 05:00:21', NULL), +(506, 24, 36, 'Jika kode tampil() pada method main dihapus, maka program tidak akan menampilkan hasil luas dan keliling lingkaran ke konsol saat program dijalankan. Tanpa pemanggilan method tampil() di dalam method main, maka baris kode yang ada di dalam method tampil() tidak akan dieksekusi. Artinya, perhitungan luas dan keliling lingkaran tetap akan terjadi karena pemanggilan method tampil() pada method main merupakan inisiasi untuk menghitung dan menampilkan luas serta keliling lingkaran. Jadi, jika kode tampil() dihapus, program hanya akan dijalankan tanpa menampilkan hasil luas dan keliling lingkaran ke konsol.', '2024-04-01 05:00:27', '2024-04-01 05:00:27', NULL), +(507, 24, 37, 'Ya, program ini menggunakan rekursi.', '2024-04-01 05:01:30', '2024-04-01 05:01:30', NULL), +(508, 24, 38, 'Parameter Masukan: Method hitungBunga() menerima tiga parameter: saldo (saldo awal), bunga (persentase bunga tahunan), dan tahun (jumlah tahun). Pengecekan Basis: Pertama, method melakukan pengecekan apakah nilai tahun sama dengan 0. Jika ya, artinya kita telah mencapai basis rekursi, dan method akan mengembalikan nilai saldo tanpa menghitung bunga lagi. Ini penting untuk mengakhiri rekursi agar tidak terjadi panggilan rekursif yang tak terbatas. Perhitungan Bunga: Jika nilai tahun tidak sama dengan 0, artinya kita masih dalam tahap rekursi. Di sini, method menghitung bunga tahunan dengan rumus bungaTahunan = saldo * (bunga / 100). Ini menghasilkan jumlah bunga yang akan ditambahkan ke saldo awal. Perhitungan Total Saldo: Setelah menghitung bunga tahunan, method menambahkannya ke saldo awal untuk mendapatkan total saldo setelah satu tahun. Ini dilakukan dengan rumus total = saldo + bungaTahunan. Panggilan Rekursif: Selanjutnya, method hitungBunga() memanggil dirinya sendiri dengan total saldo setelah satu tahun (total) sebagai saldo awal pada panggilan rekursif berikutnya. Parameter lainnya (bunga dan tahun) tetap tidak berubah. Dengan demikian, proses ini akan berulang untuk setiap tahun sampai mencapai basis rekursi. Pengembalian Nilai: Setelah selesai semua panggilan rekursif, nilai saldo akhir setelah jumlah tahun yang ditentukan akan dikembalikan ke pemanggil method.', '2024-04-01 05:01:37', '2024-04-01 05:01:37', NULL), +(509, 24, 39, 'Jika bunga pertahun diganti menjadi 7%, jumlah uang yang dihasilkan setelah 5 tahun adalah sekitar 1.407.165,32.', '2024-04-01 05:01:45', '2024-04-01 05:01:45', NULL), +(510, 6, 19, 'Pada kode program yang diberikan, i++ digunakan sebagai operator peningkatan nilai variabel i. Lebih tepatnya, i++ adalah bentuk singkat dari i = i + 1, yang berarti setiap kali loop while dijalankan, nilai dari i akan bertambah 1.\n\nDalam konteks ini, i digunakan sebagai iterator atau penghitung loop. Loop while akan terus dijalankan selama nilai i kurang dari number. Dengan menggunakan i++, nilai i akan terus bertambah setiap kali loop dijalankan, sehingga memungkinkan loop untuk berakhir saat nilai i sama dengan number.', '2024-04-07 10:37:45', '2024-04-07 10:37:45', NULL), +(511, 6, 20, 'Variabel number diinisialisasi dengan nilai 6.\nVariabel i diinisialisasi dengan nilai 1.\nPengecekan kondisi while dilakukan: apakah nilai i kurang dari number?\nKarena nilai i saat ini adalah 1 dan number adalah 6, maka kondisi tersebut terpenuhi, dan program memasuki blok while.\nDi dalam blok while, System.out.print(i) akan mencetak nilai i, yang saat ini bernilai 1.\nSetelah mencetak nilai i, i akan ditambah 1 dengan menggunakan i++.\nKontrol kembali ke atas while, dan kondisi diuji lagi. Karena nilai i sekarang adalah 2 dan masih kurang dari number, proses ini terus berlanjut.\nLangkah 5-7 diulangi hingga nilai i mencapai 6.\nKetika nilai i menjadi 6, kondisi while tidak terpenuhi karena nilai i tidak lagi kurang dari number (karena sekarang sama dengan number).\nProgram keluar dari blok while dan selesai di sini. Tidak ada lagi instruksi yang dijalankan setelah blok while karena tidak ada kode setelahnya.', '2024-04-07 10:37:58', '2024-04-07 10:37:58', NULL), +(512, 6, 21, 'Jika kondisi dalam while diganti menjadi while (i > number), maka program tidak akan memasuki blok while sama sekali. Ini karena saat inisialisasi, nilai i adalah 1 dan nilai number adalah 6. Oleh karena itu, i tidak pernah akan lebih besar dari number dengan kondisi tersebut.\n\nDalam kasus ini, tidak akan ada output yang dihasilkan oleh program, dan program akan selesai tanpa mencetak apapun ke layar. Karena blok while tidak akan pernah dieksekusi dengan kondisi while (i > number), program akan langsung melanjutkan ke instruksi di luar blok while (jika ada) atau selesai jika tidak ada instruksi lain.', '2024-04-07 10:38:05', '2024-04-07 10:38:05', NULL), +(513, 25, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-16 17:15:45', '2024-04-16 17:15:45', NULL), +(514, 25, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-16 17:15:54', '2024-04-16 17:15:54', NULL), +(515, 25, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-16 17:15:58', '2024-04-16 17:15:58', NULL), +(516, 25, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-16 17:17:42', '2024-04-16 17:17:42', NULL), +(517, 25, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-16 17:17:49', '2024-04-16 17:17:49', NULL), +(518, 25, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-16 17:17:52', '2024-04-16 17:17:52', NULL), +(519, 25, 7, 'Penggunaan if-else pada baris kode tersebut adalah untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-16 17:47:13', '2024-04-16 17:47:13', NULL), +(520, 25, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-16 17:47:18', '2024-04-16 17:47:18', NULL), +(521, 25, 9, 'Jika nilai variabel \"itemCost\" adalah 20, maka output program akan menampilkan pesan \"Low Value Item!\". Hal ini karena nilai variabel \"itemCost\" (20) tidak memenuhi kondisi if, sehingga blok else akan dieksekusi, dan pesan \"Low Value Item!\" akan ditampilkan.', '2024-04-16 17:47:21', '2024-04-16 17:47:21', NULL), +(522, 25, 10, 'Fungsi dari baris program default adalah sebagai bagian dari struktur switch case di Java. Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-23 18:55:07', '2024-04-23 18:55:07', NULL), +(523, 25, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-23 18:55:29', '2024-04-23 18:55:29', NULL), +(524, 25, 12, 'Variabel shippingCost akan bernilai 0.50 saat nilai variabel shipping tidak cocok dengan nilai dari case manapun dalam struktur switch-case, dan blok default dieksekusi.', '2024-04-23 18:55:42', '2024-04-23 18:55:42', NULL), +(525, 26, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-26 13:27:52', '2024-04-26 13:27:52', NULL), +(526, 26, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-26 13:28:00', '2024-04-26 13:28:00', NULL), +(527, 26, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-26 13:28:05', '2024-04-26 13:28:05', NULL), +(528, 26, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-26 13:49:38', '2024-04-26 13:49:38', NULL), +(529, 26, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-26 13:49:41', '2024-04-26 13:49:41', NULL), +(530, 26, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-26 13:49:48', '2024-04-26 13:49:48', NULL), +(531, 26, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-26 20:45:25', '2024-04-26 20:45:25', NULL), +(532, 26, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-26 20:45:38', '2024-04-26 20:45:38', NULL), +(533, 26, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-26 20:45:49', '2024-04-26 20:45:49', NULL), +(534, 26, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-26 21:05:21', '2024-04-26 21:05:21', NULL), +(535, 26, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-26 21:05:33', '2024-04-26 21:05:33', NULL), +(536, 26, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-26 21:05:43', '2024-04-26 21:05:43', NULL), +(537, 26, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-26 21:19:22', '2024-04-26 21:19:22', NULL), +(538, 26, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-26 21:19:29', '2024-04-26 21:19:29', NULL), +(539, 26, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-26 21:19:40', '2024-04-26 21:19:40', NULL), +(540, 26, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-26 21:34:42', '2024-04-26 21:34:42', NULL), +(541, 26, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-26 21:34:51', '2024-04-26 21:34:51', NULL), +(542, 26, 18, '1234567', '2024-04-26 21:35:03', '2024-04-26 21:35:03', NULL), +(543, 26, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-26 21:49:25', '2024-04-26 21:49:25', NULL), +(544, 26, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-26 21:49:36', '2024-04-26 21:49:36', NULL), +(545, 26, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-26 21:49:49', '2024-04-26 21:49:49', NULL), +(546, 26, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-26 23:31:57', '2024-04-26 23:31:57', NULL), +(547, 26, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-26 23:32:11', '2024-04-26 23:32:11', NULL), +(548, 26, 24, '0 1 1 2 3 5 8 13', '2024-04-26 23:32:19', '2024-04-26 23:32:19', NULL), +(549, 26, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-26 23:53:24', '2024-04-26 23:53:24', NULL), +(550, 26, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-26 23:53:28', '2024-04-26 23:53:28', NULL), +(551, 26, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-26 23:53:36', '2024-04-26 23:53:36', NULL), +(552, 26, 28, 'System.out.print(topicArray);', '2024-04-27 00:25:17', '2024-04-27 00:25:17', NULL), +(553, 26, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-27 00:25:20', '2024-04-27 00:25:20', NULL), +(554, 26, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-27 00:25:25', '2024-04-27 00:25:25', NULL), +(555, 26, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-27 00:41:20', '2024-04-27 00:41:20', NULL), +(556, 26, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-27 00:41:26', '2024-04-27 00:41:26', NULL), +(557, 26, 33, '70', '2024-04-27 00:41:32', '2024-04-27 00:41:32', NULL), +(558, 26, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-27 00:59:38', '2024-04-27 00:59:38', NULL), +(559, 26, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-27 00:59:42', '2024-04-27 00:59:42', NULL), +(560, 26, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-27 00:59:46', '2024-04-27 00:59:46', NULL), +(561, 26, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-04-27 01:18:30', '2024-04-27 01:18:30', NULL), +(562, 26, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-04-27 01:18:34', '2024-04-27 01:18:34', NULL), +(563, 26, 39, '1407107.324173', '2024-04-27 01:18:38', '2024-04-27 01:18:38', NULL), +(564, 27, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-27 05:49:46', '2024-04-27 05:49:46', NULL), +(565, 27, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-27 05:50:01', '2024-04-27 05:50:01', NULL), +(566, 27, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-27 05:50:10', '2024-04-27 05:50:10', NULL), +(567, 27, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-27 05:59:07', '2024-04-27 05:59:07', NULL), +(568, 27, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-27 05:59:15', '2024-04-27 05:59:15', NULL), +(569, 27, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-27 05:59:24', '2024-04-27 05:59:24', NULL), +(570, 27, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-27 06:08:16', '2024-04-27 06:08:16', NULL), +(571, 27, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-27 06:08:22', '2024-04-27 06:08:22', NULL), +(572, 27, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-27 06:08:32', '2024-04-27 06:08:32', NULL), +(573, 27, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-27 06:18:53', '2024-04-27 06:18:53', NULL), +(574, 27, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-27 06:19:01', '2024-04-27 06:19:01', NULL), +(575, 27, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-27 06:19:09', '2024-04-27 06:19:09', NULL), +(576, 27, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-27 06:27:43', '2024-04-27 06:27:43', NULL), +(577, 27, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-27 06:27:50', '2024-04-27 06:27:50', NULL), +(578, 27, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-27 06:28:00', '2024-04-27 06:28:00', NULL), +(579, 27, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-27 06:36:03', '2024-04-27 06:36:03', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(580, 27, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-27 06:36:11', '2024-04-27 06:36:11', NULL), +(581, 27, 18, '1234567', '2024-04-27 06:36:18', '2024-04-27 06:36:18', NULL), +(582, 27, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-27 06:46:48', '2024-04-27 06:46:48', NULL), +(583, 27, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-27 06:46:55', '2024-04-27 06:46:55', NULL), +(584, 27, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-27 06:47:05', '2024-04-27 06:47:05', NULL), +(585, 27, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-27 06:58:37', '2024-04-27 06:58:37', NULL), +(586, 27, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-27 06:58:46', '2024-04-27 06:58:46', NULL), +(587, 27, 24, '0 1 1 2 3 5 8 13', '2024-04-27 06:58:57', '2024-04-27 06:58:57', NULL), +(588, 27, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-27 07:08:10', '2024-04-27 07:08:10', NULL), +(589, 27, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-27 07:08:16', '2024-04-27 07:08:16', NULL), +(590, 27, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-27 07:08:24', '2024-04-27 07:08:24', NULL), +(591, 27, 28, 'System.out.print(topicArray);', '2024-04-27 07:20:20', '2024-04-27 07:20:20', NULL), +(592, 27, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-27 07:20:26', '2024-04-27 07:20:26', NULL), +(593, 27, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-27 07:20:32', '2024-04-27 07:20:32', NULL), +(594, 27, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-27 07:29:18', '2024-04-27 07:29:18', NULL), +(595, 27, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-27 07:29:26', '2024-04-27 07:29:26', NULL), +(596, 27, 33, '70', '2024-04-27 07:29:31', '2024-04-27 07:29:31', NULL), +(597, 27, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-27 07:39:28', '2024-04-27 07:39:28', NULL), +(598, 27, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-27 07:39:36', '2024-04-27 07:39:36', NULL), +(599, 27, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-27 07:39:46', '2024-04-27 07:39:46', NULL), +(600, 27, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-04-27 07:47:40', '2024-04-27 07:47:40', NULL), +(601, 27, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-04-27 07:47:46', '2024-04-27 07:47:46', NULL), +(602, 27, 39, '1407107.324173', '2024-04-27 07:47:53', '2024-04-27 07:47:53', NULL), +(603, 28, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-27 13:40:26', '2024-04-27 13:40:26', NULL), +(604, 28, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-27 13:40:37', '2024-04-27 13:40:37', NULL), +(605, 28, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-27 13:40:43', '2024-04-27 13:40:43', NULL), +(606, 28, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-27 13:49:06', '2024-04-27 13:49:06', NULL), +(607, 28, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-27 13:49:11', '2024-04-27 13:49:11', NULL), +(608, 28, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-27 13:49:15', '2024-04-27 13:49:15', NULL), +(609, 28, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-27 13:57:07', '2024-04-27 13:57:07', NULL), +(610, 28, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-27 13:57:13', '2024-04-27 13:57:13', NULL), +(611, 28, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-27 13:57:20', '2024-04-27 13:57:20', NULL), +(612, 28, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-27 14:05:18', '2024-04-27 14:05:18', NULL), +(613, 28, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-27 14:05:23', '2024-04-27 14:05:23', NULL), +(614, 28, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-27 14:05:28', '2024-04-27 14:05:28', NULL), +(615, 28, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-27 14:13:33', '2024-04-27 14:13:33', NULL), +(616, 28, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-27 14:13:38', '2024-04-27 14:13:38', NULL), +(617, 28, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-27 14:13:43', '2024-04-27 14:13:43', NULL), +(618, 28, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-27 14:21:37', '2024-04-27 14:21:37', NULL), +(619, 28, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-27 14:21:43', '2024-04-27 14:21:43', NULL), +(620, 28, 18, '1234567', '2024-04-27 14:21:51', '2024-04-27 14:21:51', NULL), +(621, 28, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-27 14:29:52', '2024-04-27 14:29:52', NULL), +(622, 28, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-27 14:29:57', '2024-04-27 14:29:57', NULL), +(623, 28, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-27 14:30:04', '2024-04-27 14:30:04', NULL), +(624, 28, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-27 14:37:12', '2024-04-27 14:37:12', NULL), +(625, 28, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-27 14:37:18', '2024-04-27 14:37:18', NULL), +(626, 28, 24, '0 1 1 2 3 5 8 13', '2024-04-27 14:37:22', '2024-04-27 14:37:22', NULL), +(627, 28, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-27 14:46:30', '2024-04-27 14:46:30', NULL), +(628, 28, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-27 14:46:33', '2024-04-27 14:46:33', NULL), +(629, 28, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-27 14:46:38', '2024-04-27 14:46:38', NULL), +(630, 28, 28, 'System.out.print(topicArray);', '2024-04-27 14:54:20', '2024-04-27 14:54:20', NULL), +(631, 28, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-27 14:54:24', '2024-04-27 14:54:24', NULL), +(632, 28, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-27 14:54:27', '2024-04-27 14:54:27', NULL), +(633, 28, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-27 15:01:59', '2024-04-27 15:01:59', NULL), +(634, 28, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-27 15:02:04', '2024-04-27 15:02:04', NULL), +(635, 28, 33, '70', '2024-04-27 15:02:11', '2024-04-27 15:02:11', NULL), +(636, 28, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-27 15:09:07', '2024-04-27 15:09:07', NULL), +(637, 28, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-27 15:09:13', '2024-04-27 15:09:13', NULL), +(638, 28, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-27 15:09:20', '2024-04-27 15:09:20', NULL), +(639, 28, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.', '2024-04-27 15:16:34', '2024-04-27 15:16:34', NULL), +(640, 28, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.', '2024-04-27 15:16:41', '2024-04-27 15:16:41', NULL), +(641, 28, 39, '1407107.324173', '2024-04-27 15:16:45', '2024-04-27 15:16:45', NULL), +(642, 29, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-27 19:24:16', '2024-04-27 19:24:16', NULL), +(643, 29, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-27 19:24:32', '2024-04-27 19:24:32', NULL), +(644, 29, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-27 19:24:39', '2024-04-27 19:24:39', NULL), +(645, 29, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-27 19:35:46', '2024-04-27 19:35:46', NULL), +(646, 29, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-27 19:35:54', '2024-04-27 19:35:54', NULL), +(647, 29, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-27 19:36:02', '2024-04-27 19:36:02', NULL), +(648, 29, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-27 19:45:43', '2024-04-27 19:45:43', NULL), +(649, 29, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-27 19:45:50', '2024-04-27 19:45:50', NULL), +(650, 29, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-27 19:45:57', '2024-04-27 19:45:57', NULL), +(651, 29, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-27 19:53:17', '2024-04-27 19:53:17', NULL), +(652, 29, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-27 19:53:24', '2024-04-27 19:53:24', NULL), +(653, 29, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-27 19:53:32', '2024-04-27 19:53:32', NULL), +(654, 29, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-27 20:01:35', '2024-04-27 20:01:35', NULL), +(655, 29, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-27 20:01:41', '2024-04-27 20:01:41', NULL), +(656, 29, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-27 20:01:48', '2024-04-27 20:01:48', NULL), +(657, 29, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-27 20:10:09', '2024-04-27 20:10:09', NULL), +(658, 29, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-27 20:10:15', '2024-04-27 20:10:15', NULL), +(659, 29, 18, '1234567', '2024-04-27 20:10:22', '2024-04-27 20:10:22', NULL), +(660, 29, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-27 20:18:46', '2024-04-27 20:18:46', NULL), +(661, 29, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-27 20:18:52', '2024-04-27 20:18:52', NULL), +(662, 29, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-27 20:19:01', '2024-04-27 20:19:01', NULL), +(663, 29, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-27 20:27:27', '2024-04-27 20:27:27', NULL), +(664, 29, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-27 20:27:34', '2024-04-27 20:27:34', NULL), +(665, 29, 24, '0 1 1 2 3 5 8 13', '2024-04-27 20:27:43', '2024-04-27 20:27:43', NULL), +(666, 29, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-27 20:36:58', '2024-04-27 20:36:58', NULL), +(667, 29, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-27 20:37:03', '2024-04-27 20:37:03', NULL), +(668, 29, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-27 20:37:10', '2024-04-27 20:37:10', NULL), +(669, 29, 28, 'System.out.print(topicArray);', '2024-04-27 20:44:55', '2024-04-27 20:44:55', NULL), +(670, 29, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-27 20:45:04', '2024-04-27 20:45:04', NULL), +(671, 29, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-27 20:45:09', '2024-04-27 20:45:09', NULL), +(672, 29, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-27 20:54:42', '2024-04-27 20:54:42', NULL), +(673, 29, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-27 20:54:47', '2024-04-27 20:54:47', NULL), +(674, 29, 33, '70', '2024-04-27 20:54:54', '2024-04-27 20:54:54', NULL), +(680, 29, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-27 21:07:55', '2024-04-27 21:07:55', NULL), +(681, 29, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-27 21:08:02', '2024-04-27 21:08:02', NULL), +(682, 29, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-27 21:08:06', '2024-04-27 21:08:06', NULL), +(683, 29, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-04-27 21:16:33', '2024-04-27 21:16:33', NULL), +(684, 29, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-04-27 21:16:38', '2024-04-27 21:16:38', NULL), +(685, 29, 39, '1407107.324173', '2024-04-27 21:16:45', '2024-04-27 21:16:45', NULL), +(686, 30, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-28 05:54:12', '2024-04-28 05:54:12', NULL), +(687, 30, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-28 05:54:22', '2024-04-28 05:54:22', NULL), +(688, 30, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-28 05:54:26', '2024-04-28 05:54:26', NULL), +(689, 30, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-28 06:08:15', '2024-04-28 06:08:15', NULL), +(690, 30, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-28 06:08:21', '2024-04-28 06:08:21', NULL), +(691, 30, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-28 06:08:24', '2024-04-28 06:08:24', NULL), +(692, 30, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-28 06:15:50', '2024-04-28 06:15:50', NULL), +(693, 30, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-28 06:15:56', '2024-04-28 06:15:56', NULL), +(694, 30, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-28 06:16:00', '2024-04-28 06:16:00', NULL), +(695, 30, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-28 06:24:12', '2024-04-28 06:24:12', NULL), +(696, 30, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-28 06:24:15', '2024-04-28 06:24:15', NULL), +(697, 30, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-28 06:24:19', '2024-04-28 06:24:19', NULL), +(698, 30, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-28 06:31:57', '2024-04-28 06:31:57', NULL), +(699, 30, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-28 06:32:00', '2024-04-28 06:32:00', NULL), +(700, 30, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-28 06:32:05', '2024-04-28 06:32:05', NULL), +(701, 30, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-28 06:42:14', '2024-04-28 06:42:14', NULL), +(702, 30, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-28 06:42:18', '2024-04-28 06:42:18', NULL), +(703, 30, 18, '1234567', '2024-04-28 06:42:26', '2024-04-28 06:42:26', NULL), +(704, 30, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-28 06:50:15', '2024-04-28 06:50:15', NULL), +(705, 30, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-28 06:50:19', '2024-04-28 06:50:19', NULL), +(706, 30, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-28 06:50:26', '2024-04-28 06:50:26', NULL), +(707, 30, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-28 07:02:39', '2024-04-28 07:02:39', NULL), +(708, 30, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-28 07:02:47', '2024-04-28 07:02:47', NULL), +(709, 30, 24, '0 1 1 2 3 5 8 13', '2024-04-28 07:02:50', '2024-04-28 07:02:50', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(710, 30, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-28 07:11:30', '2024-04-28 07:11:30', NULL), +(711, 30, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-28 07:11:35', '2024-04-28 07:11:35', NULL), +(712, 30, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-28 07:11:40', '2024-04-28 07:11:40', NULL), +(713, 30, 28, 'System.out.print(topicArray);', '2024-04-28 07:23:44', '2024-04-28 07:23:44', NULL), +(714, 30, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-28 07:23:47', '2024-04-28 07:23:47', NULL), +(715, 30, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-28 07:23:51', '2024-04-28 07:23:51', NULL), +(716, 30, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-28 07:33:50', '2024-04-28 07:33:50', NULL), +(717, 30, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-28 07:33:56', '2024-04-28 07:33:56', NULL), +(718, 30, 33, '70', '2024-04-28 07:34:04', '2024-04-28 07:34:04', NULL), +(719, 30, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-28 07:41:56', '2024-04-28 07:41:56', NULL), +(720, 30, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-28 07:41:59', '2024-04-28 07:41:59', NULL), +(721, 30, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-28 07:42:04', '2024-04-28 07:42:04', NULL), +(722, 30, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-04-28 07:52:16', '2024-04-28 07:52:16', NULL), +(723, 30, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-04-28 07:52:21', '2024-04-28 07:52:21', NULL), +(724, 30, 39, '1407107.324173', '2024-04-28 07:52:28', '2024-04-28 07:52:28', NULL), +(725, 31, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-04-28 13:56:36', '2024-04-28 13:56:36', NULL), +(726, 31, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-04-28 13:56:42', '2024-04-28 13:56:42', NULL), +(727, 31, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-04-28 13:56:47', '2024-04-28 13:56:47', NULL), +(728, 31, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-04-28 14:03:05', '2024-04-28 14:03:05', NULL), +(729, 31, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-04-28 14:03:10', '2024-04-28 14:03:10', NULL), +(730, 31, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-04-28 14:03:21', '2024-04-28 14:03:21', NULL), +(731, 31, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-04-28 14:06:42', '2024-04-28 14:06:42', NULL), +(732, 31, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-04-28 14:06:48', '2024-04-28 14:06:48', NULL), +(733, 31, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-04-28 14:06:55', '2024-04-28 14:06:55', NULL), +(734, 31, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-04-28 14:10:42', '2024-04-28 14:10:42', NULL), +(735, 31, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-04-28 14:10:48', '2024-04-28 14:10:48', NULL), +(736, 31, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-04-28 14:10:55', '2024-04-28 14:10:55', NULL), +(737, 31, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-04-28 14:14:10', '2024-04-28 14:14:10', NULL), +(738, 31, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-04-28 14:14:16', '2024-04-28 14:14:16', NULL), +(739, 31, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-04-28 14:14:22', '2024-04-28 14:14:22', NULL), +(740, 31, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-04-28 14:17:19', '2024-04-28 14:17:19', NULL), +(741, 31, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-04-28 14:17:28', '2024-04-28 14:17:28', NULL), +(742, 31, 18, '1234567', '2024-04-28 14:17:33', '2024-04-28 14:17:33', NULL), +(743, 31, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-04-28 14:20:00', '2024-04-28 14:20:00', NULL), +(744, 31, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-04-28 14:20:05', '2024-04-28 14:20:05', NULL), +(745, 31, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-04-28 14:20:12', '2024-04-28 14:20:12', NULL), +(746, 31, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-04-28 14:23:41', '2024-04-28 14:23:41', NULL), +(747, 31, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-04-28 14:23:48', '2024-04-28 14:23:48', NULL), +(748, 31, 24, '0 1 1 2 3 5 8 13', '2024-04-28 14:23:53', '2024-04-28 14:23:53', NULL), +(749, 31, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-04-28 14:27:24', '2024-04-28 14:27:24', NULL), +(750, 31, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-04-28 14:27:29', '2024-04-28 14:27:29', NULL), +(751, 31, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-04-28 14:27:36', '2024-04-28 14:27:36', NULL), +(752, 31, 28, 'System.out.print(topicArray);', '2024-04-28 14:30:31', '2024-04-28 14:30:31', NULL), +(753, 31, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-04-28 14:30:38', '2024-04-28 14:30:38', NULL), +(754, 31, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-04-28 14:30:42', '2024-04-28 14:30:42', NULL), +(755, 31, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-04-28 14:32:57', '2024-04-28 14:32:57', NULL), +(756, 31, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-04-28 14:33:04', '2024-04-28 14:33:04', NULL), +(757, 31, 33, '70', '2024-04-28 14:33:08', '2024-04-28 14:33:08', NULL), +(758, 31, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-04-28 14:35:43', '2024-04-28 14:35:43', NULL), +(759, 31, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-04-28 14:35:49', '2024-04-28 14:35:49', NULL), +(760, 31, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-04-28 14:35:55', '2024-04-28 14:35:55', NULL), +(761, 31, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-04-28 14:38:08', '2024-04-28 14:38:08', NULL), +(762, 31, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-04-28 14:38:16', '2024-04-28 14:38:16', NULL), +(763, 31, 39, '1407107.324173', '2024-04-28 14:38:22', '2024-04-28 14:38:22', NULL), +(764, 32, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-05-01 19:21:50', '2024-05-01 19:21:50', NULL), +(765, 32, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-05-01 19:22:03', '2024-05-01 19:22:03', NULL), +(766, 32, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-05-01 19:22:10', '2024-05-01 19:22:10', NULL), +(767, 32, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-05-01 19:43:41', '2024-05-01 19:43:41', NULL), +(768, 32, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-05-01 19:43:45', '2024-05-01 19:43:45', NULL), +(769, 32, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-05-01 19:43:52', '2024-05-01 19:43:52', NULL), +(770, 32, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-05-01 19:56:23', '2024-05-01 19:56:23', NULL), +(771, 32, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-05-01 19:56:27', '2024-05-01 19:56:27', NULL), +(772, 32, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-05-01 19:56:33', '2024-05-01 19:56:33', NULL), +(773, 33, 1, 'aaa', '2024-05-01 20:41:11', '2024-05-01 20:41:11', NULL), +(774, 33, 2, 'aaa', '2024-05-01 20:41:16', '2024-05-01 20:41:16', NULL), +(775, 33, 3, 'aaa', '2024-05-01 20:41:20', '2024-05-01 20:41:20', NULL), +(776, 34, 1, 'aaaa', '2024-05-01 21:30:43', '2024-05-01 21:30:43', NULL), +(777, 34, 2, 'bbbb', '2024-05-01 21:30:58', '2024-05-01 21:30:58', NULL), +(778, 34, 3, 'ccccc', '2024-05-01 21:31:03', '2024-05-01 21:31:03', NULL), +(779, 34, 4, '123', '2024-05-01 21:42:24', '2024-05-01 21:42:24', NULL), +(780, 34, 5, '456', '2024-05-01 21:42:31', '2024-05-01 21:42:31', NULL), +(781, 34, 6, '666', '2024-05-01 21:42:36', '2024-05-01 21:42:36', NULL), +(782, 34, 7, 'sss', '2024-05-01 22:35:42', '2024-05-01 22:35:42', NULL), +(783, 34, 8, 'ggg', '2024-05-01 22:35:48', '2024-05-01 22:35:48', NULL), +(784, 34, 9, 'vvv', '2024-05-01 22:35:56', '2024-05-01 22:35:56', NULL), +(785, 34, 10, 'a', '2024-05-01 23:28:08', '2024-05-01 23:28:08', NULL), +(786, 34, 11, 'a', '2024-05-01 23:28:16', '2024-05-01 23:28:16', NULL), +(787, 34, 12, 's', '2024-05-01 23:28:21', '2024-05-01 23:28:21', NULL), +(788, 32, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-05-02 15:11:42', '2024-05-02 15:11:42', NULL), +(789, 32, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-05-02 15:11:49', '2024-05-02 15:11:49', NULL), +(790, 32, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-05-02 15:11:53', '2024-05-02 15:11:53', NULL), +(791, 32, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-05-02 15:20:30', '2024-05-02 15:20:30', NULL), +(792, 32, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-05-02 15:20:37', '2024-05-02 15:20:37', NULL), +(793, 32, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-05-02 15:20:44', '2024-05-02 15:20:44', NULL), +(794, 32, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-05-02 15:29:40', '2024-05-02 15:29:40', NULL), +(795, 32, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-05-02 15:29:49', '2024-05-02 15:29:49', NULL), +(796, 32, 18, '1234567', '2024-05-02 15:29:56', '2024-05-02 15:29:56', NULL), +(797, 32, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-05-02 15:38:47', '2024-05-02 15:38:47', NULL), +(798, 32, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-05-02 15:38:56', '2024-05-02 15:38:56', NULL), +(799, 32, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-05-02 15:39:06', '2024-05-02 15:39:06', NULL), +(800, 32, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-05-02 15:46:59', '2024-05-02 15:46:59', NULL), +(801, 32, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-05-02 15:47:06', '2024-05-02 15:47:06', NULL), +(802, 32, 24, '0 1 1 2 3 5 8 13', '2024-05-02 15:47:13', '2024-05-02 15:47:13', NULL), +(803, 32, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-05-02 15:56:14', '2024-05-02 15:56:14', NULL), +(804, 32, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-05-02 15:56:20', '2024-05-02 15:56:20', NULL), +(805, 32, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-05-02 15:56:31', '2024-05-02 15:56:31', NULL), +(806, 32, 28, 'System.out.print(topicArray);', '2024-05-02 16:04:21', '2024-05-02 16:04:21', NULL), +(807, 32, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-05-02 16:04:27', '2024-05-02 16:04:27', NULL), +(808, 32, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-05-02 16:04:34', '2024-05-02 16:04:34', NULL), +(809, 32, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-05-02 16:12:46', '2024-05-02 16:12:46', NULL), +(810, 32, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-05-02 16:12:53', '2024-05-02 16:12:53', NULL), +(811, 32, 33, '70', '2024-05-02 16:13:00', '2024-05-02 16:13:00', NULL), +(812, 32, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-05-02 16:21:28', '2024-05-02 16:21:28', NULL), +(813, 32, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-05-02 16:21:34', '2024-05-02 16:21:34', NULL), +(814, 32, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-05-02 16:21:41', '2024-05-02 16:21:41', NULL), +(815, 32, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-05-02 16:29:56', '2024-05-02 16:29:56', NULL), +(816, 32, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-05-02 16:30:02', '2024-05-02 16:30:02', NULL), +(817, 32, 39, '1407107.324173', '2024-05-02 16:30:11', '2024-05-02 16:30:11', NULL), +(818, 35, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-05-02 17:20:55', '2024-05-02 17:20:55', NULL), +(819, 35, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-05-02 17:21:01', '2024-05-02 17:21:01', NULL), +(820, 35, 3, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-05-02 17:21:07', '2024-05-02 17:21:07', NULL), +(821, 35, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-05-02 17:29:58', '2024-05-02 17:29:58', NULL), +(822, 35, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-05-02 17:30:06', '2024-05-02 17:30:06', NULL), +(823, 35, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-05-02 17:30:10', '2024-05-02 17:30:10', NULL), +(824, 35, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-05-02 17:38:13', '2024-05-02 17:38:13', NULL), +(825, 35, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-05-02 17:38:17', '2024-05-02 17:38:17', NULL), +(826, 35, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-05-02 17:38:22', '2024-05-02 17:38:22', NULL), +(827, 35, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-05-02 17:46:33', '2024-05-02 17:46:33', NULL), +(828, 35, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-05-02 17:46:38', '2024-05-02 17:46:38', NULL), +(829, 35, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-05-02 17:46:46', '2024-05-02 17:46:46', NULL), +(830, 35, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-05-02 17:56:36', '2024-05-02 17:56:36', NULL), +(831, 35, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-05-02 17:56:42', '2024-05-02 17:56:42', NULL), +(832, 35, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-05-02 17:56:48', '2024-05-02 17:56:48', NULL), +(833, 35, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-05-02 18:03:56', '2024-05-02 18:03:56', NULL), +(834, 35, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-05-02 18:04:03', '2024-05-02 18:04:03', NULL), +(835, 35, 18, '1234567', '2024-05-02 18:04:10', '2024-05-02 18:04:10', NULL), +(836, 35, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-05-02 18:20:28', '2024-05-02 18:20:28', NULL), +(837, 35, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-05-02 18:20:34', '2024-05-02 18:20:34', NULL), +(838, 35, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-05-02 18:20:41', '2024-05-02 18:20:41', NULL), +(839, 35, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-05-02 18:43:25', '2024-05-02 18:43:25', NULL), +(840, 35, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-05-02 18:43:31', '2024-05-02 18:43:31', NULL), +(841, 35, 24, '0 1 1 2 3 5 8 13', '2024-05-02 18:43:35', '2024-05-02 18:43:35', NULL), +(842, 35, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-05-02 18:54:59', '2024-05-02 18:54:59', NULL), +(843, 35, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-05-02 18:55:04', '2024-05-02 18:55:04', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(844, 35, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-05-02 18:55:08', '2024-05-02 18:55:08', NULL), +(845, 35, 28, 'System.out.print(topicArray);', '2024-05-02 19:16:53', '2024-05-02 19:16:53', NULL), +(846, 35, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-05-02 19:16:56', '2024-05-02 19:16:56', NULL), +(847, 35, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-05-02 19:17:01', '2024-05-02 19:17:01', NULL), +(848, 35, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-05-02 19:27:00', '2024-05-02 19:27:00', NULL), +(849, 35, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-05-02 19:27:05', '2024-05-02 19:27:05', NULL), +(850, 35, 33, '70', '2024-05-02 19:27:12', '2024-05-02 19:27:12', NULL), +(851, 35, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-05-02 19:41:07', '2024-05-02 19:41:07', NULL), +(852, 35, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-05-02 19:41:10', '2024-05-02 19:41:10', NULL), +(853, 35, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-05-02 19:41:15', '2024-05-02 19:41:15', NULL), +(854, 35, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-05-02 19:50:10', '2024-05-02 19:50:10', NULL), +(855, 35, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-05-02 19:50:15', '2024-05-02 19:50:15', NULL), +(856, 35, 39, '1407107.324173', '2024-05-02 19:50:22', '2024-05-02 19:50:22', NULL), +(857, 36, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-05-03 03:20:50', '2024-05-03 03:20:50', NULL), +(858, 36, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-05-03 03:21:08', '2024-05-03 03:21:08', NULL), +(859, 36, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-05-03 03:21:15', '2024-05-03 03:21:15', NULL), +(860, 36, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-05-03 03:29:41', '2024-05-03 03:29:41', NULL), +(861, 36, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-05-03 03:29:46', '2024-05-03 03:29:46', NULL), +(862, 36, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-05-03 03:29:55', '2024-05-03 03:29:55', NULL), +(863, 36, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-05-03 03:38:50', '2024-05-03 03:38:50', NULL), +(864, 36, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-05-03 03:38:56', '2024-05-03 03:38:56', NULL), +(865, 36, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-05-03 03:39:02', '2024-05-03 03:39:02', NULL), +(866, 36, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-05-03 03:54:45', '2024-05-03 03:54:45', NULL), +(867, 36, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-05-03 03:54:51', '2024-05-03 03:54:51', NULL), +(868, 36, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-05-03 03:54:58', '2024-05-03 03:54:58', NULL), +(869, 36, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-05-03 04:04:39', '2024-05-03 04:04:39', NULL), +(870, 36, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-05-03 04:04:46', '2024-05-03 04:04:46', NULL), +(871, 36, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-05-03 04:04:52', '2024-05-03 04:04:52', NULL), +(872, 36, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-05-03 04:13:36', '2024-05-03 04:13:36', NULL), +(873, 36, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-05-03 04:13:42', '2024-05-03 04:13:42', NULL), +(874, 36, 18, '1234567', '2024-05-03 04:13:48', '2024-05-03 04:13:48', NULL), +(875, 36, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-05-03 04:31:24', '2024-05-03 04:31:24', NULL), +(876, 36, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-05-03 04:31:29', '2024-05-03 04:31:29', NULL), +(877, 36, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-05-03 04:31:34', '2024-05-03 04:31:34', NULL), +(878, 36, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-05-03 04:50:48', '2024-05-03 04:50:48', NULL), +(879, 36, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-05-03 04:50:56', '2024-05-03 04:50:56', NULL), +(880, 36, 24, '0 1 1 2 3 5 8 13', '2024-05-03 04:51:06', '2024-05-03 04:51:06', NULL), +(881, 36, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-05-03 05:01:30', '2024-05-03 05:01:30', NULL), +(882, 36, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-05-03 05:01:34', '2024-05-03 05:01:34', NULL), +(883, 36, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-05-03 05:01:40', '2024-05-03 05:01:40', NULL), +(884, 36, 28, 'System.out.print(topicArray);', '2024-05-03 05:24:23', '2024-05-03 05:24:23', NULL), +(885, 36, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-05-03 05:24:26', '2024-05-03 05:24:26', NULL), +(886, 36, 30, 'Jika elemen array topics diubah menjadi String[] topics = {1,2,3,4};, maka output yang dihasilkan program akan menjadi: [1, 2, 3, 4]\nIni disebabkan oleh penggunaan Arrays.toString(topics), yang mengonversi array topics menjadi representasi string. Meskipun elemen-elemen array diinisialisasi sebagai integer, Java akan secara otomatis mengonversi mereka menjadi string dalam representasi yang sesuai untuk mencetak array. Sehingga, meskipun elemen array sebelumnya adalah string, hasilnya akan tetap sama.', '2024-05-03 05:24:29', '2024-05-03 05:24:29', NULL), +(887, 36, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-05-03 05:43:44', '2024-05-03 05:43:44', NULL), +(888, 36, 32, 'loop ini bertugas untuk mengakses setiap nilai dalam baris ke-i dari array nilai. Variabel j kemudian digunakan untuk mengakses setiap nilai secara berurutan dalam baris tersebut. Nilai-nilai ini kemudian dijumlahkan ke dalam variabel total, sementara jumlahData diinkrementasi untuk merekam jumlah nilai yang telah diakses.', '2024-05-03 05:43:47', '2024-05-03 05:43:47', NULL), +(889, 36, 33, '70', '2024-05-03 05:43:51', '2024-05-03 05:43:51', NULL), +(890, 36, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-05-03 05:54:57', '2024-05-03 05:54:57', NULL), +(891, 36, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-05-03 05:55:01', '2024-05-03 05:55:01', NULL), +(892, 36, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-05-03 05:55:05', '2024-05-03 05:55:05', NULL), +(893, 36, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-05-03 06:04:58', '2024-05-03 06:04:58', NULL), +(894, 36, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-05-03 06:05:03', '2024-05-03 06:05:03', NULL), +(895, 36, 39, '1407107.324173', '2024-05-03 06:05:07', '2024-05-03 06:05:07', NULL), +(896, 37, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-06-03 05:09:54', '2024-06-03 05:09:54', NULL), +(897, 37, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-06-03 05:10:11', '2024-06-03 05:10:11', NULL), +(898, 37, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-06-03 05:10:17', '2024-06-03 05:10:17', NULL), +(899, 37, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-06-03 05:31:36', '2024-06-03 05:31:36', NULL), +(900, 37, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-06-03 05:31:41', '2024-06-03 05:31:41', NULL), +(901, 37, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-06-03 05:31:47', '2024-06-03 05:31:47', NULL), +(902, 37, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-06-03 05:41:03', '2024-06-03 05:41:03', NULL), +(903, 37, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-06-03 05:41:10', '2024-06-03 05:41:10', NULL), +(904, 37, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-06-03 05:41:16', '2024-06-03 05:41:16', NULL), +(905, 37, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-06-03 05:50:28', '2024-06-03 05:50:28', NULL), +(906, 37, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-06-03 05:50:32', '2024-06-03 05:50:32', NULL), +(907, 37, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-06-03 05:50:37', '2024-06-03 05:50:37', NULL), +(908, 37, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-06-03 06:06:41', '2024-06-03 06:06:41', NULL), +(909, 37, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-06-03 06:06:46', '2024-06-03 06:06:46', NULL), +(910, 37, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-06-03 06:06:50', '2024-06-03 06:06:50', NULL), +(911, 37, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-06-03 06:24:19', '2024-06-03 06:24:19', NULL), +(912, 37, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-06-03 06:24:24', '2024-06-03 06:24:24', NULL), +(913, 37, 18, '1234567', '2024-06-03 06:24:28', '2024-06-03 06:24:28', NULL), +(914, 37, 19, 'i++ adalah ekspresi increment yang bertujuan untuk meningkatkan nilai variabel i sebanyak satu setiap kali iterasi dilakukan. Tanpa adanya peningkatan nilai i, perulangan akan terus berlangsung tanpa batas (loop tak terbatas) jika kondisi i < number selalu terpenuhi. Dengan adanya i++, nilai i akan terus bertambah satu setiap kali blok perulangan dieksekusi, sehingga perulangan akan berhenti saat nilai i mencapai nilai number. Jadi, kegunaan dari i++ dalam kode program di atas adalah untuk memastikan bahwa nilai i bertambah satu setiap kali iterasi perulangan dilakukan, sehingga perulangan akan berakhir ketika nilai i mencapai nilai number.', '2024-06-03 06:39:36', '2024-06-03 06:39:36', NULL), +(915, 37, 20, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Selanjutnya, sebuah variabel i dideklarasikan dan diinisialisasi dengan nilai 1: int i = 1;. Program memasuki loop while, di mana kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), maka blok pernyataan di dalam while dieksekusi. Di dalam blok perulangan, nilai i dicetak ke konsol tanpa baris baru menggunakan System.out.print(i);. Setelah itu, nilai i ditambah 1 dengan menggunakan ekspresi i++. Kontrol kembali ke atas loop while, dan kondisi i < number dievaluasi lagi. Proses ini terus berulang sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i sama dengan nilai number, yaitu 6, kondisi i < number menjadi salah dan eksekusi keluar dari loop while. Program selesai dieksekusi.', '2024-06-03 06:39:42', '2024-06-03 06:39:42', NULL), +(916, 37, 21, 'Tidak ada output yang akan dikeluarkan oleh program dalam kasus ini.', '2024-06-03 06:39:49', '2024-06-03 06:39:49', NULL), +(917, 37, 22, 'Baris kode \"int next = first + second\" berfungsi untuk mengalikan nilai dari variabel first dan second.', '2024-06-03 07:01:21', '2024-06-03 07:01:21', NULL), +(918, 37, 23, '1. Inisialisasi variabel n dengan nilai 6, first dengan 0, second dengan 1, dan i dengan 1.\n2. Cetak teks \"Deret Fibonacci:\".\n3. Cetak nilai first dan second.\n4. Masuk ke dalam loop do-while.\n5. Di dalam loop, hitung nilai next dengan menjumlahkan nilai first dan second.\n6. Cetak nilai next.\n7. Perbarui nilai first dengan nilai second, dan nilai second dengan nilai next.\n8. Tingkatkan nilai i sebanyak 1.\n9. Ulangi langkah 5-8 selama nilai i kurang dari atau sama dengan n.', '2024-06-03 07:01:27', '2024-06-03 07:01:27', NULL), +(919, 37, 24, '0 1 1 2 3 5 8 13', '2024-06-03 07:01:31', '2024-06-03 07:01:31', NULL), +(920, 37, 25, 'Kondisi i <= 5 pada perulangan pertama (outer loop) bertujuan untuk memastikan bahwa loop akan berjalan dari baris kelima hingga baris ke-i', '2024-06-03 07:09:37', '2024-06-03 07:09:37', NULL), +(921, 37, 26, 'Dalam perulangan kedua (inner loop) yang menggunakan variabel j, program ini sebenarnya mencetak bintang (*) sebanyak dua kali lipat dari nilai variabel i. Jadi, pada setiap iterasi dari perulangan luar (yang diatur oleh variabel i), perulangan dalam (yang diatur oleh variabel j) akan mencetak bintang sebanyak dua kali lipat dari nilai i saat itu. Misalnya, pada baris pertama (ketika i = 1), program akan mencetak dua bintang. Pada baris kedua (ketika i = 2), program akan mencetak empat bintang, dan seterusnya. Sehingga, outputnya akan menjadi seperti pola segitiga dengan tinggi lima baris, di mana jumlah bintang pada setiap baris adalah dua kali lipat dari nomor baris saat itu.', '2024-06-03 07:09:42', '2024-06-03 07:09:42', NULL), +(922, 37, 27, '*\n**\n***\n****\n*****\n******\n*******', '2024-06-03 07:09:49', '2024-06-03 07:09:49', NULL), +(923, 37, 28, 'System.out.print(topicArray);', '2024-06-03 07:25:08', '2024-06-03 07:25:08', NULL), +(924, 37, 29, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-06-03 07:25:12', '2024-06-03 07:25:12', NULL), +(925, 37, 30, 'Program dimulai dengan mendeklarasikan array topics yang berisi empat string: \"Opinion\", \"Tech\", \"Science\", dan \"Health\".\nSelanjutnya, kita menggunakan metode Arrays.toString(topics) untuk mengubah array tersebut menjadi sebuah string.\nHasil dari langkah kedua, yaitu string yang berisi representasi dari array topics, disimpan ke dalam variabel topicArray.\nKemudian, kita mencetak isi dari topicArray menggunakan System.out.print(topicArray).', '2024-06-03 07:25:19', '2024-06-03 07:25:19', NULL), +(926, 37, 31, 'Mengeksekusi perulangan sebanyak nilai.length', '2024-06-03 07:33:03', '2024-06-03 07:33:03', NULL), +(927, 37, 32, '70', '2024-06-03 07:33:09', '2024-06-03 07:33:09', NULL), +(928, 37, 33, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-06-03 07:33:15', '2024-06-03 07:33:15', NULL), +(929, 37, 34, 'Metode tampil() dalam metode main berfungsi untuk menghitung luas dan keliling lingkaran, tetapi tidak melakukan tindakan apa pun setelahnya. Sehingga, memanggil tampil() tidak memberikan hasil yang ditampilkan.', '2024-06-03 07:40:56', '2024-06-03 07:40:56', NULL), +(930, 37, 35, 'pada urutan penggunaan fungsi luasLingkaran() dan kelilingLingkaran(), yang mungkin memberikan kesan bahwa ada hubungan urutan yang penting dalam menghitung luas dan keliling lingkaran. Namun, sebenarnya tidak ada hubungan urutan yang penting antara keduanya, karena keduanya hanya melakukan perhitungan berdasarkan parameter yang diberikan.', '2024-06-03 07:41:02', '2024-06-03 07:41:02', NULL), +(931, 37, 36, 'Hasil akan tetap menampilkan Luas Lingkaran pada fungsi public static void tampil()', '2024-06-03 07:41:06', '2024-06-03 07:41:06', NULL), +(932, 37, 37, 'Program ini sebenarnya tidak menggunakan rekursi. Meskipun terdapat pemanggilan fungsi hitungBunga() di dalam dirinya sendiri, itu tidak terjadi secara rekursif.\n\nPemanggilan fungsi hitungBunga() di dalam blok else adalah bagian dari pendekatan iteratif. Fungsi ini dipanggil secara berulang dengan argumen yang berbeda hingga mencapai kondisi dasar (tahun == 0), namun tidak menggunakan rekursi karena tidak ada \"pemanggilan balik\" dari fungsi tersebut ke dirinya sendiri secara eksplisit. Sehingga, program ini tidak menggunakan rekursi', '2024-06-03 08:04:56', '2024-06-03 08:04:56', NULL), +(933, 37, 38, 'Pertama, program memeriksa apakah variabel tahun sama dengan 0. Jika ya, itu berarti perhitungan bunga telah selesai, dan fungsi akan mengembalikan nilai saldo tanpa melakukan perhitungan tambahan.\nJika kondisi pada langkah sebelumnya tidak terpenuhi, maka program akan melanjutkan ke blok else. Di dalam blok else, program akan menghitung bunga tahunan dengan rumus saldo * (bunga / 100). Namun, ini adalah kesalahan karena seharusnya kita harus membagi bunga dengan jumlah tahun, bukan dengan 100.\nSetelah itu, program akan menghitung total saldo dengan menambahkan saldo awal dengan bunga tahunan. Namun, dalam penjelasan yang salah ini, kita dapat mengatakan bahwa total saldo dihitung dengan membagi saldo dengan bunga, yang tentu saja tidak benar.\nTerakhir, program akan memanggil fungsi hitungBunga() secara rekursif dengan nilai total saldo sebagai saldo baru, bunga yang sama, dan tahun yang berkurang satu. Ini akan terus berulang hingga kondisi tahun == 0 terpenuhi, dan saldo akhir akan dikembalikan.', '2024-06-03 08:05:00', '2024-06-03 08:05:00', NULL), +(934, 37, 39, '1407107.324173', '2024-06-03 08:05:07', '2024-06-03 08:05:07', NULL), +(935, 39, 1, 'Karena untuk menghitung volume dan luas permukaan balok dibutuhkan bilangan bulat', '2024-06-10 01:56:00', '2024-06-10 01:56:00', NULL), +(936, 39, 2, '1. inisialisai panjang, lebar, tinggi\n2. mengihutung volume balok menggunakan rumus panjang * lebar * tinggi;\n3. menghitung luas permukaan balok menggunakan rumus 2*(panjang * lebar + panjang * tinggi + lebar * tinggi);\n4. Cetak hasil Volume balok dan luas permukaan balok menggunakan fungsi System.out.print(\"Volume balok = \"+ vBalok + \", \"); System.out.print(\"Luas permukaan balok = \"+ lBalok);', '2024-06-10 01:56:11', '2024-06-10 01:56:11', NULL), +(937, 39, 3, 'mengganti nilai pada variable tinggi, panjang, lebar', '2024-06-10 01:56:15', '2024-06-10 01:56:15', NULL), +(938, 39, 4, 'Untuk pemilihan kondisi tertentu', '2024-06-10 02:00:48', '2024-06-10 02:00:48', NULL), +(939, 39, 5, 'Inisialisasi variabel nilai dengan nilai 80\nJika nilai yang diinisialisasi bernilai lebih dari 70 maka mencetak hasil \"Selamat anda lulus!\"', '2024-06-10 02:00:52', '2024-06-10 02:00:52', NULL), +(940, 39, 6, 'Tidak ada output yang ditampilkan', '2024-06-10 02:00:57', '2024-06-10 02:00:57', NULL), +(941, 39, 7, 'Untuk menentukan pemilihan kondisi jika kondisi bernilai benar maka if dijalankan ketika kondisi salah maka else yang dieksekusi', '2024-06-10 02:06:07', '2024-06-10 02:06:07', NULL), +(942, 39, 8, '1, menginisialisasi nilai itemCost \n2. menginisialisasi variabel order dengan string kosong\n3. jika nilai itemCost lebih dari 24.00 maka akan memanggil variable order dengan mencetak High Value Item!\n4. jika nilai itemCost tidak lebih dari 24.00 maka akan memanggil variable order dengan mencetak Low Value Item!', '2024-06-10 02:06:12', '2024-06-10 02:06:12', NULL), +(943, 39, 9, 'Low Value Item!', '2024-06-10 02:06:16', '2024-06-10 02:06:16', NULL), +(944, 39, 10, 'Program default dieksekusi ketika variable shipping tidak sesuai dengan kondisi case', '2024-06-10 02:16:01', '2024-06-10 02:16:01', NULL), +(945, 39, 11, '1. menginisialisasi variable shipping dan shippingCost\n2. membuat pemilihan kondisi menggunakan switch case\n3. menentukan jika kondisi shipping bernilai \"Regular\" maka hasil yang di cetak bernilai 0\n4. jika kondisi shipping bernilai \"Express\" maka hasil yang di cetak bernilai 1.75\n5. jika kondisi shipping tidak bernilai \"Regular\" dan \"Express\" maka hasil yang dicetak 0.50', '2024-06-10 02:16:06', '2024-06-10 02:16:06', NULL), +(946, 39, 12, 'ketika kondisi shipping tidak bernilai \"Regular\" dan \"Express\"', '2024-06-10 02:16:13', '2024-06-10 02:16:13', NULL), +(947, 39, 13, 'karena variabel isMember bernilai True atau False', '2024-06-10 02:26:51', '2024-06-10 02:26:51', NULL), +(948, 39, 14, '1. Inisiasi variabel isMember dengan nilai False, total dengan nilai 200000, dan diskon bernilai 0\n2. pemilihan kondisi jika isMember bernilai False maka menjalankan pemilihan kondisi else if (total > 150000).\n3. mengembalikan nilai disnkon bernilai 15\n4. mencetak hasil berupa \"diskon yang didapatkan adalah diskon 15%\"', '2024-06-10 02:26:57', '2024-06-10 02:26:57', NULL), +(949, 39, 15, 'jika variabel total bernilai 30.000 maka output yang dihasilkan yaitu diskon yang didapatkan adalah diskon 5%\"', '2024-06-10 02:27:03', '2024-06-10 02:27:03', NULL), +(950, 39, 16, 'untuk increament', '2024-06-10 02:33:19', '2024-06-10 02:33:19', NULL), +(951, 39, 17, '1. inisialisasi variabel number\n2. menjalankan kondisi perulangan dengan nilai variabel i = 1, kemudian dicek jika i kurang dari number maka mencetak nilai i. lalu nilai i diincremant atau naik 1 nilai\n3. jika nilai i masih kurang dari number, maka akan dicetak nilai i\n4. jika nilai i tidak kurang dari number maka perulangan berhenti', '2024-06-10 02:33:25', '2024-06-10 02:33:25', NULL), +(952, 39, 18, 'maka perulangan dijalankan sebanyak 7 kali, mulai dari i = 1 sampai dengan 7', '2024-06-10 02:33:32', '2024-06-10 02:33:32', NULL), +(953, 39, 19, 'untuk increament', '2024-06-10 02:36:52', '2024-06-10 02:36:52', NULL), +(954, 39, 20, '1. inisialisasi variabel number, dan i\n2. pengecekan kondisi jika i kurang dari number, maka akan dicetak nilai i\n3. kemudian nilai i diincreament (naik 1 angka)', '2024-06-10 02:36:59', '2024-06-10 02:36:59', NULL), +(955, 39, 21, 'tidak mencetak apapun', '2024-06-10 02:37:06', '2024-06-10 02:37:06', NULL), +(956, 39, 22, 'untuk menambah nilai dari variabel first dan second', '2024-06-10 02:45:40', '2024-06-10 02:45:40', NULL), +(957, 39, 23, '1. menjalankan program do\n2. menjalankan variabel next yaitu menambah nilai first dan second\n3. mencetak hasil variabel next\n4. kemudian mengubah nilai variabel first dengan nilai second, kemudian mengubah nilai variabel second dengan nilai next\n5. increament variabel i\n6. jika nilai variabel i kurang dari samadengan n, maka program do dijalankan. namun jika i tidak bernilai kurang dari samadengan n maka perulangan berhenti', '2024-06-10 02:45:45', '2024-06-10 02:45:45', NULL), +(958, 39, 24, 'maka perulangan terus dijalankan hingga nilai i maksimal samadengan 7', '2024-06-10 02:45:53', '2024-06-10 02:45:53', NULL), +(959, 39, 25, 'untuk melakukan perulangan pertama sebanyak 5 kali yaitu dari nilai 1 samadengan 5', '2024-06-10 02:53:08', '2024-06-10 02:53:08', NULL), +(960, 39, 26, '1. inisialisasi variabel j = 1, kemudian pengecekan jika nilai j kurang dari nilai j maka mengeksekusi output += \"*\";', '2024-06-10 02:53:15', '2024-06-10 02:53:15', NULL), +(961, 39, 27, 'maka perulangan pertama dieksekusi sebanyak 6 kali', '2024-06-10 02:53:22', '2024-06-10 02:53:22', NULL), +(962, 39, 28, 'String topicArray = Arrays.toString(topics);', '2024-06-10 03:07:34', '2024-06-10 03:07:34', NULL), +(963, 39, 29, '1. menginisialisasi variabel array 1 dimensi\n2. mengubah nilai array menjadi string\n3. mencetak hasil array yang telah diubah menjadi string', '2024-06-10 03:07:40', '2024-06-10 03:07:40', NULL), +(964, 39, 30, 'muncul error. karena Arrays.toString untuk type data string pada array', '2024-06-10 03:07:45', '2024-06-10 03:07:45', NULL), +(965, 40, 1, 'Karena untu memberikan hasil pada perhitungan tersebut membutuhkan nilai bilangan bulat atau number', '2024-06-10 03:14:12', '2024-06-10 03:14:12', NULL), +(966, 40, 2, '1.Menginisialisasi terlebih dahulu setiap variabel seperti panjang, lebar, dan tinggi. Kemudian memberikan nilai setiap variabelnya\n2.Menghitung rumus volume balok yiatu panjang * lebar * tinggi;\n3.Menghitung rumus luas permukaan balok yaitu 2*(panjang * lebar + panjang * tinggi + lebar * tinggi);\n4.Cetak hasil dengan cara print variabel vBalok untuk volume dan lBalok untuk luas permukaan', '2024-06-10 03:14:20', '2024-06-10 03:14:20', NULL), +(967, 40, 3, 'Dengan langsung mengubah nilai pada setiap variabelnya', '2024-06-10 03:14:25', '2024-06-10 03:14:25', NULL), +(968, 40, 4, 'Untuk pemilihan pada kondisi tertentu, jika sesuai akan dieksekusi', '2024-06-10 03:21:50', '2024-06-10 03:21:50', NULL), +(969, 40, 5, '1.Menginisialisasi variabel nilai dengan tipe data integer dan valuenya yaitu 8.\n2.Terdapat kondisi berupa if jika nilai lebih besar dari 70 maka akan menampilkan selamat anda lulus!\n3.Sehingga jika yang diinputkan berupa 80 maka akan tampil Selamat anda lulus!', '2024-06-10 03:21:57', '2024-06-10 03:21:57', NULL), +(970, 40, 6, 'Tidak ada output', '2024-06-10 03:22:04', '2024-06-10 03:22:04', NULL), +(971, 40, 7, 'Untuk menentukan suatu kondisi perulangan, jika if sesuai dengan kondisi if maka akan dieksekusi proses tersebut jika tidak maka yang dieksekusi adalah proses pada else', '2024-06-10 03:28:51', '2024-06-10 03:28:51', NULL), +(972, 40, 8, '1.Menginisialisasi variabel itemCost dengan tipe data double dan memberi nilai yaitu 30.99\n2.Menginisialisasi variabel order dengan tipe data string dan memberi nilai yaitu kosong/\" \"\n3.Terdapat kondisi jika itemCost lebih dari 24.00 maka akan dicetak High Value Item!\n4.Selain itu maka yang dicetak adalah Low Value Item!\n5.Cetak variabel order', '2024-06-10 03:28:57', '2024-06-10 03:28:57', NULL), +(973, 40, 9, 'Low Value Item!', '2024-06-10 03:29:04', '2024-06-10 03:29:04', NULL), +(974, 40, 10, 'Jika tidak terdapat case yang sesuai makan default yang dijalankan', '2024-06-10 03:34:55', '2024-06-10 03:34:55', NULL), +(975, 40, 11, '1.Menginisialisasi variabel shipping dengan tipe data string dan nilai yaitu Express\n2.Terdapat case yang pertama Regular maka yang akan dieksekusi 0\n3.Terdapat case yang pertama Express maka yang akan dieksekusi 1.75\n4.Jika tidak ada case yang cocok maka default yang akan dijalankan yaitu 0.50;\n5.Cetak hasil +shippingCost', '2024-06-10 03:35:02', '2024-06-10 03:35:02', NULL), +(976, 40, 12, 'Jika tidak ada case yang cocok maka akan default', '2024-06-10 03:35:09', '2024-06-10 03:35:09', NULL), +(977, 40, 13, 'Karena input yang diberikan hanya dua kondisi yaitu true dan false.', '2024-06-10 03:41:45', '2024-06-10 03:41:45', NULL), +(978, 40, 14, 'Jika isMember false maka, jika total kurang dari 100000 maka akan mendapatkan diskon sebesar 5 . Jika total lebih dari sama dengan 100000 dan total kurang dari sama dengan 150000 maka diskon sebesar 10. Dan jika total lebih dari 150000 maka diskon sebesar 15', '2024-06-10 03:41:50', '2024-06-10 03:41:50', NULL), +(979, 40, 15, 'Maka yang ditampilkan diskon yang didapatkan adalah 10%', '2024-06-10 03:41:56', '2024-06-10 03:41:56', NULL), +(980, 40, 16, 'Yaitu untuk melakukan perulangan dengan kondisi yang sesuai. Atau increment', '2024-06-10 03:50:34', '2024-06-10 03:50:34', NULL), +(981, 40, 17, '1.Menginisialisasi variabel number dengan tipe data integer dan bernilai 6\n2.Terdapat perulangan yaitu i dimulai dari 1 dan kondisi jika i kurang dari number maka perulangan akan dilakukan terus menerus (i++)\n3.Cetak variabel i sesuai kondisi', '2024-06-10 03:50:39', '2024-06-10 03:50:39', NULL), +(982, 40, 18, '1,2,3,4,5,6,7', '2024-06-10 03:50:45', '2024-06-10 03:50:45', NULL), +(983, 41, 1, 'karena data pada variabel panjang, lebar, tinggi, vBalok, dan lBalok berupa angka yang harus dihitung menggunakan rumus Luas Permukaan Balok', '2024-06-10 03:59:51', '2024-06-10 03:59:51', NULL), +(984, 41, 2, 'langkah perhitungan volume :\nvBalok = panjang * lebar * tinggi;\nsehingga vBalok = 10*6*7 = 420\n\nlangkah luas permukaan balok:\nlBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi);\nlBalok = 2*(10*6+10*7+6*7) = 344', '2024-06-10 03:59:57', '2024-06-10 03:59:57', NULL), +(985, 41, 3, 'angka pada variabel nilai panjang, lebar, dan tinggi langsung diganti dengan sesuai kebutuhan', '2024-06-10 04:00:02', '2024-06-10 04:00:02', NULL), +(986, 41, 4, 'melakukan perulangan untuk mencari nilai yang lebih dari 70', '2024-06-10 04:04:50', '2024-06-10 04:04:50', NULL), +(987, 41, 5, 'Memanggil nilai dari variabel nilai kemudian dilakukan loopingin dengan jika nilai pada variabel di atas 70 maka mengeluarkan output Selamat anda lulus!', '2024-06-10 04:04:55', '2024-06-10 04:04:55', NULL), +(988, 41, 6, 'Tidak menghasilkan apa-apa karena tidak memiliki perulangan else untuk kondisi selain if', '2024-06-10 04:05:00', '2024-06-10 04:05:00', NULL), +(989, 41, 7, 'digunakan untuk melakukan perulangan mencari kondisi apakah nilai pada variabel itemCost di bawah 24.00 atau di atas 24.00', '2024-06-10 04:11:51', '2024-06-10 04:11:51', NULL), +(990, 41, 8, 'terdapat nilai dari variabel itemCost yaitu 30.99 kemudian nilai tersebut diproses pada looping karena nilai tersebut di atas 24.00 maka output yang dihasilkan High Value Item!', '2024-06-10 04:11:55', '2024-06-10 04:11:55', NULL), +(991, 41, 9, 'Low Value Item!', '2024-06-10 04:12:00', '2024-06-10 04:12:00', NULL), +(992, 41, 10, 'jika casenya tidak terpenuhi maka memanggil nilai default', '2024-06-10 04:17:58', '2024-06-10 04:17:58', NULL), +(993, 41, 11, 'inisialisasi shipping dan shippingCost kemudian menggunakan pemilihan switch case jika shipping bernilai regular maka shippingCost yang dicetak 0 namun jika shipping bernilai express maka shippingCost yang dicetak 1.75 namun jika kedua kondisi tersebut tidak terpenuhi maka memanggil nilai default yaitu 0.50', '2024-06-10 04:18:03', '2024-06-10 04:18:03', NULL), +(994, 41, 12, 'ketika shipping tidak bernilai regular atau express', '2024-06-10 04:18:07', '2024-06-10 04:18:07', NULL), +(995, 41, 13, 'karena untuk nilai variabel isMember true or false', '2024-06-10 04:27:48', '2024-06-10 04:27:48', NULL), +(996, 41, 14, 'jika nilai isMember adalah false maka nilai diskon yang di ambil adalah 50 karena nilai total = 200000', '2024-06-10 04:27:52', '2024-06-10 04:27:52', NULL), +(997, 41, 15, 'berarti mendapatkan diskon 10', '2024-06-10 04:27:56', '2024-06-10 04:27:56', NULL), +(998, 41, 16, 'untuk melakukan perulangan sampai batas kondisi yang ditentukan', '2024-06-10 04:31:11', '2024-06-10 04:31:11', NULL), +(999, 41, 17, 'menginisialisasi variabel number kemudian melakukan perulangan menggunakan syntax for dengan kondisi for(int i = 1; i < number; i++)', '2024-06-10 04:31:15', '2024-06-10 04:31:15', NULL), +(1000, 41, 18, '1234567', '2024-06-10 04:31:18', '2024-06-10 04:31:18', NULL), +(1001, 41, 19, 'sebagai perulangan', '2024-06-10 04:34:56', '2024-06-10 04:34:56', NULL), +(1002, 41, 20, 'menginisialisasi variabel i kemudian melakuakn perulangan mulai dari 1 sampai kurang dari 6', '2024-06-10 04:35:02', '2024-06-10 04:35:02', NULL), +(1003, 41, 21, 'maka i akan melakukan perulangan terus menerus', '2024-06-10 04:35:11', '2024-06-10 04:35:11', NULL), +(1004, 41, 22, 'untuk menjumlahkan nilai dari variabel first dan variabel second', '2024-06-10 04:38:45', '2024-06-10 04:38:45', NULL), +(1005, 41, 23, 'menginisialisasi n, first, second, kemudian akan di cetak deret fibonacci sesuai dengan kondisi perulanngan do while', '2024-06-10 04:38:49', '2024-06-10 04:38:49', NULL), +(1006, 41, 24, '0 1 1 2 3 5 8 13 21', '2024-06-10 04:38:54', '2024-06-10 04:38:54', NULL), +(1007, 41, 25, 'untuk menentukan kondisi perulangan akan berhenti jika nilai variabel i < 5', '2024-06-10 04:42:50', '2024-06-10 04:42:50', NULL); +INSERT INTO `user_answer` (`id`, `user_id`, `essay_question_id`, `answer`, `created_at`, `updated_at`, `deleted_at`) VALUES +(1008, 41, 26, 'menginisialisasi variabel output dengan string \" \" kemudian dilakukan looping secara dua kali, kemudian output dicetak sebanyak kondisi dari perulangan', '2024-06-10 04:42:54', '2024-06-10 04:42:54', NULL), +(1009, 41, 27, '*\n**\n***\n****\n*****\n******', '2024-06-10 04:42:58', '2024-06-10 04:42:58', NULL), +(1010, 41, 28, 'String topicArray = Arrays.toString(topics);', '2024-06-13 03:23:19', '2024-06-13 03:23:19', NULL), +(1011, 41, 29, 'Menginisialisasi variabel topics yang bertipe data Strings dalam array tersebut diubah menjadi bertipe data String kemudian di print', '2024-06-13 03:23:32', '2024-06-13 03:23:32', NULL), +(1012, 41, 30, 'output yang dihasilkan yaitu 1,2,3,4 karena bertipe data Strings', '2024-06-13 03:23:39', '2024-06-13 03:23:39', NULL), +(1013, 41, 31, 'untuk membatasi jumlah perulangan sebanyak jumlah panjang data dari array nilai.', '2024-06-13 03:41:28', '2024-06-13 03:41:28', NULL), +(1014, 41, 32, 'perulangan akan dimulai dari 0 dan berakhir saat nilai j', '2024-06-13 03:41:31', '2024-06-13 03:41:31', NULL), +(1015, 41, 33, '82', '2024-06-13 03:41:35', '2024-06-13 03:41:35', NULL), +(1016, 41, 34, 'untuk memanggil function tampil', '2024-06-13 03:45:44', '2024-06-13 03:45:44', NULL), +(1017, 41, 35, 'menginisialisasi phi, r, luas, dan keliling lalu di jalankan sesuai dengan kondisi System.out.print(\"Luas Lingkaran = \" + luas + \"\\n\" + \"Keliling Lingkaran = \" + keliling);', '2024-06-13 03:45:47', '2024-06-13 03:45:47', NULL), +(1018, 41, 36, 'tidak akan menampilkan output apapun', '2024-06-13 03:45:50', '2024-06-13 03:45:50', NULL), +(1019, 41, 37, 'ya', '2024-06-13 03:51:15', '2024-06-13 03:51:15', NULL), +(1020, 41, 38, 'mendefinisikan parameter double saldo, double bunga, int tahun', '2024-06-13 03:51:18', '2024-06-13 03:51:18', NULL), +(1021, 41, 39, '1.402.551,7307', '2024-06-13 03:51:20', '2024-06-13 03:51:20', NULL), +(1022, 40, 19, 'digunakan sebagai operator increment', '2024-06-13 05:31:48', '2024-06-13 05:31:48', NULL), +(1023, 40, 20, 'menginisialisasi variabel number dengan nilai 6 dan menginisialisasi variabel i dengan nilai 1, jika kondisi while terpenuhi maka akan mengeksekusi while namun jika tidak terpenuhi maka akan mengeksekusi System.out.print(i);', '2024-06-13 05:32:03', '2024-06-13 05:32:03', NULL), +(1024, 40, 21, 'tidak ada', '2024-06-13 05:32:14', '2024-06-13 05:32:14', NULL), +(1025, 40, 22, 'untuk menghitung angka selanjutnya dari deret angka fibonacci', '2024-06-13 05:37:38', '2024-06-13 05:37:38', NULL), +(1026, 40, 23, 'menginisialisasi variabel n, first, second, dan i, mencetak nilai next menggunakan perintah System.out.print(next + \" \"); jika nilai next terpenuhi maka menjalankan second', '2024-06-13 05:37:45', '2024-06-13 05:37:45', NULL), +(1027, 40, 24, '0 1 1 2 3 5 8 13 21', '2024-06-13 05:37:53', '2024-06-13 05:37:53', NULL), +(1028, 40, 25, 'baris piramida menjadi 7 baris', '2024-06-13 05:43:35', '2024-06-13 05:43:35', NULL), +(1029, 40, 26, 'perulangan dimulai dari nilai 1 dan berakhir pada variabel j. Saat kondisi terpenuhi, satu bintang akan ditambahkan ke variabel “outputâ€, jumlah bintang akan terus bertambah seiring dengan nilai “i†yang meningkat.', '2024-06-13 05:43:42', '2024-06-13 05:43:42', NULL), +(1030, 40, 27, '*\n**\n***\n****\n*****\n******', '2024-06-13 05:43:49', '2024-06-13 05:43:49', NULL), +(1031, 40, 28, 'String topicArray = Arrays.toString(topics);', '2024-06-13 05:47:03', '2024-06-13 05:47:03', NULL), +(1032, 40, 29, 'menginisialisasi variabel topics yang bertipe data string kemudian mencetak nilai menggunakan perintah System.out.print(topicArray);', '2024-06-13 05:47:09', '2024-06-13 05:47:09', NULL), +(1033, 40, 30, 'eror', '2024-06-13 05:47:17', '2024-06-13 05:47:17', NULL), +(1034, 40, 31, 'untuk membatasi jumlah perulangan', '2024-06-13 05:51:03', '2024-06-13 05:51:03', NULL), +(1035, 40, 32, 'perulangan dimulai dengan nilai 0 dan berakhir pada nilai j kurang dari jumlah panjang array', '2024-06-13 05:51:10', '2024-06-13 05:51:10', NULL), +(1036, 40, 33, '82', '2024-06-13 05:51:18', '2024-06-13 05:51:18', NULL), +(1037, 40, 34, 'untuk menampilkan function tampil', '2024-06-13 05:54:00', '2024-06-13 05:54:00', NULL), +(1038, 40, 35, 'menginisialisasi variabel phi, r, luas dan keliling kemudian memproses perintah System.out.print(\"Luas Lingkaran = \" + luas + \"\\n\" + \"Keliling Lingkaran = \" + keliling);', '2024-06-13 05:54:06', '2024-06-13 05:54:06', NULL), +(1039, 40, 36, 'tidak menampilkan output apapun', '2024-06-13 05:54:15', '2024-06-13 05:54:15', NULL), +(1040, 40, 37, 'ya', '2024-06-13 05:55:47', '2024-06-13 05:55:47', NULL), +(1041, 40, 38, 'mendifinisikan parameter double saldo, double bunga, int tahun', '2024-06-13 05:55:53', '2024-06-13 05:55:53', NULL), +(1042, 40, 39, '1.402.551,7307', '2024-06-13 05:56:01', '2024-06-13 05:56:01', NULL), +(1043, 42, 1, 'Karena panjang, lebar, tinggu vBalok dan lBalok berisi bilangan bulat', '2024-06-22 05:46:55', '2024-06-22 05:46:55', NULL), +(1044, 42, 2, 'inisialisasi panjang, lebar, tinggi, vBalok, lBalok menggunakan tipe data int, panjang = 10, lebar = 6, tinggi = 7\nkemudian menghitung volume balok dengan rumus balok vBalok = panjang * lebar * tinggi;\ninisialisasi rumus \nkemudian menghitung lebar balok dengan rumus lebar balok lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi);\nkemudian print hasil perhitungan volume balok dan lebar balok menggunakan System.out.print', '2024-06-22 05:46:59', '2024-06-22 05:46:59', NULL), +(1045, 42, 3, 'mengubah nilai inisialisasai seperti panjang = 11;\n lebar = 9;\n tinggi = 17;', '2024-06-22 05:47:03', '2024-06-22 05:47:03', NULL), +(1046, 42, 4, 'Untuk menentukan jika nilai lebih dari 70 maka menampilkan \"Selamat anda lulus!\"', '2024-06-22 06:47:47', '2024-06-22 06:47:47', NULL), +(1047, 42, 5, 'inisialisasi int nilai = 80;\n\nkemudian dicek kondisi nya ketika variabel nilai lebih dari 70 maka menampilkan \"Selamat anda lulus!\"', '2024-06-22 06:47:55', '2024-06-22 06:47:55', NULL), +(1048, 42, 6, 'Tidak ada output', '2024-06-22 06:48:01', '2024-06-22 06:48:01', NULL), +(1049, 43, 1, 'Karena variabel tersebut berbentuk bilangan bulat', '2024-06-23 07:49:39', '2024-06-23 07:49:39', NULL), +(1050, 43, 2, 'inisialisasi variabel panjang, lebar, tinggi, vBalok, lBalok dengan tipe data int, dan memberikan nilai panjang = 10, lebar = 6, tinggi = 7, kemudian menghitung volume balok menggunakan rumus vBalok = panjang * lebar * tinggi; dan menghitung rumus luas balok menggunakan rumus lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi), setelah itu untuk menampilkan hasilnya menggunakan fungsi System.out.print', '2024-06-23 07:49:51', '2024-06-23 07:49:51', NULL), +(1051, 43, 3, 'mengganti nilai nilai panjang = 9, lebar=5, dan tinggi=8', '2024-06-23 07:49:57', '2024-06-23 07:49:57', NULL), +(1052, 43, 4, 'Untuk menentukan kondisi jika variabel nilai lebih dari 80 maka akan menampilkan Selamat anda lulus!', '2024-06-24 00:51:43', '2024-06-24 00:51:43', NULL), +(1053, 43, 5, 'Menginisialisasi variabel nilai dengan tipe data int, kemudian menginisialisasi nilai = 80 kemudia dicek kondisi ketika nilai lebih dari 70 maka menampilkan selamat anda lulus', '2024-06-24 00:51:49', '2024-06-24 00:51:49', NULL), +(1054, 43, 6, 'Tidak ada output yang ditampilkan', '2024-06-24 00:51:54', '2024-06-24 00:51:54', NULL), +(1055, 44, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-06-24 11:40:42', '2024-06-24 11:40:42', NULL), +(1056, 44, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-06-24 11:40:47', '2024-06-24 11:40:47', NULL), +(1057, 44, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-06-24 11:40:52', '2024-06-24 11:40:52', NULL), +(1058, 44, 4, 'If digunakan dalam kode tersebut untuk membuat kondisi atau pernyataan logis. Dalam konteks kode tersebut, if digunakan untuk melakukan pengecekan apakah nilai lebih besar dari 70. Jika kondisi tersebut terpenuhi, yaitu nilai lebih besar dari 70, maka pesan \"Selamat anda lulus!\" akan dicetak. If digunakan untuk memberikan pengambilan keputusan berdasarkan kondisi tertentu, yang memungkinkan eksekusi kode yang berbeda tergantung pada hasil kondisi yang dievaluasi.', '2024-06-24 11:43:56', '2024-06-24 11:43:56', NULL), +(1059, 44, 5, 'Menginisialisasi variabel nilai dengan nilai 80. Selanjutnya, program akan mengecek kondisi menggunakan pernyataan if. Jika nilai variabel nilai lebih besar dari 70, maka kondisi pernyataan di dalam if akan dieksekusi. Karena nilai variabel nilai adalah 80 (lebih besar dari 70), pernyataan \"Selamat anda lulus!\" akan dicetak menggunakan System.out.print(\"Selamat anda lulus!\");.', '2024-06-24 11:44:02', '2024-06-24 11:44:02', NULL), +(1060, 44, 6, 'Jika nilai variabel “nilai†kurang dari 70, maka tidak akan ada output yang ditampilkan, karena tidak ada pernyataan lain setelah kondisi if.', '2024-06-24 11:44:08', '2024-06-24 11:44:08', NULL), +(1063, 43, 7, 'Untuk menentukan pesan yang akan ditampilkan berdasarkan nilai dari variabel itemCost. Jika nilai itemCost lebih besar dari 24.00, maka pesan \"High Value Item!\" akan ditetapkan ke dalam variabel order. Namun, jika tidak, maka pesan \"Low Value Item!\" akan ditetapkan. Dengan demikian, fungsi if-else ini menentukan pesan yang sesuai dengan nilai itemCost dan menetapkannya ke dalam variabel order untuk ditampilkan.', '2024-06-25 03:25:03', '2024-06-25 03:25:03', NULL), +(1064, 43, 8, 'Berikut adalah alur program dari baris kode yang diberikan: 1. Variabel itemCost dideklarasikan dan diinisialisasi dengan nilai 30.99. 2. Variabel order dideklarasikan sebagai string kosong. 3. Dilakukan pengecekan kondisi menggunakan pernyataan if. Jika nilai itemCost lebih besar dari 24.00, maka langkah 4 akan dijalankan; jika tidak, langkah 5 akan dijalankan. 4. Pesan \"High Value Item!\" ditetapkan ke dalam variabel order. 5. Jika kondisi pada langkah 3 tidak terpenuhi, maka pesan \"Low Value Item!\" ditetapkan ke dalam variabel order. 6. Pesan yang telah ditetapkan (berdasarkan hasil dari langkah 4 atau 5) kemudian ditampilkan menggunakan System.out.print. 7. Program selesai dieksekusi', '2024-06-25 03:25:09', '2024-06-25 03:25:09', NULL), +(1065, 43, 9, 'Output program akan menampilkan pesan \"Low Value Item!\".', '2024-06-25 03:25:16', '2024-06-25 03:25:16', NULL), +(1066, 43, 10, 'Ketika tidak ada case yang cocok dengan nilai yang diberikan untuk variabel shipping, maka blok kode yang berada di dalam default akan dieksekusi. Dalam kasus ini, jika nilai shipping tidak sama dengan \"Regular\" atau \"Express\", maka variabel shippingCost akan diinisialisasi dengan nilai 0.50.', '2024-06-25 03:26:40', '2024-06-25 03:26:40', NULL), +(1067, 43, 11, '1. Variabel shipping dideklarasikan dan diinisialisasi dengan nilai \"Express\". 2. Variabel shippingCost dideklarasikan tanpa diinisialisasi. 3. Dilakukan pengecekan nilai variabel shipping menggunakan pernyataan switch-case. 4. Jika nilai shipping adalah \"Regular\", maka shippingCost diatur ke nilai 0. 5. Jika nilai shipping adalah \"Express\", maka shippingCost diatur ke nilai 1.75. 6. Jika nilai shipping tidak cocok dengan nilai case manapun, maka blok default akan 7. dieksekusi dan shippingCost diatur ke nilai 0.50. 8. Nilai dari shippingCost yang telah ditetapkan kemudian ditampilkan menggunakan System.out.print. Program selesai dieksekusi', '2024-06-25 03:26:45', '2024-06-25 03:26:45', NULL), +(1068, 43, 12, 'Saat nilai shipping tidak bernilai regular maupun express, sehingga default case dieksekusi.', '2024-06-25 03:26:51', '2024-06-25 03:26:51', NULL), +(1096, 43, 13, 'Tipe data boolean cocok digunakan untuk menyatakan kondisi ya (true) atau tidak (false) dalam pemrograman.', '2024-06-30 11:19:41', '2024-06-30 11:19:41', NULL), +(1097, 43, 14, 'Jika nilai isMember adalah false, maka alur program akan mengikuti jalur di dalam blok else. Kemudian, program akan memeriksa nilai total untuk menentukan besarnya diskon yang diberikan kepada pelanggan non-anggota berdasarkan rentang total pembelian. Setelah itu, nilai diskon akan ditetapkan sesuai dengan rentang total pembelian yang sesuai, dan pesan akan ditampilkan dengan persentase diskon yang didapatkan.', '2024-06-30 11:19:46', '2024-06-30 11:19:46', NULL), +(1098, 43, 15, 'Jika nilai variabel \"total\" adalah Rp.30.000 dan nilai variabel \"isMember\" adalah false, maka output program akan menampilkan pesan \"diskon yang didapatkan adalah 5%\". Hal ini karena nilai total pembelian (Rp.30.000) kurang dari Rp.100.000, sehingga pelanggan non-anggota mendapatkan diskon sebesar 5%.', '2024-06-30 11:19:48', '2024-06-30 11:19:48', NULL), +(1099, 43, 16, 'Pada perulangan for di atas, i++ merupakan operasi penambahan satu unit ke variabel i. itu adalah ekspresi increment untuk menambah nilai variabel i dengan 1 setiap kali iterasi perulangan dilakukan. Dalam konteks kode tersebut, perulangan akan dimulai dengan i yang memiliki nilai awal 1 (int i = 1), kemudian pada setiap iterasi nilai i akan bertambah satu (i++). Perulangan akan terus dilakukan selama nilai i kurang dari number. Jadi, kegunaan dari i++ pada perulangan for di atas adalah untuk memperbarui nilai i setiap kali iterasi sehingga perulangan dapat berlanjut hingga mencapai kondisi tertentu (dalam kasus ini, hingga nilai i sama dengan number, yaitu 6).', '2024-06-30 11:21:15', '2024-06-30 11:21:15', NULL), +(1100, 43, 17, 'Pertama-tama, sebuah variabel number dideklarasikan dan diinisialisasi dengan nilai 6: int number = 6;. Kemudian, perulangan for dimulai dengan inisialisasi variabel i dengan nilai 1: int i = 1;. Pada setiap iterasi perulangan, kondisi i < number dievaluasi. Jika kondisi tersebut benar (nilai i kurang dari number), blok perulangan di dalamnya akan dieksekusi. Di dalam blok perulangan, System.out.print(i); akan mencetak nilai i ke konsol tanpa baris baru (tanpa spasi). Setelah blok perulangan dieksekusi, ekspresi iterasi i++ akan dieksekusi. Ini akan menambahkan 1 ke nilai i. Proses akan kembali ke langkah 3 dan akan terus berlanjut sampai kondisi i < number tidak lagi terpenuhi. Ketika nilai i mencapai nilai yang sama dengan number, yaitu 6, perulangan akan berhenti karena kondisi i < number tidak lagi terpenuhi. Program selesai dieksekusi.', '2024-06-30 11:21:19', '2024-06-30 11:21:19', NULL), +(1101, 43, 18, '1234567', '2024-06-30 11:21:26', '2024-06-30 11:21:26', NULL), +(1102, 45, 1, 'Variabel panjang, lebar, tinggi, vBalok, dan lBalok dideklarasikan sebagai tipe data int karena mereka merepresentasikan bilangan bulat dalam program ini. Tipe data int cocok untuk nilai bilangan bulat tanpa koma desimal.', '2024-06-30 11:23:52', '2024-06-30 11:23:52', NULL), +(1103, 45, 2, 'Berikut adalah langkah-langkah perhitungan volume dan luas permukaan balok berdasarkan kode program di atas: 1. Variabel panjang, lebar, dan tinggi balok diinisialisasi dengan nilai masing-masing. 2. Volume balok dihitung dengan rumus panjang × lebar × tinggi dan disimpan dalam variabel vBalok. 3. Luas permukaan balok dihitung dengan rumus 2 × (panjang × lebar + panjang × tinggi + lebar × tinggi) dan disimpan dalam variabel lBalok. 4. Hasil volume dan luas permukaan balok ditampilkan melalui output.', '2024-06-30 11:23:56', '2024-06-30 11:23:56', NULL), +(1104, 45, 3, 'Untuk mengubah nilai panjang, lebar, dan tinggi balok, cukup ganti nilai variabel tersebut sesuai kebutuhan, lalu jalankan program kembali.', '2024-06-30 11:24:00', '2024-06-30 11:24:00', NULL), +(1105, 45, 4, 'Fungsi dari pernyataan \"if\" dalam kode program di atas adalah untuk melakukan pengecekan kondisi. Lebih tepatnya, jika nilai variabel \"nilai\" lebih besar dari 70, maka program akan menampilkan pesan \"Selamat anda lulus!\".', '2024-07-02 10:29:00', '2024-07-02 10:29:00', NULL), +(1106, 45, 5, 'Berikut adalah alur program dari kode yang diberikan: 1. Variabel nilai dideklarasikan dan diinisialisasi dengan nilai 80. 2. Dilakukan pengecekan kondisi menggunakan pernyataan if. 3. Jika nilai variabel nilai lebih besar dari 70, maka blok kode di dalam pernyataan if akan dieksekusi. 4. Pesan \"Selamat anda lulus!\" akan ditampilkan karena nilai variabel nilai (80) memenuhi kondisi yang ditentukan. 5. Program selesai dieksekusi.', '2024-07-02 10:29:13', '2024-07-02 10:29:13', NULL), +(1107, 45, 6, 'Jika nilai dari variabel \"nilai\" kurang dari 70, tidak ada output yang akan dihasilkan oleh program ini. Ini karena pesan \"Selamat anda lulus!\" hanya akan ditampilkan jika nilai variabel \"nilai\" lebih besar dari 70, sesuai dengan kondisi yang diberikan dalam pernyataan if. Jika nilai \"nilai\" kurang dari atau sama dengan 70, maka blok kode di dalam pernyataan if tidak akan dieksekusi, dan tidak akan ada output yang dihasilkan.', '2024-07-02 10:29:18', '2024-07-02 10:29:18', NULL); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `user_code_test_score` +-- + +CREATE TABLE `user_code_test_score` ( + `id` bigint UNSIGNED NOT NULL, + `question_id` int UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED DEFAULT NULL, + `score` int NOT NULL DEFAULT '0', + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- -------------------------------------------------------- + +-- +-- Table structure for table `user_scores` +-- + +CREATE TABLE `user_scores` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED DEFAULT NULL, + `content_id` int UNSIGNED DEFAULT NULL, + `score` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL, + `question_id` int UNSIGNED DEFAULT NULL, + `started_at` timestamp NULL DEFAULT NULL, + `ended_at` timestamp NULL DEFAULT NULL, + `deleted_at` timestamp NULL DEFAULT NULL, + `on_timer` varchar(255) COLLATE utf8mb4_unicode_ci DEFAULT NULL, + `level_id` int UNSIGNED NOT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `user_scores` +-- + +INSERT INTO `user_scores` (`id`, `user_id`, `content_id`, `score`, `created_at`, `updated_at`, `question_id`, `started_at`, `ended_at`, `deleted_at`, `on_timer`, `level_id`) VALUES +(1, 2, 1, 30, '2023-06-01 18:47:46', '2023-06-01 18:47:46', 1, NULL, NULL, NULL, NULL, 1), +(2, 2, 2, 30, '2023-06-01 19:32:48', '2023-06-01 19:32:48', 2, NULL, NULL, NULL, NULL, 1), +(3, 2, 3, 30, '2023-06-01 19:45:23', '2023-06-01 19:45:23', 3, NULL, NULL, NULL, NULL, 1), +(4, 2, 4, 30, '2023-06-01 20:47:17', '2023-06-01 20:47:17', 4, NULL, NULL, NULL, NULL, 1), +(5, 2, 5, 30, '2023-06-03 05:19:09', '2023-06-03 05:19:09', 5, NULL, NULL, NULL, NULL, 1), +(6, 2, 6, 30, '2023-06-03 06:12:05', '2023-06-03 06:12:05', 6, NULL, NULL, NULL, NULL, 2), +(7, 2, 7, 30, '2023-06-04 06:27:46', '2023-06-04 06:27:46', 7, NULL, NULL, NULL, NULL, 2), +(8, 2, 8, 30, '2023-06-04 06:48:55', '2023-06-04 06:48:55', 8, NULL, NULL, NULL, NULL, 2), +(9, 2, 9, 30, '2023-06-04 06:58:24', '2023-06-04 06:58:24', 9, NULL, NULL, NULL, NULL, 2), +(10, 2, 10, 30, '2023-06-04 07:00:54', '2023-06-04 07:00:54', 10, NULL, NULL, NULL, NULL, 2), +(11, 2, 11, 30, '2023-06-04 07:05:09', '2023-06-04 07:05:09', 11, NULL, NULL, NULL, NULL, 3), +(14, 2, 12, 30, '2023-06-04 07:15:40', '2023-06-04 07:15:40', 12, NULL, NULL, NULL, NULL, 3), +(15, 2, 13, 30, '2023-06-04 07:19:22', '2023-06-04 07:19:22', 13, NULL, NULL, NULL, NULL, 3), +(16, 3, 1, 30, '2023-06-07 07:34:36', '2023-06-07 07:34:36', 1, NULL, NULL, NULL, NULL, 1), +(17, 3, 2, 30, '2023-07-06 19:31:59', '2023-07-06 19:31:59', 2, NULL, NULL, NULL, NULL, 1), +(18, 4, 1, 30, '2023-07-06 20:23:08', '2023-07-06 20:23:08', 1, NULL, NULL, NULL, NULL, 1), +(19, 6, 1, 30, '2024-01-22 22:07:25', '2024-01-22 22:07:25', 1, NULL, NULL, NULL, NULL, 1), +(20, 6, 2, 30, '2024-01-22 22:49:43', '2024-01-22 22:49:43', 2, NULL, NULL, NULL, NULL, 1), +(21, 6, 3, 30, '2024-01-30 21:58:48', '2024-01-30 21:58:48', 3, NULL, NULL, NULL, NULL, 1), +(22, 6, 4, 30, '2024-02-26 20:23:20', '2024-02-26 20:23:20', 4, NULL, NULL, NULL, NULL, 1), +(23, 6, 5, 30, '2024-02-26 20:26:17', '2024-02-26 20:26:17', 5, NULL, NULL, NULL, NULL, 1), +(24, 6, 6, 30, '2024-03-03 10:12:59', '2024-03-03 10:12:59', 6, NULL, NULL, NULL, NULL, 2), +(25, 7, 1, 30, '2024-03-08 07:52:02', '2024-03-08 07:52:02', 1, NULL, NULL, NULL, NULL, 1), +(30, 7, 2, 30, '2024-03-08 08:37:07', '2024-03-08 08:37:07', 2, NULL, NULL, NULL, NULL, 1), +(31, 7, 3, 30, '2024-03-08 08:39:34', '2024-03-08 08:39:34', 3, NULL, NULL, NULL, NULL, 1), +(32, 7, 4, 30, '2024-03-08 09:20:18', '2024-03-08 09:20:18', 4, NULL, NULL, NULL, NULL, 1), +(33, 9, 1, 30, '2024-03-11 05:00:58', '2024-03-11 05:00:58', 1, NULL, NULL, NULL, NULL, 1), +(34, 9, 2, 30, '2024-03-11 05:05:06', '2024-03-11 05:05:06', 2, NULL, NULL, NULL, NULL, 1), +(35, 9, 3, 30, '2024-03-11 05:07:42', '2024-03-11 05:07:42', 3, NULL, NULL, NULL, NULL, 1), +(36, 9, 4, 30, '2024-03-11 05:10:20', '2024-03-11 05:10:20', 4, NULL, NULL, NULL, NULL, 1), +(37, 9, 5, 30, '2024-03-11 05:15:38', '2024-03-11 05:15:38', 5, NULL, NULL, NULL, NULL, 1), +(38, 7, 5, 30, '2024-03-11 05:19:33', '2024-03-11 05:19:33', 5, NULL, NULL, NULL, NULL, 1), +(39, 10, 1, 30, '2024-03-11 08:35:27', '2024-03-11 08:35:27', 1, NULL, NULL, NULL, NULL, 1), +(40, 10, 2, 30, '2024-03-11 08:37:52', '2024-03-11 08:37:52', 2, NULL, NULL, NULL, NULL, 1), +(41, 10, 3, 30, '2024-03-11 08:41:56', '2024-03-11 08:41:56', 3, NULL, NULL, NULL, NULL, 1), +(42, 10, 4, 30, '2024-03-11 08:45:39', '2024-03-11 08:45:39', 4, NULL, NULL, NULL, NULL, 1), +(43, 10, 5, 30, '2024-03-11 08:49:06', '2024-03-11 08:49:06', 5, NULL, NULL, NULL, NULL, 1), +(44, 11, 1, 30, '2024-03-11 08:56:19', '2024-03-11 08:56:19', 1, NULL, NULL, NULL, NULL, 1), +(45, 11, 2, 30, '2024-03-11 08:57:56', '2024-03-11 08:57:56', 2, NULL, NULL, NULL, NULL, 1), +(46, 11, 3, 30, '2024-03-11 08:59:14', '2024-03-11 08:59:14', 3, NULL, NULL, NULL, NULL, 1), +(47, 11, 4, 30, '2024-03-11 09:00:32', '2024-03-11 09:00:32', 4, NULL, NULL, NULL, NULL, 1), +(48, 11, 5, 30, '2024-03-11 09:02:06', '2024-03-11 09:02:06', 5, NULL, NULL, NULL, NULL, 1), +(49, 12, 1, 30, '2024-03-11 09:10:58', '2024-03-11 09:10:58', 1, NULL, NULL, NULL, NULL, 1), +(50, 12, 2, 30, '2024-03-11 09:12:14', '2024-03-11 09:12:14', 2, NULL, NULL, NULL, NULL, 1), +(51, 12, 3, 30, '2024-03-11 09:13:58', '2024-03-11 09:13:58', 3, NULL, NULL, NULL, NULL, 1), +(52, 12, 4, 30, '2024-03-11 09:16:40', '2024-03-11 09:16:40', 4, NULL, NULL, NULL, NULL, 1), +(53, 12, 5, 30, '2024-03-11 09:17:53', '2024-03-11 09:17:53', 5, NULL, NULL, NULL, NULL, 1), +(54, 13, 1, 30, '2024-03-11 09:21:58', '2024-03-11 09:21:58', 1, NULL, NULL, NULL, NULL, 1), +(55, 13, 2, 30, '2024-03-11 09:24:03', '2024-03-11 09:24:03', 2, NULL, NULL, NULL, NULL, 1), +(56, 13, 3, 30, '2024-03-11 09:25:40', '2024-03-11 09:25:40', 3, NULL, NULL, NULL, NULL, 1), +(57, 13, 4, 30, '2024-03-11 09:29:23', '2024-03-11 09:29:23', 4, NULL, NULL, NULL, NULL, 1), +(58, 13, 5, 30, '2024-03-11 09:31:11', '2024-03-11 09:31:11', 5, NULL, NULL, NULL, NULL, 1), +(59, 14, 1, 30, '2024-03-11 09:41:17', '2024-03-11 09:41:17', 1, NULL, NULL, NULL, NULL, 1), +(60, 14, 2, 30, '2024-03-11 09:42:57', '2024-03-11 09:42:57', 2, NULL, NULL, NULL, NULL, 1), +(61, 14, 3, 30, '2024-03-11 09:44:21', '2024-03-11 09:44:21', 3, NULL, NULL, NULL, NULL, 1), +(62, 14, 4, 30, '2024-03-11 09:46:24', '2024-03-11 09:46:24', 4, NULL, NULL, NULL, NULL, 1), +(63, 14, 5, 30, '2024-03-11 09:47:53', '2024-03-11 09:47:53', 5, NULL, NULL, NULL, NULL, 1), +(64, 15, 1, 30, '2024-03-11 09:56:03', '2024-03-11 09:56:03', 1, NULL, NULL, NULL, NULL, 1), +(65, 15, 2, 30, '2024-03-11 09:57:19', '2024-03-11 09:57:19', 2, NULL, NULL, NULL, NULL, 1), +(66, 15, 3, 30, '2024-03-11 09:59:36', '2024-03-11 09:59:36', 3, NULL, NULL, NULL, NULL, 1), +(67, 15, 4, 30, '2024-03-11 10:01:02', '2024-03-11 10:01:02', 4, NULL, NULL, NULL, NULL, 1), +(68, 15, 5, 30, '2024-03-11 10:02:27', '2024-03-11 10:02:27', 5, NULL, NULL, NULL, NULL, 1), +(69, 16, 1, 30, '2024-03-11 10:15:01', '2024-03-11 10:15:01', 1, NULL, NULL, NULL, NULL, 1), +(70, 16, 2, 30, '2024-03-11 10:16:28', '2024-03-11 10:16:28', 2, NULL, NULL, NULL, NULL, 1), +(71, 16, 3, 30, '2024-03-11 10:17:54', '2024-03-11 10:17:54', 3, NULL, NULL, NULL, NULL, 1), +(72, 16, 4, 30, '2024-03-11 10:19:20', '2024-03-11 10:19:20', 4, NULL, NULL, NULL, NULL, 1), +(73, 16, 5, 30, '2024-03-11 10:20:37', '2024-03-11 10:20:37', 5, NULL, NULL, NULL, NULL, 1), +(74, 17, 1, 30, '2024-03-11 10:24:14', '2024-03-11 10:24:14', 1, NULL, NULL, NULL, NULL, 1), +(75, 17, 2, 30, '2024-03-11 10:25:43', '2024-03-11 10:25:43', 2, NULL, NULL, NULL, NULL, 1), +(76, 17, 3, 30, '2024-03-11 10:26:52', '2024-03-11 10:26:52', 3, NULL, NULL, NULL, NULL, 1), +(77, 17, 4, 30, '2024-03-11 10:28:13', '2024-03-11 10:28:13', 4, NULL, NULL, NULL, NULL, 1), +(78, 17, 5, 30, '2024-03-11 10:30:06', '2024-03-11 10:30:06', 5, NULL, NULL, NULL, NULL, 1), +(79, 10, 6, 30, '2024-03-24 00:15:22', '2024-03-24 00:15:22', 6, NULL, NULL, NULL, NULL, 2), +(80, 10, 7, 30, '2024-03-24 00:18:32', '2024-03-24 00:18:32', 7, NULL, NULL, NULL, NULL, 2), +(81, 10, 8, 30, '2024-03-24 00:22:38', '2024-03-24 00:22:38', 8, NULL, NULL, NULL, NULL, 2), +(82, 10, 9, 30, '2024-03-24 00:25:24', '2024-03-24 00:25:24', 9, NULL, NULL, NULL, NULL, 2), +(83, 10, 10, 30, '2024-03-24 00:28:14', '2024-03-24 00:28:14', 10, NULL, NULL, NULL, NULL, 2), +(84, 10, 11, 30, '2024-03-24 00:32:59', '2024-03-24 00:32:59', 11, NULL, NULL, NULL, NULL, 3), +(85, 10, 12, 30, '2024-03-24 00:35:21', '2024-03-24 00:35:21', 12, NULL, NULL, NULL, NULL, 3), +(86, 10, 13, 30, '2024-03-24 00:39:44', '2024-03-24 00:39:44', 13, NULL, NULL, NULL, NULL, 3), +(87, 19, 1, 30, '2024-03-24 00:53:54', '2024-03-24 00:53:54', 1, NULL, NULL, NULL, NULL, 1), +(88, 19, 2, 30, '2024-03-24 00:55:38', '2024-03-24 00:55:38', 2, NULL, NULL, NULL, NULL, 1), +(89, 19, 3, 30, '2024-03-24 00:56:57', '2024-03-24 00:56:57', 3, NULL, NULL, NULL, NULL, 1), +(90, 19, 4, 30, '2024-03-24 00:58:22', '2024-03-24 00:58:22', 4, NULL, NULL, NULL, NULL, 1), +(91, 19, 5, 30, '2024-03-24 00:59:38', '2024-03-24 00:59:38', 5, NULL, NULL, NULL, NULL, 1), +(92, 19, 6, 30, '2024-03-24 01:02:05', '2024-03-24 01:02:05', 6, NULL, NULL, NULL, NULL, 2), +(93, 19, 7, 30, '2024-03-24 01:03:46', '2024-03-24 01:03:46', 7, NULL, NULL, NULL, NULL, 2), +(94, 19, 8, 30, '2024-03-24 01:04:58', '2024-03-24 01:04:58', 8, NULL, NULL, NULL, NULL, 2), +(95, 19, 9, 30, '2024-03-24 01:06:27', '2024-03-24 01:06:27', 9, NULL, NULL, NULL, NULL, 2), +(96, 19, 10, 30, '2024-03-24 01:08:03', '2024-03-24 01:08:03', 10, NULL, NULL, NULL, NULL, 2), +(97, 19, 11, 30, '2024-03-24 01:10:03', '2024-03-24 01:10:03', 11, NULL, NULL, NULL, NULL, 3), +(98, 19, 12, 30, '2024-03-24 01:11:28', '2024-03-24 01:11:28', 12, NULL, NULL, NULL, NULL, 3), +(99, 19, 13, 30, '2024-03-24 01:13:03', '2024-03-24 01:13:03', 13, NULL, NULL, NULL, NULL, 3), +(100, 12, 6, 30, '2024-03-24 01:17:06', '2024-03-24 01:17:06', 6, NULL, NULL, NULL, NULL, 2), +(101, 12, 7, 30, '2024-03-24 01:18:39', '2024-03-24 01:18:39', 7, NULL, NULL, NULL, NULL, 2), +(102, 12, 8, 30, '2024-03-24 01:22:33', '2024-03-24 01:22:33', 8, NULL, NULL, NULL, NULL, 2), +(103, 12, 9, 30, '2024-03-24 01:23:59', '2024-03-24 01:23:59', 9, NULL, NULL, NULL, NULL, 2), +(104, 12, 10, 30, '2024-03-24 01:25:37', '2024-03-24 01:25:37', 10, NULL, NULL, NULL, NULL, 2), +(105, 12, 11, 30, '2024-03-24 01:26:52', '2024-03-24 01:26:52', 11, NULL, NULL, NULL, NULL, 3), +(106, 12, 12, 30, '2024-03-24 01:28:15', '2024-03-24 01:28:15', 12, NULL, NULL, NULL, NULL, 3), +(107, 12, 13, 30, '2024-03-24 01:29:45', '2024-03-24 01:29:45', 13, NULL, NULL, NULL, NULL, 3), +(108, 13, 6, 30, '2024-03-24 01:32:37', '2024-03-24 01:32:37', 6, NULL, NULL, NULL, NULL, 2), +(109, 13, 7, 30, '2024-03-24 01:34:07', '2024-03-24 01:34:07', 7, NULL, NULL, NULL, NULL, 2), +(110, 13, 8, 30, '2024-03-24 01:35:19', '2024-03-24 01:35:19', 8, NULL, NULL, NULL, NULL, 2), +(111, 13, 9, 30, '2024-03-24 01:36:41', '2024-03-24 01:36:41', 9, NULL, NULL, NULL, NULL, 2), +(112, 13, 10, 30, '2024-03-24 01:38:28', '2024-03-24 01:38:28', 10, NULL, NULL, NULL, NULL, 2), +(113, 13, 11, 30, '2024-03-24 01:39:38', '2024-03-24 01:39:38', 11, NULL, NULL, NULL, NULL, 3), +(114, 13, 12, 30, '2024-03-24 01:40:38', '2024-03-24 01:40:38', 12, NULL, NULL, NULL, NULL, 3), +(115, 13, 13, 30, '2024-03-24 01:41:42', '2024-03-24 01:41:42', 13, NULL, NULL, NULL, NULL, 3), +(116, 21, 1, 30, '2024-03-24 02:56:05', '2024-03-24 02:56:05', 1, NULL, NULL, NULL, NULL, 1), +(120, 21, 2, 30, '2024-03-28 08:33:06', '2024-03-28 08:33:06', 2, NULL, NULL, NULL, NULL, 1), +(121, 21, 3, 30, '2024-03-28 08:34:30', '2024-03-28 08:34:30', 3, NULL, NULL, NULL, NULL, 1), +(122, 21, 4, 30, '2024-03-28 08:36:26', '2024-03-28 08:36:26', 4, NULL, NULL, NULL, NULL, 1), +(123, 21, 5, 30, '2024-03-28 08:37:46', '2024-03-28 08:37:46', 5, NULL, NULL, NULL, NULL, 1), +(124, 21, 6, 30, '2024-03-28 08:39:07', '2024-03-28 08:39:07', 6, NULL, NULL, NULL, NULL, 2), +(125, 21, 7, 30, '2024-03-28 08:40:18', '2024-03-28 08:40:18', 7, NULL, NULL, NULL, NULL, 2), +(126, 21, 8, 30, '2024-03-28 08:41:32', '2024-03-28 08:41:32', 8, NULL, NULL, NULL, NULL, 2), +(127, 21, 9, 30, '2024-03-28 08:42:42', '2024-03-28 08:42:42', 9, NULL, NULL, NULL, NULL, 2), +(128, 21, 10, 30, '2024-03-28 08:44:08', '2024-03-28 08:44:08', 10, NULL, NULL, NULL, NULL, 2), +(129, 21, 11, 30, '2024-03-28 08:45:35', '2024-03-28 08:45:35', 11, NULL, NULL, NULL, NULL, 3), +(130, 21, 12, 30, '2024-03-28 08:46:44', '2024-03-28 08:46:44', 12, NULL, NULL, NULL, NULL, 3), +(131, 21, 13, 30, '2024-03-28 08:47:46', '2024-03-28 08:47:46', 13, NULL, NULL, NULL, NULL, 3), +(132, 22, 1, 30, '2024-03-28 08:59:54', '2024-03-28 08:59:54', 1, NULL, NULL, NULL, NULL, 1), +(133, 22, 2, 30, '2024-03-28 09:04:15', '2024-03-28 09:04:15', 2, NULL, NULL, NULL, NULL, 1), +(134, 22, 3, 30, '2024-03-28 09:05:14', '2024-03-28 09:05:14', 3, NULL, NULL, NULL, NULL, 1), +(135, 22, 4, 30, '2024-03-28 09:06:26', '2024-03-28 09:06:26', 4, NULL, NULL, NULL, NULL, 1), +(136, 22, 5, 30, '2024-03-28 09:08:03', '2024-03-28 09:08:03', 5, NULL, NULL, NULL, NULL, 1), +(137, 22, 6, 30, '2024-03-28 09:12:51', '2024-03-28 09:12:51', 6, NULL, NULL, NULL, NULL, 2), +(138, 22, 7, 30, '2024-03-28 09:14:01', '2024-03-28 09:14:01', 7, NULL, NULL, NULL, NULL, 2), +(139, 22, 8, 30, '2024-03-28 09:15:06', '2024-03-28 09:15:06', 8, NULL, NULL, NULL, NULL, 2), +(140, 22, 9, 30, '2024-03-28 09:16:23', '2024-03-28 09:16:23', 9, NULL, NULL, NULL, NULL, 2), +(141, 22, 10, 30, '2024-03-28 09:17:39', '2024-03-28 09:17:39', 10, NULL, NULL, NULL, NULL, 2), +(142, 22, 11, 30, '2024-03-28 09:18:44', '2024-03-28 09:18:44', 11, NULL, NULL, NULL, NULL, 3), +(143, 22, 12, 30, '2024-03-28 09:19:58', '2024-03-28 09:19:58', 12, NULL, NULL, NULL, NULL, 3), +(144, 22, 13, 30, '2024-03-28 09:21:05', '2024-03-28 09:21:05', 13, NULL, NULL, NULL, NULL, 3), +(145, 23, 1, 30, '2024-04-01 04:01:45', '2024-04-01 04:01:45', 1, NULL, NULL, NULL, NULL, 1), +(146, 23, 2, 30, '2024-04-01 04:03:04', '2024-04-01 04:03:04', 2, NULL, NULL, NULL, NULL, 1), +(147, 23, 3, 30, '2024-04-01 04:04:21', '2024-04-01 04:04:21', 3, NULL, NULL, NULL, NULL, 1), +(148, 23, 4, 30, '2024-04-01 04:06:28', '2024-04-01 04:06:28', 4, NULL, NULL, NULL, NULL, 1), +(149, 23, 5, 30, '2024-04-01 04:08:59', '2024-04-01 04:08:59', 5, NULL, NULL, NULL, NULL, 1), +(150, 23, 6, 30, '2024-04-01 04:10:29', '2024-04-01 04:10:29', 6, NULL, NULL, NULL, NULL, 2), +(151, 23, 7, 30, '2024-04-01 04:11:58', '2024-04-01 04:11:58', 7, NULL, NULL, NULL, NULL, 2), +(152, 23, 8, 30, '2024-04-01 04:13:15', '2024-04-01 04:13:15', 8, NULL, NULL, NULL, NULL, 2), +(153, 23, 9, 30, '2024-04-01 04:16:45', '2024-04-01 04:16:45', 9, NULL, NULL, NULL, NULL, 2), +(154, 23, 10, 30, '2024-04-01 04:18:15', '2024-04-01 04:18:15', 10, NULL, NULL, NULL, NULL, 2), +(155, 23, 11, 30, '2024-04-01 04:20:31', '2024-04-01 04:20:31', 11, NULL, NULL, NULL, NULL, 3), +(156, 23, 12, 30, '2024-04-01 04:23:28', '2024-04-01 04:23:28', 12, NULL, NULL, NULL, NULL, 3), +(157, 23, 13, 30, '2024-04-01 04:25:42', '2024-04-01 04:25:42', 13, NULL, NULL, NULL, NULL, 3), +(158, 24, 1, 30, '2024-04-01 04:39:19', '2024-04-01 04:39:19', 1, NULL, NULL, NULL, NULL, 1), +(159, 24, 2, 30, '2024-04-01 04:41:02', '2024-04-01 04:41:02', 2, NULL, NULL, NULL, NULL, 1), +(160, 24, 3, 30, '2024-04-01 04:42:32', '2024-04-01 04:42:32', 3, NULL, NULL, NULL, NULL, 1), +(161, 24, 4, 30, '2024-04-01 04:44:02', '2024-04-01 04:44:02', 4, NULL, NULL, NULL, NULL, 1), +(162, 24, 5, 30, '2024-04-01 04:45:29', '2024-04-01 04:45:29', 5, NULL, NULL, NULL, NULL, 1), +(163, 24, 6, 30, '2024-04-01 04:46:41', '2024-04-01 04:46:41', 6, NULL, NULL, NULL, NULL, 2), +(164, 24, 7, 30, '2024-04-01 04:47:59', '2024-04-01 04:47:59', 7, NULL, NULL, NULL, NULL, 2), +(165, 24, 8, 30, '2024-04-01 04:50:58', '2024-04-01 04:50:58', 8, NULL, NULL, NULL, NULL, 2), +(166, 24, 9, 30, '2024-04-01 04:52:34', '2024-04-01 04:52:34', 9, NULL, NULL, NULL, NULL, 2), +(167, 24, 10, 30, '2024-04-01 04:54:11', '2024-04-01 04:54:11', 10, NULL, NULL, NULL, NULL, 2), +(168, 24, 11, 30, '2024-04-01 04:56:49', '2024-04-01 04:56:49', 11, NULL, NULL, NULL, NULL, 3), +(169, 24, 12, 30, '2024-04-01 05:00:15', '2024-04-01 05:00:15', 12, NULL, NULL, NULL, NULL, 3), +(170, 24, 13, 30, '2024-04-01 05:01:30', '2024-04-01 05:01:30', 13, NULL, NULL, NULL, NULL, 3), +(171, 6, 7, 30, '2024-04-07 10:37:45', '2024-04-07 10:37:45', 7, NULL, NULL, NULL, NULL, 2), +(172, 25, 1, 30, '2024-04-16 17:15:45', '2024-04-16 17:15:45', 1, NULL, NULL, NULL, NULL, 1), +(173, 25, 2, 30, '2024-04-16 17:17:42', '2024-04-16 17:17:42', 2, NULL, NULL, NULL, NULL, 1), +(174, 25, 3, 30, '2024-04-16 17:47:13', '2024-04-16 17:47:13', 3, NULL, NULL, NULL, NULL, 1), +(175, 25, 4, 30, '2024-04-23 18:55:07', '2024-04-23 18:55:07', 4, NULL, NULL, NULL, NULL, 1), +(176, 26, 1, 30, '2024-04-26 13:27:52', '2024-04-26 13:27:52', 1, NULL, NULL, NULL, NULL, 1), +(177, 26, 2, 30, '2024-04-26 13:49:38', '2024-04-26 13:49:38', 2, NULL, NULL, NULL, NULL, 1), +(178, 26, 3, 30, '2024-04-26 20:45:25', '2024-04-26 20:45:25', 3, NULL, NULL, NULL, NULL, 1), +(179, 26, 4, 30, '2024-04-26 21:05:21', '2024-04-26 21:05:21', 4, NULL, NULL, NULL, NULL, 1), +(180, 26, 5, 30, '2024-04-26 21:19:22', '2024-04-26 21:19:22', 5, NULL, NULL, NULL, NULL, 1), +(181, 26, 6, 30, '2024-04-26 21:34:42', '2024-04-26 21:34:42', 6, NULL, NULL, NULL, NULL, 2), +(182, 26, 7, 30, '2024-04-26 21:49:25', '2024-04-26 21:49:25', 7, NULL, NULL, NULL, NULL, 2), +(183, 26, 8, 30, '2024-04-26 23:31:57', '2024-04-26 23:31:57', 8, NULL, NULL, NULL, NULL, 2), +(184, 26, 9, 30, '2024-04-26 23:53:24', '2024-04-26 23:53:24', 9, NULL, NULL, NULL, NULL, 2), +(185, 26, 10, 30, '2024-04-27 00:25:17', '2024-04-27 00:25:17', 10, NULL, NULL, NULL, NULL, 2), +(186, 26, 11, 30, '2024-04-27 00:41:20', '2024-04-27 00:41:20', 11, NULL, NULL, NULL, NULL, 3), +(187, 26, 12, 30, '2024-04-27 00:59:38', '2024-04-27 00:59:38', 12, NULL, NULL, NULL, NULL, 3), +(188, 26, 13, 30, '2024-04-27 01:18:30', '2024-04-27 01:18:30', 13, NULL, NULL, NULL, NULL, 3), +(189, 27, 1, 30, '2024-04-27 05:49:46', '2024-04-27 05:49:46', 1, NULL, NULL, NULL, NULL, 1), +(190, 27, 2, 30, '2024-04-27 05:59:07', '2024-04-27 05:59:07', 2, NULL, NULL, NULL, NULL, 1), +(191, 27, 3, 30, '2024-04-27 06:08:16', '2024-04-27 06:08:16', 3, NULL, NULL, NULL, NULL, 1), +(192, 27, 4, 30, '2024-04-27 06:18:53', '2024-04-27 06:18:53', 4, NULL, NULL, NULL, NULL, 1), +(193, 27, 5, 30, '2024-04-27 06:27:43', '2024-04-27 06:27:43', 5, NULL, NULL, NULL, NULL, 1), +(194, 27, 6, 30, '2024-04-27 06:36:03', '2024-04-27 06:36:03', 6, NULL, NULL, NULL, NULL, 2), +(195, 27, 7, 30, '2024-04-27 06:46:48', '2024-04-27 06:46:48', 7, NULL, NULL, NULL, NULL, 2), +(196, 27, 8, 30, '2024-04-27 06:58:37', '2024-04-27 06:58:37', 8, NULL, NULL, NULL, NULL, 2), +(197, 27, 9, 30, '2024-04-27 07:08:10', '2024-04-27 07:08:10', 9, NULL, NULL, NULL, NULL, 2), +(198, 27, 10, 30, '2024-04-27 07:20:20', '2024-04-27 07:20:20', 10, NULL, NULL, NULL, NULL, 2), +(199, 27, 11, 30, '2024-04-27 07:29:18', '2024-04-27 07:29:18', 11, NULL, NULL, NULL, NULL, 3), +(200, 27, 12, 30, '2024-04-27 07:39:28', '2024-04-27 07:39:28', 12, NULL, NULL, NULL, NULL, 3), +(201, 27, 13, 30, '2024-04-27 07:47:40', '2024-04-27 07:47:40', 13, NULL, NULL, NULL, NULL, 3), +(202, 28, 1, 30, '2024-04-27 13:40:26', '2024-04-27 13:40:26', 1, NULL, NULL, NULL, NULL, 1), +(203, 28, 2, 30, '2024-04-27 13:49:06', '2024-04-27 13:49:06', 2, NULL, NULL, NULL, NULL, 1), +(204, 28, 3, 30, '2024-04-27 13:57:07', '2024-04-27 13:57:07', 3, NULL, NULL, NULL, NULL, 1), +(205, 28, 4, 30, '2024-04-27 14:05:18', '2024-04-27 14:05:18', 4, NULL, NULL, NULL, NULL, 1), +(206, 28, 5, 30, '2024-04-27 14:13:33', '2024-04-27 14:13:33', 5, NULL, NULL, NULL, NULL, 1), +(207, 28, 6, 30, '2024-04-27 14:21:37', '2024-04-27 14:21:37', 6, NULL, NULL, NULL, NULL, 2), +(208, 28, 7, 30, '2024-04-27 14:29:52', '2024-04-27 14:29:52', 7, NULL, NULL, NULL, NULL, 2), +(209, 28, 8, 30, '2024-04-27 14:37:12', '2024-04-27 14:37:12', 8, NULL, NULL, NULL, NULL, 2), +(210, 28, 9, 30, '2024-04-27 14:46:30', '2024-04-27 14:46:30', 9, NULL, NULL, NULL, NULL, 2), +(211, 28, 10, 30, '2024-04-27 14:54:20', '2024-04-27 14:54:20', 10, NULL, NULL, NULL, NULL, 2), +(212, 28, 11, 30, '2024-04-27 15:01:59', '2024-04-27 15:01:59', 11, NULL, NULL, NULL, NULL, 3), +(213, 28, 12, 30, '2024-04-27 15:09:07', '2024-04-27 15:09:07', 12, NULL, NULL, NULL, NULL, 3), +(214, 28, 13, 30, '2024-04-27 15:16:34', '2024-04-27 15:16:34', 13, NULL, NULL, NULL, NULL, 3), +(215, 29, 1, 30, '2024-04-27 19:24:16', '2024-04-27 19:24:16', 1, NULL, NULL, NULL, NULL, 1), +(216, 29, 2, 30, '2024-04-27 19:35:46', '2024-04-27 19:35:46', 2, NULL, NULL, NULL, NULL, 1), +(217, 29, 3, 30, '2024-04-27 19:45:43', '2024-04-27 19:45:43', 3, NULL, NULL, NULL, NULL, 1), +(218, 29, 4, 30, '2024-04-27 19:53:17', '2024-04-27 19:53:17', 4, NULL, NULL, NULL, NULL, 1), +(219, 29, 5, 30, '2024-04-27 20:01:35', '2024-04-27 20:01:35', 5, NULL, NULL, NULL, NULL, 1), +(220, 29, 6, 30, '2024-04-27 20:10:09', '2024-04-27 20:10:09', 6, NULL, NULL, NULL, NULL, 2), +(221, 29, 7, 30, '2024-04-27 20:18:46', '2024-04-27 20:18:46', 7, NULL, NULL, NULL, NULL, 2), +(222, 29, 8, 30, '2024-04-27 20:27:27', '2024-04-27 20:27:27', 8, NULL, NULL, NULL, NULL, 2), +(223, 29, 9, 30, '2024-04-27 20:36:58', '2024-04-27 20:36:58', 9, NULL, NULL, NULL, NULL, 2), +(224, 29, 10, 30, '2024-04-27 20:44:55', '2024-04-27 20:44:55', 10, NULL, NULL, NULL, NULL, 2), +(225, 29, 11, 30, '2024-04-27 20:54:42', '2024-04-27 20:54:42', 11, NULL, NULL, NULL, NULL, 3), +(229, 29, 12, 30, '2024-04-27 21:07:55', '2024-04-27 21:07:55', 12, NULL, NULL, NULL, NULL, 3), +(230, 29, 13, 30, '2024-04-27 21:16:33', '2024-04-27 21:16:33', 13, NULL, NULL, NULL, NULL, 3), +(231, 30, 1, 30, '2024-04-28 05:54:12', '2024-04-28 05:54:12', 1, NULL, NULL, NULL, NULL, 1), +(232, 30, 2, 30, '2024-04-28 06:08:15', '2024-04-28 06:08:15', 2, NULL, NULL, NULL, NULL, 1), +(233, 30, 3, 30, '2024-04-28 06:15:50', '2024-04-28 06:15:50', 3, NULL, NULL, NULL, NULL, 1), +(234, 30, 4, 30, '2024-04-28 06:24:12', '2024-04-28 06:24:12', 4, NULL, NULL, NULL, NULL, 1), +(235, 30, 5, 30, '2024-04-28 06:31:57', '2024-04-28 06:31:57', 5, NULL, NULL, NULL, NULL, 1), +(236, 30, 6, 30, '2024-04-28 06:42:14', '2024-04-28 06:42:14', 6, NULL, NULL, NULL, NULL, 2), +(237, 30, 7, 30, '2024-04-28 06:50:15', '2024-04-28 06:50:15', 7, NULL, NULL, NULL, NULL, 2), +(238, 30, 8, 30, '2024-04-28 07:02:39', '2024-04-28 07:02:39', 8, NULL, NULL, NULL, NULL, 2), +(239, 30, 9, 30, '2024-04-28 07:11:30', '2024-04-28 07:11:30', 9, NULL, NULL, NULL, NULL, 2), +(240, 30, 10, 30, '2024-04-28 07:23:44', '2024-04-28 07:23:44', 10, NULL, NULL, NULL, NULL, 2), +(241, 30, 11, 30, '2024-04-28 07:33:50', '2024-04-28 07:33:50', 11, NULL, NULL, NULL, NULL, 3), +(242, 30, 12, 30, '2024-04-28 07:41:56', '2024-04-28 07:41:56', 12, NULL, NULL, NULL, NULL, 3), +(243, 30, 13, 30, '2024-04-28 07:52:16', '2024-04-28 07:52:16', 13, NULL, NULL, NULL, NULL, 3), +(244, 31, 1, 30, '2024-04-28 13:56:36', '2024-04-28 13:56:36', 1, NULL, NULL, NULL, NULL, 1), +(245, 31, 2, 30, '2024-04-28 14:03:05', '2024-04-28 14:03:05', 2, NULL, NULL, NULL, NULL, 1), +(246, 31, 3, 30, '2024-04-28 14:06:42', '2024-04-28 14:06:42', 3, NULL, NULL, NULL, NULL, 1), +(247, 31, 4, 30, '2024-04-28 14:10:42', '2024-04-28 14:10:42', 4, NULL, NULL, NULL, NULL, 1), +(248, 31, 5, 30, '2024-04-28 14:14:10', '2024-04-28 14:14:10', 5, NULL, NULL, NULL, NULL, 1), +(249, 31, 6, 30, '2024-04-28 14:17:19', '2024-04-28 14:17:19', 6, NULL, NULL, NULL, NULL, 2), +(250, 31, 7, 30, '2024-04-28 14:20:00', '2024-04-28 14:20:00', 7, NULL, NULL, NULL, NULL, 2), +(251, 31, 8, 30, '2024-04-28 14:23:41', '2024-04-28 14:23:41', 8, NULL, NULL, NULL, NULL, 2), +(252, 31, 9, 30, '2024-04-28 14:27:24', '2024-04-28 14:27:24', 9, NULL, NULL, NULL, NULL, 2), +(253, 31, 10, 30, '2024-04-28 14:30:31', '2024-04-28 14:30:31', 10, NULL, NULL, NULL, NULL, 2), +(254, 31, 11, 30, '2024-04-28 14:32:57', '2024-04-28 14:32:57', 11, NULL, NULL, NULL, NULL, 3), +(255, 31, 12, 30, '2024-04-28 14:35:43', '2024-04-28 14:35:43', 12, NULL, NULL, NULL, NULL, 3), +(256, 31, 13, 30, '2024-04-28 14:38:08', '2024-04-28 14:38:08', 13, NULL, NULL, NULL, NULL, 3), +(257, 32, 1, 30, '2024-05-01 19:21:50', '2024-05-01 19:21:50', 1, NULL, NULL, NULL, NULL, 1), +(258, 32, 2, 30, '2024-05-01 19:43:41', '2024-05-01 19:43:41', 2, NULL, NULL, NULL, NULL, 1), +(259, 32, 3, 30, '2024-05-01 19:56:23', '2024-05-01 19:56:23', 3, NULL, NULL, NULL, NULL, 1), +(260, 33, 1, 30, '2024-05-01 20:41:11', '2024-05-01 20:41:11', 1, NULL, NULL, NULL, NULL, 1), +(261, 34, 1, 30, '2024-05-01 21:30:43', '2024-05-01 21:30:43', 1, NULL, NULL, NULL, NULL, 1), +(262, 34, 2, 30, '2024-05-01 21:42:24', '2024-05-01 21:42:24', 2, NULL, NULL, NULL, NULL, 1), +(263, 34, 3, 30, '2024-05-01 22:35:42', '2024-05-01 22:35:42', 3, NULL, NULL, NULL, NULL, 1), +(264, 34, 4, 30, '2024-05-01 23:28:08', '2024-05-01 23:28:08', 4, NULL, NULL, NULL, NULL, 1), +(265, 32, 4, 30, '2024-05-02 15:11:42', '2024-05-02 15:11:42', 4, NULL, NULL, NULL, NULL, 1), +(266, 32, 5, 30, '2024-05-02 15:20:30', '2024-05-02 15:20:30', 5, NULL, NULL, NULL, NULL, 1), +(267, 32, 6, 30, '2024-05-02 15:29:40', '2024-05-02 15:29:40', 6, NULL, NULL, NULL, NULL, 2), +(268, 32, 7, 30, '2024-05-02 15:38:47', '2024-05-02 15:38:47', 7, NULL, NULL, NULL, NULL, 2), +(269, 32, 8, 30, '2024-05-02 15:46:59', '2024-05-02 15:46:59', 8, NULL, NULL, NULL, NULL, 2), +(270, 32, 9, 30, '2024-05-02 15:56:14', '2024-05-02 15:56:14', 9, NULL, NULL, NULL, NULL, 2), +(271, 32, 10, 30, '2024-05-02 16:04:21', '2024-05-02 16:04:21', 10, NULL, NULL, NULL, NULL, 2), +(272, 32, 11, 30, '2024-05-02 16:12:46', '2024-05-02 16:12:46', 11, NULL, NULL, NULL, NULL, 3), +(273, 32, 12, 30, '2024-05-02 16:21:28', '2024-05-02 16:21:28', 12, NULL, NULL, NULL, NULL, 3), +(274, 32, 13, 30, '2024-05-02 16:29:56', '2024-05-02 16:29:56', 13, NULL, NULL, NULL, NULL, 3), +(275, 35, 1, 30, '2024-05-02 17:20:55', '2024-05-02 17:20:55', 1, NULL, NULL, NULL, NULL, 1), +(276, 35, 2, 30, '2024-05-02 17:29:58', '2024-05-02 17:29:58', 2, NULL, NULL, NULL, NULL, 1), +(277, 35, 3, 30, '2024-05-02 17:38:13', '2024-05-02 17:38:13', 3, NULL, NULL, NULL, NULL, 1), +(278, 35, 4, 30, '2024-05-02 17:46:33', '2024-05-02 17:46:33', 4, NULL, NULL, NULL, NULL, 1), +(279, 35, 5, 30, '2024-05-02 17:56:36', '2024-05-02 17:56:36', 5, NULL, NULL, NULL, NULL, 1), +(280, 35, 6, 30, '2024-05-02 18:03:56', '2024-05-02 18:03:56', 6, NULL, NULL, NULL, NULL, 2), +(281, 35, 7, 30, '2024-05-02 18:20:28', '2024-05-02 18:20:28', 7, NULL, NULL, NULL, NULL, 2), +(282, 35, 8, 30, '2024-05-02 18:43:25', '2024-05-02 18:43:25', 8, NULL, NULL, NULL, NULL, 2), +(283, 35, 9, 30, '2024-05-02 18:54:59', '2024-05-02 18:54:59', 9, NULL, NULL, NULL, NULL, 2), +(284, 35, 10, 30, '2024-05-02 19:16:53', '2024-05-02 19:16:53', 10, NULL, NULL, NULL, NULL, 2), +(285, 35, 11, 30, '2024-05-02 19:27:00', '2024-05-02 19:27:00', 11, NULL, NULL, NULL, NULL, 3), +(286, 35, 12, 30, '2024-05-02 19:41:07', '2024-05-02 19:41:07', 12, NULL, NULL, NULL, NULL, 3), +(287, 35, 13, 30, '2024-05-02 19:50:10', '2024-05-02 19:50:10', 13, NULL, NULL, NULL, NULL, 3), +(288, 36, 1, 30, '2024-05-03 03:20:50', '2024-05-03 03:20:50', 1, NULL, NULL, NULL, NULL, 1), +(289, 36, 2, 30, '2024-05-03 03:29:41', '2024-05-03 03:29:41', 2, NULL, NULL, NULL, NULL, 1), +(290, 36, 3, 30, '2024-05-03 03:38:50', '2024-05-03 03:38:50', 3, NULL, NULL, NULL, NULL, 1), +(291, 36, 4, 30, '2024-05-03 03:54:45', '2024-05-03 03:54:45', 4, NULL, NULL, NULL, NULL, 1), +(292, 36, 5, 30, '2024-05-03 04:04:39', '2024-05-03 04:04:39', 5, NULL, NULL, NULL, NULL, 1), +(293, 36, 6, 30, '2024-05-03 04:13:36', '2024-05-03 04:13:36', 6, NULL, NULL, NULL, NULL, 2), +(294, 36, 7, 30, '2024-05-03 04:31:24', '2024-05-03 04:31:24', 7, NULL, NULL, NULL, NULL, 2), +(295, 36, 8, 30, '2024-05-03 04:50:48', '2024-05-03 04:50:48', 8, NULL, NULL, NULL, NULL, 2), +(296, 36, 9, 30, '2024-05-03 05:01:30', '2024-05-03 05:01:30', 9, NULL, NULL, NULL, NULL, 2), +(297, 36, 10, 30, '2024-05-03 05:24:23', '2024-05-03 05:24:23', 10, NULL, NULL, NULL, NULL, 2), +(298, 36, 11, 30, '2024-05-03 05:43:44', '2024-05-03 05:43:44', 11, NULL, NULL, NULL, NULL, 3), +(299, 36, 12, 30, '2024-05-03 05:54:57', '2024-05-03 05:54:57', 12, NULL, NULL, NULL, NULL, 3), +(300, 36, 13, 30, '2024-05-03 06:04:58', '2024-05-03 06:04:58', 13, NULL, NULL, NULL, NULL, 3), +(301, 37, 1, 30, '2024-06-03 05:09:54', '2024-06-03 05:09:54', 1, NULL, NULL, NULL, NULL, 1), +(302, 37, 2, 30, '2024-06-03 05:31:36', '2024-06-03 05:31:36', 2, NULL, NULL, NULL, NULL, 1), +(303, 37, 3, 30, '2024-06-03 05:41:03', '2024-06-03 05:41:03', 3, NULL, NULL, NULL, NULL, 1), +(304, 37, 4, 30, '2024-06-03 05:50:28', '2024-06-03 05:50:28', 4, NULL, NULL, NULL, NULL, 1), +(305, 37, 5, 30, '2024-06-03 06:06:41', '2024-06-03 06:06:41', 5, NULL, NULL, NULL, NULL, 1), +(306, 37, 6, 30, '2024-06-03 06:24:19', '2024-06-03 06:24:19', 6, NULL, NULL, NULL, NULL, 2), +(307, 37, 7, 30, '2024-06-03 06:39:36', '2024-06-03 06:39:36', 7, NULL, NULL, NULL, NULL, 2), +(308, 37, 8, 30, '2024-06-03 07:01:21', '2024-06-03 07:01:21', 8, NULL, NULL, NULL, NULL, 2), +(309, 37, 9, 30, '2024-06-03 07:09:37', '2024-06-03 07:09:37', 9, NULL, NULL, NULL, NULL, 2), +(310, 37, 10, 30, '2024-06-03 07:25:08', '2024-06-03 07:25:08', 10, NULL, NULL, NULL, NULL, 2), +(311, 37, 11, 30, '2024-06-03 07:33:03', '2024-06-03 07:33:03', 11, NULL, NULL, NULL, NULL, 3), +(312, 37, 12, 30, '2024-06-03 07:40:56', '2024-06-03 07:40:56', 12, NULL, NULL, NULL, NULL, 3), +(313, 37, 13, 30, '2024-06-03 08:04:56', '2024-06-03 08:04:56', 13, NULL, NULL, NULL, NULL, 3), +(314, 39, 1, 30, '2024-06-10 01:56:00', '2024-06-10 01:56:00', 1, NULL, NULL, NULL, NULL, 1), +(315, 39, 2, 30, '2024-06-10 02:00:48', '2024-06-10 02:00:48', 2, NULL, NULL, NULL, NULL, 1), +(316, 39, 3, 30, '2024-06-10 02:06:07', '2024-06-10 02:06:07', 3, NULL, NULL, NULL, NULL, 1), +(317, 39, 4, 30, '2024-06-10 02:16:01', '2024-06-10 02:16:01', 4, NULL, NULL, NULL, NULL, 1), +(318, 39, 5, 30, '2024-06-10 02:26:51', '2024-06-10 02:26:51', 5, NULL, NULL, NULL, NULL, 1), +(319, 39, 6, 30, '2024-06-10 02:33:19', '2024-06-10 02:33:19', 6, NULL, NULL, NULL, NULL, 2), +(320, 39, 7, 30, '2024-06-10 02:36:52', '2024-06-10 02:36:52', 7, NULL, NULL, NULL, NULL, 2), +(321, 39, 8, 30, '2024-06-10 02:45:40', '2024-06-10 02:45:40', 8, NULL, NULL, NULL, NULL, 2), +(322, 39, 9, 30, '2024-06-10 02:53:08', '2024-06-10 02:53:08', 9, NULL, NULL, NULL, NULL, 2), +(323, 39, 10, 30, '2024-06-10 03:07:34', '2024-06-10 03:07:34', 10, NULL, NULL, NULL, NULL, 2), +(324, 40, 1, 30, '2024-06-10 03:14:12', '2024-06-10 03:14:12', 1, NULL, NULL, NULL, NULL, 1), +(325, 40, 2, 30, '2024-06-10 03:21:50', '2024-06-10 03:21:50', 2, NULL, NULL, NULL, NULL, 1), +(326, 40, 3, 30, '2024-06-10 03:28:51', '2024-06-10 03:28:51', 3, NULL, NULL, NULL, NULL, 1), +(327, 40, 4, 30, '2024-06-10 03:34:55', '2024-06-10 03:34:55', 4, NULL, NULL, NULL, NULL, 1), +(328, 40, 5, 30, '2024-06-10 03:41:45', '2024-06-10 03:41:45', 5, NULL, NULL, NULL, NULL, 1), +(329, 40, 6, 30, '2024-06-10 03:50:34', '2024-06-10 03:50:34', 6, NULL, NULL, NULL, NULL, 2), +(330, 41, 1, 30, '2024-06-10 03:59:51', '2024-06-10 03:59:51', 1, NULL, NULL, NULL, NULL, 1), +(331, 41, 2, 30, '2024-06-10 04:04:50', '2024-06-10 04:04:50', 2, NULL, NULL, NULL, NULL, 1), +(332, 41, 3, 30, '2024-06-10 04:11:51', '2024-06-10 04:11:51', 3, NULL, NULL, NULL, NULL, 1), +(333, 41, 4, 30, '2024-06-10 04:17:58', '2024-06-10 04:17:58', 4, NULL, NULL, NULL, NULL, 1), +(334, 41, 5, 30, '2024-06-10 04:27:48', '2024-06-10 04:27:48', 5, NULL, NULL, NULL, NULL, 1), +(335, 41, 6, 30, '2024-06-10 04:31:11', '2024-06-10 04:31:11', 6, NULL, NULL, NULL, NULL, 2), +(336, 41, 7, 30, '2024-06-10 04:34:56', '2024-06-10 04:34:56', 7, NULL, NULL, NULL, NULL, 2), +(337, 41, 8, 30, '2024-06-10 04:38:45', '2024-06-10 04:38:45', 8, NULL, NULL, NULL, NULL, 2), +(338, 41, 9, 30, '2024-06-10 04:42:50', '2024-06-10 04:42:50', 9, NULL, NULL, NULL, NULL, 2), +(339, 41, 10, 30, '2024-06-13 03:23:19', '2024-06-13 03:23:19', 10, NULL, NULL, NULL, NULL, 2), +(340, 41, 11, 30, '2024-06-13 03:41:28', '2024-06-13 03:41:28', 11, NULL, NULL, NULL, NULL, 3), +(341, 41, 12, 30, '2024-06-13 03:45:44', '2024-06-13 03:45:44', 12, NULL, NULL, NULL, NULL, 3), +(342, 41, 13, 30, '2024-06-13 03:51:15', '2024-06-13 03:51:15', 13, NULL, NULL, NULL, NULL, 3), +(343, 40, 7, 30, '2024-06-13 05:31:48', '2024-06-13 05:31:48', 7, NULL, NULL, NULL, NULL, 2), +(344, 40, 8, 30, '2024-06-13 05:37:38', '2024-06-13 05:37:38', 8, NULL, NULL, NULL, NULL, 2), +(345, 40, 9, 30, '2024-06-13 05:43:35', '2024-06-13 05:43:35', 9, NULL, NULL, NULL, NULL, 2), +(346, 40, 10, 30, '2024-06-13 05:47:03', '2024-06-13 05:47:03', 10, NULL, NULL, NULL, NULL, 2), +(347, 40, 11, 30, '2024-06-13 05:51:03', '2024-06-13 05:51:03', 11, NULL, NULL, NULL, NULL, 3), +(348, 40, 12, 30, '2024-06-13 05:54:00', '2024-06-13 05:54:00', 12, NULL, NULL, NULL, NULL, 3), +(349, 40, 13, 30, '2024-06-13 05:55:47', '2024-06-13 05:55:47', 13, NULL, NULL, NULL, NULL, 3), +(350, 42, 1, 30, '2024-06-22 05:46:55', '2024-06-22 05:46:55', 1, NULL, NULL, NULL, NULL, 1), +(351, 42, 2, 30, '2024-06-22 06:47:47', '2024-06-22 06:47:47', 2, NULL, NULL, NULL, NULL, 1), +(352, 43, 1, 30, '2024-06-23 07:49:39', '2024-06-23 07:49:39', 1, NULL, NULL, NULL, NULL, 1), +(353, 43, 2, 30, '2024-06-24 00:51:43', '2024-06-24 00:51:43', 2, NULL, NULL, NULL, NULL, 1), +(354, 44, 1, 30, '2024-06-24 11:40:41', '2024-06-24 11:40:41', 1, NULL, NULL, NULL, NULL, 1), +(355, 44, 2, 30, '2024-06-24 11:43:56', '2024-06-24 11:43:56', 2, NULL, NULL, NULL, NULL, 1), +(358, 43, 3, 30, '2024-06-25 03:25:03', '2024-06-25 03:25:03', 3, NULL, NULL, NULL, NULL, 1), +(359, 43, 4, 30, '2024-06-25 03:26:40', '2024-06-25 03:26:40', 4, NULL, NULL, NULL, NULL, 1), +(369, 43, 5, 30, '2024-06-30 11:19:41', '2024-06-30 11:19:41', 5, NULL, NULL, NULL, NULL, 1), +(370, 43, 6, 30, '2024-06-30 11:21:15', '2024-06-30 11:21:15', 6, NULL, NULL, NULL, NULL, 2), +(371, 45, 1, 30, '2024-06-30 11:23:52', '2024-06-30 11:23:52', 1, NULL, NULL, NULL, NULL, 1), +(372, 45, 2, 30, '2024-07-02 10:29:00', '2024-07-02 10:29:00', 2, NULL, NULL, NULL, NULL, 1); + +-- -------------------------------------------------------- + +-- +-- Table structure for table `wondering_score` +-- + +CREATE TABLE `wondering_score` ( + `id` bigint UNSIGNED NOT NULL, + `user_id` bigint UNSIGNED NOT NULL, + `content_id` int UNSIGNED NOT NULL, + `score` int NOT NULL, + `created_at` timestamp NULL DEFAULT NULL, + `updated_at` timestamp NULL DEFAULT NULL +) ENGINE=InnoDB DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci; + +-- +-- Dumping data for table `wondering_score` +-- + +INSERT INTO `wondering_score` (`id`, `user_id`, `content_id`, `score`, `created_at`, `updated_at`) VALUES +(1, 2, 1, 10, '2023-06-01 07:07:42', '2023-06-01 07:07:42'), +(3, 2, 2, 10, '2023-06-01 18:52:02', '2023-06-01 18:52:02'), +(4, 2, 3, 10, '2023-06-01 19:43:20', '2023-06-01 19:43:20'), +(5, 2, 4, 10, '2023-06-01 20:34:36', '2023-06-01 20:34:36'), +(6, 2, 5, 10, '2023-06-02 07:32:03', '2023-06-02 07:32:03'), +(7, 2, 6, 10, '2023-06-03 06:10:25', '2023-06-03 06:10:25'), +(8, 2, 7, 10, '2023-06-03 07:15:59', '2023-06-03 07:15:59'), +(9, 2, 8, 10, '2023-06-04 06:28:06', '2023-06-04 06:28:06'), +(10, 2, 8, 10, '2023-06-04 06:28:06', '2023-06-04 06:28:06'), +(11, 2, 9, 10, '2023-06-04 06:55:08', '2023-06-04 06:55:08'), +(12, 2, 10, 10, '2023-06-04 06:58:50', '2023-06-04 06:58:50'), +(13, 2, 11, 10, '2023-06-04 07:02:33', '2023-06-04 07:02:33'), +(14, 2, 12, 10, '2023-06-04 07:05:39', '2023-06-04 07:05:39'), +(15, 2, 13, 10, '2023-06-04 07:15:47', '2023-06-04 07:15:47'), +(16, 3, 1, 10, '2023-06-07 07:23:49', '2023-06-07 07:23:49'), +(17, 3, 2, 10, '2023-06-28 02:18:47', '2023-06-28 02:18:47'), +(18, 4, 1, 10, '2023-07-06 20:15:05', '2023-07-06 20:15:05'), +(19, 6, 2, 10, '2024-01-22 22:42:39', '2024-01-22 22:42:39'), +(36, 6, 3, 10, '2024-02-26 20:41:01', '2024-02-26 20:41:01'), +(37, 6, 4, 10, '2024-02-26 20:41:17', '2024-02-26 20:41:17'), +(38, 6, 5, 10, '2024-02-26 20:41:29', '2024-02-26 20:41:29'), +(39, 6, 1, 10, '2024-02-26 23:24:56', '2024-02-26 23:24:56'), +(40, 6, 6, 10, '2024-02-27 01:06:45', '2024-02-27 01:06:45'), +(41, 7, 1, 10, '2024-03-08 07:44:18', '2024-03-08 07:44:18'), +(43, 7, 2, 10, '2024-03-08 08:31:45', '2024-03-08 08:31:45'), +(44, 7, 3, 10, '2024-03-08 08:38:38', '2024-03-08 08:38:38'), +(45, 7, 4, 10, '2024-03-08 09:11:49', '2024-03-08 09:11:49'), +(46, 9, 1, 10, '2024-03-11 04:59:18', '2024-03-11 04:59:18'), +(47, 9, 2, 10, '2024-03-11 05:03:14', '2024-03-11 05:03:14'), +(48, 9, 3, 10, '2024-03-11 05:06:28', '2024-03-11 05:06:28'), +(49, 9, 4, 10, '2024-03-11 05:08:58', '2024-03-11 05:08:58'), +(50, 9, 5, 10, '2024-03-11 05:12:26', '2024-03-11 05:12:26'), +(51, 7, 5, 10, '2024-03-11 05:18:01', '2024-03-11 05:18:01'), +(52, 10, 1, 10, '2024-03-11 08:28:04', '2024-03-11 08:28:04'), +(53, 10, 2, 10, '2024-03-11 08:36:02', '2024-03-11 08:36:02'), +(54, 10, 3, 10, '2024-03-11 08:39:45', '2024-03-11 08:39:45'), +(55, 10, 4, 10, '2024-03-11 08:43:15', '2024-03-11 08:43:15'), +(56, 10, 5, 10, '2024-03-11 08:46:00', '2024-03-11 08:46:00'), +(57, 11, 1, 10, '2024-03-11 08:54:17', '2024-03-11 08:54:17'), +(58, 11, 2, 10, '2024-03-11 08:57:07', '2024-03-11 08:57:07'), +(59, 11, 3, 10, '2024-03-11 08:58:21', '2024-03-11 08:58:21'), +(60, 11, 4, 10, '2024-03-11 08:59:40', '2024-03-11 08:59:40'), +(61, 11, 5, 10, '2024-03-11 09:01:04', '2024-03-11 09:01:04'), +(62, 12, 1, 10, '2024-03-11 09:09:20', '2024-03-11 09:09:20'), +(63, 12, 2, 10, '2024-03-11 09:11:30', '2024-03-11 09:11:30'), +(64, 12, 3, 10, '2024-03-11 09:12:44', '2024-03-11 09:12:44'), +(65, 12, 4, 10, '2024-03-11 09:15:38', '2024-03-11 09:15:38'), +(66, 12, 5, 10, '2024-03-11 09:17:04', '2024-03-11 09:17:04'), +(67, 13, 1, 10, '2024-03-11 09:20:21', '2024-03-11 09:20:21'), +(68, 13, 2, 10, '2024-03-11 09:22:29', '2024-03-11 09:22:29'), +(69, 13, 3, 10, '2024-03-11 09:24:23', '2024-03-11 09:24:23'), +(70, 13, 4, 10, '2024-03-11 09:26:07', '2024-03-11 09:26:07'), +(71, 13, 5, 10, '2024-03-11 09:29:51', '2024-03-11 09:29:51'), +(72, 14, 1, 10, '2024-03-11 09:39:36', '2024-03-11 09:39:36'), +(73, 14, 2, 10, '2024-03-11 09:41:55', '2024-03-11 09:41:55'), +(74, 14, 3, 10, '2024-03-11 09:43:17', '2024-03-11 09:43:17'), +(75, 14, 4, 10, '2024-03-11 09:44:55', '2024-03-11 09:44:55'), +(76, 14, 5, 10, '2024-03-11 09:46:44', '2024-03-11 09:46:44'), +(77, 15, 1, 10, '2024-03-11 09:51:17', '2024-03-11 09:51:17'), +(78, 15, 2, 10, '2024-03-11 09:56:26', '2024-03-11 09:56:26'), +(79, 15, 3, 10, '2024-03-11 09:57:53', '2024-03-11 09:57:53'), +(80, 15, 4, 10, '2024-03-11 09:59:56', '2024-03-11 09:59:56'), +(81, 15, 5, 10, '2024-03-11 10:01:21', '2024-03-11 10:01:21'), +(82, 16, 1, 10, '2024-03-11 10:13:38', '2024-03-11 10:13:38'), +(83, 16, 2, 10, '2024-03-11 10:15:31', '2024-03-11 10:15:31'), +(84, 16, 3, 10, '2024-03-11 10:17:04', '2024-03-11 10:17:04'), +(85, 16, 4, 10, '2024-03-11 10:18:20', '2024-03-11 10:18:20'), +(86, 16, 5, 10, '2024-03-11 10:19:39', '2024-03-11 10:19:39'), +(87, 17, 1, 10, '2024-03-11 10:22:50', '2024-03-11 10:22:50'), +(88, 17, 2, 10, '2024-03-11 10:24:53', '2024-03-11 10:24:53'), +(89, 17, 3, 10, '2024-03-11 10:26:01', '2024-03-11 10:26:01'), +(90, 17, 4, 10, '2024-03-11 10:27:13', '2024-03-11 10:27:13'), +(91, 17, 5, 10, '2024-03-11 10:29:23', '2024-03-11 10:29:23'), +(92, 10, 6, 10, '2024-03-24 00:13:08', '2024-03-24 00:13:08'), +(93, 10, 7, 10, '2024-03-24 00:16:17', '2024-03-24 00:16:17'), +(94, 10, 8, 10, '2024-03-24 00:19:11', '2024-03-24 00:19:11'), +(95, 10, 9, 10, '2024-03-24 00:23:12', '2024-03-24 00:23:12'), +(96, 10, 10, 10, '2024-03-24 00:26:12', '2024-03-24 00:26:12'), +(97, 10, 11, 10, '2024-03-24 00:29:54', '2024-03-24 00:29:54'), +(98, 10, 12, 10, '2024-03-24 00:33:24', '2024-03-24 00:33:24'), +(99, 10, 13, 10, '2024-03-24 00:35:50', '2024-03-24 00:35:50'), +(100, 19, 1, 10, '2024-03-24 00:51:59', '2024-03-24 00:51:59'), +(101, 19, 2, 10, '2024-03-24 00:54:45', '2024-03-24 00:54:45'), +(102, 19, 3, 10, '2024-03-24 00:56:10', '2024-03-24 00:56:10'), +(103, 19, 4, 10, '2024-03-24 00:57:26', '2024-03-24 00:57:26'), +(104, 19, 5, 10, '2024-03-24 00:58:49', '2024-03-24 00:58:49'), +(105, 19, 6, 10, '2024-03-24 01:01:01', '2024-03-24 01:01:01'), +(106, 19, 7, 10, '2024-03-24 01:02:50', '2024-03-24 01:02:50'), +(107, 19, 8, 10, '2024-03-24 01:04:10', '2024-03-24 01:04:10'), +(108, 19, 9, 10, '2024-03-24 01:05:30', '2024-03-24 01:05:30'), +(109, 19, 10, 10, '2024-03-24 01:06:55', '2024-03-24 01:06:55'), +(110, 19, 11, 10, '2024-03-24 01:09:09', '2024-03-24 01:09:09'), +(111, 19, 12, 10, '2024-03-24 01:10:44', '2024-03-24 01:10:44'), +(112, 19, 13, 10, '2024-03-24 01:11:53', '2024-03-24 01:11:53'), +(113, 12, 6, 10, '2024-03-24 01:15:00', '2024-03-24 01:15:00'), +(114, 12, 7, 10, '2024-03-24 01:17:49', '2024-03-24 01:17:49'), +(115, 12, 8, 10, '2024-03-24 01:21:37', '2024-03-24 01:21:37'), +(116, 12, 9, 10, '2024-03-24 01:23:08', '2024-03-24 01:23:08'), +(117, 12, 10, 10, '2024-03-24 01:24:27', '2024-03-24 01:24:27'), +(118, 12, 11, 10, '2024-03-24 01:26:01', '2024-03-24 01:26:01'), +(119, 12, 12, 10, '2024-03-24 01:27:28', '2024-03-24 01:27:28'), +(120, 12, 13, 10, '2024-03-24 01:28:51', '2024-03-24 01:28:51'), +(121, 13, 6, 10, '2024-03-24 01:31:07', '2024-03-24 01:31:07'), +(122, 13, 7, 10, '2024-03-24 01:33:11', '2024-03-24 01:33:11'), +(123, 13, 8, 10, '2024-03-24 01:34:30', '2024-03-24 01:34:30'), +(124, 13, 9, 10, '2024-03-24 01:35:48', '2024-03-24 01:35:48'), +(125, 13, 10, 10, '2024-03-24 01:37:32', '2024-03-24 01:37:32'), +(126, 13, 11, 10, '2024-03-24 01:38:50', '2024-03-24 01:38:50'), +(127, 13, 12, 10, '2024-03-24 01:40:06', '2024-03-24 01:40:06'), +(128, 13, 13, 10, '2024-03-24 01:40:55', '2024-03-24 01:40:55'), +(129, 21, 1, 10, '2024-03-24 02:54:38', '2024-03-24 02:54:38'), +(130, 21, 2, 10, '2024-03-26 08:28:28', '2024-03-26 08:28:28'), +(131, 21, 3, 10, '2024-03-28 08:33:38', '2024-03-28 08:33:38'), +(132, 21, 4, 10, '2024-03-28 08:35:38', '2024-03-28 08:35:38'), +(133, 21, 5, 10, '2024-03-28 08:36:56', '2024-03-28 08:36:56'), +(134, 21, 6, 10, '2024-03-28 08:38:21', '2024-03-28 08:38:21'), +(135, 21, 7, 10, '2024-03-28 08:39:29', '2024-03-28 08:39:29'), +(136, 21, 8, 10, '2024-03-28 08:40:39', '2024-03-28 08:40:39'), +(137, 21, 9, 10, '2024-03-28 08:41:56', '2024-03-28 08:41:56'), +(138, 21, 10, 10, '2024-03-28 08:43:18', '2024-03-28 08:43:18'), +(139, 21, 11, 10, '2024-03-28 08:44:49', '2024-03-28 08:44:49'), +(140, 21, 12, 10, '2024-03-28 08:45:58', '2024-03-28 08:45:58'), +(141, 21, 13, 10, '2024-03-28 08:47:04', '2024-03-28 08:47:04'), +(142, 22, 1, 10, '2024-03-28 08:58:56', '2024-03-28 08:58:56'), +(143, 22, 2, 10, '2024-03-28 09:03:34', '2024-03-28 09:03:34'), +(144, 22, 3, 10, '2024-03-28 09:04:33', '2024-03-28 09:04:33'), +(145, 22, 4, 10, '2024-03-28 09:05:39', '2024-03-28 09:05:39'), +(146, 22, 5, 10, '2024-03-28 09:06:53', '2024-03-28 09:06:53'), +(147, 22, 6, 10, '2024-03-28 09:12:08', '2024-03-28 09:12:08'), +(148, 22, 7, 10, '2024-03-28 09:13:11', '2024-03-28 09:13:11'), +(149, 22, 8, 10, '2024-03-28 09:14:24', '2024-03-28 09:14:24'), +(150, 22, 9, 10, '2024-03-28 09:15:30', '2024-03-28 09:15:30'), +(151, 22, 10, 10, '2024-03-28 09:16:46', '2024-03-28 09:16:46'), +(152, 22, 11, 10, '2024-03-28 09:17:59', '2024-03-28 09:17:59'), +(153, 22, 12, 10, '2024-03-28 09:19:11', '2024-03-28 09:19:11'), +(154, 22, 13, 10, '2024-03-28 09:20:23', '2024-03-28 09:20:23'), +(155, 23, 1, 10, '2024-04-01 04:00:29', '2024-04-01 04:00:29'), +(156, 23, 2, 10, '2024-04-01 04:02:21', '2024-04-01 04:02:21'), +(157, 23, 3, 10, '2024-04-01 04:03:34', '2024-04-01 04:03:34'), +(158, 23, 4, 10, '2024-04-01 04:05:32', '2024-04-01 04:05:32'), +(159, 23, 5, 10, '2024-04-01 04:08:08', '2024-04-01 04:08:08'), +(160, 23, 6, 10, '2024-04-01 04:09:49', '2024-04-01 04:09:49'), +(161, 23, 7, 10, '2024-04-01 04:11:03', '2024-04-01 04:11:03'), +(162, 23, 8, 10, '2024-04-01 04:12:27', '2024-04-01 04:12:27'), +(163, 23, 9, 10, '2024-04-01 04:15:52', '2024-04-01 04:15:52'), +(164, 23, 10, 10, '2024-04-01 04:17:20', '2024-04-01 04:17:20'), +(165, 23, 11, 10, '2024-04-01 04:19:26', '2024-04-01 04:19:26'), +(166, 23, 12, 10, '2024-04-01 04:21:02', '2024-04-01 04:21:02'), +(167, 23, 13, 10, '2024-04-01 04:23:52', '2024-04-01 04:23:52'), +(168, 24, 1, 10, '2024-04-01 04:37:32', '2024-04-01 04:37:32'), +(169, 24, 2, 10, '2024-04-01 04:39:56', '2024-04-01 04:39:56'), +(170, 24, 3, 10, '2024-04-01 04:41:31', '2024-04-01 04:41:31'), +(171, 24, 4, 10, '2024-04-01 04:43:01', '2024-04-01 04:43:01'), +(172, 24, 5, 10, '2024-04-01 04:44:36', '2024-04-01 04:44:36'), +(173, 24, 6, 10, '2024-04-01 04:45:55', '2024-04-01 04:45:55'), +(174, 24, 7, 10, '2024-04-01 04:47:10', '2024-04-01 04:47:10'), +(175, 24, 8, 10, '2024-04-01 04:50:10', '2024-04-01 04:50:10'), +(176, 24, 9, 10, '2024-04-01 04:51:47', '2024-04-01 04:51:47'), +(177, 24, 10, 10, '2024-04-01 04:53:23', '2024-04-01 04:53:23'), +(178, 24, 11, 10, '2024-04-01 04:55:55', '2024-04-01 04:55:55'), +(179, 24, 12, 10, '2024-04-01 04:59:22', '2024-04-01 04:59:22'), +(180, 24, 13, 10, '2024-04-01 05:00:43', '2024-04-01 05:00:43'), +(181, 6, 7, 10, '2024-04-07 09:36:16', '2024-04-07 09:36:16'), +(182, 25, 1, 10, '2024-04-16 17:14:31', '2024-04-16 17:14:31'), +(183, 25, 2, 10, '2024-04-16 17:17:01', '2024-04-16 17:17:01'), +(184, 25, 3, 10, '2024-04-16 17:46:14', '2024-04-16 17:46:14'), +(185, 25, 4, 10, '2024-04-23 18:53:18', '2024-04-23 18:53:18'), +(186, 26, 1, 10, '2024-04-26 13:26:17', '2024-04-26 13:26:17'), +(187, 26, 2, 10, '2024-04-26 13:48:43', '2024-04-26 13:48:43'), +(188, 26, 3, 10, '2024-04-26 20:40:51', '2024-04-26 20:40:51'), +(189, 26, 4, 10, '2024-04-26 20:55:29', '2024-04-26 20:55:29'), +(190, 26, 5, 10, '2024-04-26 21:14:20', '2024-04-26 21:14:20'), +(191, 26, 6, 10, '2024-04-26 21:30:42', '2024-04-26 21:30:42'), +(192, 26, 7, 10, '2024-04-26 21:43:53', '2024-04-26 21:43:53'), +(193, 26, 8, 10, '2024-04-26 23:17:59', '2024-04-26 23:17:59'), +(194, 26, 9, 10, '2024-04-26 23:44:04', '2024-04-26 23:44:04'), +(195, 26, 10, 10, '2024-04-27 00:05:36', '2024-04-27 00:05:36'), +(196, 26, 11, 10, '2024-04-27 00:33:11', '2024-04-27 00:33:11'), +(197, 26, 12, 10, '2024-04-27 00:50:27', '2024-04-27 00:50:27'), +(198, 26, 13, 10, '2024-04-27 01:09:35', '2024-04-27 01:09:35'), +(199, 27, 1, 10, '2024-04-27 05:48:54', '2024-04-27 05:48:54'), +(200, 27, 2, 10, '2024-04-27 05:58:11', '2024-04-27 05:58:11'), +(201, 27, 3, 10, '2024-04-27 06:07:16', '2024-04-27 06:07:16'), +(202, 27, 4, 10, '2024-04-27 06:16:11', '2024-04-27 06:16:11'), +(203, 27, 5, 10, '2024-04-27 06:26:49', '2024-04-27 06:26:49'), +(204, 27, 6, 10, '2024-04-27 06:35:20', '2024-04-27 06:35:20'), +(205, 27, 7, 10, '2024-04-27 06:45:53', '2024-04-27 06:45:53'), +(206, 27, 8, 10, '2024-04-27 06:55:03', '2024-04-27 06:55:03'), +(207, 27, 9, 10, '2024-04-27 07:07:20', '2024-04-27 07:07:20'), +(208, 27, 10, 10, '2024-04-27 07:17:59', '2024-04-27 07:17:59'), +(209, 27, 11, 10, '2024-04-27 07:28:29', '2024-04-27 07:28:29'), +(210, 27, 12, 10, '2024-04-27 07:38:27', '2024-04-27 07:38:27'), +(211, 27, 13, 10, '2024-04-27 07:46:57', '2024-04-27 07:46:57'), +(212, 28, 1, 10, '2024-04-27 13:39:30', '2024-04-27 13:39:30'), +(213, 28, 2, 10, '2024-04-27 13:48:03', '2024-04-27 13:48:03'), +(214, 28, 3, 10, '2024-04-27 13:56:28', '2024-04-27 13:56:28'), +(215, 28, 4, 10, '2024-04-27 14:04:11', '2024-04-27 14:04:11'), +(216, 28, 5, 10, '2024-04-27 14:12:37', '2024-04-27 14:12:37'), +(217, 28, 6, 10, '2024-04-27 14:20:56', '2024-04-27 14:20:56'), +(218, 28, 7, 10, '2024-04-27 14:28:57', '2024-04-27 14:28:57'), +(219, 28, 8, 10, '2024-04-27 14:36:31', '2024-04-27 14:36:31'), +(220, 28, 9, 10, '2024-04-27 14:45:37', '2024-04-27 14:45:37'), +(221, 28, 10, 10, '2024-04-27 14:53:37', '2024-04-27 14:53:37'), +(222, 28, 11, 10, '2024-04-27 15:00:55', '2024-04-27 15:00:55'), +(223, 28, 12, 10, '2024-04-27 15:08:16', '2024-04-27 15:08:16'), +(224, 28, 13, 10, '2024-04-27 15:15:56', '2024-04-27 15:15:56'), +(225, 29, 1, 10, '2024-04-27 19:23:15', '2024-04-27 19:23:15'), +(226, 29, 2, 10, '2024-04-27 19:35:03', '2024-04-27 19:35:03'), +(227, 29, 3, 10, '2024-04-27 19:44:31', '2024-04-27 19:44:31'), +(228, 29, 4, 10, '2024-04-27 19:52:33', '2024-04-27 19:52:33'), +(229, 29, 5, 10, '2024-04-27 20:00:45', '2024-04-27 20:00:45'), +(230, 29, 6, 10, '2024-04-27 20:09:18', '2024-04-27 20:09:18'), +(231, 29, 7, 10, '2024-04-27 20:18:03', '2024-04-27 20:18:03'), +(232, 29, 8, 10, '2024-04-27 20:26:45', '2024-04-27 20:26:45'), +(233, 29, 9, 10, '2024-04-27 20:35:02', '2024-04-27 20:35:02'), +(234, 29, 10, 10, '2024-04-27 20:44:13', '2024-04-27 20:44:13'), +(235, 29, 11, 10, '2024-04-27 20:53:51', '2024-04-27 20:53:51'), +(236, 29, 12, 10, '2024-04-27 21:03:06', '2024-04-27 21:03:06'), +(237, 29, 13, 10, '2024-04-27 21:15:39', '2024-04-27 21:15:39'), +(238, 30, 1, 10, '2024-04-28 05:53:13', '2024-04-28 05:53:13'), +(239, 30, 2, 10, '2024-04-28 06:07:20', '2024-04-28 06:07:20'), +(240, 30, 3, 10, '2024-04-28 06:15:05', '2024-04-28 06:15:05'), +(241, 30, 4, 10, '2024-04-28 06:23:06', '2024-04-28 06:23:06'), +(242, 30, 5, 10, '2024-04-28 06:30:55', '2024-04-28 06:30:55'), +(243, 30, 6, 10, '2024-04-28 06:41:29', '2024-04-28 06:41:29'), +(244, 30, 7, 10, '2024-04-28 06:49:35', '2024-04-28 06:49:35'), +(245, 30, 8, 10, '2024-04-28 07:02:09', '2024-04-28 07:02:09'), +(246, 30, 9, 10, '2024-04-28 07:10:31', '2024-04-28 07:10:31'), +(247, 30, 10, 10, '2024-04-28 07:18:57', '2024-04-28 07:18:57'), +(248, 30, 11, 10, '2024-04-28 07:33:00', '2024-04-28 07:33:00'), +(249, 30, 12, 10, '2024-04-28 07:40:55', '2024-04-28 07:40:55'), +(250, 30, 13, 10, '2024-04-28 07:50:57', '2024-04-28 07:50:57'), +(251, 31, 1, 10, '2024-04-28 13:55:18', '2024-04-28 13:55:18'), +(252, 31, 2, 10, '2024-04-28 13:58:29', '2024-04-28 13:58:29'), +(253, 31, 3, 10, '2024-04-28 14:05:45', '2024-04-28 14:05:45'), +(254, 31, 4, 10, '2024-04-28 14:09:35', '2024-04-28 14:09:35'), +(255, 31, 5, 10, '2024-04-28 14:13:21', '2024-04-28 14:13:21'), +(256, 31, 6, 10, '2024-04-28 14:16:36', '2024-04-28 14:16:36'), +(257, 31, 7, 10, '2024-04-28 14:19:23', '2024-04-28 14:19:23'), +(258, 31, 8, 10, '2024-04-28 14:22:46', '2024-04-28 14:22:46'), +(259, 31, 9, 10, '2024-04-28 14:26:28', '2024-04-28 14:26:28'), +(260, 31, 10, 10, '2024-04-28 14:29:47', '2024-04-28 14:29:47'), +(261, 31, 11, 10, '2024-04-28 14:32:19', '2024-04-28 14:32:19'), +(262, 31, 12, 10, '2024-04-28 14:34:56', '2024-04-28 14:34:56'), +(263, 31, 13, 10, '2024-04-28 14:37:32', '2024-04-28 14:37:32'), +(264, 32, 1, 10, '2024-05-01 19:20:20', '2024-05-01 19:20:20'), +(265, 32, 2, 10, '2024-05-01 19:42:42', '2024-05-01 19:42:42'), +(266, 32, 3, 10, '2024-05-01 19:55:00', '2024-05-01 19:55:00'), +(267, 33, 1, 10, '2024-05-01 20:40:50', '2024-05-01 20:40:50'), +(268, 34, 1, 10, '2024-05-01 21:30:15', '2024-05-01 21:30:15'), +(269, 34, 2, 10, '2024-05-01 21:41:53', '2024-05-01 21:41:53'), +(270, 34, 3, 10, '2024-05-01 22:34:14', '2024-05-01 22:34:14'), +(271, 34, 4, 10, '2024-05-01 22:48:40', '2024-05-01 22:48:40'), +(272, 32, 4, 10, '2024-05-02 15:10:31', '2024-05-02 15:10:31'), +(273, 32, 5, 10, '2024-05-02 15:19:30', '2024-05-02 15:19:30'), +(274, 32, 6, 10, '2024-05-02 15:28:45', '2024-05-02 15:28:45'), +(275, 32, 7, 10, '2024-05-02 15:37:57', '2024-05-02 15:37:57'), +(276, 32, 8, 10, '2024-05-02 15:46:21', '2024-05-02 15:46:21'), +(277, 32, 9, 10, '2024-05-02 15:55:14', '2024-05-02 15:55:14'), +(278, 32, 10, 10, '2024-05-02 16:03:21', '2024-05-02 16:03:21'), +(279, 32, 11, 10, '2024-05-02 16:11:58', '2024-05-02 16:11:58'), +(280, 32, 12, 10, '2024-05-02 16:20:32', '2024-05-02 16:20:32'), +(281, 32, 13, 10, '2024-05-02 16:29:10', '2024-05-02 16:29:10'), +(282, 35, 1, 10, '2024-05-02 17:18:53', '2024-05-02 17:18:53'), +(283, 35, 2, 10, '2024-05-02 17:29:10', '2024-05-02 17:29:10'), +(284, 35, 3, 10, '2024-05-02 17:37:07', '2024-05-02 17:37:07'), +(285, 35, 4, 10, '2024-05-02 17:45:55', '2024-05-02 17:45:55'), +(286, 35, 5, 10, '2024-05-02 17:55:32', '2024-05-02 17:55:32'), +(287, 35, 6, 10, '2024-05-02 18:03:14', '2024-05-02 18:03:14'), +(288, 35, 7, 10, '2024-05-02 18:19:10', '2024-05-02 18:19:10'), +(289, 35, 8, 10, '2024-05-02 18:42:28', '2024-05-02 18:42:28'), +(290, 35, 9, 10, '2024-05-02 18:53:52', '2024-05-02 18:53:52'), +(291, 35, 10, 10, '2024-05-02 19:15:29', '2024-05-02 19:15:29'), +(292, 35, 11, 10, '2024-05-02 19:26:11', '2024-05-02 19:26:11'), +(293, 35, 12, 10, '2024-05-02 19:40:12', '2024-05-02 19:40:12'), +(294, 35, 13, 10, '2024-05-02 19:49:26', '2024-05-02 19:49:26'), +(295, 36, 1, 10, '2024-05-03 03:10:49', '2024-05-03 03:10:49'), +(296, 36, 2, 10, '2024-05-03 03:28:42', '2024-05-03 03:28:42'), +(297, 36, 3, 10, '2024-05-03 03:37:44', '2024-05-03 03:37:44'), +(298, 36, 4, 10, '2024-05-03 03:48:05', '2024-05-03 03:48:05'), +(299, 36, 5, 10, '2024-05-03 04:03:42', '2024-05-03 04:03:42'), +(300, 36, 6, 10, '2024-05-03 04:11:29', '2024-05-03 04:11:29'), +(301, 36, 7, 10, '2024-05-03 04:30:34', '2024-05-03 04:30:34'), +(302, 36, 8, 10, '2024-05-03 04:50:08', '2024-05-03 04:50:08'), +(303, 36, 9, 10, '2024-05-03 05:00:37', '2024-05-03 05:00:37'), +(304, 36, 10, 10, '2024-05-03 05:23:26', '2024-05-03 05:23:26'), +(305, 36, 11, 10, '2024-05-03 05:43:04', '2024-05-03 05:43:04'), +(306, 36, 12, 10, '2024-05-03 05:53:59', '2024-05-03 05:53:59'), +(307, 36, 13, 10, '2024-05-03 06:04:08', '2024-05-03 06:04:08'), +(308, 37, 1, 10, '2024-06-03 05:06:24', '2024-06-03 05:06:24'), +(309, 37, 2, 10, '2024-06-03 05:26:12', '2024-06-03 05:26:12'), +(310, 37, 3, 10, '2024-06-03 05:38:55', '2024-06-03 05:38:55'), +(311, 37, 4, 10, '2024-06-03 05:49:25', '2024-06-03 05:49:25'), +(312, 37, 5, 10, '2024-06-03 05:59:32', '2024-06-03 05:59:32'), +(313, 37, 6, 10, '2024-06-03 06:23:18', '2024-06-03 06:23:18'), +(314, 37, 7, 10, '2024-06-03 06:38:42', '2024-06-03 06:38:42'), +(315, 37, 8, 10, '2024-06-03 07:00:27', '2024-06-03 07:00:27'), +(316, 37, 9, 10, '2024-06-03 07:08:37', '2024-06-03 07:08:37'), +(317, 37, 10, 10, '2024-06-03 07:23:53', '2024-06-03 07:23:53'), +(318, 37, 11, 10, '2024-06-03 07:32:17', '2024-06-03 07:32:17'), +(319, 37, 12, 10, '2024-06-03 07:39:52', '2024-06-03 07:39:52'), +(320, 37, 13, 10, '2024-06-03 07:51:14', '2024-06-03 07:51:14'), +(321, 39, 1, 10, '2024-06-10 01:50:17', '2024-06-10 01:50:17'), +(322, 39, 2, 10, '2024-06-10 01:57:36', '2024-06-10 01:57:36'), +(323, 39, 3, 10, '2024-06-10 02:01:38', '2024-06-10 02:01:38'), +(324, 39, 4, 10, '2024-06-10 02:07:17', '2024-06-10 02:07:17'), +(325, 39, 5, 10, '2024-06-10 02:20:41', '2024-06-10 02:20:41'), +(326, 39, 6, 10, '2024-06-10 02:27:19', '2024-06-10 02:27:19'), +(327, 39, 7, 10, '2024-06-10 02:34:00', '2024-06-10 02:34:00'), +(328, 39, 8, 10, '2024-06-10 02:37:30', '2024-06-10 02:37:30'), +(329, 39, 9, 10, '2024-06-10 02:46:25', '2024-06-10 02:46:25'), +(330, 39, 10, 10, '2024-06-10 02:53:57', '2024-06-10 02:53:57'), +(331, 40, 1, 10, '2024-06-10 03:09:15', '2024-06-10 03:09:15'), +(332, 40, 2, 10, '2024-06-10 03:16:55', '2024-06-10 03:16:55'), +(333, 40, 3, 10, '2024-06-10 03:23:05', '2024-06-10 03:23:05'), +(334, 40, 4, 10, '2024-06-10 03:29:43', '2024-06-10 03:29:43'), +(335, 40, 5, 10, '2024-06-10 03:35:37', '2024-06-10 03:35:37'), +(336, 40, 6, 10, '2024-06-10 03:46:47', '2024-06-10 03:46:47'), +(337, 40, 7, 10, '2024-06-10 03:51:44', '2024-06-10 03:51:44'), +(338, 41, 1, 10, '2024-06-10 03:54:10', '2024-06-10 03:54:10'), +(339, 41, 2, 10, '2024-06-10 04:01:09', '2024-06-10 04:01:09'), +(340, 41, 3, 10, '2024-06-10 04:05:27', '2024-06-10 04:05:27'), +(341, 41, 4, 10, '2024-06-10 04:12:21', '2024-06-10 04:12:21'), +(342, 41, 5, 10, '2024-06-10 04:22:17', '2024-06-10 04:22:17'), +(343, 41, 6, 10, '2024-06-10 04:28:16', '2024-06-10 04:28:16'), +(344, 41, 7, 10, '2024-06-10 04:31:29', '2024-06-10 04:31:29'), +(345, 41, 8, 10, '2024-06-10 04:35:23', '2024-06-10 04:35:23'), +(346, 41, 9, 10, '2024-06-10 04:39:09', '2024-06-10 04:39:09'), +(347, 41, 10, 10, '2024-06-13 03:17:31', '2024-06-13 03:17:31'), +(348, 41, 11, 10, '2024-06-13 03:37:27', '2024-06-13 03:37:27'), +(349, 41, 12, 10, '2024-06-13 03:42:53', '2024-06-13 03:42:53'), +(350, 41, 13, 10, '2024-06-13 03:48:00', '2024-06-13 03:48:00'), +(351, 40, 8, 10, '2024-06-13 05:32:45', '2024-06-13 05:32:45'), +(352, 40, 9, 10, '2024-06-13 05:39:13', '2024-06-13 05:39:13'), +(353, 40, 10, 10, '2024-06-13 05:44:12', '2024-06-13 05:44:12'), +(354, 40, 11, 10, '2024-06-13 05:47:46', '2024-06-13 05:47:46'), +(355, 40, 12, 10, '2024-06-13 05:51:36', '2024-06-13 05:51:36'), +(356, 40, 13, 10, '2024-06-13 05:54:29', '2024-06-13 05:54:29'), +(357, 42, 1, 10, '2024-06-22 05:41:42', '2024-06-22 05:41:42'), +(358, 42, 2, 10, '2024-06-22 06:45:36', '2024-06-22 06:45:36'), +(359, 43, 1, 10, '2024-06-23 07:44:20', '2024-06-23 07:44:20'), +(360, 43, 2, 10, '2024-06-24 00:48:20', '2024-06-24 00:48:20'), +(361, 44, 1, 10, '2024-06-24 11:39:43', '2024-06-24 11:39:43'), +(362, 44, 2, 10, '2024-06-24 11:42:07', '2024-06-24 11:42:07'), +(363, 43, 3, 10, '2024-06-25 03:21:07', '2024-06-25 03:21:07'), +(364, 43, 4, 10, '2024-06-25 03:25:40', '2024-06-25 03:25:40'), +(365, 45, 1, 10, '2024-06-30 10:51:20', '2024-06-30 10:51:20'), +(366, 43, 5, 10, '2024-06-30 10:58:22', '2024-06-30 10:58:22'), +(367, 43, 6, 10, '2024-06-30 11:20:32', '2024-06-30 11:20:32'), +(368, 45, 2, 10, '2024-07-02 10:27:54', '2024-07-02 10:27:54'); + +-- +-- Indexes for dumped tables +-- + +-- +-- Indexes for table `answers` +-- +ALTER TABLE `answers` + ADD PRIMARY KEY (`id`), + ADD KEY `answers_question_id_foreign` (`question_id`); + +-- +-- Indexes for table `badge_settings` +-- +ALTER TABLE `badge_settings` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `code_error_logs` +-- +ALTER TABLE `code_error_logs` + ADD PRIMARY KEY (`id`), + ADD KEY `code_error_logs_user_id_foreign` (`user_id`), + ADD KEY `code_error_logs_question_id_foreign` (`question_id`); + +-- +-- Indexes for table `code_history_logs` +-- +ALTER TABLE `code_history_logs` + ADD PRIMARY KEY (`id`), + ADD KEY `code_history_logs_user_id_foreign` (`user_id`), + ADD KEY `code_history_logs_question_id_foreign` (`question_id`); + +-- +-- Indexes for table `contents` +-- +ALTER TABLE `contents` + ADD PRIMARY KEY (`id`), + ADD KEY `contents_lesson_id_foreign` (`lesson_id`); + +-- +-- Indexes for table `courses` +-- +ALTER TABLE `courses` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `essay_question` +-- +ALTER TABLE `essay_question` + ADD PRIMARY KEY (`id`), + ADD KEY `essay_question_question_id_foreign` (`question_id`), + ADD KEY `essay_question_user_id_foreign` (`user_id`); + +-- +-- Indexes for table `explaining_score` +-- +ALTER TABLE `explaining_score` + ADD PRIMARY KEY (`id`), + ADD KEY `explaining_score_user_id_foreign` (`user_id`), + ADD KEY `explaining_score_content_id_foreign` (`content_id`), + ADD KEY `explaining_score_essay_question_id_foreign` (`essay_question_id`), + ADD KEY `explaining_score_user_answer_id_foreign` (`user_answer_id`); + +-- +-- Indexes for table `explains` +-- +ALTER TABLE `explains` + ADD PRIMARY KEY (`id`), + ADD KEY `explains_level_id_foreign` (`level_id`), + ADD KEY `explains_user_id_foreign` (`user_id`); + +-- +-- Indexes for table `failed_jobs` +-- +ALTER TABLE `failed_jobs` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `failed_jobs_uuid_unique` (`uuid`); + +-- +-- Indexes for table `lessons` +-- +ALTER TABLE `lessons` + ADD PRIMARY KEY (`id`), + ADD KEY `lessons_course_id_foreign` (`course_id`), + ADD KEY `lessons_level_id_foreign` (`level_id`); + +-- +-- Indexes for table `levels` +-- +ALTER TABLE `levels` + ADD PRIMARY KEY (`id`), + ADD KEY `levels_course_id_foreign` (`course_id`); + +-- +-- Indexes for table `migrations` +-- +ALTER TABLE `migrations` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `password_resets` +-- +ALTER TABLE `password_resets` + ADD KEY `password_resets_email_index` (`email`); + +-- +-- Indexes for table `personal_access_tokens` +-- +ALTER TABLE `personal_access_tokens` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `personal_access_tokens_token_unique` (`token`), + ADD KEY `personal_access_tokens_tokenable_type_tokenable_id_index` (`tokenable_type`,`tokenable_id`); + +-- +-- Indexes for table `questions` +-- +ALTER TABLE `questions` + ADD PRIMARY KEY (`id`), + ADD KEY `questions_content_id_foreign` (`content_id`); + +-- +-- Indexes for table `roles` +-- +ALTER TABLE `roles` + ADD PRIMARY KEY (`id`); + +-- +-- Indexes for table `role_user` +-- +ALTER TABLE `role_user` + ADD PRIMARY KEY (`id`), + ADD KEY `role_user_user_id_foreign` (`user_id`), + ADD KEY `role_user_role_id_foreign` (`role_id`); + +-- +-- Indexes for table `student_courses` +-- +ALTER TABLE `student_courses` + ADD PRIMARY KEY (`id`), + ADD KEY `student_courses_user_id_foreign` (`user_id`), + ADD KEY `student_courses_course_id_foreign` (`course_id`); + +-- +-- Indexes for table `total_score` +-- +ALTER TABLE `total_score` + ADD PRIMARY KEY (`id`), + ADD KEY `total_score_user_id_foreign` (`user_id`), + ADD KEY `total_score_content_id_foreign` (`content_id`), + ADD KEY `total_score_question_id_foreign` (`question_id`), + ADD KEY `total_score_wondering_score_id_foreign` (`wondering_score_id`), + ADD KEY `total_score_user_score_id_foreign` (`user_score_id`); + +-- +-- Indexes for table `users` +-- +ALTER TABLE `users` + ADD PRIMARY KEY (`id`), + ADD UNIQUE KEY `users_email_unique` (`email`), + ADD KEY `users_role_id_foreign` (`role_id`); + +-- +-- Indexes for table `user_answer` +-- +ALTER TABLE `user_answer` + ADD PRIMARY KEY (`id`), + ADD KEY `user_answer_user_id_foreign` (`user_id`), + ADD KEY `user_answer_essay_question_id_foreign` (`essay_question_id`); + +-- +-- Indexes for table `user_code_test_score` +-- +ALTER TABLE `user_code_test_score` + ADD PRIMARY KEY (`id`), + ADD KEY `user_code_test_score_question_id_foreign` (`question_id`), + ADD KEY `user_code_test_score_user_id_foreign` (`user_id`); + +-- +-- Indexes for table `user_scores` +-- +ALTER TABLE `user_scores` + ADD PRIMARY KEY (`id`), + ADD KEY `user_scores_user_id_foreign` (`user_id`), + ADD KEY `user_scores_content_id_foreign` (`content_id`), + ADD KEY `user_scores_question_id_foreign` (`question_id`), + ADD KEY `user_scores_level_id_foreign` (`level_id`) USING BTREE; + +-- +-- Indexes for table `wondering_score` +-- +ALTER TABLE `wondering_score` + ADD PRIMARY KEY (`id`), + ADD KEY `wondering_score_user_id_foreign` (`user_id`), + ADD KEY `wondering_score_content_id_foreign` (`content_id`); + +-- +-- AUTO_INCREMENT for dumped tables +-- + +-- +-- AUTO_INCREMENT for table `answers` +-- +ALTER TABLE `answers` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=25; + +-- +-- AUTO_INCREMENT for table `badge_settings` +-- +ALTER TABLE `badge_settings` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=35; + +-- +-- AUTO_INCREMENT for table `code_error_logs` +-- +ALTER TABLE `code_error_logs` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=84; + +-- +-- AUTO_INCREMENT for table `code_history_logs` +-- +ALTER TABLE `code_history_logs` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=517; + +-- +-- AUTO_INCREMENT for table `contents` +-- +ALTER TABLE `contents` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=14; + +-- +-- AUTO_INCREMENT for table `courses` +-- +ALTER TABLE `courses` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=3; + +-- +-- AUTO_INCREMENT for table `essay_question` +-- +ALTER TABLE `essay_question` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=58; + +-- +-- AUTO_INCREMENT for table `explaining_score` +-- +ALTER TABLE `explaining_score` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1030; + +-- +-- AUTO_INCREMENT for table `explains` +-- +ALTER TABLE `explains` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `failed_jobs` +-- +ALTER TABLE `failed_jobs` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `lessons` +-- +ALTER TABLE `lessons` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT for table `levels` +-- +ALTER TABLE `levels` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=10; + +-- +-- AUTO_INCREMENT for table `migrations` +-- +ALTER TABLE `migrations` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=40; + +-- +-- AUTO_INCREMENT for table `personal_access_tokens` +-- +ALTER TABLE `personal_access_tokens` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `questions` +-- +ALTER TABLE `questions` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=27; + +-- +-- AUTO_INCREMENT for table `roles` +-- +ALTER TABLE `roles` + MODIFY `id` int UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=5; + +-- +-- AUTO_INCREMENT for table `role_user` +-- +ALTER TABLE `role_user` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=4; + +-- +-- AUTO_INCREMENT for table `student_courses` +-- +ALTER TABLE `student_courses` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=42; + +-- +-- AUTO_INCREMENT for table `total_score` +-- +ALTER TABLE `total_score` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=344; + +-- +-- AUTO_INCREMENT for table `users` +-- +ALTER TABLE `users` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=46; + +-- +-- AUTO_INCREMENT for table `user_answer` +-- +ALTER TABLE `user_answer` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=1108; + +-- +-- AUTO_INCREMENT for table `user_code_test_score` +-- +ALTER TABLE `user_code_test_score` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT; + +-- +-- AUTO_INCREMENT for table `user_scores` +-- +ALTER TABLE `user_scores` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=373; + +-- +-- AUTO_INCREMENT for table `wondering_score` +-- +ALTER TABLE `wondering_score` + MODIFY `id` bigint UNSIGNED NOT NULL AUTO_INCREMENT, AUTO_INCREMENT=369; + +-- +-- Constraints for dumped tables +-- + +-- +-- Constraints for table `code_history_logs` +-- +ALTER TABLE `code_history_logs` + ADD CONSTRAINT `code_history_logs_ibfk_1` FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`); + +-- +-- Constraints for table `essay_question` +-- +ALTER TABLE `essay_question` + ADD CONSTRAINT `essay_question_ibfk_1` FOREIGN KEY (`question_id`) REFERENCES `questions` (`id`); + +-- +-- Constraints for table `explaining_score` +-- +ALTER TABLE `explaining_score` + ADD CONSTRAINT `explaining_score_ibfk_1` FOREIGN KEY (`content_id`) REFERENCES `contents` (`id`); + +-- +-- Constraints for table `lessons` +-- +ALTER TABLE `lessons` + ADD CONSTRAINT `lessons_ibfk_1` FOREIGN KEY (`course_id`) REFERENCES `courses` (`id`); + +-- +-- Constraints for table `questions` +-- +ALTER TABLE `questions` + ADD CONSTRAINT `questions_ibfk_1` FOREIGN KEY (`content_id`) REFERENCES `contents` (`id`); + +-- +-- Constraints for table `student_courses` +-- +ALTER TABLE `student_courses` + ADD CONSTRAINT `student_courses_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `total_score` +-- +ALTER TABLE `total_score` + ADD CONSTRAINT `total_score_ibfk_1` FOREIGN KEY (`content_id`) REFERENCES `contents` (`id`), + ADD CONSTRAINT `total_score_ibfk_2` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `user_answer` +-- +ALTER TABLE `user_answer` + ADD CONSTRAINT `user_answer_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`), + ADD CONSTRAINT `user_answer_ibfk_2` FOREIGN KEY (`essay_question_id`) REFERENCES `essay_question` (`id`); + +-- +-- Constraints for table `user_code_test_score` +-- +ALTER TABLE `user_code_test_score` + ADD CONSTRAINT `user_code_test_score_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`); + +-- +-- Constraints for table `user_scores` +-- +ALTER TABLE `user_scores` + ADD CONSTRAINT `user_scores_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`), + ADD CONSTRAINT `user_scores_ibfk_2` FOREIGN KEY (`content_id`) REFERENCES `contents` (`id`); + +-- +-- Constraints for table `wondering_score` +-- +ALTER TABLE `wondering_score` + ADD CONSTRAINT `wondering_score_ibfk_1` FOREIGN KEY (`user_id`) REFERENCES `users` (`id`), + ADD CONSTRAINT `wondering_score_ibfk_2` FOREIGN KEY (`content_id`) REFERENCES `contents` (`id`); +COMMIT; + +/*!40101 SET CHARACTER_SET_CLIENT=@OLD_CHARACTER_SET_CLIENT */; +/*!40101 SET CHARACTER_SET_RESULTS=@OLD_CHARACTER_SET_RESULTS */; +/*!40101 SET COLLATION_CONNECTION=@OLD_COLLATION_CONNECTION */; diff --git a/online-compiler/.classpath b/online-compiler/.classpath new file mode 100644 index 0000000..42c17c3 --- /dev/null +++ b/online-compiler/.classpath @@ -0,0 +1,6 @@ + + + + + + diff --git a/online-compiler/.gitignore b/online-compiler/.gitignore new file mode 100644 index 0000000..40bca31 --- /dev/null +++ b/online-compiler/.gitignore @@ -0,0 +1 @@ +/env \ No newline at end of file diff --git a/online-compiler/.idea/vcs.xml b/online-compiler/.idea/vcs.xml new file mode 100644 index 0000000..94a25f7 --- /dev/null +++ b/online-compiler/.idea/vcs.xml @@ -0,0 +1,6 @@ + + + + + + \ No newline at end of file diff --git a/online-compiler/.project b/online-compiler/.project new file mode 100644 index 0000000..79f8423 --- /dev/null +++ b/online-compiler/.project @@ -0,0 +1,28 @@ + + + onlinecompiler + + + + + + org.eclipse.jdt.core.javabuilder + + + + + + org.eclipse.jdt.core.javanature + + + + 1676852722513 + + 30 + + org.eclipse.core.resources.regexFilterMatcher + node_modules|\.git|__CREATED_BY_JAVA_LANGUAGE_SERVER__ + + + + diff --git a/online-compiler/Procfile b/online-compiler/Procfile new file mode 100644 index 0000000..06bf30d --- /dev/null +++ b/online-compiler/Procfile @@ -0,0 +1 @@ +web: python manage.py runserver 0.0.0.0:\$PORT \ No newline at end of file diff --git a/online-compiler/Readme.md b/online-compiler/Readme.md new file mode 100644 index 0000000..027882c --- /dev/null +++ b/online-compiler/Readme.md @@ -0,0 +1,41 @@ +# Readme + +use following step to using this project\ +this project using **django** and **python 3.x**.\ +**python 3.10** is recommended + +## First initialize project +1. Clone project from github directory + `git clone https://github.com/rsakml/onlinecompailer.git` + +2. Create a virtual environment in the project folder + `python -m venv env` + +3. Install in env folder + `pip install -r requirements.txt` + + all project dependency is located on `requirements.txt` + +4. If Django is not installed, run the following command + `pip install django` + + +Running Django Framework using Virtual Environment use this command: +`onlinecompiler> env\Scripts\activate` + +Virtual environment will be activate on command prompt if look like this: +`(env) onlinecompiler>` + +And run the python: +`(env) onlinecompiler>python manage.py runserver ` +it will serve on default port 8000. + + +## API DOC + +| URL | Description | method | params | response | +|------------------------|---------------------------|--------|--------|----------| +| `/compile/run` | Compile java file | POST | ```{code:'xxx', user: 'you@mail.com'}```|```{output: { java: 'xx', test_output: 'xx', point: x}}``` +| `/compile/test_files`|Get all java Test Files | GET || +|`/compile/upload`|Upload java test file|POST|`{file:'xx'(multipart/form-data)}`|`{status: "ok"}` +|`compile/delete`|Delete java test file|POST|`{filename: 'xx'}`| ```{"message": "readme.txt deleted","status": "success"}``` diff --git a/online-compiler/compiler/__init__.py b/online-compiler/compiler/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/online-compiler/compiler/__pycache__/__init__.cpython-310.pyc b/online-compiler/compiler/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..da6c9a696bf662880cf5ea1805c64671f9e4c46c GIT binary patch literal 149 zcmd1j<>g`kf`BuL=^*+sh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6wl*(xTWC_gJT zxuiHIIJ+pbpg1!oKQAXUFI6`=Ker$=C$%UB&WMlC%*!l^kJl@xyv1RYo1apelWGSt Lv6u-+urL4sHE1IF literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/__init__.cpython-311.pyc b/online-compiler/compiler/__pycache__/__init__.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d9d2e398f8c1548c7278a610302a0af3c04944b0 GIT binary patch literal 176 zcmZ3^%ge<81nT0AsUZ3>h=2h`DC095kTIPhg&~+hlhJP_LlF~@{~09t%h}l~rXn%7 zpdcorBqcw&IL0Y4D>0xbKRztAs5sLoCO>z6%nu|!Ff%eTeqewRMa)1k0J?xHnE(I) literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/__init__.cpython-312.pyc b/online-compiler/compiler/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..2768242544f3e2565d2762d87c3b6a8b9ff3ba9c GIT binary patch literal 153 zcmX@j%ge<81OaCf(?RrO5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!vT(MF2`I|XN=+^) zjtR~#$}A|(jLFZ-$;?aDP0r6P$jnJCih(oY<1_OzOXB183My}L*yQG?l;)(`6|n*h TVg%x15aS~=BO_xGGmr%UUu-4a literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/__init__.cpython-39.pyc b/online-compiler/compiler/__pycache__/__init__.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..798922c0d9b1c5836b039f094baad907130a20ae GIT binary patch literal 167 zcmYe~<>g`kg82a(l0fuh5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;!HIvsFxJacWU< zOlop+Mt+P-esXDUYF!f_B3SA%w&pA$1o;imc8wBsdS*Zh72+gKz+D!3n%& z)hob;F|A6*@<0Bh-=4AEOs65Exc?OS2WRZdK{rMOH#GH{1Q>A1DxPr8pa-7pRbJw8 zh8+6nm3{DG@a7Q>iF^nSG$I;6c%U)S5GDtj5(N-B%Kc;nCrdVqcT|hbxb3&XJnX0~ z2mZFeCv82osjXksfX~iRiwcv_pf=gMkf`lxjwU;DCJSv|<0CINt!xC?vwhA=u@(RB zt`Sh8!6e@2jwi~oMkNd`awP!mk+VO(n}v1^rKs~}zEM)E9<^_o>Qhn!CxH|9uF1G_ zxN`qs$FzkmZBW(vovFxKoqS*1UZ(e|DRE_Vx_nectBbU$Wl`h#s;OGKyGoA>S9spO a*x;&aU?cI`y`hdtCT!A+yom2d@be25pp$?A literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/urls.cpython-311.pyc b/online-compiler/compiler/__pycache__/urls.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d3eff0d139d537f6325f7077a7ebff5b97c61ca2 GIT binary patch literal 792 zcmZvZ&ubGw6vt<>vuQSK+Rze2TF;Ukl7qB}ih_y>21F1W2n);58Pg5>i`m__dg@W| z(t}`+o)l5=)c<1^7AbQQ^wL|Px1OBYG;1n(JG=9~-}%hjowr|VwJMNt^8OD!fdKqg zViv|_a{f~$9{~Xby1;`&2mvV(%`JJ_P=lZZC?tq#V>H`H^zY@*8UWwqJ&l}Ml8ioc zNM#{oNTysc)rE{HnWcicwveewrcyA=|1%?fXpohcpjkgtP!kFi;&}H=wm=De&!PK~ z&{*ON-SG)MP=t>?DylJ!V*9n@(nze1XlxhScAY4GTQ77c3Ecn_(U{Km81LbK^gKwY zOJgeP(|L|r9#Nk%9MjH-VM0Zr?OZ=^R)tB%*dGP$gt-w@{T6_!CNtF`rhYCnm21uw zXSLjsTjZf*%KYdnIF}Z>_pZhJjO3rU~k{H0^fCfx)XRImZxWy z%JM|Lx*fi`sNDAglDPB%YsgxvmC+CRm}n5fQ?S9Wj$dGnUmcS&(2c_dWvF$ED$?CJO0w%6zV(cwev0}T>gPT;){kFhH}CL=+Z+v2G|13kexc1byBzgW k)XPxsa^c4DX0|R%J>{sIqHcz|6SKThIyBYA*5o(;1zV=tnE(I) literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/urls.cpython-312.pyc b/online-compiler/compiler/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6ead8a8e0defde6f7c9ef7188af76acb8ceb6731 GIT binary patch literal 743 zcmZvY&ubGw6vt<>yJj}wc~p{dEc07JB|H_P|=)JXF&EyLC=B|d`Lhv zCUu6XyAT2+3D_tSHS;*D<&GSY zpH6^<`~+P}3;ntK_l#4=EdCWN1^Y9aA!9PV)<>>pEhb|H{KVO2SG$r zA0D!%d_>)lbD1tQjPZB0`V%exE+fM{XdW6z)<^5ptxUiDO|KlR9;V|Jd$eK??`>xK zGieRY*73`6dwtYiA3oa7^qs=%j@sSf+D4{7&Apq)YvYzZYRTCrnZ9vhm6u8%EVeB7 F{sm!Nzy1IK literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/urls.cpython-39.pyc b/online-compiler/compiler/__pycache__/urls.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..e652b101fff3a9ab95f7478889bf06d0cbf0031f GIT binary patch literal 478 zcmYk2&q~8U5XN_#q)nTo6v2n+rQStE(1QmNK?Dhbux7_LakB}#oBHP+dMMu`XKiUa%YL&z_-2_ImLwyB@p1F@P*Fm@9qdPlaE4dkqj18hAT>=XCA`Ny(W|}G zqXa1T!K-{8@cz4pG(ZY?xS=6ZpN}>aAq{x!Xzr&WPj1O{yu#nflv=-KX0gIX90bb} zp0)K2wQ<&>l(-jrWBPx7{{RjEi#-4U literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/views.cpython-310.pyc b/online-compiler/compiler/__pycache__/views.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..17523d1d45f022de4b4473cc4db579a07b9ba184 GIT binary patch literal 7513 zcmb_hOOqSPaqbs@#$zz=7iWe9-vl``CeiK-bkr_qhA zZg4nIL!r|)V4L4OwTWJZW+)T~1ObMsmY%OQyYI!R!@r+xj4Ov6AqE(c*>JD4Oa{du(1hwgo z*2b(c*_L(3YZKN)r{APCDf>-XQ+%pD&1Vi(YnIQpPw=TnbBC&`fI81|pf2!*KI+Ls z#X7}L_0dW!kDjN|^9(;NN1r-^X4_}^f}|02Nlowu*v^L9XT=+2Xy-#^i_q~7RXLZ-N85h8FAKH)YPaB>mv3xZU z+ZFzV*Xm(ei-+E6g#I0WmwQf=i#SW@$3EjO+QzrI7jm!4?+DuqwtZ1U52Fz}E@qwD z3jO+BU$9Sk&40|rZMz!!VjnHVt&rEywL@u+?+C1@m@Xq_?Xgo1IIWL#SL9Aa##zXZ#ZdQaU` z%I0Qs{)e=yQfF73m4ZgKiiK`BTz5ZC`;D;P2w(gM*7c1Vr-RTA8$omCmJq(^4syJm zlH|?xQk>${^5Va-!*V80gGD>UY{vuJX{Ygs2maeGq{J$ZZMVVW?5!tNUJo7L6C>0^ z4?+Q{Wd#4C!GkbX`8SG~Mav&I-n)M96X8GN)iAiXwJV%@;N0^)*YWsL)vwi|FXG-2 z@Yvyd!E${+E_OFpk*i$9R6z-aX5@5DHB{|8O*3B>^$Ar|O^J=YG=HVN6m#fgrRoiD zH;glT&=HS^&5U2$TUuFOx3aRK650>Ss+dPt=!{wCwtyOoJ`tzTXy7kJ{1$*nc?3%| z3xP;T1Ehs&q(&OkpKC2W(%agh(lSDbJu)E16iYwXa9T2(P~3nxT7`0#HLFNig*gH| zf!c~wm|Ya87^0$xqHM&*CqLP`BWMY+E*hScL^&m+2Eu7F9SK=zudLTH0)Z7G}<+k zUMF=Q*!4Dq3#~AzrZXkZVIDDzBG&xfzTKv7fAHg5TY}yiryJ6MBs>Cmm~&wUqNo03mjIK*t!zIn>%Z!vXCc zW=J!&8E5Gg71s&E=A?Wt;lWk;_NpC#{k?Kb)rI4Q$wAWmAkNT02pRV#w5;^D4X&}WCJl&G3NeZyQvI8`U$jba1U%#{&UCCB*_VzvPP!A9%cdyNs4G;E zm59?qI)yk*PQwo4(c5^>rXSw+8y=H3P|89~p>w&TU9{F%hZ!7{Mm|}D6bM77&ha5Z zOsGZmj0&6c-Ha|a(AFo6>mZo;lTd<_I7r9BI5r;=(qTw+2^oM438es~qErh$q6J~J z%t&u#Bcqjz(rpz+CLLvDorz3Yn^9KQ*(fJ#h=FCEDy@8!kJ1M!`sbqz>I`ZVwTU{5 zI*U4o8ftN%vTx-`~+~b2cH9;?ZM}P=X&sk zFxSo>Du0haDw<(SjuOrOtNL5Db+Ut7d7h2VMkk|LHaV*tXsvU=PDLj=*m+>3Xs&}@0CqZ>?_d{! zorxAY*rn)vbRoJJUD`2P<*>k}4%DycP+xYG)|GH5Dzj-e^IUshxqtSa)>>>Wg~j%8 zbS_#t)LP5YGMk-M=-(cJCSHxMMpxL0XpthB8%lKbnX+qqt%@kR`jrwbwl06Ieqn{9 zY%aP&J)~hBW%JSH-zjY2nF5+Yv@aFt&q;RbsoA;~U3*3vw1QEkXr()fon~jifmL>v zokP9G&a(@s*Tb>)`0;)q^$kfmhxOvwF+h1EoCqhQjRVA6*weeM#b`C!h!$s+=nX2t z$v3050m@s^`T*r^tmk61$fl>UYPJx)*b^tZcoaOB^^DRwzpfm^x4 z7G;pIycy?tVDDED?e4*g7kZG@K5VTITaWWH7D$HmnV_y`+aeQ0K}8axGA&XLb$Bv; zvpM{;pWoZN7hL)48#gasIKOm1R$yc`!4c0j5Fy1z$e)CRHgPO5uoZ+-)v#ex5cqp~ z1%--5wRyQea$COP`c>NvZZ3a+Sl@DKI62~R{J%YeVh1+!{t&_~wXGZ?HhP8#o7|R% z@*lJ>;E3ePzJXhC0^6-Wv|}Sc_z!}%d@W9ebhAJJoFO8Dk7OS*9?IPyCrnZ2%|FuX z=-p?O=9$+m{kZ#Umn?pOIg(erL(uzF{P2iIuN5Dl_!9viqWFK$^gn;Gng0A2o9ShD zrdTaC|0?L*;g-VVOI&cZZVS8qP#{oRsx@5P=x`Tl*zQuTj!=E+0ns0?-ibBb5%oAz zw;4l+I2R(mtx9dPih_p?;lV3=fiHq8iLd*EtCeabwf$`NO%W@c+@abw zV7~M)1^1#w`UJ8Ihgz6=ltCPyrkIc7+2`6Eu5XC>UVMk&3p!Cd|MZ6o|CL`Jy@}(Y z*Bq~GTBELwxbvaI822i4+u~NX;RUz}@g|Sc{7K#R7<3c&r#Q8ZyKzX$DXI_YnAPG` z)wOH&vSAf!bos3$*SEN6hu9yTu1d`gcC8Vq&lO&Kz$HflYuxd0&y%gVRMSg18$7Iq z8n?Yl-S>&hbJ#$T#wOD0jCxLOo_n3X_YM+2#ek-RtQz9eMXOsyg(x(wKA$U*0cch~<#Aa;DC5lfl$%_dTv~)pXAg;NiRk_5< z@e-}nPb(0ptn4RN#^ZYuPXPOgped{wIRP%hgLh&~K3TJ$RK7QFkKLI&8ua~cpOJ9L zOdGhZ7`ma(>!xmK&9&DF>HnCk`R*q8?v(azT=Rnlvmcglh>}ZuU#0bQfsKfAVATD^83Lg_tKBoI;@I#u7&y_tLo{_rI*$v7>z3oC6s08jgx8%E;u!8Q-dyc2!2Sd#iW(Jc2xoY zHC82L7U=aW3i?+>R|9f((n@UtAb!FxCw!D{4z@|sA`Qx}CQ6QWBjGwAC_DHMhX{2y zA_VLcI1UK$GjNP@f4bbC+>(U^4Z~gOcwc#W#uGtUBguh3mPVYb`j2sNZDioA9L82U zJ%Xo$u;Sr+s;>i=a|xL@jJIlxa*bbwj)YFw|ddJkFX>sz=}#A`Ls?b|0hYlr!|lw7JvqfCa~c;q{tpfh3(ZwtRhOoG^1_|qfgbgd(<+6xV(nnfFq=w-vSw*_Ql>vNp0ACxx*9Y(o zd=uz#y(|6bYCpQxkFNKl8{%_f{6v?TJzjC;mDJT&QrBKdU4JEY!3 z0@siZw8jTrmBWKrb*x-Zj4{;hgJX-t*3U_`{+0@IhQgs@mkJLBt_!g0$gw7NgflA( zOPpkk0R|mV)Mx-DhmriL5d0%5WQ0uF+dBTizo8&|kUYjmaEbCUbrT6a`RJz6h11if zdfa~^Y zEo$bZnKDyj6JzR#mb_&K(bPO888z*trlD~cfRVHJ7t+6JL6r!&Kc^zqK zq%jgVXo{;_2wsJ~=PVC=R2jrOpHu{;7_C!1qoh$pZ&`PHk>M01N#r~6J%J+lEHaxv zPQERel?vs9D-}WMXhaBTp${*y@xkWppTv1$(T@<%;@f~#pzLbpVS>d&TOo{bt=l+U zMd;x7v}bS2tRE~Y(zHil0WUai$l*%SnIQRGU^0KtqiA2ME*t`J)({TAscswN_<8LYj4UY;n x(?+C11J+Dr<#R>>YKOcv{v8E|^5VmXnj21z1KKcBgVWRsIn~T*89@1>`oH?%!AJlA literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/views.cpython-311.pyc b/online-compiler/compiler/__pycache__/views.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..67df77d14eb570cff32f456fb39557039649927a GIT binary patch literal 13065 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 N-AGy|P#8Ni{uc(|U77#@ literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/views.cpython-312.pyc b/online-compiler/compiler/__pycache__/views.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6b58546b00eb6237a689118eeef8c76571e5dc9 GIT binary patch literal 11177 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 literal 0 HcmV?d00001 diff --git a/online-compiler/compiler/__pycache__/views.cpython-39.pyc b/online-compiler/compiler/__pycache__/views.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a59005b201520a6c30e53f585feea105e3511fcb GIT binary patch literal 1569 zcmZuxOK%iM5bo}IdUkDIhLEQsE@&jQa6~AIA_0~_XoGMN%4ns{Fx|Gt%uEm6Jq})W zxtJ^e04es7TYg4gI-=ZjyBEJ!B)}l-l8aEt^L|x3bX!{f)8`kK0P-Tqy99 z`}tn}sB0SM4GOKcrs9RDTT@WnR1!`qqE={pJq}OR=8n8pXg$0~;yvyc61F@rT{qKG|Rw;7uVA@WBG1-w|~d zmi%?^_N~cdNUSHKD0bxJjx4%bG)7PKGgY>_oIJ=?z9*`QY^t&mg{)g(PEAgXy;A(F zNA121%7%*S2Er1Wupx~Zqy9gPvA-2gFVTsrIH7X{&VO_|5-DduBAYWLkrE&g zX#9x8Ehr~tHpXw0*Fs%@ebfL3%j7e)f*uwHqy-!I9^BnjnAL`zJN%wFPpx4XuFTk0 z=cwt2a~ONEkDWRa4bVHqWS_ua8c9T?OE@pX+!9Wd5K70%<|{A^AU&Xfh;nM!p~u+~ z1zdp6i6a=>6-+U$N^NErU0(F{b(g)!wb0ART2(g2fdSOoMz|2Pl+qp337*QIwUhNmQM^Z&DMKFhyI)%!H<$Bq`Bo26YT#) zp*>9M}BTI)e29}8^I7vYX1 zg&>V`L|NfctkX4mjj5|Jldks32Yfegw&iHYnARP7cD5>?j*&%-]', '', text) + + # Menghapus tanda baca yang tidak penting dari setiap kalimat + sentence1 = remove_punctuation(sentence1) + sentence2 = remove_punctuation(sentence2) + sentence3 = remove_punctuation(sentence3) + sentence4 = remove_punctuation(sentence4) + sentence5 = remove_punctuation(sentence5) + + + # Menghapus kata tidak penting + # factory = StopWordRemoverFactory() + # stopwords = factory.create_stop_word_remover() + # sentence1 = stopwords.remove(sentence1) + # sentence2 = stopwords.remove(sentence2) + # sentence3 = stopwords.remove(sentence3) + # sentence4 = stopwords.remove(sentence4) + # sentence5 = stopwords.remove(sentence5) + + # Mengubah kata menjadi bentuk dasar + # Fact = StemmerFactory() + # Stemmer = Fact.create_stemmer() + + # sentence1 = Stemmer.stem(sentence1) + # sentence2 = Stemmer.stem(sentence2) + # sentence3 = Stemmer.stem(sentence3) + # sentence4 = Stemmer.stem(sentence4) + # sentence5 = Stemmer.stem(sentence5) + + # Inisialisasi stemmer + factory = StemmerFactory() + stemmer = factory.create_stemmer() + + # Memisahkan tanda baca dan kata-kata menggunakan tokenizer dari nltk + tokens1 = nltk.word_tokenize(sentence1) + tokens2 = nltk.word_tokenize(sentence2) + tokens3 = nltk.word_tokenize(sentence3) + tokens4 = nltk.word_tokenize(sentence4) + tokens5 = nltk.word_tokenize(sentence5) + + # Melakukan stemming hanya pada kata-kata + stemmed_tokens1 = [stemmer.stem(token) if token.isalpha() else token for token in tokens1] + stemmed_tokens2 = [stemmer.stem(token) if token.isalpha() else token for token in tokens2] + stemmed_tokens3 = [stemmer.stem(token) if token.isalpha() else token for token in tokens3] + stemmed_tokens4 = [stemmer.stem(token) if token.isalpha() else token for token in tokens4] + stemmed_tokens5 = [stemmer.stem(token) if token.isalpha() else token for token in tokens5] + + # Menggabungkan kembali kata-kata yang telah distem ke dalam teks, sambil mempertahankan tanda baca + sentence1 = ' '.join(stemmed_tokens1) + sentence2 = ' '.join(stemmed_tokens2) + sentence3 = ' '.join(stemmed_tokens3) + sentence4 = ' '.join(stemmed_tokens4) + sentence5 = ' '.join(stemmed_tokens5) + + # Load model from HuggingFace Hub + tokenizer = AutoTokenizer.from_pretrained('sentence-transformers/paraphrase-multilingual-mpnet-base-v2') + model = AutoModel.from_pretrained('sentence-transformers/paraphrase-multilingual-mpnet-base-v2') + + # Tokenize sentences + encoded_input1 = tokenizer(sentence1, padding=True, truncation=True, return_tensors='pt') + encoded_input2 = tokenizer(sentence2, padding=True, truncation=True, return_tensors='pt') + encoded_input3 = tokenizer(sentence3, padding=True, truncation=True, return_tensors='pt') + encoded_input4 = tokenizer(sentence4, padding=True, truncation=True, return_tensors='pt') + encoded_input5 = tokenizer(sentence5, padding=True, truncation=True, return_tensors='pt') + + # Compute token embeddings for each sentence + with torch.no_grad(): + model_output1 = model(**encoded_input1) + model_output2 = model(**encoded_input2) + model_output3 = model(**encoded_input3) + model_output4 = model(**encoded_input4) + model_output5 = model(**encoded_input5) + + # Mean Pooling - Take attention mask into account for correct averaging + def mean_pooling(model_output, attention_mask): + token_embeddings = model_output.last_hidden_state + input_mask_expanded = attention_mask.unsqueeze(-1).expand(token_embeddings.size()).float() + return torch.sum(token_embeddings * input_mask_expanded, 1) / torch.clamp(input_mask_expanded.sum(1), min=1e-9) + + # Perform pooling. In this case, average pooling + sentence_embeddings1 = mean_pooling(model_output1, encoded_input1['attention_mask']) + sentence_embeddings2 = mean_pooling(model_output2, encoded_input2['attention_mask']) + sentence_embeddings3 = mean_pooling(model_output3, encoded_input3['attention_mask']) + sentence_embeddings4 = mean_pooling(model_output4, encoded_input4['attention_mask']) + sentence_embeddings5 = mean_pooling(model_output5, encoded_input5['attention_mask']) + + # print("Sentence Embedding 1:", sentence_embeddings1) + # print("Sentence Embedding 2:", sentence_embeddings2) + # print("Sentence Embedding 3:", sentence_embeddings3) + # print("Sentence Embedding 4:", sentence_embeddings4) + # print("Sentence Embedding 5:", sentence_embeddings5) + + + # Compute cosine-similarities + # cosine_scores = util.cos_sim(sentence_embeddings1, sentence_embeddings2) + # print("Cosine Similarity:", cosine_scores[0][0].item()) + + # cosine_scores = util.cos_sim(sentence_embeddings1, sentence_embeddings3) + # print("Cosine Similarity:", cosine_scores[0][0].item()) + + # cosine_scores = util.cos_sim(sentence_embeddings1, sentence_embeddings4) + # print("Cosine Similarity:", cosine_scores[0][0].item()) + + # cosine_scores = util.cos_sim(sentence_embeddings1, sentence_embeddings5) + # print("Cosine Similarity:", cosine_scores[0][0].item()) + + # Daftar vektor embedding + sentence_embeddings_list = [sentence_embeddings2, sentence_embeddings3, sentence_embeddings4, sentence_embeddings5] + + # Variabel untuk menyimpan nilai cosine similarity tertinggi dan indeksnya + max_cosine_similarity = float('-inf') + max_cosine_similarity_index = None + + # Dictionary untuk menyimpan hasil cosine similarity + cosine_similarities = {} + + # Compute and store cosine similarities for each embedding + for i, embeddings in enumerate(sentence_embeddings_list, start=2): + cosine_scores = util.cos_sim(sentence_embeddings1, embeddings) + cosine_similarity = cosine_scores[0][0].item() + cosine_similarities[f'sentence_embeddings{i}'] = cosine_similarity + + # Memeriksa apakah nilai cosine similarity saat ini lebih tinggi dari nilai maksimum sebelumnya + if cosine_similarity > max_cosine_similarity: + max_cosine_similarity = cosine_similarity + max_cosine_similarity_index = i + + + print(f"Cosine similarity {cosine_similarities}") + print(f"Max Cosine similarity {max_cosine_similarity_index}: { max_cosine_similarity}") + + + def normalize_cosine_similarity(cosine_similarity): + # Rentang awal dari cosine similarity (biasanya 0 sampai 1) + X_min = 0 + X_max = 1 + + # Rentang tujuan yang diinginkan + new_min = 0 + new_max = 20 + + # Menghitung nilai yang dinormalisasi + normalized_value = (max_cosine_similarity - X_min) / (X_max - X_min) * (new_max - new_min) + new_min + + # Bulatkan nilai yang sudah dinormalisasi + rounded_normalized_value = round(normalized_value) + + return rounded_normalized_value + + normalized_value = normalize_cosine_similarity(max_cosine_similarity) + + print(f"Nilai yang sudah dinormalisasi dan dibulatkan ke rentang [0, 20]: {normalized_value}") + + + # def mae(y_true, predictions): + # y_true, predictions = np.array(y_true), np.array(predictions) + # return np.mean(np.abs(y_true - predictions)) + + # def mse(y_true, predictions): + # y_true, predictions = np.array(y_true), np.array(predictions) + # return np.mean((y_true - predictions) ** 2) + + # def pearson_correlation(y_true, predictions): + # Hitung koefisien korelasi Pearson menggunakan np.corrcoef + # correlation_matrix = np.corrcoef(y_true, predictions) + + # Ambil elemen di baris pertama dan kolom kedua (karena kita ingin mendapatkan korelasi antara y_true dan predictions) + # correlation_coefficient = correlation_matrix[0, 1] + + # return correlation_coefficient + + + def mae(y_true, predictions): + # Menghitung Mean Absolute Error + absolute_errors = np.abs(np.subtract(y_true, predictions)) + return np.mean(absolute_errors) + + def mse(y_true, predictions): + # Menghitung Mean Squared Error + squared_errors = np.square(np.subtract(y_true, predictions)) + return np.mean(squared_errors) + + def pearson_correlation(y_true, predictions): + # Calculate the mean of y_true and predictions + mean_y_true = np.mean(y_true) + mean_predictions = np.mean(predictions) + + # Calculate the covariance + covariance = np.mean((y_true - mean_y_true) * (predictions - mean_predictions)) + + # Calculate the standard deviation of y_true and predictions + std_y_true = np.std(y_true) + std_predictions = np.std(predictions) + + # Calculate the Pearson correlation coefficient + correlation_coefficient = covariance / (std_y_true * std_predictions) + + return correlation_coefficient + + # true = [sentence_embeddings2, sentence_embeddings3, sentence_embeddings4, sentence_embeddings5] + # predicted = [sentence_embeddings1, sentence_embeddings1, sentence_embeddings1, sentence_embeddings1] + + true = np.array([sentence_embeddings2, sentence_embeddings3, sentence_embeddings4, sentence_embeddings5]) + predicted = np.array([sentence_embeddings1, sentence_embeddings1, sentence_embeddings1, sentence_embeddings1]) + + for i in range(len(true)): + mae_value = mae(true[i], predicted[i]) + mse_value = mse(true[i], predicted[i]) + correlation_coefficient = pearson_correlation(true[i], predicted[i]) + print(f'MAE for pair {i+2}: {mae_value}') + print(f'MSE for pair {i+2}: {mse_value}') + print(f'Koefisien Korelasi Pearson {i+2}: {correlation_coefficient}') + + return JsonResponse({ + # 'output': cosine_scores[0][0].item() + 'output': normalized_value + }, status=200) \ No newline at end of file diff --git a/online-compiler/db.sqlite3 b/online-compiler/db.sqlite3 new file mode 100644 index 0000000000000000000000000000000000000000..7a89112298a6567fb245c732b8f54b413f158673 GIT binary patch literal 131072 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 Q0w4eaAOHd&@OTjTKhw^kK>z>% literal 0 HcmV?d00001 diff --git a/online-compiler/grade_generator.log b/online-compiler/grade_generator.log new file mode 100644 index 0000000..e69de29 diff --git a/online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..24f8ec549c6423e4389cbc9dc21edc10f0277a07 GIT binary patch literal 1202 zcmaJ=ZBG+H5Pr5rt{jJj0}54vLs8p;6rsLgd9nEN!8Bq7nh-ybZC&a?@2=kMneekT zB195@fIrGO+d_K;2_55b_ zK-45d?~3i(a*ZLL$yPKZ7$#alwwK>HlA`4M{Ae?j%}{PhUvNiWD)}8n;x9CK%G04r%n=#cV|dc z@fx8ctSWDKht{f9SX`L1${`P|rtqEckaM@=TPhS1n5Ad7#apf?E%`}U0e6Jz-2(&j z$TK9Q*G|GPlF438t>YmUH7pq@;1RXJ^XvJ8kQ$pW1%dEYPkGCD^*Q8?fMNN(5K;XR z+V;E^uij)URD&1ZN5POR+pc&UI#uCs^J;@``l-x2&GzI`Yu<;hv>j2g1Do6>mmbHZ z?YWfREO!-dh<(o&MTP;NrjN`Ef}u!IX))=1u1sH-B%K!iX literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..2df0d60 --- /dev/null +++ b/online-compiler/java_files/abc_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package abc_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + abc_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/abc_gmail_com/TipeData.class b/online-compiler/java_files/abc_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..25c97136cb8828ccc83a58350f5cc83a811a6fd4 GIT binary patch literal 977 zcmaJ=ZEq4m5Pr729GuW1NM9^eTB$ZtnM=>t6s~;kk(wgbaieh#<<4y5v{9YIE7I ze&}3^u4afHThh{}453oF9Y+jt17-qukhleJjy)|LLMfkuvW*FmrK%rYOX{X}1$Sy` zx^p#wHKZ6e96l6vCA(aIvh;vJKc-E!!7%wtDI`f8i_YtbB1tT^#sFO!;<2??{tLQ;vJhj zVFF7EEPYwR6@Zif2oHlSsZFny(w=tt=$+65)$`V(*fa4EMFaamKOQj@ zXPvj?l^TlbwD4(*&UjZVcg*m0zOozOl=Ll^JzIFihEhX+R9j4Q&T}iUH6Dp2@cBZg zvrwD=EH@N&Zre>ui&_jNhICumz9R}9ZmVJ8q`)eL7!DXV8$S06BjGy!kaIaZXGok& zDcrivJx_QBo-*t&bYfY72C57@|A*4>PP>6!Y|@|y&k79zjXKHuWaUXS(vgFoVBcuN zuuU>J211A4tuJ^GD6E4U#FlVlPpdLPh`SCGLA8uAc!2(v=I0_j!S?NU~cC$fwuNHnd-)bS4JZ|*1U1K*$cxNL?1hPy#4Zm8MeH!tE!XD(PdYrD z^NyeT>87hfM@@mDp^gScw!jSXTByj~`;}*1lGzIvgZ@-Oi=kojIGrs5?)ft(3e1ae zvEmHURWx@Qs$(y7Z_>ba<2!EqbRtnQWN7v7w<#GaR>GatHDCYbRVzwk#~pbBRx|sl z=oMWw=_AF+fjUKj=3Uwy(aLC*Pu{?usbJWnSzH5ol(3HjszvmYP@ypN$*`@Do=|>) jVpLvH6 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..08b76a2c96e57ccefa8ba249f1436aee77d19d22 GIT binary patch literal 1165 zcmaKrZBG+H5Xb-9B3F*X!j-40K&z;2QR=f|5iCYum`03+Cd3zH3rjt`2fW)e;bUpU z5=s03ekkMYwX}yA-|Wrp%>3rRv$MZ`|M&@D6;&MxBsB~exPU>1(S81zmu>F0%InR2 zu_GArFyd-PT9GAp)vlcrgIOTK9a&sa9hzat7JAV5sVl{XPO9b%g47@XSAsM??P8vj%ZkcMeeFghvU-nTqDC zEEZJVlftJM%?i5h9*ud`WRg>_d!fH0URg>^=Ir1us#!sv<|#q1DFIVWJ6Wb0F8U6D zsb@v&Bl>%cBw4^zsSQ>-fwtAg&=K^~SBxHE@(Z~b1%V(*S`A89xHRoPAxI*EEOa61 z6J)na-=Mc~`53ePWc8qd45f}^i7Zw9DSa6#J;*%$DJ3ZaO#UN#nx-V%%U+JMpY^hr uNP?;{!H#j&EY!@>f)er_w~leAFT^DMzznUkgqtHd`5tm5Lax%9!1F&qstY{; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..662f651 --- /dev/null +++ b/online-compiler/java_files/baru_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package baru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + baru_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..359cc209dff7f7c8c9f2e12209fe131042074bcf GIT binary patch literal 1204 zcmaJ=ZBG+H5Pr5rt{jJj0}54vLs8p;6rsLgd9nEN!8Bq7nh-ybEiUz-cUSNBO!!$E zkwy}KfIrGO+d_Ma@yqV)&df8kc)rfvT7I*7 zDE1{o?~3i(a*ZLL$yPKZ7$#alwwK>HmZIeQ{CG2zjZkh$UvNiZun zhv*U@!)OQRjc>c>6e+tOV+O`ms^LXE8m=)6UzCnGbfj@Zi8R5G&U8Sd4=-jbIu)Rajh@v&tb4tcLKN@Q8D_<69~e5}2iTw%J>*CoTCwSOIs0>fSvA z^T;zKq}MLOFp|k$F0JD}7BwsxDBuD0!1HVQ!;m_gF9m_{Ra1G(c=0jh^?+gdT!|?E z2yA=eikEM)71H3D_g*k0%eE_ChfY=a+q_z*n|{)Hr_r80>do8Gm9`@)c3_jcOU4RPT4qR24d)A*5j0WcH^Dji7SQ;cp0-DV6%0@Ua#|CSf}`{Jdo_@pik z_q>`XOw-K8=+nhus!u_dsRoet9x(O$XnjbhM~IUJjO9+ja%a$XPtkV*J@*BJCrEuJ z7o#8$NSs!K(iL2iZXXj!tOYWA4w5`WdN=nK`YEnAG1*O4{~j2o)DbL`rK&%nouSwP znW2+nk|2Q8KeESZR??m9l~(p@CwrMFs2ZcJiJNAoZ02Sak#Cr5VxddKB>unzt&;>d RMRcY+kZUc-by{P1`WtVh7u5g& literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..b595490 --- /dev/null +++ b/online-compiler/java_files/baru_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package baru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + baru_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/baru_gmail_com/TipeData.class b/online-compiler/java_files/baru_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..5af5166649e5813aef1c50218d564fef4035571f GIT binary patch literal 978 zcmaJ=TTc@~6#j-@maYZXVz~wmV^R9{H6fQdCkl6pzn)CV7M+D_=u-I->0mZbm0 zzo8GB@Zb;dM;Xty7)of|&73oH<~!fH?AhOcE`I@dh37VAkg$-%8zQvQ$*nN}-`AT(GwUNW3g?m}#vBa=Ag`Xic zh@-_6w+TwE92n*;tWxkc52DjEpG)twqy0)#4#XR7I770gyMke%E|qv6`E3z2dD|mP zlE8{#srY#sHG|#IQP2^`G6v86BixJAq&~gY+Jq+HgLlI8bT?c`W6Q=vY+Klg8}f)@ z`?~c~UFg23j4L1a=$Lnm4u%Y0Cri5mj!EBg)%8TUUDvuF4XU@(oUq(*Yz_xv3VgEA z@i0^;zsnUxjeA~08d04^ks;U8UgQh6%{|?B4_#JvXR*t$Qjd7(4n*Kbea_YOJwx_H zDG}5>9)=>c@RVWaRwt$vXraQe@qZ{y@3@5?%^-hS#ktbFnkbHESW zjSs0yERPP?{9E)NfmR$L4V&Z~9C{znl$WuH7c}JwY!GIKY%b|}+HF!+k4LhECuFnf KT*e-rVf8P1i}ADo literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/baru_gmail_com/TipeData.java b/online-compiler/java_files/baru_gmail_com/TipeData.java new file mode 100644 index 0000000..ec3a4e5 --- /dev/null +++ b/online-compiler/java_files/baru_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package baru_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/della_gmail_com/Angka.class b/online-compiler/java_files/della_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..e379f3147c12e4959e0debad2bfeb0b1ae8c242e GIT binary patch literal 482 zcmZvY&rZTX5XQd+N}&`fMeq+|;07M-13)xt!U>h6hKmQXz@{nm4=JsQ@8b*TK@$%? zfX`%%v(<|UdzhJ>`M%#y_VfGw1Hd_sHDr)gk<+0d&tNS11GhXLIM(fKDdsUle&7af ze8!ON_9jIXP*kDmC_(=xw;wmL@JSUWWU7x+kQ-X#$PHpUjs*An1?(`?Y~gXA$88=g zc-u?7WYf`LpsK>uQNu1twwM`|wL}rS`wLIEB(fVg{oX`HgGLMCd3@^l-1VmO(6=rE zXT=$ESK&f1R7P$fZW4bcqB}nGsFNdQz|iR4Z(}l)?U>J3*L?k_*X%Hf=3?kdvzF3N z<+A9YPCqG62DB>j6!+-XqRc2OCvRZSR50vQlw%-^A`Wm!wUl0xRU%AdJZKujCzM{G jn&nqiq%V{DOysCm$f=UIfGRXJsYARkROM4gskZe4NyKBZ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/Angka.java b/online-compiler/java_files/della_gmail_com/Angka.java new file mode 100644 index 0000000..4c542a6 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package della_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/della_gmail_com/Average.class b/online-compiler/java_files/della_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..0133ba74bca247cebbb8d20b0b6c78497be56f83 GIT binary patch literal 731 zcmZuuO=}ZT6g@99?@jYj)6z^^ZR+>Oq|uIc5s->T3_>BbI@3l%gff{9VQMl{rjvl+ zqDVko>Q8XvS{D{XOV|DYe}cb3idgSFvk^Lrd(S)X+;YKiU33^Q9^x9erT6yT#zUS zgGTwC_y(=1h_4h1NLx*{fUMQz1&mvEQyuYn$xljtig-Tab;(l|>9dwyKeeJ%RHedo zUOsq_l2Q@6DC>NQ4%0>gbaBgF8LDh3*oWhvLr(FBp{uXM+x!z|X8C8#C%#kC_Y!i1 zIaX)TrT*7igGd_$18OY67$3;eZrY>Qy{5NE!kZ6% z2;-L^`k;mfKY$;~INLU%gvPz>&d%PC(NG{W?aS%^e1j!O)&ns6MxUvF{S*{`~-{5qFS zhOvgNd|6+o$q6Z2E^p<^=8KijpEQQKmec|WA%?hxL z+s(i2*iuzgNAOnhG9g@v;3}>$Ot*Mblw4Wm>bXjHwq?B- z#w_M6q$8Neb%v=S0T=>p9ggB>F9PKD7>trz6AaO9TZ-3y>p*mN`GG?x;}ylL%^lwE z>ju?FYAzp#1BEND->HfXTRVqz4OcWFD#^O*Do=HIdq=2-Tl1nOZiR6hD;DxP_d5&= zXLo1IBeyB?y&QYx*x*&=c8(do3?|Vx?164_S#yN9uEn2RC08C;EFvS572RB9<{qzLsCGr$j|&Pevqqc8~9#3aTr gMa>^4s}UEC)vOuGkogeRE!2YT20G5`Po literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/Bank.java b/online-compiler/java_files/della_gmail_com/Bank.java new file mode 100644 index 0000000..a614621 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package della_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/della_gmail_com/BookStore.class b/online-compiler/java_files/della_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..21413b2158a540b9b8311b49f8c9eb8f1a9c68b3 GIT binary patch literal 1091 zcmaJ=TW-@p6g?BCvEw>Tn!f3S6jDeEtqT(Tq?AXbLQxAyu8I&y)ifS8ZX7$ZCzY}R z*1%_ZNPNQwNc~^|tbk>(f{JS=f>e#L6Wg(_^1Hsbb2&G-epa2Iw;kwW8f3iHic|Jr%PIGq!MDzJJ){j=Nv;o8}|mZ&=a~ z1Vggw+cagj9Zx)KHxERx%MaXWfzTeqWa;%FU51P$d9AU-TRpsP`R$-4Hl2t(@^^>T zsAxJhO2|+KytN}_-M7PR3QIb!;kt@abUbB-;=ljmc*lN2nB8;ep4cX@QN>M?%A#gi`!(c-Kt!yyDxK&xZ7!o0q}n3-A<|W|D~QpmAkIxNKw&ngP~wMVZ-+d z9cnL%ZQkOt!My^vxy$PXw!~m;d7cQWE)PQys#s-My5M|}Ar)&33;%~wD|g*v5tpd# zqbC9C5~OIHqpx|I8O=k>-@(36z$k@y8BmbM0xtKUzlfToH7B{ASMMnsv&j>z%;mKY zNays8&v;Dndt~SG>5r7jQsxfDpJ3+3DK5uIO`~w(95A99F)&4>uh8dDkpsSAJSry< zm-CcbA}T5Ym1@^$)M3y?%+olH42pCamyyL9G4Emw>lnvFx-L7IgoP=*BGeo5TPL*w pDP@p4!!%=TbXXtN$me3b)fHT&StGwidY5sNzI2LKVB!{L{s5Ky1tkCg literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/BookStore.java b/online-compiler/java_files/della_gmail_com/BookStore.java new file mode 100644 index 0000000..604e4fd --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package della_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/della_gmail_com/Fibonacci.class b/online-compiler/java_files/della_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..64fc083cd5890bc0219ccb4acfab7d5317948e00 GIT binary patch literal 1088 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkXakp$GF1TVb6>2?B3w>!=5l!SX9 z!Yi+Q0lmArg%YK$OO{6hqAd|p2CK$$t_%i67fQhJ!J?`+5L~OeU z)zV&u(wR(P3RfAX+Po!d(zUpHXRAZfe8pYmGfWn@wn~HU88BQ6oM!_1VF&{`hUuno z9KL_h=C-qM$#(f72L`Psn}Q*=ZM))ix7`rlE^jzw(FpAZk>3x-E$uOk))lu}JG>L( z4HPKFiM3n`VaJl@$6>QFZQR175(i@0OpZjjnNhQhzc zwcTUc66Id`dZpUrmXh8H!>9fNp96cOuejTEgkRW}veoTW2NUYETyoq!>4+il{ycl_ zR_%YCbBY>woVu+9wNIJq$?_~8$1+2NG$giMS9mpt`@ZlEJY-lH$a2`_4OAHB{tu+^JMHM*v) zYZdJqjLhhFq)5)@PLT!ZFq`{O(aDn4Pca=@a%)+A{iDXR+RT@;-$9f}7^Q+y()Ey6 zhe0b2lU9aia~??)kis%e)(XZ@A?s6`t_@7!26?5y&IqI%xXI`vOB4$s^DW#anWPv+ Uy7^ML-^T;8nRH&kBRt0RUz8LDp#T5? literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/Fibonacci.java b/online-compiler/java_files/della_gmail_com/Fibonacci.java new file mode 100644 index 0000000..33ea83e --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package della_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/della_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f46bb19210d1085ad047b49ef1dbca63f056d361 GIT binary patch literal 1167 zcmaKrZBG+H5Xb-9B3F*X!j-40K&z;2QO;+@B3O*RFpU@sO^7eZ0!ux-2fW)e;bUn; zh$MahKa_FyTG~U5Z}#SPW`6VE+1X#efBXcnjGB%V(i-{=0iQ40couo}tzNH%03xT`}$dH{nkGz=NIh%CeO zj&K~l*>bt|6Sxs+Z9baw8>rb=x|)xzDMQFdQahs*!2TZWf%%*!pJ-Y zj3k0;yHW%cquF7n-NOm58clNQ4L=ID#VcEh$(^0tc{MC3(mIjDkRrG_3}uD_oX#pAaM!L*_b= z>+foxj5IvJ%HZ036Bn0FZ6eS5tyx)RALbzyAq5`R+e4qvx;$pIkd!Y(_)!(s7 zOC%*#et_?OfY1JeWlydPTE5KmYR5u8R4DMbq79mY zb`2fqWQgsEVv%naN?b2)Zkwgl<8{K!90-dS#G0_FjAnW;7)F-=TO{3zZiE!{Xb2;6 ziudZF?T8Z5B|wHq1Lvuw8#RiQ-G-=!KAEbS9*=_a3_bPI9*2s43`&uP82aN4Q18Xl ziM&dzMl{4QO1jy?AvZ%`Gu#7MiN1(21(!5j#yCUttVlI|7+Od-gP}M6qFT7}KBTs8 z6bL3TyY^$a{Os5JASQ@>l~T+wotX1d#B5#?@=300m_&*p=$O?^hHyObH=c^?xS`;t zhFiFOO4yv~ZWRSX+dj8!Q9ng$w>!lt7nphX=I7#v@LLu4@jyXZ!xSD8oM{zOdoDeG zDr4Kik`K=-#{6rS7wx86Uc6i`m&lV0bLI}!?_Aam@x(1{32Tj48IjcM`_=ZN=XvfL zj$RUZ-PXySF-QvT=%zvFq2(rltk^Xzk!EPOr~}EY19W?WGP{njC`Qrkj8S;S=?WgN zY+Z7ytEOvhiv?ZE6FJ-4ld_#KN-gK3ne!neXM(Jd>_6IDz~u1JI!&j$@RJ2ZlgD7m z6DS+UXgz|O{DiI}^nN54qrnA%_-WNBy`A7X=<6(j_$nY1HIU8|^lv0TLp{bo8NEfM%%9YoUU?NUIM^e*h^&7pDLK literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/della_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..6bd50a9 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + della_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/della_gmail_com/JUnitBankTest.class b/online-compiler/java_files/della_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..fe0406792d9f92f383705156b95055614c94099a GIT binary patch literal 1877 zcmaJ?-BR0D5dIE7mJ#A7#^I+8;H0$J(82vlnu6018;1ZTAr0V^(v}|VgDoseL^@)I z_NEtkgI=^x(V2Fd;7Mls0DXsE^d)-P=^n{|NSItm+H=nCx4Yl&9{u&-i$4L(qoJb> z?HW1^bRx#kzt0bO*5Y z>%t`@Gz=I>;_|tm*N;3Y8Wbx5GF(2zdFYyUD?YOB#*l$wWokH)6Af=M44k-*9OxLq z6~)jf!$|rRG@5lTQ_?A_aRVt_CDJ@0>6l^oOg#cf+Oho1(;uk@h}{`hA3(<>(i$=b zrZCNre3dgr7ejZ=l)hap(8I}3x>#J!6l3}8^(R05{qw(ZWElp_+$#GPmm+05G9_yw zT@&_HC;kJf(19y-oM~+*~?)y~mY~J&PtLn`I;qDWkTizK-fiLPJ z)2`-<#iF8g5(@^3xXaK%&0|w?>Fr2hE#*upK?L42u!LoXp$4yu1;;LP`Ph^-l03<6 zNseAgt7RR>=L~&eH3P;%wlv%~@BnKJap{DrRF!m;mll9Z_zRWoBZk>l!K1lE0uHAt z_xetzL@6#f6(X~5)wIO}zp*Ra4IUJxo7!pffV|OsQ42ouZD}?{$@EM*&f8RFE=@|4 zA+dVKc0uepuE;U;xHM%Xo&a2mDCPI0a7m}z^vG?s&RtF{_eV6;h?0W7?)Yw5ESjoQ z66XeZM$HTv6&y!;(&Y#Dg{(OhuP=u0ba3oyD68637$$=83dk|-L#HmXA%|hP7I~TC zJYx7I%3@0~1YP2G#S-4cs^irCgD8<9P;}><;l|N{h#t1ow=XC~WUB?Sz%6Utlp+@g zO~=@Z->`Ts<5yuf;h{vE@o)?0z~SEttdbQ+_*xg@S7F%fU#y`?1HUrEelCY$)+ zIX+2Zu8CW$iNfRyERtqtVr8ULMf)79O*}k{c8suqE5zU^r8-(bKafh=q5uE@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitBankTest.java b/online-compiler/java_files/della_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..7d3d621 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = della_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + della_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/della_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5ac1f93316bd7cd3bccb5e34d3909ef303482779 GIT binary patch literal 1193 zcmaKrZBG+H5Xb-9qF0XN>3Aq84+ny_MJeJV7Qtflg=xfCXhM8J7P^$B?H%52P5QAk zB195DfFH^@dxiEC{=;@KK^E7{Gx zBeAa-uCGd0sx^jqDqS*=V3-V@q?g@jDv|en-rQ`cy1w4AX`Grpa|<5VnCK3&R-sLwT_o zC{ZWD1Y{U#bKd#Vy%0&!JxE#@)1j6Zu^70)Fm#zZVlXj|3EieihVfJz8ZAASE}5ii z+Jb`_>RcccnHk19?h#<aQx<02Y%lw$DDt8@T<~4rkEHBL`ut3GNBs;FB9Caw1fY*h-w0jm7k!46I zuf=5;PNlDAGjSiw1|C>=h)2|T&#z>U8g!r8d=Lm<-y{z=uRb<-Enrx=C_gGWf^7|2 z?&?XpL}kD9%7UT4AYJjcQQs5(7T>GUNe?x5`?xi7)VcQ!SIN34$v~1h?^1DGNzbM9 zcA=wiLmbe&nmO8D0tO>a`2!_<@-bwPcPmv+HAbv@SjlJ>y@tOpUP~<|d3Bx_ z^$1~x#wyK~NS-g)QDuirm@0@y%7M+|WdZ3gb3ouTL0{%q%Jwo}b* zmydZxGPJJ=N62-Ccsf(kkYE@Mf`psfJe9oQdG_gcL!LC`j`X-)*P$Wafg}tKod&wl z%`kb$Yc>0zTDL{*pyJkZZ}y0}CCaX2S1Mwc`&7tqBNT@5;(yEJJJ1VLL!W_u4BSw@ zbLvZ8C&2_{7zjDSQw1)cz9^fHi|F$V~h@p+Va~KBGADX3uGa|=@QzcLW z8HTA>+~d*;lU6N#&YGuZ!CJJItYvF{(Mn*3w$~JGIj*$iM{fCcovUMeY+x2ShJeS=8hY5qPc?ab5EV69ZX(-YS=ZOVdctzsOSi`*=qUQ ze=;T7_)GVYGjtb)!{0XQW$x|TbxX;LCXb)HfKxWI#k{) zwiIsiBiG}3hE9*Vj;7au-bhg4NOF&2lEM$%q%IY-&q#!7Sqjj1+=f@-TS5s+-R|mH z)kv72W{c5%i@{X)fo7)aJbJf*sf$PBQ~G*_IL&}m_8csG32pxz9cR$9U(s`h!7sGL zCgB=eT!)u~xFW@=8G$`mjPXRehD-4EYc; zOi}n$rt1ym7ZN$EP?WaR&8yms^wNU3A3o1`&Djpb3-_kNV7sH3}eN& zrpd?9kGO&X4GCO2Q~CO_X1Rj zFs?|NMi_?EEzof5`AkWrs>U>=aFv*IgiB_Ib;umV(bm9GWwE47MGc*w_v>=RNEHi~kou`U{##n2+Ard5DNC>3GFjX_|xb!q?<=p zRpbJCgF{>5Wh(ZV;pZ@wO~(LqnVS_uI1@$7s(SS>n*mUG=S<+nab1LsP512!&Lgzd zgjnQ;v97x!ABE14Dat`?i8ggR#nk&vDWBb@xmYnxVJ{kTJRAiE!{j*%F6vAHNq+S0 zu5>L0G~g;-fo(JhZHUWTnpSanAJTsZnEV{jvqWz<&`v90D0>2yeGO&n1hE%Tv%jM6 z1qPp!iQy?dd&m*cD7>5CdT94^0%`L>-fe>PzQ*uY_BW^}xZJ?#X|Vhd$qITffGt|d z>|fA7!*&Z~g5G2$Q34peAbN;CJ;_$|mwxnDt>~Y~s?y$e0^@x>4NNR2kX?;WXQmps z{t_Q2@L2;lo5s1B&IA@`l=yT~Np^-ESOa&blAW)x0^E$n9}LH2J1?=;!1`%BSwGbk z#4ti^jM6iODWZHD<23jabeBz{h-=j1RIA{xsknCR(6bHSfYX1J+TEq!0S@U+rBxL* HSQ!2fG9miy literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/della_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..e79a1e5 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = della_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = della_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + della_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..de4db853795961a5b2311a6503d582c8e25e9c56 GIT binary patch literal 1184 zcmaJ=YflqV5IwgAwk*r5<*5{kqP9g@d8t?gi;+arh_TRw_<=0t(p>EB#eIn(@lyPob+6B}vcW3X+oH=u5?yuiJegarWUPlB`4IKtL(Zw)uWSv-M)p9E4*8UMM z`wU&H!V&%&Lo}T!X^1f->p?=A8#SNjUDv8@1^#j17k!sowhj%^ZuG#=&}*O%{S4^? zUaeYt726Wky|T2;w>yMc2+E&oo8p8Qd09FK+uWmah74gbOcnlHEZ2=e#5E)g3}N^R z|6BMTvKnl~OpT~W2GmN#vLxA<@yO_~%&%k{=pq8(TbxkLR4${$K7)gI@5U9_K)E7>L z;9|&-5O2IxLCWKlBmIhR*qg#ieC6p+^ShU^2vf*+^s6piYhD8HQ zSSDEMR?MS-hG*tIkGpDMR^530Ik2i8!%DNuFsBe~W2yKl#mE<4!ys&ng<<@$ejv+cX+IOi&L=A~V?nTdRYu(;30bKlG;*5C8xG literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..69838d0 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + della_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..660553d55e8d8ea44a2d7bdc2c8b43fa452f5a2a GIT binary patch literal 1160 zcmaKreNWR+6vm&s0Uce(%LWXTmw~9;P%3XK4#8n0(JW#FmJt6SWn7kvYm0p$*~ij| z5J~(1ekkL)-RP|4_cu zbUkj8U;;7>hn#ngu-YOiJBh4@QJJdQkrM^C7&6zTBL^zRFfMJHU>M7X&}i$WLRBSI zQyOxZCg)u4(J{klCp-cSqVHfkRu6DWZK zS@7D;Rc!k-XW3rPHB6qs97FfQ;?nYpyp@L<=AknrJiC?1FqALc#Hm=oqJkw2%UB_- z?bP)XpDs)4;Gf2ok4Nqx2Nv`snLZg2V#ITpQAV zg|YqOSEv`beTm6Vvizf^f<9!hN;_Ho89f=;yM*fkVrD+)rv)6*`=VA6z oTSA6iVkVtW7p07EcyNhF9T}}2#;J!15;GaX)&tlEtueg#4Pp!mhyVZp literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..a757051 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + della_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/della_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3312cf80063497327969cc0d9b53833b653c48ba GIT binary patch literal 1181 zcmaJ=YflqV5Iwg=wk!*U77A6Ni=wurvMRo?2o@tThJdl92_c3oJkzRQ(=(dXsgFQueh#$yczhdz_0o)*DV;2 z``k43-KM1*=5E8Wv^QIXxxqhqYn<=bxJPvqCj!EdTmNsB@&HDWl8{y~hVeg$SC2iP zTf~L#r>_)g+L5_q@2x=$?vo)hZ7>b4ZBG=2^1KH zYfj5(sJ7#)o^J63<`~qS%@$41u}f-=Hx5f`wPA3(!At6EuABbhdoirL3g)3PBz&ih z$S{^KT&^SIJ|0L|Q1B3sNO8w)YDWRhQLA_!cf|$#ui#8-caQ-I~5<(#;^Ly47m08cpI|VEcx}>xO5LyJA!Ox=#&L`P6!k z;VM6HTwZ1va%tJfyZ{)D1XT`v?oy0wcs=DuA^~Dig}>?qZiBBGf=}ksD$k4U!3=F! zjNVubDe(r#N{Mx&Zy%U=Y;-=RzbA;31xyrA!HVaQwofr|0=f7FBPYmwCKsb15J;TP zAxal;NxFSXAh8f+t^<-hM|QjT74j*rong9{ES@=#rqnSkk|nA?qc20b3o=W8f=Pk^ zGXKb)q+Q8&vzNl`=iTgu4uv#3!;MrvRTMP7p>&3OJsRyErl^N$k|WmzTMofi=#1gT EZk-9_rnmNk5iG zgh=8C@Ix7AujP7*@y*`e&dhKAGduh9*Y_U)Hc?iQKvF@MhFj=n7(6pR8MFH{wz7^Xre)77_{f|otdXzm805r~TLxM8bMknBM(GzEPc`Z2&T zd%`WtII7!*X&u#ETYqyv%w6w+Aj3$+dFPovIBCBCchH7riqTn_|<~nuEpkf@8vQ1MA6({LXT2>W-Nq7E^1QSTgv(fs>X>hO-Jf;e6p{1{I5V zqF_nGQ!G=nU9Ya61$2jc+4s38Z_fxfuRaEb44Og=bTpV8k6lC%S|#S5_F6_mpZ^qfO2e!<{5Mn98@krN1#q*bHv zKEn0W>2rc4Ldbj@GH`|Q!{S${7nr!joldZP>QX^JGFYXZ%)UlnhEfEXqd%!6MS#(N zL}zJc#-ix;F#1Ilz0{VFVV9Uq=hH`vNyLg^UO0d&;I)T<0pU>RCUA<*N`x91w9PuL-Vs)woIo{-q<_j z`;wt&NjO3-GsFwUnua99WEdpe@@iA^s^^)_jX)j+a!Y#Lv~_5R_o5GmhJFJBNHI*+ zxn-HV4cipf?!If6-)s}+hF9m_d+t*a!;K&?Ot1g9M5Pyl$Y{tK7{c%c)>}EBVm1?*VkA`uE?0M;kLq`r*)rck;a)l0PwCzf9ynX&sC`Q?f8lG3O!3;?&MlUOd zj8Z;X8KpD&CcxAaqw^8{Jw}`?V6=1sRyu>WbAsMu=%uenA7kVTxflh3K;q$6$?KW!Ng AfdBvi literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/della_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..a1f9e65 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + della_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/della_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/della_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2c61ee14d3198f8b8ba74a67e90a5fa8453d53a3 GIT binary patch literal 1194 zcmaKrYflqF6o%hvk!_ddw%p}b6tP{DdRHuh#pnmq2(i$F_<=0#P=|DPad*~)pQRBY zlK2DsQN}ad(k_>nw6n8&&Uwyz&Yb!4_t$R#YbfeSAgQ6tzzuXW3>?^B?R>*_>-mkn z174L3-7CTsa+M*O%~dp{7^Wj9;pNwlBrp2DeY6qE!%&u`&uvGChGZH&Ff{ZU=tDol zLX9^X_HNy=MPs+>Ir;b7#4Piw=hilbZ#$y4#RE!acrg;gZ0WzL3TX_&)G%aV7$XR%)qz`HN2Qb!%c>v^VBhejtNYuR!uWZWZTeq`Gs6X zCsnfsGMJ<81zeJuVZ7rW14iDrF|Xl{fd$;9=3Z{qg)T94Q4d{)(d?&Y`sl2v^TMqY zEQK7yu%%n-7yX-yrKhk+H8quHTu)}?XPyachpY3tZ(s>|hLrT0D1u~jR}<)Xh({V8 z8+d}J)NjwP=MO?U%6u^hxUUY-jy7+q8NIc;{vgbpJ4J7Go4^{+m(Vo3}KmeD*H=%G8Ed7d3sYyQUn;iCVGtKWxO4| z5=FmiM=z5Em1BgR;+B~$nbx8b@)P$?@t`BbB>lh?tz*Qs} zvU|d|`A);(mc6s0D*l!jpgBN+Wd_{LEn zg+qD?$S~UBy!9>jTq8yIW6Z#~3N^flMZ-0Q;fvG}gN_Vts47h`WO5y7^ycM!O(#{8 z225nBaDk9yW*G0fM}RHw+nCaD$G~0OBfr0^bWtFN9;%$nkj}ktXKrTS6V;v|q~ zn5}ts=m@jUZST-rHcRt!GiEj9f!P$k6CQHzc5Dl!QUcR-(YAck^`t332s7Z0Q2o1a zU=~G&g!I};7)EmW%c*rdz`TY910_79CU}0Mco0%+i0`zzD6~8?(GSNWYu!To6xBXf0Ng3I_alEZ#CP~N6mQ`y3%q)%?d0sS6sRr zmzL*J`c$>6a82xcz9=&c_%wgCy#NeFoGSZL_~fHoLAM!$5eGH9%D&-+{;qgsDLv^+ z(><#O3RxPu7(KffQtDaIE~O@rzCB>-{n7e}{vIPvJ7BDE0#-PKwta%WW9Wr17(7P$ zGnp7Ufgo{O4GLGdB%MAXNUQ~!K8GaFkl8MLg?@tTr?}Y-RxckIrqB^A(oSW6N?(R@ z2Qo!}N=bqM>3>9z)2w7V(Mzr9Nl-aP*(q+Na@AB}S_%1vnN!Slg``M7FhT20 S!cCH#YzMj0Lax#p!?WLn-57@e literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/della_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..b72cb03 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package della_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + della_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/della_gmail_com/Lingkaran.class b/online-compiler/java_files/della_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..f70b4bdb47f77f9205919229768c8808fdeaba3c GIT binary patch literal 1185 zcmaJ=>rN9v7(D~+E?pMNrCjAwZl#M#y(<=!*aiiwXiD&hKgiHdVCi0(-6;tVV0;DN z!srhr{O|#M72m=54ckBojZNpe-#K&6H{bmJd-e;!bF3QZK&OtFi8wTdz9W9ja}M_o za@+eyq9PfzRok=WGltHrwX3ZYO#QU=#MJ5gKcA)znCQ{bYa)q0hOw$}9KLtpa@*Of z_-?Lbdj~ZhaF3zKY4EUR9nTgwt)e0rFfpjm{Wam(4k0e05*Wg;ju8{17`vjcd=g6G zk}SVLDu+tv%56XQF0egWmVw}Iet?wTFfoBih7p(7M8WqeTz;_SAjc)W^0r_iqf)C$?$&LGAy)9Kf+0yB z#oLCvFM=Ju@6b++l16D7&VFpi#bA{EMo`!bXPufGxU(65F` z4LJjMa977Ym4o{X^Ox6ad&hoFTW_LCQQ(eKwx!5-;UR-nqB2Tf*iWyenen<=H&?eA%uUY| zLBZi+C_)`i7#6Ojpq(=vPZ_5EA4*pmr2#W^%^l~@A`U7EXw)y#dXh#)V|?i+*f*Lm zWT{u5flegUlcBi^%^*fVz{pH|uF-$X`bw)PUcFHwK^Gwt>Y+3-i%m>-3VNnJ$RI#B zHLAcSXq$+1qMJ)0@v^UXEi-Y7?k&~#uf)G2WsSzqFb@2{)TQEaf`in?=xiPR=)nL| zq-2)*1S~8y$hYqGZs@7$s{gC1?*90Gdk3%s(?A4K9kDdx&=~qJ_%$!t+-;YR8W*A& zFld|7mBBVc)LgD<6&8fWZK*yiOPz3G|V8U$)PSHEwrB@gNY+OalE3*@}1b zcQc6`26g1qC}8Mc#_H`AsVI@xrM!hoSc~*Z$G&ufYTyg*Y#129sE)BT#xcP#*dvA^ z-cbrdn7@p$9|B0Xy|G-=F-5MHux(y%J6ziJrstH7{Fd+;V!K{TsG_AStgh1#{t0i` zv=gI9mtn{}?ZsrsR0H0;Jmj4)UdO`!*23frM%C;3O|d5x(g<^|sTMGUNxBI&BA^DK z(K=0klk}y7MttQJ?1>D9BCW~|M3E%nEZHjb3^AHOF%Nw|m$a7hNZs8dnafy@&~jPp w83U^?7*>=>NST68wni$QW&&B_6_BDM&JeK=bL6E5@`VCDk$F|vVyIpE0n-_FA^-pY literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/Order.java b/online-compiler/java_files/della_gmail_com/Order.java new file mode 100644 index 0000000..169eec8 --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/Order.java @@ -0,0 +1,15 @@ +package della_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/della_gmail_com/OrderCase.class b/online-compiler/java_files/della_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..91a019ceba114aee5639f9a181f62b103349a0f4 GIT binary patch literal 1232 zcmaJ>TTc@~6#j;`yQM5Gw?c}7s9ai5s-mbAL8%g(6d{&iq7OK<6Ij^puDeqr3H}d# z_JIeV^Z^nc`~m(76aR%V;+Zbda*317oVlFK_nmWgzx_V^3Sbub7@82$5jGHk#?ZFO zw|Um$_Ih@4ZBvvbgEnp2rkr62r86s0L>craZ(UFLehe|R=r9blB7VZQBt6q!XNYca ze0V zWv7~5^eV#3bDwe*4pNpVnzndWtF8%enXg&ufwXOg?)0m(z%nZgttH9JTMOK+>+85l z0MAinh?Sh0R~GZ8@*4jedR(!gbj~@B^rgq$1tB+_il5Lh8N*%N({W$rZHi&=U!6>Q z+u0J?fM1Zxd0v)|x5Mzhv7pC_fzzklu2{k!EIQ6s&CQ)9)NpgcaCyfS=cqUG40<=$ zSiWNyd2U%HQ;J*^(?qniVY)80>Ok4?<osO_&~oc2of2c0#N?>hA2 z*i^V_GLj1KqxlnEQKiW7$DaqgBzuz+BTFPlQ{j%pKH5K^J2V;DLmQp-`dJH4Mv@U_ zIHc@os*$3pqV~rNdx&=-NkZ>JPvHwv=|fxs_Hk7~Y^p;XCU6R<0{I#(Sc3t9I7}p9 zp&c%L>AOfGOIm5@N3>`DOqgaW6yvr^HGu5~Eq`ggiidY2?swSo| ztz*W*4a_o3_S_C)7&4v2f+(&EtD)l-!(2=FKHuF7xaaS>GO!)t%CNQVMLh6Y3|dXL z1VgUwh2l*&Xo_fuH+|A*WDznl4@ zGC$yZB}s{lUP-B974goNQ2VkK=d!qOqJ*-J<>W&u48@D0d*PvM3%g(Y{vT~{SIOvz z;lt%JoCEu$n>=j!A}-dYY3yDQevJ9Z!j>frkt! zwrs#oPLsiU9fl&R`8DLf7$xVgCP6>hFG@Sinu1g=D3uBWW6FFOW1x zC-pos%U{7h(S`bi_T(8zV+8ZKP4@(POr{#0Yk9q{y(kzbC~E6-g%gZdP6>$mahiSn z`;&yxL`aeF<1@x8UvNDkPW6bF5+wOglM53x6ELW)b#h~3k#rSUSS5lxgqno*8yOu7 o>=#Y%879u?F^zjYvLeBOF``|f_#X836+9xHN%CW?;VEYS0T6`(c>n+a literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/della_gmail_com/SecondPiramid.java b/online-compiler/java_files/della_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..66329ec --- /dev/null +++ b/online-compiler/java_files/della_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package della_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/della_gmail_com/TipeData.class b/online-compiler/java_files/della_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..b36f84867f91dacffcb60c09c399ab45198e0b73 GIT binary patch literal 979 zcmaJ=ZEq4m5Pr7Yapi=9RQh5|rIjjFEc&I1($+*wV-tKyAo#%#b%70Bx!WaodrkUJ z{2Tf~6F&F@{87d^s3}c}ciEYp*=L@enVb9lXZ#DmD?GQcfS3g%2@`RK%sIc{RhP?t z^+V@ebTvc#(2DAKcprKl;kS6l zC67U1$*@xTJdc~fZmQ7liW4USr~VP{M|o1CUMr;o?eoz)p$DoLq~qAJ@eoA|yHQ6T zF%++R@5l=^6xC_z(7IMN#Lj+jO+3EuzGbZ7VnQM4`i7H7pzzSf#LtJ?eNP 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/gaga_gmail_com/Password.java b/online-compiler/java_files/gaga_gmail_com/Password.java new file mode 100644 index 0000000..18b7f70 --- /dev/null +++ b/online-compiler/java_files/gaga_gmail_com/Password.java @@ -0,0 +1,15 @@ +package gaga_gmail_com; + +public class Password { + + public static void main(String[] args) { + + String password = "correcthorsebatterystaple"; + + // Write the code: + System.out.print(password.compareTo("correcthorsebatterystaple")); + System.out.print(password.equals("correcthorsebatterystaple")); + + } + + } \ No newline at end of file diff --git a/online-compiler/java_files/gaga_gmail_com/Poetry.java b/online-compiler/java_files/gaga_gmail_com/Poetry.java new file mode 100644 index 0000000..cc4ded7 --- /dev/null +++ b/online-compiler/java_files/gaga_gmail_com/Poetry.java @@ -0,0 +1,12 @@ +package gaga_gmail_com; + +public class Poetry { + + public static void main(String[] args) { + + String line = "The Heav'ns and all the Constellations rung"; + // Change the arguments: + System.out.print(line.substring(4, 11)); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/ifa_gmail_com/Angka.class b/online-compiler/java_files/ifa_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..aec642020bace984e9c5368c7609e3d5003fc028 GIT binary patch literal 480 zcmZvY%}&BV6h^-RN}&`fAoznC*ntaq0Ek9SSfP^CuyH|#QprF&C8ag-eS863XyU>L z@R^M9PIY6#EN1S^eCN!~e15-w064>uffUj@GA1-+8LS0=;9ZZ)dG}_zaGi)D+ZR$q zrwr+KXPie4c^!s{0?dDL`*9t)KBa<~pxQ7IiJ&_Qg^cVdbh+QlVT++^yB_y>)Z}u; zn_le2>y`lvWgQh0Rcupa1I(bUl#1N#UwP6cnT4G9I%6Gm0>wR_%zZAri4*wUb2(pf zhRkI!a~VoQA>HfPpSs~KpL%qXp`>J}x9>I?8H#qqo#ho@{pAfih(pI62n8F7{Y15j z7Hag5YNSAoB1`iQ?G9;Wv}(t1V9!)A?9!~Rfi&{i!#>q2dO@gCRIE|IVGW*8c!6Fi hzM`bKRKit|p;{wSCpL#N3^eG3d|xQ5rw)?r;SU5lV%-1$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/Angka.java b/online-compiler/java_files/ifa_gmail_com/Angka.java new file mode 100644 index 0000000..498810f --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package ifa_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/ifa_gmail_com/BookStore.class b/online-compiler/java_files/ifa_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..9e9510312ca142b5c504d055185e8f32edfc2d1f GIT binary patch literal 1089 zcmaJ=TW-@p6g?BCvEw=|NLjdm^ci-g6DZLn zlGi4U@vTVL@$BcmBUMHDf;UT9Dq+Mz7NZQ4P2Lb?Pgc2l;ix)Af#OmH#4T(VyY#3m z;yUu6WMUi>IwmblVVYrdfIh=eE8H!VI4@A#)iFc+I&b*iL6bY~Ue#;b4?V9@QJyat z;$^Q!Q+msh;%U3NFZ><8?}iJ6mJAbxSA$d;QWeFkjcwlQ;mwNI_N!vU3CS1!?ywS; zOlL+36)2y#wuP#DwIH3qqKT`xrlSxZPLU!1@2@!W$ZH6@dkWq2+Tc~HxWn+S-)0Zk z6@AQQ%@sj@i|n;qrSo<7WzG)RQQ4*R428lnh*F$km*n;mKTw znv3EZZ*kS&GRJG&<@Fp}WUw}+6n@#|K_CJhD-4V0oDVXjW0hh4|4?e=u6r!tA~k*Z z#6UfQ1dX%wHAgd}d1&c7*cS>Ir4TIx8j_gDr5^MbQRB4c#MiR=U2T0PevIYWtnmTK zjJf_9k0^eR^lUcykuqt@+@|;w?93R&#RzE_6waRkhEyv8CW!PE=G+M~z&DJA<;0?L zo={7KMa7^~?FNk|EV_nS8mEv#p045&(pV+t9gJcPV|YN9Wg8QyU=lA0^_u+FNi9c8 nDI`uY#TXkIHb)Hdxe#r28CPgF$ZwwBCETDdlcHtVxQXdMXNUw* literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/BookStore.java b/online-compiler/java_files/ifa_gmail_com/BookStore.java new file mode 100644 index 0000000..77f221a --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package ifa_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/Fibonacci.class b/online-compiler/java_files/ifa_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..4c45844d41bea4be9096766789d8bce0e92c297e GIT binary patch literal 1086 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(l)qR*Bmp%k!3!^Nx{R>2-D!5GB;5ND zUU}sU=!GU+_yE3!?;)PuC0NqNon+3Lv)}p7oHOVA`g8gdz#5*Ih#+b}OF&1AA$`P; zdAY@%gYxUfk+2j)Y}s~fwaO4JmUf2_$B+Rtfh$N{g4a(xCEA3NU2@891w^(izj19x z)s-uFyBbH5A@f4GLghE?hIF`P+0XK(i8MwGWD*#~7{llQUk1J7GZA$$19_Xpu!DwByHp*B`aC%P?G5+-h#~PJlO1 zpzH@g8O*xux|Z0meb(ef=mo!2^bXIZRGxBqXIrR4x$mW7D4CeY9Rqj$#O^T^{ynYj z9LuIChs6sEwZSbV-4ljSz2!XzhNLgKv)>Y4VN1$pw^Qv;sK;{2ap$BX2Ecps44bXm z`!?qkHQs8~Z6&CA%2ZF5XZbi586u=1vFSL%t+lx43D3YohPl2h2VLGkg<DY2~MO)P> z+BX=P;qOS1oX(vh3(#RY_r9W&C99ueGO*-Uvij;rjb*i|FK55~D3Ksa1;eE40j~~& zRvad+3{B=Nk|-dBMVhN6jG#i+r!-q@7{d+nN`svdNH=hk(MOgj<^twhxJ@!iF^Y8a SgJ*0*92EJi<=MvR3f#1CYEp)T$NcV|ubSsD={ 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 M>mlR@oe8}73k_8gr2qf` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/ifa_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..0f28a61 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package ifa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + ifa_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/ifa_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7af8d8d22244cf53dd45b2e2eefb3e400f2d877c GIT binary patch literal 1180 zcmaJ=YflqV5IwgAwk*r5<*5{kBDO_Yd8t?gi;+arh_TRw_<=0t(p>EB#eIn(@lyPob+C|hacW3X+oH=u5?$2M}e*oA(UPlB`4IKtL(Zw)uY@J$W)p9E4_Q5eP z`wU%c!V&&DLo}T!X^1f->p?=An>C;3UDv8@2mVRm7k!sowhj%^ZuG#=&}*O%{S33> z$l9;imZAz@$$!`Ijs zYo5<-B29n{!!4Y5u5g+}DZ2-w2F6sXAwwPww-^#vr9%!K& z!AiGc9tSi!Gw*raRpYYi#;Z?(RrMHFn>~g(gF)`mWC5eubFl0sw7qk5pFz)l!N3_tK9h@45C|knr$Onx1lLEmPYEPa2bpVv z^j~6pFZ&hxIc{HIvYo76xnj_V1XjsX)t}LqA=d(#p+ChWMgSv!$sVQ68Ea*))w7?s rvX`0^66^wZ;^}x+(fEc37kJdB(dc1Nm4$WY97xzKZpQRBY zlK2DsQN}ylvR#7l%k1pjd(S=h%$eVRe*OZmfr^S4;tCQPdeF--bZnd°8P`u5>5 zuX_x=Yr+!VIzzlrtSLw`Oa@89);C)ouQ-m;+V;H@-`nvVZkQ?*#QTtfrl4QL00tTI z;>b8?n1*N`)NNCLyGMvszy7(kB~JM+cd3nLM=%(stN(3M?!z$B3Nji-FnW#mPRsSU zNpuO2VKl^f?+B|yk*ZV3X&95GnjMKKxW$mUY8?rv7{`PZX_8^Q5Q0VrFBfYnv6|M9 z#|-J_a*x6cW8L%!V32(mvkLBMxQ_=6x$7c@`Y6&#=wnyKO?;JIvIjAtVN#}QcF3dPIz#fZbjYD1jhk{tQw-^B2Q=JwDOXd8)r^J= zW@&6L_sGpK*$oc?2GO@Mr{Io;yST@Yx;mrF@i6q!+${2EcUyIX?a-`+RVS1faty;& zyD5x}WqTP{H+c;644K`nCT-5P3YjW5jtZHIA-HAmLgp>k8{W}Jxv2XZ7Eok}d3Fnt zVJw^Lt)t>09w}JV@EA{M-nLUO9{aS#V%c@MBNwO##+y&R-f$U~+FggqhG1LbD)rvv zYSi#+`+zgVH-yDEeRH2XReirfH-j|O?Pg16w1*GA`Br}x|6*eWWVfWFSaQp**R_{vWdK;@dJf(Jm}JB^)N*}Ow%}KI$$dS*eab7y!s2A C`4Eu+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/ifa_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..47a785a --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package ifa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + ifa_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..56fbe5ad2744858772c4ef3c487f68174734c1e9 GIT binary patch literal 1181 zcmaJ=ZBG+H5Pr5rt{lf(3ls#TC~8}jiiikBun_%Vh!_e@h#$yNmb#>OSMT;r`m;15 zL=u01Kgu|JE!QIuzwFKJ%slhV%(H*~{`w7I10@|X#5HsoxPxwn!Bg|AS*V+Kt*~=+ z%Bzy0drjCvt~125xr&Aa!&DF?oWf>P@{;SC%^hDhd|8$*H!U3+;yvhvp`p(}KL!{w z;>0|xS*EBTRvoMGexDF`++*%;nI7Nc9+fei2nNIS_J4~MdoYBghLnL}j9lYgZhDei zM3(>=MnasAuCUt_DZ3YG17j-Ha3UTJcNtPwr6Ud<{Li@AzUtfmcQ zFhg_mxFk2jSSLIJ7(_q7tcHgM9^o-V`udQ<`7m_RdyvbFl)h*|kGYo7C zn}6`FBkt~*M|HaCrE%^zS`wob?E1D87Ox0Tkh^44$EFmHP34o@9fq6y#Bq6%q0c3i zk$D9$6bUMwNbXY1kkt%_zRNwoPOS|_;*?M+OfNgWTjlSBqLsd><#{C^%#g%l^u}UH zsy9GZQt6GpU0~|5(fN}8mJuflNaxSN@|VyK&e3xQJ^vkpXBhoPE=EBhkT{(NrS}nB zKi$3}kXQgR*9IB5#P~t}2lR7HT;N_OSv_;bpdTr$kfo}x(wCtag3QvNVv-<$(Oa_9 zq?xfWdo9R*9cC}KDWup1?kBU!yrS_FPcHDRL!;Hh1obdUWTrx}^#E*x&KTbO1KuqX Ay#N3J literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..6cf71ff --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package ifa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + ifa_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/ifa_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1842869ddd20ef2d591822dfd1cc81fe8d55abc7 GIT binary patch literal 1167 zcmaJ=ZBG+H5Pr6;TsaO}THea*p{Q+9s^S|K!9p}@h!~J2#1G`4OI^~t!@E6`{w$3M zk;EV1k220)OM3+4m%X{2nP;AvdG`08pT7XCqM{>)xQ2v*Yv^G}A6Z|lQp0lUrOo{# zejpiomW3na3PU_!sA@ruXvu-+zjM#Ah)H*EnA0%crW^3Xy`XEfE2@| zIJEZawj~;S2d-UuyF-YZUX6PnxKAYvH^owFsI?Bfm^suWiJmXoDD;QCgw1V4qNt3`C& z#{&(E1|H%OVYyztbQI9?N)_Mdo?4w18ZSQwR>NmlYWEvu8i8$Ts(kgPP^E6y-5O^| zZ3u_I3+#PThqd3Jn?9Q6&T&g!w1KU_k;3Lx;R|wC9BS86eN*|&Mwj6lKXg4_X6W}w zWMp0d3`T+~hmv~~W7y3t?gtIo5@b3OqHZWc-*yAvfk_0gFkL(;t zWxSKU9A-c7WG}WUWZ4<6XY!e%qVWTF&Ty|wqt(L{jbNI_VRpb)La=Xd_++;ji_`~3&NDoQ$1NNeaaa0A^80|(AG$8I=Y-Co~4 z;5Et6y(~N-R~XXyLRCYCVLEmazP)xNc_|2-qxDE0MzSIU?zlQMq_gOOp`q76ANm>Q z#lEvscOB8#srjz`VT*_rUh}=Z4G}o5*xTeGr84{khhesSZK7fpgD^D=85qXM1?`oi zP;!?f6Odt~&DjWq*OE!mJs2}Eu0jnzVbO4tVdy+{!k}XUQ>szZ3={b_G+BJHP}ND* ztbrWnsCOZkWM&xexF>+I_ifB;xMSch?lDYWY}ADwF?3M}J%-Wz=VtQwoT%%iMSTk048n~SAqus{_xb>=)@=HwTi3muoMvwC1)5jI0c`b`u;@`cL@bUeai4NnX_ z#WU)*AJpxGhz`;&g&_~r@j3D4-Pg!zgbYiqnv*IM*yel{FMlaisnWOp9%tw;3y*({ z++7}QI=c<}(nB5HI&4lFox-Qclfvay5ehPwJSxtS!uKe>S?(xYqMgeAik=L`He{aOl#&bqMz4q-qj?!`M=!_G zuiMc}BthjEVW+rd=F6tFpoILw{Zl;b2r)@NFh%P$;b!Ra=Gw@W7`aMo3UB@cg`p6$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/ifa_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..03744c0 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package ifa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + ifa_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/ifa_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/ifa_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2ae7e26071fa10e3d49f78c1b5f912992d9d8402 GIT binary patch literal 1202 zcmaJ=ZBG+H5Pr5rt{jJj0tHmyP}H^{MW`=WUM#+RFpU_2Cd3b9i%VVT-POB26MmLP zgh=8K@JAVETWF79{IWZ{GtV>6&dmP)^Ya&gHIz)m5I4|e;TpOb`VaUQp09Jamfxrz zh&{#7y)0d+RvF@%Y{fu=VZ0e6z5M!-5+&c~M;oDPglbdyf;%P*#Cy;S%Rrxn>qs(8 z%6-0DbGWSU?s-oB%{DP^$%c5z72gs8WwE>n1p&(c%~9;Z08$19Eev7!lI+c+KnaJ` z5+TEIo9CS`-E)P6?!}0OQ4O`ch{wPUhQW)}5r>H}+|o4~XBf-0Nu%#BW-BJCnzUeJ zipmxUMQ(=CPI!c{8GQ%S2JTw8hx-ia%Qd4Lo08yJ5+1w)`%s6EW=#I ztA~!TtGw0vm)jHkuQkl0Kt;wU-yboO^9Z`{iBzMWB$8jY+ zm(r)o9fj*+-}6P0q0gu3BlCh_AQDvCSHh7y5hRwbXjjS7v)o zj}xY7B-r_3ud}4(OiHe9$442(_I@usd?7Az7IQRHRWxg?vfv$~6;KY`vA*t5t7c-@~XqAakv-+s{|2 jR+j1#HIOw_(3)x6dBQSz8x*C_dWXi?8$}s5mzwGq1<_o& literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/LuckyFive.java b/online-compiler/java_files/ifa_gmail_com/LuckyFive.java new file mode 100644 index 0000000..f631ea8 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package ifa_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..d817929ffa678772d43c138fd3f3d44e5741de57 GIT binary patch literal 474 zcmZut%TB^T6g|@x3bhCb2=Z9C0~hiEpe{^EOz;tF*tj4=8OZ=`3AQBc{Sr5>b)kt1 zKfu571AN>;HyUSg@142loO|ZJemuVbI6&2c2Hk{VBZfFbX3Q77IpzMSc{&&iH)M#n zr7y#M2EE?sC6PeVgk@t5_Aj`zybgs&s30Ozp}P{2LGx@b{m=>Lf_p6s>qwi(*vMjo zA@>i4AvRMC2BUt|=$Xhf)Z`WKk324?eK+u$-N>CRJ8~f$;RgPYkcYugFr>TE7blT7 z5c3N@n9_?u9G_vce)(-@^)K=w{ZXsYV@Nq6cPGbu_Jg;aAey_PBNaLSXU?v2i*4j+ zW9n!iuZUAD(5*(9QI73Af!$LnT8xmr2pQYPLu_NtXzWFBBvACbDz p*xl!wVrwgQnfOXWhe@Lnut+CMv4|A5sFQ&9ju>NEQZBDpl`qGsV4MH| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..9277fe8 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package ifa_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/NewsFeed.class b/online-compiler/java_files/ifa_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..d19c88981fbfde18e99ab9a2dfc9fbd816ca42bb GIT binary patch literal 608 zcmZWm+e*Vg6r63-CXLb7c)!&9rByK>P*Fq>k!poVq4*%%xV9^~NSZ2smOiKm`T>5F zcw#MD&BLC}WM+0|^ZxPj24Dy4Iub~#PzS9pVB3+xcZ7x~VE+Gn$eG>N6{O(k&GU#^D4jr*CV{(7ja5D}_ zSr_U5#ZLkh4{2JL=`Bx_(M+v9f!))FVTIQCGl9rp6$RSI)I%sp(p*trq1KXS#;z%5 spIu9t{dO&FX6^F&GX{?yFt+iC{EwGOIzYn&xy?W)uRd}t5|+T)Ct>S_vj6}9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/NewsFeed.java b/online-compiler/java_files/ifa_gmail_com/NewsFeed.java new file mode 100644 index 0000000..cb28d65 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package ifa_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/Order.class b/online-compiler/java_files/ifa_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..be1edfb800eaffc9113d1c333b9a86889f3b464c GIT binary patch literal 574 zcmZva%T59@6o&tDnSqguB6tVKJDMn46R(Mh(FDN+!^Q;`s90oX$T(5sD!UjbX6OuX&-v?N*^&Z;OV< zplwQ9dfN=a{Bl*>-Tvx6d>UI37!1&M*9k){f&_^VWb4AL@=i~fhn}!zA{b;y7M+{F zn^B}NtRo#m1|$C>R&K9IMS+|i#myA`T%=PtcBSoAJXdgQ!@wBEbxg!Ci7AHRK0XZL zu2K*p|I6^}A%L`78_QK4ITFfqUTaxgc4`gBDwN%(a2Y~-PE)9qr7cQ5t1jFVUhmLO zh&*kEk^E^tB1635@y6v5@B02a7XBCJhh{J;PS0(KeW{R!A9GC=fEi@z9aIZ|(uYRl zG_A5U(={W!@(T7u27^hXItGG>l5m!6<$8t?b-+wRKS)JOOKA+;-6NWcmmZ;|lBH)1 ut-fGXQ35_C2c2w_Rbq?2cIgLEp><9G literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/Order.java b/online-compiler/java_files/ifa_gmail_com/Order.java new file mode 100644 index 0000000..40384f5 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/Order.java @@ -0,0 +1,15 @@ +package ifa_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/ifa_gmail_com/OrderCase.class b/online-compiler/java_files/ifa_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..0dcae796d0daaaa280ab8790bc0dbe6ef58adb75 GIT binary patch literal 1230 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$jRne*xMX3^-fDlVC(FYvL*e>1fuDe?z3H}d# z_JIeV^Z^nc`~m(76aR%V;+ZYc7KoF~oVlFK_nmWgzx_V^3SbWTC;|wo2x$mIVd&iA z+dN}%vz%Gp*b*g=L7CM}-Mh~aOr_T%h%l&+-`b9F-6*1HSD|U>K&-{K=sCJsW{6a{ zTgh9S!nZC&&`H+MM7eHoM_PAl=s_>V5O3<-a2XP*#ghnf=@-h}FG5R0nfvZbv|#|} zRGil^h@sZdJFX{c6wj&?_(a2;okw>@$ujRVQ$*_itxWv$3<5iKj%o6vW>mGqM zU5}fdkL6Li2~C4jE{YM1suohe7#)by0Koe zYMEtcQ#g6(UgvA$iQ#`HLHiWavHw^he+9pF^>g8!z={1IqqQ^_sC2srrDy|c} zGgKL(MXT|nH?ANX#ckYCaaU$-hGFDim2`94 zs)|g5T_ceTyyRKV4#WHAavm!-oIc^^rXk#sMa!zz?c8ZXO*buut2?$hL%o@2qjPi3 z#XEM9=Y~<#J&}uGmWUQBx@}XV4wo#~n;B*dTER4_4hDB!;i{Np7(K=GECMPXG7SA+ zmD;?)mQt9e&rXg2s9B)UI!UKNl8j_{;sES3Z5Xc5DxZNMHT_jg(O#eMq-Zb6oMI_YOQR-91Nn<+^Z`-`JJ`_hf^?sH%ow z$ke1SUbnq{5$y1Nmox@h_zY8pcZ1m#cNs?Nnmf%c-iq-i?(`=ZSB7d(SM9(N8#1EI z_W53k5+b9QO6gDsytO6tp=yMgA>6Z2K+(i<^c^LJ{6)#7f2^9K+^u}~hc>vQRnTGh zaJdLQV3%~0`wdrw`I=JAcB?X&(Iriv;ZCO|u7F>zNw=l?nxIEf<*r+oT2#__z>r|e zX_TYWVz6KNz6h!=4?_`}SY=oo$nmPsO+03p|38$vyPGE#aFZq>S_$e$ng!Z(B+b!D z9go!VSFlfXVWdL*3?wm(dEDwjPsr4ux3#QUGoI(tr^p-YbGcKDmCgu=+DVdq{QHxH zkw{38@Z&Q^OJ8t3B2L7_OA(U%C&`5cnh2z+sZDZYVUctt*jOck+k~2c@f#@<3+xxo k?m5QK=`o4BFX5b92A{^nU?(iDxz@kg||=kU^HgJ?9s^;&XLY zdEYu0ZNre=lS-NchE%ECoWdlgEZ7e2z_|f$Tt-F&gwinu&DRG+Qdd5NQkjMc1rMq@ zx^u?CEL?`gfOkbrt2Q?urRmTvGF+L6VoOKmVfY{qik0fDY9og^3-=t%V}W6A3_nAr zm)w?6+$JbDb6}XUu*|R^zwnc@fJ^_Rt%J(3?1|UhaE5eEp9+TAx>Vv_9JEAu%v(Nr z(gao%So$=MnZa)8IBbhUnSiJN5$+^eQk!0BZ6Xu$-dkZh`ZSu&V#CG*6fJBf{dmYw zyzabI7rHAd!@`FxI^=Dm!%K#*qm^9&hoo<~I`u_VtZUtkd)3=%j(Bba9$)sv82D(R z!&#_~ewHhW8u$H%G@?3*5<{-3{WuU_i~G9k?R#w7o5U8wQa$F8*Arn7cR5$r=M2t~ zQX;JRJc>kQ;R(a$txk+9&_ab__5V;B-eEVejwKrOeCkPD7r;Dq$wb=aHVF-8yCUXdugYOg@|J KZS3GFmj43a;qf^D literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/ifa_gmail_com/TipeData.java b/online-compiler/java_files/ifa_gmail_com/TipeData.java new file mode 100644 index 0000000..1a43318 --- /dev/null +++ b/online-compiler/java_files/ifa_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package ifa_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/irul_gmail_com/.gitignore b/online-compiler/java_files/irul_gmail_com/.gitignore new file mode 100644 index 0000000..81cd574 --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/.gitignore @@ -0,0 +1,5 @@ +/HelloWorld.class +/JUnitHelloWorldTest.class +/JUnitOrderTest.class +/MyClasss.class +/Order.class diff --git a/online-compiler/java_files/irul_gmail_com/HelloWorld.java b/online-compiler/java_files/irul_gmail_com/HelloWorld.java new file mode 100644 index 0000000..b23794c --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package irul_gmail_com; + +class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/irul_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/irul_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..a2bb92d --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package irul_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + irul_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/irul_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/irul_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..8901470 --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/JUnitOrderTest.java @@ -0,0 +1,36 @@ +package irul_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + irul_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + String result = irul_gmail_com.Order.condition(null); + assertEquals("is result = High Value Item!", "High Value Item!", String.valueOf(result)); + } + +} diff --git a/online-compiler/java_files/irul_gmail_com/MyClasss.java b/online-compiler/java_files/irul_gmail_com/MyClasss.java new file mode 100644 index 0000000..04a6541 --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/MyClasss.java @@ -0,0 +1,18 @@ +package irul_gmail_com; + +public class MyClasss { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/irul_gmail_com/Order.java b/online-compiler/java_files/irul_gmail_com/Order.java new file mode 100644 index 0000000..56de210 --- /dev/null +++ b/online-compiler/java_files/irul_gmail_com/Order.java @@ -0,0 +1,14 @@ +package irul_gmail_com; + +public class Order { + public static void main(String[] args) { + double itemCost = 30.99; + String order; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Angka.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..4c70d6a3e2e7df9c66d33857edad23fe7a9db0c1 GIT binary patch literal 492 zcmZvY%T59@6o&tD8yG+?Dqd0CfeU#6jYdsap^}VY0qevikq_m2T z1=8)#uz)-Y7VHv=DE*5&kMl_SoC;!wR{M!a1>HfYbmT;#B>ymvC4pr}dgN2oB0Z*- z7klx1&qftB3-uC~vBHrBut4_CsMy{9l_y=YS?S4PXK0}zusfv(a!I>VQy7HmcH)!r zZbyONJ=K#L31rTLu@tEEm6n&W@5=C+T#rvOoYVr1_RS)@K-r0CG`pa?zr5`PaX6Aa zWneq8ADFhWhgJSlGg9EDk>h!dcTHXeui5=Kh-WSY)_FG9KpF*XV3TVTJ!8};>ea!~ qR<-wp;tQ;L`4ttzr4p`=4A)sEEoSqm!NwM!u 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Average.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..1e73f87f8f17066124b449cf478279b288fac154 GIT binary patch literal 741 zcmZuu-D(p-7(J8SnQeY*TAHm@Q?>qX8f~-}0jX%jAQV!oyKN*yD3iE^jmd7=ZX$vg zMFQfbK7u!1>xF`7>9r5wBlrwb#QN=+8=-sgeP_;`neUw0?|;7R0l1B8DI}m7&@l%<~ZJEiqj*KJ1(;-=?&(JcneD%1^3FeI8)QL*>w0zgzYR41@mQAkwkyJPTZ ze+(L`ljh;BLP^Zwgn^S8oI?J;sm}AA$nDdxU_i6Yn)2fXr3azsM@|&FvcHnTX`C@| zHiHG6W0*NY!@#%W6AZdljcs3GSm?@UvL*eN>&q|*y{%4PdcCc7&@bH?x}og2q`n(G zp_Z+AzI%VrZ@J-yZ1v&|()tXuR`Z`F^+e>y^E)erI>V$B$@bGVxvlgDisb7Ese!AM zt=X(Hq?}+7w%vPPe0^r@U@6W*vCh+PiN6FW2?W)Pw3?^RsPo0oU>^uDT%sCp0~(UJ z42y6q{e=k_)ZdD4FdCZpN+pM+-OzJL+YO$>r0q2HF`rfZwBl!o=VRVfJe?wa+IDKk zR<*LOmAT1_d+$)t%EA;ylP}X^){22CuD4f5IvWZ0{_y9BQ~hC?`m5ju|A^yr{1fJ5 z-wEY=85zPHYm{J}+}f1jF;ei5#t!Wb3BMrjC9-&pDZIfn3Une5{Scer1{Mum(HN!w RjU+oj{(x>{SW**8e*vW?k&*xa literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Average.java b/online-compiler/java_files/jawabanbenarori_gmail_com/Average.java new file mode 100644 index 0000000..a95520f --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/Average.java @@ -0,0 +1,18 @@ +package jawabanbenarori_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Bank.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..faf1e4006418cb9779d1526377b1bd25c2296b23 GIT binary patch literal 1086 zcmZuwT~8B16g>mm-L@19(w3qYib82osoz>_5NU&8K#e6B;{%ztlXmHLw%MJ<@aBU* z!uThMKB(crAK;HN-fc@Lp}X0=b7${8_nbR-|NcAq1K>FdVT@qZfEGajI>W>PKje9f z%SQf9^+41VgZ|8vrdnkf&F1#>wGWg>SD5ZG1Ca>EafxB}fPdmuE~`Rv$9By9Mw^?~ ze$8&@*STylj5ST=$;LW8oG`QH@>Z^_zgYS5*+uz`1aB8F6T+1UuHqWQbep$C$(A*)-kYjPD_3!;T!ut;tDNiQ zcZE{2DI3KwW-(_V9l<=VGfWLBz!2#8<*0u4B0z4BK`YsH!4TaxrFiYNtHRmkRf~4U zD~i`zJG|5PHR_M_xqKWB6t38wQxhAepB(agxZ)F{maN;ha+Sk7J3=+>x*OGTD~#J% zF_8DQ-(grdJ4I6-+AWdqY3#LQgV&Vp95H+y6wwdtfo^hHw}iW}ZQCucQ@luVVCP)o z?ome!2_F>Mo2%mB3G^XK+_EaB62&0y(MY}W+7@r7JsQTeE0pjZmR7v!$){xla0Z!TZKR-8K@PEq>+tlTKzXd#}qWu zg-K8)!tT~H2yB7?62xSYc8P~UZU#$z{FgAO0x%atbThab!(>7GfvMC|QcDr)31)zw tNS%@Fp+}(+u8v8JVTy)7PRQ9VgB+I01_}NqJ$G@RyfCdE;1Ql+=08`M|6l+B literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Bank.java b/online-compiler/java_files/jawabanbenarori_gmail_com/Bank.java new file mode 100644 index 0000000..976d81b --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawabanbenarori_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.class b/online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..a8e416f827637e8c3b94d65172682751afc58852 GIT binary patch literal 1101 zcmaJ=TW-@p6g?BCvEw>Tn!f3Sl%|jrS{EevNhyy=g`yUaQWYVPs!1|x+&JUNo)l#R ztbxz+koblVkov&_SOLpm1r^sx1gRQf$urk?&N*|>_|DI>(;oot;g*RAG#yb3Lx?e? zj`%URT`mvpXXPVNQ4FySM>=YgLCfX$HE4z~Yh@0Eacj=w7 zi0jD1f{6)C>X@=HjTwfq0s0I>&2YC+;-Wx)U&k!N(h+~d%UqU)<-y$H47K(?#rAb?zNj@0KDIMw`U6d|EniaZ>Ro>*P&Si#Ixyx%Aw#;B{ODX)K%Y#4!I@TDLFE}4$NXI(E!vCSv z)Lr*j#3i}_;S&M%3t}|R(bqi9jOL-0?_ggjV3a~<8PE{N0xtKUzla*8H7B}}*6(VY zv(Xc*&ZUhHh^NfW&v-=fdnD)5@sE^AQsy?rpJ1oPDb9D0hC$)NIbcY&I=~o_zQUY8 zMGE+a@vxjor<^C$5@Ash=v2EwqX~9tiFpTO*uXd*(8bxsBubdV xOG3RSzco_JkWvD%GfXqaMu*K&gM2P_wz`5Pnho-srFR84=*y&N6*g{S<`1`42~z+7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.java b/online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.java new file mode 100644 index 0000000..4230eaa --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabanbenarori_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..103c65d020d535e00a52fa9a4b4bc1be44fbb640 GIT binary patch literal 1098 zcmaJ=-A)rh6#k~&?UuE)rBD!|P^D;#N=3B(lpkXakp$GF1TVb6=`w+(+nr{2is9ae z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*74Xx1W^N80y<(0=_7v3 z%MN!B%C8$o!cq*e72CDd8bh>L+8sh1Lk7$Qt{`yX0N~aaZ{aC@SG?-98p7M*4Tmfmq1_;dcl{ZZb{U52 zid)TX-VX5w3e<@KPzJLuJDw#r?0_|S5qdFb8{NrsDV480-rg4KQ11Jw7)mAW~W{4FQ~_I$#LhT zEe61Q>+C+fYVSRrQ`ETQ)NLi`A(g40EYI?BEHOk#LSoZ(g;#U9?+f3+1BUs&DhDNR zpu#Zoe<)2sw^CfkG)+wKMd;Dc%+NkVT8>Uer@rt5>?;Wjv$O}lfhdNMC)Y0YGwCt1 zK1;_|qO01PR?)t}$P9l+iq7fWDY5`5)4BH*oh(`X6qBJPx0==0K58thO?^509Yl$Q zQ7RZFSr2)27_{OrX=P|iXOTn!DJ;>9En@@~vOb|XTgMn~kXIV)j6k}9IYu8@qL>ev cZ{il6Ns3XV%ooG`9`2LPBz+kV@d%TD0b*}Uu5i@UCc)&Q!^hGQ zVPwV+;D>VDOG_ID_045-yZhV!?d|>g{o^Nq6;yO2kkl|>;2h2~jI{VCZne4FwALCe zu`L^{k2f;g|a4n!5tkMl7kq6p<&p-1*91Y zE&iD|xZ4me_dVaVbZ{qN;SNgN5e&i%t`5(Lq`^uRkNlUvV|Tr-hgtk zu9K=+13BcWe}RzXW|-=S$AD4vRm^F)X5cz*(2@V$tf)^61Jpg2VWRM^BOtmj>b~tZ z370~VwAVzNJ6z_tyTfzsupI{Z6z0j%k(zTonUn8DF5r$(S9Z(50xX7<^g1Mlu|n}I zU&kHX)o{;8jB?yGCZjeXDi;p312MmkdW5-3tu$?h0pWP|e>7dWO z9l?;U+OBvVIt}5k^G2I?hN!6%B~bX#b|cWZTCpbtA>=Edd&;{ZSm4pVlt;^ctMQ~@-$irdSeNg z>J5-(syU5QEz4R3$2blOmE=EBhNRn2A(iJXE zyN?Nyh#>P_NctGr&C)mMhq!cvnSQc*=0Jv0$FNA2s{Vw&4CNkVj{cOA6agmwl08LJ zlI>+LMcGe#*^4AW)fi_-xMCKnW@%mt`Hq`MxZM|Gl73*C))~UhlAL@Gxf~%^XiebR EA5b|IO8@`> literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..e63a10c --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabanbenarori_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..da627a9ae836263cc202838e48e90ace8252ba1f GIT binary patch literal 1230 zcmaJ>*-{fh6g{0_CJe(C5*FElq9j3y`xXQOVbP*Q1yV)%Ky|Q*6O$R71q*%E-?2(d zBqddTfbV{Q&;Enu?W}{_OHcRQd(S=h^u7J{=jSf~W^qr24}JwL8crd=&{g33JXz#M zKDm}Fh#iL^Fs&Q9GsEDI#j^^648s*C-Av9OI3jIX{9w&>_FQM(u>>!vP~dMx8#D#& z8amL)kSOq%JjackFt}w}`gXp=_2Tx9SxVmDB=q#Yuy|f<2%8dWrU#8-boIaKQmyDl zNI{Q=Fd`=^SU<2GQ6l05$Pj7ZJhXJ9MwX)6(5InahH9qAqTn<`Pd&BApke?+Qm$c! zfmj37D?uurRf*N8hA75JL0dRvX6SFadjKomXECneoQCt5U>N(iTs5T_T1Y{Ip*QxV zN}+ORbOXAPC&0km#|R}>6wd)%@`{S>Lyd4f|WF#G1!_vLrt*D7w~j)IhiY1}0^ z)5<3cF10~2ZQH_fu2XXtbj ze%b+ji6gMYF_f(%v>rlDd_dPBdf$_Y(J+HR{IqHm-cE2G^mmRxd=-$%8c63c2DTC( zp&ntdjFD!rdRJDGi+z6=Wuka0RmCP4z|{Y!Kobya^OI#Y>WY(&q=r-A+r xu`j6 zhI9lcL=BN{^g!3ptD_J73{!RfH7|3kEG+KWjLxM*v;(f7NHlo)z}m+MbqsN z6vM>Y|HjI7;}Q}Y26ZHH`CR%NN3Il2%9;QfE}!B&bPTJVDS7u`SjUKR)$P!UhSwMd zPeO+d;uyshrPUb2X!;a1%s-bY#VM-^9VuKT`CK9Cm|^71JOoJA(fsVw@2DDx-WgFZ zAdV@dHDq*5V}@b;ztvO1G4#|7=~>kR{WwKT7mF*IVl;of@#OnIe)ubfEW=QRn-$OG zQluiVyszUrZk*GvXnSQ-FldL|^u+o;X_zi%0>*xS1O_>Ua8t*J zn4>)Qe5aD~@cX40U3mJz8(Bmyy%S2TZJa43NXmOUma)Px+~f_hXj>I7 z9~-hpD_3$$QlNj)YJ111PS9dZcqPS@9k(m8!h9w?&&9ZPdxnGzbYOJjTibgX>&G^W(q|p>5!!_tQ zZ&8)GG>9fcV(m=rg4nkmkz?p}Xx?af0&pp0l;4-aA)6kF_~j+93TeF}gkdE8@p^y@l~J zXZ7!*GU&q~O0-hZAJd!R(^HU1`cj$12w>;}?_v5s89DXd_Pswl^{&%tl=kM6xR%6Z ztcAChlX!bIF`Joc;hpFBAc^@FZm|{$Q!lVYmR*U}(JqzkbF8)S@GRSL!UC?4f@4H= u920bdzd?%5;2P#=b;4kWtRncFo*noCU(!2940h=!P^GUpt!k*l#OObv-s1iM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..d222081 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawabanbenarori_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawabanbenarori_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..72d889014a8ee969dcfe4a7c65676c1c38a005ae GIT binary patch literal 1213 zcmaJ>YflqF6g|@-TbAWj9tGvG2xwc7B0jMQ7NZ|bBgR4#;s-LNLzzByad)ce&(eqx zN&Er+DC3J=c@_r5cyj{R6j_db3ODTdrHlDc2J_!l#s$8^B|j$^JKCx(7pu8W^@P zg3&8AH*AVwBHjiK zHX)tJo5X6yf{j_~p)VAf8OA&A0l=pB9OexySh$0`40Hc(Si4sYUDQQ~VJ!ZkMWQ)3 znu2sn1Q|hsVYVp!itE@78mV2BMSjdxg*!Gc@+v>FS63DySfnyry=XFI!!i}@qOXxneyi5)yF!o`V4Cq zjR;Z>z_!GfzJ8O)Q`s-wqF@-vN=Lk{*9yYh;e{&Q^irF5k6SXN(Y&uaO4dYP`jX5U zhl=A$x(=m}W;+bG#33m!&CutO`e=IzFcfgg94g_Fk0JexQ>t*PF<{lQC8L>h>)wHQ zEj5|gb!9JWF=3Vj7oyh}LR7yF+C{bc=-UORpCPS}>GT9)+5xfTDOmCx#@;D|FN3RhDonw@p;dV5hjV2d0k?&YK!%Bxp al=uUav`!J+G`(fJ4Y|>T+@v*x7k>cHY#ufM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..b7ca4b2 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabanbenarori_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..dabc1c7fdcda49194813060e7ae1f4a828939fcc GIT binary patch literal 1219 zcmaKsYflqF6o%hvkuBThwpfSH>++MGrhnY@cYRmzh7Jw!E+k=S=r+)U zUWU0E|HRAOE(@Exjw=tV4KC}46{nGVxliCs84Y&~+{HbH>3=6I%oRfiWzl9BPQPu5 z2vkam@j31kTLT)4uwLZ@|0U$7SGS+bU`6>HU6T(%OJrGvKQTejm{{(E70ydhL6 z?;Ds$jv?VYEi%JkI&(dqjzuhKST^tgD^vu>t>$V?s%@^|dBRmy<-z2|hbFIk3~QIE zh>DJ2TkV&>zLF`?!Jj$r1Ve98+TvBSQ5NnVFV|@$Nr~P+ZZ#qm=S|c0WkZytCuzH2 z)8V);9h<_N#kRsNapbrn&(Q5s|Izdc&>t}>9Qnc}o22xDY*N2UI%mW}H7^-QQO7n4#r@rJ3=#4^&q`Fz|>`=@gaRZLY!tmDtiW&y?}ObhOSfS z*)Qlj#qej^Vq^q@#A!6hy_;}7w7N==SOA&5g!Eou^dS2c`WbGWW1{V>egjHD4+gMC zGZlTE-VFH=GDBZVNrC{wfALOHw~U0|8-e%Z(0h#}s2D@+9JkGM(ag>&A>S}}j)k@m Zlk@{)G>#K)f^M`GBA*1vO&Vi(`Wr=t9H{^R literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..c1ce3df --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabanbenarori_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3f29501b850e9b9fc61ee254bc1b2aea92e54224 GIT binary patch literal 2005 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI9m^h?Tp8Wt*Ff0n5fVAcv5IjKlzoR=dhxNRd1y z{)YG~Qk7I}RCZN9Ab*kP}tJ&%9)7@uI&;If6%ijUapsu0~?Fu?H zbRxpgcfb#M&fw-=ZnbIynN~nKF@h-!~3O6dA!CjG(-YL^^ zQ|`Vn<5GK97-7sX8!C>rbIn1SUW^|FEJq=c(t;y*SUXyT_nMc zdN86S+sB^i>NQc)9i7Z`CaHnDI`zpAFP@yryx6sDktc=OG?}z~4bUHQn%i}SO+H{K4psrb-T@j1ARMgPf$-gFtjZ`sjS+3*SynbJ}`__)r8$m_I4upbTc|v;( zSxepDA> zW7B=>obw26H6a$bVXWz{$VZ_wWQuYSTcSxb^}cCGcqjH=4%T>COZerj__qQb~4(9asZ*CX<~nu?*aZ#qSTtWIHdg z+Q8aLJ6S)~CB!g7Y>d(~g-N1(3Rh_G$LTJcKoM7|#mQE|Ur}-G*rsP2z6PiND79Or Q-#!lLO{G;8HCPz_5B#zNSO5S3 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..2f8cc1e --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = jawabanbenarori_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = jawabanbenarori_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + jawabanbenarori_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9879eb935ae16657a41dcccb4f23668574f9fda4 GIT binary patch literal 1204 zcmaKrYflqF6o%hvfi25&Yq=_gqNr_ADmN92U@?+t8Zj1{5I>M<8Jel>4(u!x z!_c!XP3defgp;YFh6qF4H5 zPrSsL+bjn{Z%oBE~==>FqVAZ zl;Zc0IwH*qfg?y!NnY8Byi&&rQ#lEn*F^;L4Bd-M%PXs1*B%&HK!zdWsHP*sNHTR5 zr(+RI8kP;LV3n}Ss${AzwK0>kZDDz>xDWL z41;-TiZ^b(B&=Ots?kXwRdesSIdjy3cdqHkx+qFp(sj0W*q%4tT z=(lLdXnP454jAQ*9AS~ou(Yq#c_?7#%_*7b1?5_0u`NAW@#_Y9!J8q>(wv3p>4gyW zo(Aor-q6vv3)Bnr(E5n}9wSUUU_5;WmcD?te}>*u=;<#QI>p#$x?*Gmf`n-`$i1I% z19bX?AR!+z-+~NYU~)hG75W)&o@2V>?7e{w$3M zk;EV1k220~OS=U1%iY;KGiT16nfvSakDmaxP*4#;R6&=9ZuBq=*7zyc>)fpByXBgw zxC}iT(v1p4+y>JRX#R$rMFnicXWxW$mXDjjmD7{`P!*d)VvrVSbv zA)hU&#A;eY8Z)G!BV2MbjCI08fI;*u<`mr3a1ZwxX8$c%TPubxQqg1>&Ae}t2x|fz$R@eMVJ#a`1oI{W^vuVA^ zyaE^s1r?56VN*<8Iw6GzLlORNQh>T=d3HtYNS{#Z=K3!B8-p3zst7%?2onAiAS>ao z7=61y`lE-=NA&j?QL=zk?i?(43FYt{y=PE!Uom)w(J$m;6a)f^(y38;AHnt0?Gplt z1R(P*kbz5#ALhP6J;&_}Om&j|SMD?DM-uB~`PHA&mm%KJBdsp=hOI(g$q3F&}jBBK|M?onW;9|W&pNDX9Umx06oPLm!*9U9dX=LdQCCJ6J1ch z2H9j$Css2COw5vmuJFjsFxdGHY=VS&Ni+iuWAZ7XdSMENLf=F3u8Wsx@D2wwA!KBxiS zGq8vZL&&q+hzw(iA1aYIHM5`tCH^>qj$r-?Thg7e(nxa_1~+ zpL^6Wm5*%p7_N&$+YwoYA&1tE%u9e#Ur_GQ6As1b((Nff;tNnKtNeMp>6FEWRD5Dr zmU>a`5oT%E0`%?zh^Ti#Rzxixefz-F1Eli_{XIpHEMOva29~;jwtI$wQ|PHL7&%4k zGr1TAfk1+E4pF*-3)Ag00tvK07CIo|3&eL*U!kAj#yO^Y$?E9?QA!=dGFhtnbNVu5 zyCC!Qr#H97-$`5Pdl8kGP5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..5137768 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + jawabanbenarori_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..639e32d035ca6e89e07ff3a4b66985ea88129654 GIT binary patch literal 1205 zcmaJ=ZBG+H5Pr5rt{lf(3ls#T2x?o9iiikBun_%Vh!_e@h#$zdEcKe+UERCW^k->A zh$Q|1f0S{yEyo$uFMD%4GtWFT^X$)G-+utuLP19aQ4L)NZlRlDu*N^~T%Ft1++MjR zDjq}khH0DLCPOrxDQSo?OtpecC%4`7L_td4-1EJL?-e~MxTQlwvRLvamBH6uMY`*Po4<5!(DM8TqPCxT&M*R;hO-zp1vz{_>I>7~&gHrmpob?p1LXIi3Ux+b{`Hg(KB)3K?1eD|8+ zwm5a9$TRdwQXH9A07Idm!l@@D#SB@^VCeh8_3PByU?@(BmcsO+2DQLvVdgv94vbY?dTjmXV9}>FnEU1&*Wkh z1OkcDX;69}!S&PaGXjaUK;}Cj1D6;-%6^4@j)@E0xlUHkUoq%M0&8Tc>g)7n$Oj;E z^rx7_2w?Ot*-6sOSdhKZ%6=YXFLx*;*ahy!)A6jL@eK^Qu+>8T@6Z7WA`Q-_9VFZy6;=r=Hc1VgUQ zKl3WLs>0%q?Z~~F$z@}2-!_Y{cL;scIS|e};Zi!o4q-7&Z~Qk|sTYGtX-FFw!te$D z+f7#qlV}ql!*B=Zts|{ARf_JzsDUv*)UZPq4dV>y^VA`Ojts8)Vofq+avjjH0Hu6I zCsxx2vX~+LT%pL!FxGVs0S4aJF{|N*ft$ERCI4HjKqrP6sb?{aaC!dG;|-T#v0ZzZX$ZD8Yo*IC z`3hCLZXXDS#D=uQ8_%rLr0{BkUiwJcouk&&Q8%_cOG#5yq$|l>wy0e0*G=hD8(oHL z;?QH|DT>KaE(6?>R*%vRQ&nSIyn&rgtje$l)nvhOZgK=-x!#`c62_XzsHEu4Hzw)fECW5?Vh0b7<%C=lE)bNLMBE| zAdqNq#t1BdB)vW%kVpVB*9J+PA+uZf2K@vRrsGc+pWo#>??`dKG>p-mypPH`=jOBH+?-*NjCce^xNHB6EOQzS>W1GXH1 JtK~;l7u^5= literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..d125c27 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + jawabanbenarori_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0ab2f0fa8aa2cdb52f18073eabe1a044b4b7f00a GIT binary patch literal 1214 zcmaJ>>rN9<5dKb!Y`ZMCS?;WxVzQxSQ-%` zi4WjI8Ru+Ey96|8XJ^mMeDlra?C(E6e*suWUPlaZ4P6FqpqpW!#y|6HojcX+R=FlB z0YmqybY!r`5Km`H8WIfCp_6p8o5z93dmcaDY6M4(pcr_9+d4GFljwn=q1Qkk`WcpM z{0lF0rz{-qxt`pw+FaK6E3Tb=yG!UrQE{DvZRv4a9_$F8(i(0AlVP^--=w)D24QL# zGBAvhOLY{F{Xp16p8y#~+Bn;ubXt@tx(8zh##N}{Ml2d`G7Md$ju>=IU`jP@nqeZ{ z28}i%mnrGQYSussbJRy)1Y~9y@3=<*L+{&|*Ko(cT`Vvx{JUwF`o+*i-E1TqZ6mTswE_-_hJPhgR%YjRFGZjcH-ij>c7p=NmBz!I_yiNI|_5lA|7 zHGz%?c&Oo#fya14op-%zw$`AbX7j!;JT*!lDz85^c-?1MY1JQP8G&u?UGC~hrbLy# zat{PUe?dCpUBfO5Z-G7-pcwRF2rHzi>@VoakZXg?)0<+FAb`

      IY!tSZkg$VX)P)uKXC61%N-&n@du_zP7~Y=UF1|7axH{h ICmF-WUyJq{w*UYD literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..4807322 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabanbenarori_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..37d79106e9f39885a3f8fe9d3c9dc0aee1a61bca GIT binary patch literal 1226 zcmaJ>+foxj5IvJ18q|zPI za1Dx?icYGg449av68b`tn_;{g9wKZ--^8qjTLy094#Uj9>vd5oh90V+!;nnBZEI+C zje1}?HDZh*!!TcQ8-Xp%DsQ-l=Bim(T$nS<0r$a+4Vfnl$Vf`W6_8b;3pJXajgQxC0!4NN7j(8Q=RpD*(YJ*PtspLD&_C!*f-UN=c zY*Dd%i`*rLF2|+iI+Q+9?ke062d*cI3jM??~7k>t)v;%7+hX1_u|!Sz#2cERdz01Oj! z1j}Tp?2qZoQ0$P*(oQLf5kc}V=y95rR0qA%La%nv%OpYN7-grJNu)(D>b2H*i8;{X5v literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..e7b7b04 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabanbenarori_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabanbenarori_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..4a9e70120d5f3418217d6254d97a9a56cf0211c3 GIT binary patch literal 1195 zcmaJ=>rN9v7(D~+E?t&;xyq&7N*9%SS1bsz4GLD#l;974kZGB~(!DghQw$Gad^mYU>13KW#lRdHU|przry_x^#4#=s_>T>=FOS%iJpqj|YBW z?;W_@cJ?a1n=RVjL6ryGW9V|~JZxIWGlfm7ps4yy3@Dzys&H(F5EoGi3}Q&fu!#|j zUQt>)38ipJpkF7wgT?b4Y(M)pusvClf#7bgpETbvF^&m_VV74$-uEh8zPIHe%|gjN z88QrI3I!{|pL;-Hl8`eng_MqI6Em1)7-(?-L%gPrqw_P@39Ma}+q{XiGFg+{t=SGk zEbs3Nh91gMys5io5$y1?Lpw1tjcgjqd}zhRV3hoNP!Sup3hutJXh{hpYo7bQ3}wJ; zuZ2AH_ro3ySp#=)SI0f&!F`6g%Zs+XW4|i0QLd3K8@wX@;Dq5zb25#w@(vF}5$brtFn`U0R+;H|$}su=P`c8{229g6x1B$bIH)9`QNKXz2^txV z@x`BD-)O>+p z=;_uVg8-e>r~(_HZ6eZ%ZZ?U;i{9?l^!O<{w^ZM^9RH4_H4;C=81Ms=mx{*-4pJMV zvvu^L3;jrvk{Rj~u&~%5Pf?W0Eq02zOLU}vm@*!rc9Xuh;TCSw*g?@t)E?jwtqhty J#ximk{Rj795=8(2 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.java b/online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.java new file mode 100644 index 0000000..9160494 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawabanbenarori_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.class b/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..64ad90f80b7a9e35ed8578d5b61f90dbb3256cb0 GIT binary patch literal 472 zcmZuuxlY4C5Pj<$CMJhN$N>ojqDd&o2P8m&6bUIDl2ICpXl<-$lXx8&J19M0LPHG& zNECbke?yDJF>4SK5?johoq2C&cJ}4t=^4O28U{2ZbR@G#AT#ni&_Skho zhICg*5$-W0nyoaIOFzIC5SBp5_1I>yw*)rWW2pM5&`w{Gp9BN2brGW%8sG>%`qMoXi6V}XhH@VxW-@v?w t-grRnT4T4LuS%`O>IyYbH4>ne)8>nWRr1y-N+0)*6k~4`Wmu0j^)Hp(VY>hT literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.java b/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.java new file mode 100644 index 0000000..e4867ab --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package jawabanbenarori_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/jawabanbenarori_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..9112e8a6ae74776cad86970982a4bdd12eb9f036 GIT binary patch literal 486 zcmZvYy-or_5Xb*}d>ou0AfO0X*l`x}0H78oBqsO~&(K(qy<&Np8fCJPm7>JpOXOKXWAwS}C-kfkXY@WI!;YAF| zwp23OXNWcIUK%N+O;{PMAoEM^EUqHqlPZ`IRPHVd$)I@_N)o&DseLNT@hYzcS0|5Vid!AUX_Lmd#eLtkRWT1xQA7}txXc+6X{z{G`a?y~2k@c9 z8*9;Oe$1VmocqnWllPC8HvrpMGm$}7hh`y%JVRfd-*6}3s^%Pfb>Sxr`Aw;0vc-@s zmd!+|nl#T) zt5rtM31v^HTkx=KVj43#W-ZKNo?+nY#7+-G?mF!tMDhRe>D??c%-8uX_qg(e;&Bwq zi(1HKaN$Rxb0lsXdqP~&?d(REf}yt}l{jjKo`_Gm7m%WnSuqTEjQl-c>5Rd2qh{=j zJ(-%j+rW)9EahIHf0;fRP*mh;U81)ss*GxG^$F~rHVn(Ork_bf0V^odKD8b|Lze2Y z{tCUCwF_=lv%B1C&hB=rdArxGtUaUu@Bt(1kC^&l+0+LZ7$e#=Ok#Bru|!%1tDmw3 BinRa$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/NewsFeed.java b/online-compiler/java_files/jawabanbenarori_gmail_com/NewsFeed.java new file mode 100644 index 0000000..8c48715 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package jawabanbenarori_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Order.class b/online-compiler/java_files/jawabanbenarori_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..e92a9786bbd343ccfe26502fb3c54853b6678456 GIT binary patch literal 586 zcmZva%T59@6o&tDnSl`mxp_tK3YsWe6TBrRMiT`S3>z2Pfd-4r3>gQFPvXvv3)i~P z#Dx#w3-~k|PsfcWwn=;1p8q@Nw0-}2eFLzCvVj1CIzlmop)n-8{EAn4-0oEBW>>U4 z25nv1(%WPRmY15^_U32*{=?Xaz+iy3y+#;n5e$=fPj=3WP2L-b;=U)WnFx{$i38{Q z_hu9+q;+Is$RhVAV&mqLR20Y=P~7Z+pNn)VN3OKJhUW@yRSk?`T*pKVlbB*i|Kr0D z?kfc$%0CRh9s)?aQ(bE6m}V$+`87AWZ3>&ajw??)7MH!#mSa`wZd{_n4bK+6j@T&5$df{6}YqH$2|DIOKibU&q4VBK6L$`N` zrsA~+XsJZ)2_q}d7*&*jPnm{Jwni$QdISmLWidpT9Vg;2=IE5Z$|th)S>{z@i@vt> E4S&~qPyhe` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/Order.java b/online-compiler/java_files/jawabanbenarori_gmail_com/Order.java new file mode 100644 index 0000000..83ffb68 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/Order.java @@ -0,0 +1,15 @@ +package jawabanbenarori_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/OrderCase.class b/online-compiler/java_files/jawabanbenarori_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..6d56f796867b8814902026c09f09cdbcfcb5e0be GIT binary patch literal 1242 zcmaJ>-A)rh6#j;`yQM5G6bdN{qWra>R7FuKf>I?m0U?%Pq8B)AC+*Vh?z+20N$@@N z+6ykc(hEqq@Bw@Z6W_uZ@k~p!1>z(#XU^>T`Mz^z_S^5HuK*U2384)>6@Co?C=6ZO ze21qDZkAGO`E60~7?gS4)V&1;Un02~M36y!{ML4a>xK|QhYC$YC&DehInU9}5<{@e z-Ezh%in@0;h%WMeCQ3DfJJLIGCtoOwzX&Z2W$}Amq8$Uc zpyHy2K@7E~-gP}urF>S6z{eWlbSt$^h&;k2cr_iRAj29i;|fE6l~+W@G7H>$u6qR5 zbUki*bu5pPO=udN(jkmuOvSi{2_zVL>Tp}*GX!jz?G&Ap0Le`ilMEx<{0+}@GcQc; zSdP9`s&d`fDp=Ljno|@`hPzZXf1`Mj72On1Yt_7PHhA8UAIREd=u5mj3o*IL(3$gi zp|Z;Dy1j}U1oa$KhEUF`IR&w-%c$YMsi!3`D(sSFd9LShdsTR4tLR1)%!Y6WcU9bz z6`W%j{ns(w+_5Sm)nM8v>M}2Qmb1(7zPYt0hK-<4xLGuWJGx?7m71MCOQ`9j#c^ZT z7U!5Z^K9JWbaNw5LS(pM@#f`uF@($13r2H*Dy_c zY5Ie7h2*=ax-vEAZ<`Io{Re3OL`T#q3jFcs;U39>*v!N_$;r4s8aY7s2lV-71N-PA zU9Ibie>M;cNXIehM^lbCO__BloZUyb7cmlQFZ#1z5KkQ85^#VK39+pXah$+Opc3RO zbRZ860%7Qgz(6-_dh>gTAw^aRsK>M@Dz2;aKL9P1DWVPdm17D(eVVYq)aodYw$h2b%qPQ%qZ5uZj7Wesk-r%Ys6c2SMcXk6V{T)vS<+|{+YHrGq z2eQdvRdrJ^jMStOuRB3Qgj>Aflg1(o#V}cT*Pm%|n_;MKxYyd??F4V*PH(bFm8c$d z-3dLhE@R4EkMHF;IWl^owTVo~+Z)2{>1H%CfJFxd6m2ZUUsGbppO;^%1Kkqk?k{wI zYn^*WhldOwE*9hr*d=|*Rnr$yzNU4n)2{SqbV1W&xOLbTm%uO9q}yIS4RJb1y2|qq#xby{AW8zdoybvSFf0|r4py@!C8r&u~4(3T$f{PU*xJ{^W tSih06F~@$<9G_zBlpfQ#n~>!R4h$3R0>yVP*_ZKvbPmZ6v5Lo-{s%M=2B!c3 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/SecondPiramid.java b/online-compiler/java_files/jawabanbenarori_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..54f4e35 --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package jawabanbenarori_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.class b/online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..0190a9e77a3b6a5443927cb25aa9da0887ed9e33 GIT binary patch literal 989 zcmaJ=ZBG+H5Pp_kdvF%0Mc$-^Qj4~TRKJjD0TXM8B=sdJsUQ4+du2nH-t9Jbdl>$S ze?vcL(hvRsf0S{q#k7RRyWGsq>@&~I&d&Y*)BgqFC7wB$Lc)fXMiME8%mu&XRgbIl z>U;M>v<*XQUn*%184~46YX;MpvEig~2k9H|=2d8fPbeKx&|+giBz5&eAeCvFKybg7 zrJQqV%p=3F?DMXuYt`oFqcj~_g@!8=Qf&FSG7KNoL9tSu*BoTAVB=mIi&$bL_T7BN>Bd{}JxS6;sPzX>CFi@ZMWtI{GY}Poe1G z0ZKNu;@&)DD2;AGs!QD!)nOBc?Ka&4QyhChCY6#Xdr0pN!}+b zPnwZVZvO=PMhk{DlJPc>zzlK&NDNi5$Pc{8IQyB@LB>8@%XRXdJu69iE#LW^qp!1< z{0@83>SGr8fxEGh>|=RgjQET6OM$*PLkbSbS!C$lpn>1P0-n>rC$LVKDe@Ia&(Ug= Us(Lh#6+9-NL-r1K@f53n0T7t>I{*Lx literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.java b/online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.java new file mode 100644 index 0000000..f2c5efe --- /dev/null +++ b/online-compiler/java_files/jawabanbenarori_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawabanbenarori_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Angka.class b/online-compiler/java_files/jawabanlower_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..1982c5bbbc67b1afce0bdc6906ee3978201b38f8 GIT binary patch literal 489 zcmZvY%}&BV6h^;+mO=q3Aov3s*ntaq0Ek9SSfP^CuyH{Kn2>N(O0 z&lr-e_9%liG6u{XvdI05+mGu|c$D%Zf+~Yp>gYWvDOshEKS3{f!95bB{aj zcV!uCL*}w6PHdjN=k-m>wcS>A#aC#y1eGAzr1PtQ7{#K zN5N)nKUF=Wi3)wF8VOLxNYT7UyCYf|t@_Cu*fSLj`!uU-Ac+hPa7eX^UJ|MlC2QEL pS^XzuUtpB-uP7)k5pyMIRO>_<#HLY%i5i`d?+ZosR6Wif{Q&1FX0reQ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Angka.java b/online-compiler/java_files/jawabanlower_gmail_com/Angka.java new file mode 100644 index 0000000..6cdd98a --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package jawabanlower_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Average.class b/online-compiler/java_files/jawabanlower_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..406f68c95f67763c8f37332b3a92dce57fa27b6c GIT binary patch literal 738 zcmZuu-D(p-7(J8SnQeY*Tbiv^)B3NQMjP!#Kq?wB2!*uO-8K>;lu2B|#$>l_Hz|S_ zMFQfbK7u!1>xF`7>9r5wBlrwb#QN=+8=-sgeP_;`neUw0?|;7R1GtMDDI}m7&@kj1X_+r{-}$8ALn;0_9;f8E>;|KLhk>lCcf zs4%3QpdYr}2VQ)AX5?To4nmnO(m#p61Skds)yuS+qt2-Fh0kCg2ryis8gBy{lDGi5&DJY=RqDFmO#{l>Rr8 P>=3y_x{YB`O(^~a(Ib#% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Average.java b/online-compiler/java_files/jawabanlower_gmail_com/Average.java new file mode 100644 index 0000000..f6745f4 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/Average.java @@ -0,0 +1,18 @@ +package jawabanlower_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Bank.class b/online-compiler/java_files/jawabanlower_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..815e54b5e6d9c4dc707460c8b09f36ad03597eb7 GIT binary patch literal 1083 zcmaJ=Ur!T35dSS)@7hu)TrT*7igGd_$18OY67$3;C-Lyxqd(GV*gf}1j z5XLV-^g#^|egHp|ajtD*35|Q%ot?dz-~48F_V=H&UjUw=5XJ~b4QLSrpfgMy@*|$N zxNPKKR}V!^G3ZZCX{t4b(QIyCUw==2G{W?a8HhwMj!O))hy0jVxwPzK;T$yD+_VmA zc00epWs6~~X(~@PHfVAJ%$CdBxw8Iz_0vZmN?%X<0tg|7xPe3j(@37e{wnzEe}hR=gZ^bLEUTU^#H;V$mjcFXG&FH#&hIp?@{ z(h)<<2b1hIRdMhJ`Vb{Vi0#3=3aVji#O9Abz<5TO85#(E8g_vlQd(9Y)dJe zlEqzDxCS0DEM3TZSULtC5&Hj4sYQFaQ#1JQ!ylud`-e{Jb<$EK8OgxP53sMap|aEJ z|MpFT{-dD1Z~B%_LnIgC+7|>er#?&H6JK@ouY7@}LjwHPJ~+BZz4mXlhFP|q*}d`IdZ$sT$X n8sX}g#2BWi`QwC~?J~$=g=CQ6Z_vDhd!&VFcOMV&7&CtXmAL*i literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Bank.java b/online-compiler/java_files/jawabanlower_gmail_com/Bank.java new file mode 100644 index 0000000..3a81b82 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawabanlower_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/BookStore.class b/online-compiler/java_files/jawabanlower_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..e3513d38158d494874090e5b493f46c97813713f GIT binary patch literal 1098 zcmaJ=-A)rh6#k}Ly6v*1rToi}MT@p5ESl&|5r3MX7*LZEjM0Ql+X-E|oo#lfkiLM= z;3fVfUh9P>T=)P!fsf%65YKKKEunFfojG&n`@T8n%$c8Or#}GP$87@wP(pGh{e8r{miJRXlbm?JO z#I@x?(ZB>IbxfI<#tg&Q0DXp`R&ZJ%aZ#YKr(>2Od&rM@g-gdh7T*3rliSXI)oogj zT(?nHt|u6xCAUUXYTK6LS-V*g-Y%~=!3Lov!({&TAbEylS@CLPhqrooqwKc5s@Svx z^2py4R)g57c;ryN@_1`UsJdJ8Q!y+VxQ6RG@TW6LAAA*^mWx`o^1Rf@R7 z@UB1K96$s|J@@UgHk0XW0^ixh19WN)GpZ;pj@gZ?6Fl=kfCdPcveZOleb zurim4e?TH_Y<$LJvfm>$mq~miPl`Nu$o>Q?Jx+EZM8@M}E}R1fR5Jv|i1Zc4{3+7F zH;f12M8a^MQcDCuMW9pcaT*Pn^d2)bP9upNy~$;yutv)V{CNT7>!e&i{VjMaFymb<(s2_88>NVkhKB}w=nYuAIAtM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/BookStore.java b/online-compiler/java_files/jawabanlower_gmail_com/BookStore.java new file mode 100644 index 0000000..440fc89 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabanlower_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabanlower_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..0fdd06758f015cf8386f743e5ec805d823cc4336 GIT binary patch literal 1095 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkXakp$GF1TVb6=`w+(+nr{23gO;| z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*6_qc1W^N80y<(0=|g_R z%MN$<%WoQo!cq*eW!tsYDnqnb+8II|Lk7$Qt{`yVPC)aaZ{a zkD>7Ij&1iyHbuGH#cs#exuv9c!tklL&*#7{=_~H;Il?b&O4;nRtNjJ_SS~qkpR~mQ zcyFEES6A)5q;rZIcbvMd1ihj%^^@gUK8{6(2uVn6xUTSO4)=ZG8+gbt*H`7BzJl-3BCxu7#bMbXGqJ@$>`MQe}H`@fnk>R;5QJ(5c1^Og?=VIM%L%) z*m875Th%JsHyD}W??}-(ojXMqAZ0rDp`w!|tDj;rwB%N@`szoGWwog3rRv$MZ`|M&@D6%`#Z#5MF8xP*R&;THeQOBQ#UrS(Qj z>_~?GWz#X`3PU_!sB1_tOou_HTUtAmqT+e{a6ORwfvibSa9f9l_y7iBXc#hZ8A*ou z7C+z(?pW@D@V1*aH?8d**Dk%@By`1Te&id%r&@*^0Wr*0|68d%fDxoLqz#N>?40=8 zp)Z9^nhD4-*5$nQOsAuhvIj9?U{a+TZp5SE3Pbv=bi|<}gDKUiX@*R`3yq$>T&U}$ zYSus&IclCSB)J(Td*Kma7=0ac8s-h$z)gm!e{?Er5bC1OORaz|uvGDV;i>E6q4Dxlz%8F)sdMJ2$OyJQVC9QDg*qMdg}W;l zl2y|YZvwj^yba#4XlIZ*y1CyTHM)g&fg?>@)J@+ccg3N@acQ~^l}}ZB3fIJ*>xnYM zkVk_?<{4ll5>(lf!lM|?^gHbyj(F9Cl2fm_fwv=GnMzFh`~WYinL&=`Dn_p>hLoCq zvQlcu=-UUTo*Au==LB#qbfvzmSVj5C{^d)u42ROVaKW zg2Y0|LI;vOMP{q`4f-*zo?xbztR6U!rqod^k)^6Xr7uId3z?%or6fUs@xNqG(v)Pn z*~?+}vu^ehNl-P$*a@zs^3_yvK?(VeTPL{F6OtnRz%;EhgqtNfxh`@gM6S{r!}C8) C)DiOl literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..79e3eef --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabanlower_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6d7cb6e32acb141030d4d5f9c2dc3f2e4dda9975 GIT binary patch literal 1224 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 W({#=d+$=4!-GN+hL2l3)!i(RJfg9cc literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..76a6540 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabanlower_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9c99f2d9a7c23e4de8ed569754d975751eb4a712 GIT binary patch literal 1213 zcmaJ>YflqF6g|@-Tei!qJPOKV5!ALQM<9qKggF789Z&(eqx zN&Er+DC3li9m7_nv$1y=V64ukSwqY@nzkhPZ|f12@pg&{yZ5c)r1{T7J7y z7gdj;b6r}}d&&^cWXl>74C8^5wDX%Mo+vsFKiT%ZBj4Nc9KoA9G{n1*grT9^Ko5Eu zvUPsUE8J?>$HFPtJIML9itdi-5O^Y&4i%Q z4ivIwomfp8Ffm09bcIL93?ps#2w>nnjTsGh4BW*%2J;`?3LC}HK`pcxhBNP441$SK z|D{zUyacig(=UW0JTnYhGxd3Mfu2Qk$y_#9%!MU0fmy1u#oe@Q&-6YB)8$Q}hWNn1 z9P$ha&u$?z3}&*|^XXW?qJ|{{53x)Wu$@}I?$coNMb{OM8YvHqmmhuJa2ZxF`w%4^ zfo%z|aD69Rrox}w?*&6|Nm}By->e8{msc9JlcX;19knD#lX>e~o@|P;bR``ZEh>(C z(zYmls?=t?XD0=EC89k1nIrN=zi`i^fTN#$3#0={Qwk$9t>cWER}tY z-VB8hWQM*JlLP?_|0Oz2Y8eTm*MsOMVe~3dP&tO!Ic}#irBrTK5&4Gu=a_F3NfCcw WjMj02o1p7#hLBGK$PHR!c=j9j${JAs literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..029ebdd --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabanlower_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2d7c25359fdb6e57d8ed06b1c6d3a079356599c9 GIT binary patch literal 1999 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI~r)5G!{F%QiO|1D1_#Kn@`Z8N>jKR=dhxa4C6A z{0+%hxGJgGsO+kIK>i}n$rt1ym7ZN$ECuny&dyGEpYA^0J^RPMuYLzGgPMvqv@7V) z(1{2`-yuKZIfI+~xz(LRQFa+3H+55YZ!@%~GbII4h7n&$w{r7!SIpTqudjM;&2!gW zTkxt11?@3(K~vDJp$EMTnM3}R?{L$wo(g+=zshxEyKGf+D;oq|)Xn`0x4F449P+1G zAuxuq;#kLt8hSv66KchBPFlsb+;F3f^HD zc;h-GP%(^4lC2Sj;dBc$%s@U!*)zB+Qc^o*T5ifc z5GjXOg^C>BSMY&`5Ao3{`U;k}V+aQ2h#Q_*-6IOqg-npJ-ynfPULt&=;Zs~^=-Ty- zO47n_m_lUc$M62U`#kZziac&AxTWDXX2_9c@8=FZDt~UyafB@k&;8AvZ#`}}Cv5q? zsI{m|@`XY{ayx-J4fB$r{)#YkgG4O~BC{L+G#yT0QNvvM)zelD2OE`a?={d#&NL~gYnEr1#iA}dYUu3PUz3wYT`_N2uH)Lgc3-#$)~?eVL0QEvgn~U;p?!vN ze<*#1bo0onh+IH#P_#u}reNy~KZmJoDh8lS+}t&UGhVc;idPG>832V(P8qJ(Ya%Rc zs&AcBkI+#QVu2gRn(m5x6gpjqMLCGArcK>SG4)=vl}{hjTr8WWuonzD9*zQoVd4x0 z=VhjVT7LBHs&qRAG~hDbgl#kkZHUV|n|5(|Ez-LKO#U2bEz#F?w9^h4${vGdUqjhE zM(hRD?62s1fx%x$#PEdH9#RA}GVdn19yB;7VUl1LI2x zWLM%-naKvOy~M`}eAd8?rf_z;Gl7L^B|eo@lAU1%*1(;~Wald^12I literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..3f0bc8e --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = jawabanlower_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = jawabanlower_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + jawabanlower_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d2871bea519e1eff06fab5944641892c5d34103b GIT binary patch literal 1198 zcmaJ=YflqV5IwgAwk!*UmZwrEir5xq<)vZ~EJhMdBgR4#;s{{dhVITay<6?AFnMi0Yam7j3E#;uCJQ>u!x z%h0oKScbd75Kg6w3L*@NMvx)(t-336w$1B1o_p-M1=kkbRG}c;i#})y`ZWw7%Ai;I zDKBxWCQpTZP%*htJ19$2f3ru>d9VDjzHOX{f+$Pta921~Rg(cohUxr&Yi4^fgqVW3 zhGC5S(MF-}xWXj%1jsPb#(8HOR*NxZ_hC%KxSy)YfJebChWJ(KfJ4OuCVkBk3=^p~ zXi$f2x~LMXX$?utkc^IS$;~j{2@e1^qVHl>!95LgxX&Cr3F)``WC3HDbFj=Ml>Kw`oz0Y6(ajcQ$SARxdhHM*Tmi~Mu5ds+fNA?(P z&Uia}y^;OAoxR+m5N8*-6HCQ1K8K9^ z)nVvcmxgpU7^2x+SwW0p%1@G}zSVL>(Xx1J$90ZfXVmrb?MED%f`o$JVwy5qrX>ewrBqW0)!Zw_Bkf!$>MfX&Axi z9|P>RY)3SSHvuw?1~_jmX>_aOIuR7XwZz@k)}cIlcg@hEpcR8qQH=_$Xm3% z0vHY@6^|TYQBGXiA%%xR8J;mILESZ7t17moM<{*Wy9=IOFiVz-(Bq0A>6xE)NzY&O z?E&eJK3X5q-(y5+2c+}oVEIcZ2j}QNgPQ+>p)-tqrVyhf5J;3(jmi@QH$bOP2qfZz z%y&QrFEMeD{|faSH!m>VE%x5G$6x>{tkKTv{*=B9g#cuZ{yZiz0vP*Cb(-8V9#pUU u)z5|HbHNSBX?bh{i1NGoMs2G7-ly9TP!z#QN$F)HH=~W z692-n>xl-@CP0SqF3x+$v^rENdk_;ECS|H-2RsU{GsG`S2OKJrxGBY&Vo0XCpg{q0 z>5@vUW;E!SCH-9Ck(*(%7ajogqiP1mG%<6@TDXfaf>Td^369SSo$Bj*5qPq+n6QV>}_@ZKrC~S~N~0@4CW~ljOef=2MH;U52Gj`$4h+ z*!H^RuHK|e)bMM2Uob>BOiOIG8fD=WdAUwEgCy>Dv%PpUkPj`(GaI60x+b~v7PZek zYM9E$HhK)##DVRI9K(=9J4faPz-S;Sf8Ys+VpP-ZDL)bjkozkA1-s=`#JVZ@B(7}q zf?OiZ(xQdv#f1=)FM_O?+&cR9fyt*w=TrK7hA>&cMCKGMa}H(a6ayzvGhZ=sg2Wec zF$w~Kgy|fjbO{%w+vfxl@_)+qNpNg71-LMRAgCU;Hl@%lyrh_2E*0)-oC^`;r?fPER_e!24xT!)xycd1Y6!dEtz#v1e z&QE!TTMheEI7c;;8;zr?ZR&3h2zu8!7S1+z#lCQl;M zj|NID*Api3CP0SK5a*p^SRJmE-G{V>aha;w5s!jf45_Qq5r>KiOi8t-878tJXjFkh zuB;NP84VfCl7O!8$jva`4UYf@(RVSY;GTy2c)*bPhgzXf3_T>F#W0qA-)0a@jPy6G z8sR07qlQZ#jAoNAwr$tTShkmOxhWEur@pRSnJW3#GK&i<%W`awG%P@8NO*P|i(w?2 zyIw)XBAzH%((n|^q`B?X^tw-@)Qhew963ZD7_UD1yx}seb~=yJjKH>6t#JJ&SEg3C z?PI|(xMNu2t#4L@v(GCHy6Gcb51Q?zqgm|vmS>ovY`6xwixzdvJ;S!Bd~&DDa7&!n zjwmqnJG5?OUI7e8f{G`ea42TjY=xrl3D<8>YeSJZxv>qi3K3@9gx9GOdRIFLOsXi1#Wkf<-?Z@29UxkS+e>XeHjWN$Q=Di zCJ6!<`%8A3c4j=xUJtTggxO0S3MqDhJIQP^FKK+k!wWp_(rEWENj*#vnduO0BLLf^ IGlrMH0bLUsX#fBK literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..ad58b4a --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + jawabanlower_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8b0e4d2a5661f670c1714dad265abc6a216ac95e GIT binary patch literal 1185 zcmaJ=ZBG+H5Pr6;TsaO}THeZQQP8$1Rq+jrU?CbcL<~q1;s>&YrC!s!!@E5RKT9J* zB=HCMql~lH(jGzmvbVQ0^UO0d&;0uR<0pU>lyyW9)etjq4P6Y$I{(az4Q|(p8`Zkl zlMG!;rfte)hG;Hd(GX{t2%Jo(xOyx_*>(BxhA$6&xg}k}Egc%7-ROa#q1Qkk5)89- ze#EQXZa7E6-K|;NZ0zniR`Ja?L2tPG!hJ71%4IkqAcm>+|7I$6qaP^^X#)coyhMKM z*ptE{&IHIX*v5J1ns$pPMfYIXz=#SpoRCGsC`0-pb;zJ2gK^cV35HCr4H~Y#l&|Q- zYRW(s)6_gqNHQ~wblgLLf%gr}XqYu{6So+~|Iw+SNenS+oy{Cj>v9q=#vmUoZ9COsBS7z;Fw!#~}$i61uX*IDs2If&@h)bsl z$1sq~UrnOp9`0*cFz^5m3CnS7#kx;ZES5b_xN3$xxV-q}^M=Q;*eX2CGz8mJS?TIa zzCzWmIs1Ykv2NPpt#4IHCcN69mmX^C_F+?RG>T2%mZl{tre~75Y*V>h)lKPB>m7!x z;=pl5iJ{jewbAtgpg-hPK9IsCAHzD{6rSIZO=TuSF6xCm^exAC_ryz6F-l*S^1Mh6|@)g>z^-r|3R`UigaS35LFqiIEcs zBpRGC0!tuCuTKah5`fILKoaN3>=eF1KgHM?COg4u)j^xmM+_F}rm{b!FGHyfGDClg zNt^(N{t}%bsf@OxmxAbL?dXLTg)}?E^;9lZP&B^d_8IPWXf$h>pcYJ0JF;!C|3(0a!y`M+|WdT?THTn_-~Fzwm6GJJsxFxh5(B zL-&ewWU$H*PiIOR5)9L!k#w^g$AQRu9zWh}1c!~F7`&-iEw%p$qKE*WL2q433;lB}cNesf&Fl1mD zBbSmW9{Yi?i8}!@jI?pKJn6Lfl6Mcr42&yR!;NS(++-NK2pv)An81{(*fhgLx(ynw zLM~I%iPfxu6y~Uiz6eOoFy1kb0EX7LF|Xl{fxEcJF#nH=T`Cqs7nRas7)^g{vIsjz zeUMI-FcZiy3|qRTp73oRmY%=@rPd^za@-&ld=e?2+d_43(ZCY242i&PLJ>$hb2WgD zhj^snv4JOeN@aJwYPQy(j%M?|FFe&p9tv+hH+bD=SZ*aBWf_5OPF(KlO{PSdzIOKo zLw`X!;(fy|3vZj3>vYpYrQJDf&K|YnL&FKAElSdtq|Q5(91o=HPBR9 z#URO4b4TAUFtvenKBK?qh?4}2S*KvuIkeqVBu}7Q-!O23(XXUpWCQ|<(`k@{{QUpJMV1GaYBO`-(vyhOkVMivE(m47oPQJpCyq2?7|s#(RwB zWxVaZ5_-RCdoL3O6=Q^*;g*>$nAUun@oznz2LtC6`L#~F9Yjno2 F{ufE17+(MY literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabanlower_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..e78b656 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabanlower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabanlower_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabanlower_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabanlower_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ab75eebec3636a9520597789bc408606a435f450 GIT binary patch literal 1220 zcmaJ>ZBx@g5Pq&jQbMp$pimVEirN;W2=%3w7mF_+oQ^mGonidIT=A$WO;VGK3_nXp zgpnD4fIrG{uZ1=a>X*yj?e4SBJ-e5mzrOzfu!fS32%;K#3|v7k!(g3%;<*NQYPpSS zUF=DQ-et?NIx+N+fDS`4{jN=*)h|-t za%uz@Lxy3#;x+0<(kv_NLhLE>jf?PR|~Kf(1=Om>sie*hS!)DaZO zQq`Z(m!a4JnW3Fx5+i`*U$Vz(R#KhprN9v7(D~sE?t&;xyq&7N*9%SS1c&84GLD#l;974kZGB~(!DghQwR@Wd}w4)^x6 zTjfJhkqq$_+q2~}hW3oL6JH~k`o-50lc(?he3~*~qDx1&i5~Paqz?HpFLTfFk43P% z?{eGOt@v)XXnXrr9&nGL%c=9QX{}`n8&*N_^qUw^Bz;xk*bX5sq7oRykd9#!BN)9R zvvd+l;gUMPPGSd(=Ly(;_FZ6mvLpk+-CREjzF}e<6AZ&HuZq0yRk-|M%LAH)l6x{_ z7|Ik1R)jw{fWRanXJ85`9n&UeFv~E|;s6G%rjDcYGuH{M9hKX>iL`P!F1cH?9fnxm z-xCZyl%sfCcgrH!=4FR=Vq_ZGG?e++ii^Q0`SqY8)@>EsePPj(5=Pd%@O>G|fY;s# zdEoDbJ#l0W+`(NP_ml_s8Rjl;+4he7s>nvUMz*Z;iu8jMhA+*@Gy)^iSKQlkL^xOU z{c63IyRNfo=L&H9q$XN~H)k5vU9R~i8Wef%I3-((Tn8R9SVbzM)J6KK)f6*cH|pl< zHiNn0c_PR=JPbvs;|at3H49p0rsFBYJNgz)B0<9-#WHf4v zKf%7ygdsz{`V6!qpI;l|wHb7fMq!Zn25{Z|+-K**GQ*>^szHeFkj-)lBonZ|4fyqn7V+04OjnUaU z`p|`bBuU8(^$A#5Y>=lYO63+i#oQ%2(mzZYk5Icw-`j8tw`uI4=p||o@Q79h%^qVJ HIgI`TxEB!_ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Lingkaran.java b/online-compiler/java_files/jawabanlower_gmail_com/Lingkaran.java new file mode 100644 index 0000000..08007c9 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawabanlower_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.class b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..467c150399be6b4ecb75b0d158eba74ada0a3ba7 GIT binary patch literal 469 zcmZuuO;5r=5PeH&E0s@?4+Rswfd~5oKs}g{n4pqixOgDj+K>g>lG;MJ`%Aod)`KP< z`~m(OuO@!XR%2q~9_G!?yf-sD`||Ph4B!xT0|_WPl4+>W81iF2=jN1qBlFA}J9fyR zwS_0b0|uqh9Hg*YvuFSy0MslRZ7;mGA;I<$S)>_+xv*%5Px$VdJqL9Q!2 z=QMIHCphQUR3?b+F_aq@-xI}8qj7{cYBdK8nSRLa$qAqR@QuD71-8=>Qk?zmuqQ{w z4vMrcc@m&Op^+`oZHtf*s=JS1cjQn*vN8=QNTGr%`I6d``zEaBwRUp9Ub{j59(w%& rnd=0*{d|?`M651T16e}>?VHwKAgqwLK~eg(cc_fLQIugb*3`ZL!!KZu literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.java b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.java new file mode 100644 index 0000000..7ab6f7b --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package jawabanlower_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..0c333b3709ae38369196b02e1029db912bf461e1 GIT binary patch literal 483 zcmZvYy-or_5Xb*}92}e=hkzhpVPn8T9stzBgv10t;u#tXvYZ>Ta3AD6AoMp~t1$cLJ~3ojT)1N6v&ToWQ>#9$Fpk&o{@f!$L;ZON)M5JL(jlqpuybG3W&Wh>Fv_iEK! xSPw92kI39;?C$eT(b|%(5U*;)U{I?hOsbP3TS5jKlu1H+N1U-7Rjw?l>KD5JWO4ui literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..a27b650 --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package jawabanlower_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.class b/online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..e687bff632f30fb1f1cc7e5a0e5091c9f8d73ae8 GIT binary patch literal 617 zcmZXR=}N;u6ot>UX_LmdMeDw=UBo;H?8M@rO*~P^V;(G_~}x^oNR|58y+I zH`b!n{FpmAIrp1$C+{CGZvggC)R90^g<>FuG{Z=P-*L<3e%(5&HG~r}q<5q*qg{q% zE?-fh^_lD_lzv@<&Y+&%k}>c#7!1mVaBegVk!(9s_>RypLaZaf-RMS#i7^%92C|sw z@mi5|t^F|MohE}81zj}5X6~~5H&rSBOX?a+8BAeX#f*Vj%=MsOlh~bRBs>}*Xwf{` zZmSHebIKl3x8Pn$#{w2rEE!nF3d7jfiTxgi)NR~Bh}{3<201Wqnau_f!))FVT0EAGl|Gx6FJ())?+A0Qr%Er zp;nV-#;z*nfL%?QgLXA-4%_A8Ge%DyFuC=J`5%@^eSn5(qAfrt)&LRnq$N=J1Z{7L Ai2wiq literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.java b/online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.java new file mode 100644 index 0000000..320fe0a --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package jawabanlower_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Order.class b/online-compiler/java_files/jawabanlower_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..9a604b0a7ef0808b41e226aa819dbf0d3519070e GIT binary patch literal 583 zcmZva%T59@6o&tDnSlXB5%7xQ9ZZz1iHam9MiT`S3>z0(u)*S7$T&!R5_fJ~xYmUx zE_?uAz^Bo8I&LJfP1@7;{NFjJ?Z@}qJAfS&3loa)7Xx{V1QQHAPlt#hDf|G+n4zUH+v#~;0bFkf?p4QyfqWYJekxjBNh5Z5k7z1U zeT0@uR-ZAl_JT1*3HX#5=wxf8(y2#~BwhwFy6FTFhp<4W^iRH!p`Ws-5?l7QD?dmL Bc_aV; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/Order.java b/online-compiler/java_files/jawabanlower_gmail_com/Order.java new file mode 100644 index 0000000..3f2db5b --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/Order.java @@ -0,0 +1,15 @@ +package jawabanlower_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/OrderCase.class b/online-compiler/java_files/jawabanlower_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..a9b6e3574cca79a2dc93fcf78905bf2fe8f2ac52 GIT binary patch literal 1239 zcmaJ>TTc@~6#j;`yQM5Gw?c}7Rk^gFR7FuKf>I?m0U?%Pq7OK2C+*Vh?z+1LN$`K@ zvkyG@qz{nr;1BRunD{S@5zn+lTOdv{bLMg`-*?X0{r3ClD}V)LLTH0eg$np+eKpiExW;&U19L#1JfV zx16zxqHdiHqKmAbi&D+tjP!u;W9)M%cl{flP{HpUxb#1vhckw(T+h} zP;pVi5QbYr@4B9-Qar0h;G+$9x|LcZL>}Q1yqfMICvgpzafM-^$}1vcnFa2>&^-cc zx*j*ZI+n-DCNvFB=@3RRs$xvTI1&uKb-1nm83MM9c8bo4gXD&a35NI<-{E;~8rF_* zHcM5m8=D2Inp$;=!pU%#Qs!@DF0!nf;#sYl7tT7*8}fm)O@{u&tF!o$8w{N}j~6N{ z+^*}ZxJfwAQDq3_teR60OS<$L{u_EqlA^3GT9)T}4!2i?SGJ07M8Ql5cX3a}eVM*l zhLL~e(#>tFB2o>Sjf^hwf@e9q4DXxkdZO5H`jneRL%1W$mQ|_Q>9d5IZdwf2cWrTw zdNa>P3#Xf_c;X_%4I`&}A|1pW5zUo#+oq0<7cAGCjWY%u;M0#QX?$*MQ62s zR{S%8Xh0f{N;{fz#AwQ>!{O{c!hML6Q2Q{D{eoEH2$z5ZT$K>p>JY~WoCGRCzD5V~ z&>#?ojtC5N!=?{@4^gB@D*^SG7DdGkm3{`Gg(5|?LBDcL4(PWe?|r1{!>xLRY1}3m UBtUm)rtyGIA==I3Ar=w)1JMm8xBvhE literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabanlower_gmail_com/OrderCase.java b/online-compiler/java_files/jawabanlower_gmail_com/OrderCase.java new file mode 100644 index 0000000..dcd26eb --- /dev/null +++ b/online-compiler/java_files/jawabanlower_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawabanlower_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawabanlower_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawabanlower_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..51f19adc6a1f86b909c6973cb1f9e1da39b9178c GIT binary patch literal 1041 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 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/BookStore.java b/online-compiler/java_files/jawabansinonim_gmail_com/BookStore.java new file mode 100644 index 0000000..42e0c2d --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabansinonim_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..d733d36a645f42f558c1fe68be52e00a9dd0eecc GIT binary patch literal 1097 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_bx>N=3B(lpkXakp$GF1TVb6=`w+(-PvY$is9ae z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*74Xx1W^N80y<(0=_7v3 z%PlSs%C8$o!cq*e6RtSCF^_ub=ozID~RLc1d4yx!)3gVas)!op!aqpdQO5$DNb5 z7y$3Bv-|FdV>hAW9^R zQo%6EddRE8pcRKnD?>v%izEt2VTnd;86&8W^$CsHI>sC1SCN0|Hz3*`xU literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.java b/online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.java new file mode 100644 index 0000000..d72697d --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawabansinonim_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..19f38427f4accef239c3c7db3c7450b7ff6a0fa1 GIT binary patch literal 1185 zcmaKrZBG+H5Xb-9B3F*XLd&BHw2IOer9LYb!D94(BBdf@K|e${scw@ny`4`2|MfguYQkz|-} z^3S}^l_!;>q`lp+xomCkICk;XCc(?9@qup$kE&Tt1jR60`ERY#07j59khU<2u`}|k z2c9o%QcXaHu`cJ0D^*7+We;M)!lX{MoQTK3C5H5A>4?L`6t3uAO*2g8y3pwPOZl2f zs%9-@kfru{!Y4PwWG_4d45P1M&cJmGH!#mI^Uq#|ZDQ!7<|&5p+`D%D@V2P;QZA@Ij~m^?+d%o!7B%Tfa+ehyj{DM4R6bSdDO?kKjw?zG zLoSUPnWun}NKkpt7cRvZ((AN)IO5eaN=~!t1n!P_DYcmN*%4mUQ-dr`R*YU)3@QBr z$V%xkqi-LWermKnq`yaqlLbr^j=%~hFt&~`a0s*T6~l)Z|3WTCK_Ez+R*TX#E=jwO z2@(q-3mr)E1XEjuZ!nK=`4}_3Wc|p2G^LJWi7Z|H34Iw#UC12$X(b5)jQ=HjlBQ&; zo4p)nKka5Okpx|1j2+`@DpyGr7POG>xOt4*Js~O54@}cKL%3OzlkFl`LgXr~F+BSN DT*(uk literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..8116a4c --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabansinonim_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..45e16926bdec4fe73f789fc19c96ea07ec956251 GIT binary patch literal 1228 zcmaJ>*-{fh6g{0_CJe(C5*FElq9j3y`xXQOVbP*Q1yV)%Ky|Q*6O$R71q*%E-?2(d zBqddTfbV{Q&;Enu?W}{_OHcRQd(S=h^u7J{=jSf~W^qr24}JwL8crd=&{g33JXz#M zKDm}Fh#iL^Fs&Q9GsEDI#j^^648s*C-Av9OI3jIX{9w&>_FQM(u>>!vP~dMx8#D#& z8amL)5HIkTJjV@NH%vn>ZRbl|FK+LcrR4oh0#EM?i|56LuqmHrdcYV)SO1$W)rxL} z6!d5aBXXjE^#j`xCE`th43P%TLrXVmTq(K@eH!{@sAhUB3QjZh)Khy5Dh4nl)f#3P zh&4dH3Z&v$l~|2xh+>Qcw1q=vhW@6z2e9IO7UK%eX*iDwhUh=lstLu=LIN5Ly|E`% z29+Bl{dFTxc!9Z%ZzJVLKi&p0NmW$2MGe!5I?qJZ<|QF7>7s@yBpHH^S&d`}$KrqD zskn?Q3a)CnhU+I3&X{hlC>YxIxMhp_DN-x*1gA`3_RXvB%kRRkRouoM1t|^FxJz)R zl}{F2>Vjn2wuL1-fLAt)FI--SbNn~|fCv(~$DY&DX2BC*mn*`>?u4#!BL%T(-NZUFj;Z{6x~i6 z`RANU@K|LJlTlqaU28`y=~AA^?@c}>`wC;!dp?>%A3}0UXcv-=NZ%GPIgYf>(CH@p zv;+DQM_`F#C|gHpJ%pP0fUZOIz9$o-Q3iqdY1Jsao!~m??;L^nDj<_Jkj`TaY$ZNI zJ;GoaBh6s>5J(0c=s}uxGW$Gz85SBK<8+ctf&|d}m*_s~s{TfFrV_o_h@O)V1N|Ff wWt<5kwh~HANG6|fp^Qsm+$iH#lTV1sAYWRC5yS`vX_)G~mMX~0wED2}3zo+pR{#J2 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..f83e595 --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabansinonim_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e0986433aa7364da530038ade499a74cb686e398 GIT binary patch literal 1895 zcmaJ?-Bue_6#foBnJ^4L4JkibAgx#ua1no6E2OqfNGTvKwLmJO;vpQ8NhULN<_s?M z#*4mz7y1;grOTGAb}b*kcksfO@Y3ZzGXVyRy_lJO&e{9hdw+ZHGk^T^;&%YI(a_O` zb`2c{IuT>&ukiz(wYXi$uI|)CSu(_Knzku#F|?;MB@J{H#Y_qXlX>ilpE<26v@&Qyu9=fL83Y4t7F=Sv^nHo;yM8g{l z1IMl-2RcS@Nl`V*Fp@q2ji#T=lyr(}+&~JKi9Jt9I%XI?RgVCYb}T>h^m{4>Vt0ns z2hcHzw1$jQ8?7^T)sA$TAF;xmETp zE=9_AWJ*>=%Hs{8<2}5u;R6HLaQzH@MaSQ<1cP?KEnlqe5ryeuCQLZ!j!+?|5N;Uw z2(uK&ZeUbW7D2ZZW4E7v``5jnli%t17`HUsHgE@da^$#`Y|W?2XY-yXTvd1;2zQ_O z-11J@3VcytnRX>tEEW~FlbAP9#9f9C>LQzxOK(L2Ybj?+31ae|fkiAa3^jON%sY0O z%g3gylH^HlOLFv|v|842e8SKdmNj53WJ|++0}rsu5SLD<%8*P)d1(Qtgg;f;K4O?{ zRX&k#?2|W|IO@emzAep$D4Cu~ z$9bEo%%w?bG9*?`*)E7Z#}zq-9+$?A#AAR95vBZ|6fWs>n;yBX)Va%v<^G6zK9;S)VIzlMP#c5 zG0!b)&6FY+2TjM=vfr?HHRaRInWEANwYZ*=yz1L?DMtOhWZS}>w^W;Z8cc?_U&;Ht zbTrU}kG)=%hCa+4m+3}pqrPuLLS4KhCDips-wrT!!_#|>RyWX25->D%1UB^&+U60u zoffRw z=*0j^Bq{HY>C5oh3CIMkR3vc%7(B;%i2f$SC)S&R_2(znH9C#a-dqw_l9-4$adk0? zca{?~naL*JeU1;4m}}xDYoaju0t=+snOGj_RM9@iN)r!Hqa7nG;1V%7N~w-voG$RU ph|y_W!7NF~8ElbOJHDWI8@|L>^o>&n+w=%jXr+@>MGY24{sq+};!*$r literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..9612884 --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawabansinonim_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawabansinonim_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d190702788630f3da5aef63487a7cfeef625e6fd GIT binary patch literal 1211 zcmaJ=+foxj5IvJ18^Ur6mw<9v5HuGhh*u1P!O{mSC6<9yQ9e);GK5L8v$(s_%4cbb zP*UXw_)(TU2_$QwzRb=}cb`7pefsCG?>_)+A{RvnVFNuTuA!GVBNUf7&S45 z@jpr^G(BI~#GC*b#ydD~U8yeEQglD!CMI>L=>#kWt}~2YrVbdQn8LK~*9^l{q5~T2 zK{i>86012A7Urpip76=cFxhnv0JgkuV$r~oiCehMu<*}*by~&HLrqi+6N&e24y~!t z45X?MVgyNs`LgtCj6t}I26rYhUqE#>%@eGT>PxanWxsIBf?+5xm3Y&zOTyjZr8>RzQlQ z;d%*M(()oz~9wSUQAf7q}OP#~mJ4N3KqNy(! zKEcFiGBI)jfrRNaDSUw72I=()frMHh=?jpdb4=}}z9M>x8)um92J7|L3YflqF6g|@-TbAWj9tGvGJk&mv@(=}zVo~{E8ZiP*h#$zb4t1LDF79qM{49+K zk;EV1k22ob!gdX6HkrLUbMLw5-g{<${`&p{z$S`1Vu)+#FmMB%4E=Tfk>?xSuH|zv@NHRfY+kL(J>gMC!->E#OqKqduh4}7BsB~g z7{c%$CG4JfzOaZn0Wu7SIImr4U$Uj>Zlny1s!+p;oM^boFnE6l@(?H&OPyk{||;kJQ0xXUo}&whoiV(6eI+6*JTIz$ZO1qL_rmnJCDb7A z8<lhMWQL)1=6XIIi&)aIY~TS_Xa{sY#xOI-ncCh*hCY{RMeQrDsFzV9XaD;5<(~kiQB%=^Rt0Su z+7V&sIpBvpXK-^bx3Ya8$}U6Xrf%x)ZHCr#rlcUsFyuSwR&MUd6|=U@k5)Xl=DDk` zEqGOhg4P&1peg9o(1mV>s|WmhzRgWXH!V}IZtYdMZfupUYHoR*z>B)MSK&4{*MvhE zH7f+iFj9PHzI+V5h%4yRkidmgEvz0nuBcMw1julqiSy9b%|^8p-GKoONg1kHA&Y|d z82a9(4jEJo;*#WRh+#0@1PybL&y-ZEYD7Z{mx)40xMXHXp16kq$vZL=8?HZk{d7dd zIIbv|(2z!kVf25AYjVcWX?WZTy|{Fb1W;M)7j(RJ?&OvB=Oynll;t)0?6C84Gqavj&^wfn-|w|1QF2+AsUAQbG%6WU`K z^T*O>NH-6yipT}@28Xu5%T(+U!>?f~8;$|!A~$yo;fxh6tK!wdYz9E#ol}8pM>P>P zHrzMQIgij*17e;V#;Wd$d=xrErYHxoDcaPn6jSdtqb-g*|V`@o*Fv4C7}g zIIlAWB>CZYyVCs>(16Qy7q-wKv>-0;ZCb_U#Yq2cVDbY&&l0^|M=Py>f$T9@_7#+k zW5k|A&Hj#_=ji{9Obk!x*+q_kM&X?V*G0Qu5J-y;aS3a+cp|Io_p-MMc3wrsX{@t7k$ta^lKQvAj4wK z_+*p~%Mq5egn3Xk4N*U+NK=2kNAQAI`Ow%FC%nij(mLGb4#m}E2+A;1_;1u)FNP6U zkkBxK(LWL?HXN6mq@REcqixPxTUag4XKlgBX6(7m{{yt3-|?16>_=nOGeHXRv8(wVC` z6^mF>u&iMPtAv$yRj+x}MLq90-1a+X1e=#1J)`b0thLe&YYJhTbC$b$k||MMFXSO- z7%T{jzwyj6w|9+lolg3wn0v>~iK7O*^DI}Gyd)e!*LjO_G+ZGq3Lh_Y6mIb&Y4aRI zzfChn+e^T3$S8m0a+_?1g>$9OLm@kVOvy|wO3$wFZQ;vGUN_GR{s>`~#w;;tlGxVN9&3?hqDaJn26(b`MBucAB?)`)t zpwlM=i3E`O7G&@Oll$4PP|tAl9Mc_V|Lyw<29UrS?fmFZ>C2F7L+0quR}v$@*gw3- zX>umo-s^$)v$pqgOG1L3<5oN!&-yaH;r=-uc4Rbjn4%n#Bxbq|+X!Hrv_|m!H<+Cp AzyJUM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..9fa652c --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + jawabansinonim_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1f54f16eb752bec142daa1bb5dd980cb0559a798 GIT binary patch literal 1178 zcmaJ=YflqV5IwgAwrsaNTA-jj3Zk|}S$U~g1dEYG(})phLi|8(>!rE1yNmn4^k->A zh$Q|1f0S`{TiP|KU+&J{nK^Uj%-o;9zW)HQg`$cGq6&I6^rDYpsLoHh-r#0U->uX| z)n(}0kfwAu8KT)-SwW0pDhQI6zTI?1(YASW*Kb=OD9vZtdopsxfzEWB8CNq-lgT0)ir-k_cbg+XNb90E0JL&o4XFDVhPI% zRy3?)jbJUirq?~1oL+PsVf!=Vf$`#_#~TjAdb`murx0vww+h#9a%Jl4x%FN!43?xR zUVBDG*!#TFpqn_!cyQ9%GLrtSXS&i5W$8$A7ftGsyV5eLe6rMKxGjz?TND@)HfJ6XC#3LDD8gS&3Q+ef&#sCc=@Uv{-`+)kVK7Te6`=`x_L*FafVz z0J6{q8N9^AVg4)BbKJbZbT`?5<357{q_9qwU;PPv844YcdHVC2#0X&QFWG6@mhn#Z vMv(oqlfBZWkYX2@OJyWIC9s8*e?o~3L3T#jbUcvzvXfR7)3-w)W8_V zFLh8jc0FMdaROu*@8Z07q}3ry*@KucFsV`v+vm}6ogsQr+UL*_$4w>I6hl1O1@%ji zOO ztttVAkYX4v+6`GrShkmNxhX=JXGrXBHE5o;l}QvudRHU#fB9nM4c-=evsK$5S zzyh)iA1L4R-EOp(k4EyLX?fBVCFx3X=PhcV zd(<$Mk8Jc9u89NN5jln-hqjK)3xH8yQ2xLZ4#nuw?I}Ov3s4)Y`~|z|RK&Ved}3F2 zdO@ubW@*&|^y&hLs8>N&MC~1Y`@q!mqw^{KJwuQzU?P1AmOh8JbBciz=;^N*IYI0T zxflh3K!S7*QM!T))9rHt3A8}wJ0Rh6#COu)pr7K#8K!&5>fr-XN*%)zS*rRA`ZDCY zAanGmn1l!*_LuBQ+Ld@Wd%2bUvYWlwp%7(fxD`o8(u&4+WX|xQN2A@t6!kDoa?EtW MR$5@IbO!M14Px# literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..6c72b10 --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + jawabansinonim_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b8387e961f162fa89b7f813e8876315a817abbb6 GIT binary patch literal 1203 zcmaJ=ZBG+H5Pr5ruN=o)3ls#TAZlBbiiikBun_%Vh!_e@h#$zdEOndSUA-4gf0jms zNa7FhM;T|^ay^6kWp8e0=9y<^p8fgj`wswHDCmeFs-efg4cufHs_~CJSLaqWw^y!- zipOwsLt4_?WQe9SB@Ho#=~j@mbK6Z%6dZ>)_k6G6dqvL?+|;2V+KWCI8u|?kV31*< z#y{~gw_Iu2mNbv6CYSZ&if!gz9}@VUb0VA_?urB9QbofK!7oVYbq@_JBF7N(>^2s| zNIG-9f{rCT*05~g307$8wo}d3d|GC%;JU(5Yve8Cd zPHjiz8TuU(9GO=D!=a$UsV5wY88(~2(D#Mw*QvFkP@K{%h3Q4xcPiqQRJ4-UWxc4B zgjrHsgkD|*arH9DiYw{Sw+Bo;K{}t(-zuVH0m-1&F2O#tG zrqx83l%o4EYG6!-8g|H{VVog-o;qaEk-=5ft4W4Tt^*pbzm%`& z#A@0=7Bkd7S9oM*80)%+00ZyqnALE@z)j3CO#QQ0L7Nz2)I5t}B=^3RKbRKvURpIm zizCl4A*uFt+x4>RwsjyqXT* z1;;Ry%U@2S<1X%LSTt}S4+zV4YQ?%wb1ar!S2${lJh(jn=<|llu+%O+%rpesQd;Tq zOTI$YuGeC^7Uqq&K>r0}O_o%7>nC$j307Tf+4lUQ3(Fkc)aD4}IJAoqh2_Dn{vxVqQ@C z!3=3ELc110O6>yOQc7_2je)79qw^vCJwlXjz-ZwFtZ)Wx_XNGi&Gd&zL;{fcHb~+Oncc!S=qH#s#Z)&~tvhH}28h8D-Bk7`^kpb@KxXMr zF^Lnv$X}u}B$e?_^l}jWv=hD9rjTZ*xR%PL3W~;e+&aabE{#?VlhlGKYDcyMwi1A? I(iy?CKd$f>F#rGn literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..3be1efd --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + jawabansinonim_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..af99770521c22b33aef4a2880512559221be2bca GIT binary patch literal 1212 zcmaJ=ZBNrs6n^f8bSs6yc$c@Kh+9$WyW$WWMn9NEh=V1>59DrK=3Ukn+fKvJ(ufdA z`~m(bL zp?6g}GFW4XXLDr@35J=_NV?X>Q6LJQ$B#Cf!C^Bf1)kux4h``n`e112H!y${gH`8W zc!fK@bX-T;do`QO#$MI6t+zV_UJ_N;+24{Lx8?q}@F}X{Mj#pHivNw7PhtpZ4Z{XT zFnS@4(vcqso7fW|!)OO*%acxwK zI^=U@omkBo$Y7qz=!<~V3=>`R2w-S^6AKz{8Cb+^hQ)u@>_WL1dZ?HV!&vr1i$~Z! z>V8 zhE!2H;$73O2ydHL8g$b~#oak<%^x-7ebWh~Ey~iDq%Js=91o=HQ22DQ%Wy*+xSq%} z^m{aOB%T8dMT`muf$+#CDgE|0UnmqdUfT=B{^9lVuMVusH+&lp@&!Fv|AbAYk{D#3}jC~~)BO?$`w4D< zZl4iIECg9Nj>B0q5F6!*GB(!?K_rgMhiW@(Qz9mus1a-Gf? GUj7Azx*7`r literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..250821a --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabansinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabansinonim_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabansinonim_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..69d8ed0ed7dbb20c067f890e2574255d1290885a GIT binary patch literal 1224 zcmaJ>+foxj5IvJ18~7qP7N4ah zLP?b$;73{ZB# z#h%a5yDV+#uQEh4*@}i3!$d1cI{EcOUzA*zA8rJGGw?TkS8z**hG-x9VQ3gIa20We zT%CXBRc?FIc5G?w)+{a?yL*n6f3;2ITe2yhbDwVsj}jVAh>c;Y{NHrNJ`5qDVc5V3 zMlal8^U(8!MZ$@YVYI{Z#+CM&SVH$>%)q#U8cxWg;Tps6dFqfuM+!Goxh5D=nGR{V z1jTGcCsk7hOr)uTp76=dFy0Lh5w@alVOqm&19xzjA^p#ComYyXhe~KOBs1^Y5?Vc@ z4oJI3gfV0p<|2;ei7z$8Bto)l! z;O>c+Qt3%v8uK|dSxD3LMd%?$kWdeWtb`gx`u2dS7fI_w+C4&)EMP2m43;~EwsVZW zBj~xW7(7Dq3%M8tfk>jX8U$B#aXNiWB#{=$%o$1i6seuuH|WQ>euBv^Sp5rtVS;yLxnQ|gGqlA3N>rN9v7(D}RmoCe_T;)=3rHe|vD;9*<1_i5VO7Mq2$h1sg>0X-MDTW6yzJhOI z^oJ6D_yE3&?_m6f-9QPAP3OAbIdi@<-~9f2_6xuoR&=zXT|>-390`WrBYwpi4uyfgbcS%pCELyu#hUay{2_ z_6{6w*?U#b$(1bkpvHafGIZGu9yG1v+2W>IR80K_1{6(SP1u%Ah>NHs1~H^z*uV%z zuLv!l1X4Jp&ufs}!P0pOmX~|$TdpiiUvMYiPm*sK7{>&|u)}Mj;JH;U-&^vKW`X3c z3>b#8#iAMF&n+M@NyzJ%LR!PLff>v)4750aAzoL<(fQfy1m>>FZQejed7O~ksarNf ztl;enh91gMylFTU;qUN@O*=6%jcgjqerUzTpqIUdUlkjc3hutJXh{hpYo2?a45ZKN zuZ2AH_Jf`Taystdu7-QcgZm6~m-lSB$6ih3!dydJHh5Kf{t3gE=47J4kn|;Y_iYi( zl{~N3sOPWiY}&a3+&QU>7U9jAhLx9ZzKMvUz-_y1Ns;fsLk6=%Wt6^1KfRh}`m3mJ zu5L3Jo31PTg3W_K1R9<&%wMyhRc0EVGEDwIl&&ENZRhVJ4k`&Gs9&J<1dWWw z_~K8nZ!}@ZQm;M(?MSM(Lvt0HL5zTao*DmKqyLuql~!TAdaOi(4nii?Ly0g85vDT* zEz=sL6QGkCRbT|#CL)dKW>ZMM=z0%u)!kJA>*L&N!+<{;aV4( zxbOjd0iQA2CvHfc}W^MB`@w(noBZveJYv=BhhL@0(Z42Gc&zv87XSM5@@*%2*| z!Pt;WdRq*^;!@q%+4}6=e^{FlSPU?B)(Ar_f zZ$^xk#sUmZ|_`~q)A%Ilv^`*LrEJL=#uX&TJOQ{?s?MBzoOly;P#o zx0}K}=FKkcgve7dj1*7)gEPcy9&cS7@}BQ+V&QL%eijT?&FQ->u_ras@?);*T9C&y zJ&A4sP$e*EoT1e;&2-}kFTa32lEILpQ6B?AL`gVHwst*5h&qr 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.class b/online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..3968f9c2e2f426e75f9e94ad79d40b69da2bf934 GIT binary patch literal 1241 zcmaJ>TTc@~6#k}{-BOm8TOmb3L@q5TRZ&!mRH+i1fDlVC(FdHCNxO8ryY6mL68s;n%z=>sG@_yhbECjJX!#4|0?7KoF~oVlFK_nmWgzx_V?3Lt}Q7(Vz_1T+MpFm!J7 z9iB3{SxT)IwnfonQ08@0_ZArZiR4BIAqMsFTiX$?8%7xIDl`oph_u+|Jx4c7452c2 z%UNqn)U9(NbdvQmQK}i-k=ETBdeBQT#OoS2T!vU;`80xb@`aN5MQCX#neTOpHVoi` zii;WsG1MA**Y!k|;#oBUA8WYNt<)MJ@(7pU)pR#G8P;$aBMkjjUJ+T#EOPI;?h#ni z^|p9$B5nkEaa-#}n!?=UHD(=Yy z&M}PsE0}KXSQU|K5N+gii5ES~*=2a&T-g)FhSMk9+%kkax@=jMnw>sNsOhG~aDCSn z=cqUHY&3DYxsE3;vfME8x+l^h%oEXkS+{NK+2Nw)dUL~!LCcvY)xqGdD_j*BhOskD z&m*AXA;ZxBRjK0}Y$=6F`U2(ff%*mtty6RwB*{nyClA3s(}v+Ht@0W0Q~zJXH0`D8 z4>~I(-*v0YQ*!~|Y%m@;K-(v}qDqnDk3SFhNDjniCe}z!#sl5a19W{rpMN&Ek4`$P z^|KO~4aS1fa7^0Klp{`4MjeXe_7UktjD*^Y{@fSD6GylN9N>zC=&M5 zC_sZi1UjNH&;^@5`8~vtBCQ0}V_Fmy*H!u*fEJ1r)dm8}F*%?glf3tnrXM%!5oU0U VWQYLWrkTclI)!PsfCpGa{0~%4CyoFB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.java b/online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.java new file mode 100644 index 0000000..46c93f5 --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawabansinonim_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawabansinonim_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..18dd0763ffcb266987651536350746b61500f76f GIT binary patch literal 1043 zcmaJ=Pfrs;6#q@TWy`w!D*~c`q6J&3R6)H|F|i5Jq$o)V9z2lgb^=3pXPVt9hC3g^ zI|t8t(1e2@!0+IP@Jjsmc1r?HiF25l_vZJ0@6WvV{m;oa0MGHnK?-RbmWvDq7)JN` z0WbSp?Uvs(_JwB{2A)bK%^E|xP~6TU%YYo&IxeojWta+hOH{S;xOpqh9^E3tm5CS@ z3$=5$x(TJ)trYuJIWRbb7{REGF_*ZVVYq)aodYw$h2b%qPQ%qZ5uZz;(h*}H@J$V(n`rgf{+uJmVgLDOTnb=Ve{z%SOM+g&~Va7Iz(zF(I{ zRI<3wkYY<&l;hK3a9=4U!m7`sNJKVP7#8|+yexDZj~M3u52Z%$=81V+r=f^fidvJ# zg7z7bX6dBnM`r0O*eAL$QXzQ;(ip@XZk|Dp$kd{@)tp_kp3P*Bk+;@nXO1yiIw2rx zM``x)?@tnjVj)GskIxt`eZke3IF%4D#z^v?CKnE9IFP0Ow#kiy1=5w^Vuc895o#RP sZ)9xDvtKmErx-h>$29IFWO;%E!$iAC@!d=IWjr9AL-Iqc;xVTG0qm*Z_D%XiYpYOe(JxJuwkBd4o8U_V!4H0@3v6KFZkOEc)%2hE zH}r!heDDYOql|MWreSX2q4p-gs z`&M7H4MXBcDrrs_qQz2k4oS>euv55$)D3w3(l^2-lny9pu{I`>y8OYD%G8Y~xLe6m z&U6Y3$S^Fsd?2b?wYm8yO^;T-;mY_FTRbaG!pC(`tW@2KjVy8&?xnDZC5GG#eunrk z%obAICMY$tU`Sh7W!UQTFTBN-FO^o(J@2|)I_GWemK$;?UUS14VpZJ{3=1`>#Jj+4 z39rFh4tZh(Rt!tUPqUIR*mWIvZE-3?@cci*gRo%g*ek7#Z#+JHD@;#!{DlOzZ9Kq^ zh25|<4;gl@FF~pcJrLzd4<_9@^4th) zTn@zy`1C<1V^NvDp(~0icbvL3qLM_BA=}hW;EFcp%AS|~GY{2xklJn06uutGB*J`tJ+ntGD=$yz7P zNXPenf_XEG5Kt=_i=!ySp5synf2uW literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansinonim_gmail_com/TipeData.java b/online-compiler/java_files/jawabansinonim_gmail_com/TipeData.java new file mode 100644 index 0000000..b6c7cdb --- /dev/null +++ b/online-compiler/java_files/jawabansinonim_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawabansinonim_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Angka.class b/online-compiler/java_files/jawabansteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..79e86739071ece5d07ea16326365b4ee7d800ed8 GIT binary patch literal 492 zcmZvY%}&BV6ot?5S12HVfL=sRGi-Fq9Yko*OQgwsA9C2rFdB3>@i% zrwqw%Z<0e6ISqONc@+N1&Bt{pJW}})nd+k$qP8{poenj{-{! z9c9*I`iY8-4(jx$Y9&CSk)gUnrxxvu_Vn=^*fTW@yHwRRkVFo9*r#4eFUYD8)$(}I qEDxWMe}PslzM`ajiP%>~iuyD;HS%UrfsQ6ki1&qxdg>t7wtfK9eP`(a literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Angka.java b/online-compiler/java_files/jawabansteeming_gmail_com/Angka.java new file mode 100644 index 0000000..a29bea7 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package jawabansteeming_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Average.class b/online-compiler/java_files/jawabansteeming_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..620b065fccb460446c4297f153aa4478f6654814 GIT binary patch literal 741 zcmZuuO=}ZT6g@99?@jYj)6z_>nyU44(rBYy1f-%7gHTAV&a{ybp}fQ)Ow7!bbP^F< z6bXn+{RwVd>q0@abnOrDC-@tri1p4h8=$W2XanlRD=oW)!73u~i7!u8@sMz~701%Z8)d_4?6cUyC?if7U zAA^SKq93@48fOfg z&0qoN7-o*pF!1g827_)@W7`)P7P|78Y{`HYxV{&3wmQD_dRy(#FWnisec5qIeK&kU zEnD*f_x`|dx%~~<>ct174H#yv=08j76OkX9vr?!tOgfQlKV6gCN^hV@zK)O@xJucY z%_>962?zbQd(VrLla-A0jorXTmm-L@19(w3qYib82osoz>_5NU&8K#e6B;{%ztlXmIuY}1{^@aBU* z!uThMKB(crAK;HN-fc@Lp}X0=b7${8_nbR-|NcAq1K>FdVT@qZfEGajI>W>PKje9f z%SQf9^+41VgZ|8vrdnkf&F1#>wGWg>SD5ZG1Ca>EafxB}fPdmuE?p&rZOX=e!{(;7 zUvupII+rbmv8Jg!*;uEC6K1wt-pZBr7b{;r`)K-F(lyGzt`@^3q)R29_`+%8@wgewtT#WjX$o3}*Cku|Q~o2p4GS8=IahD3I&oa^Ox zg;FvxE`~9SIRohk=5d{2YDfWwK-(`z^|KcNa(fI~$*Bv5=(Z`vYtOEV&MvQ7v@>2& zyw=*`?Y^&3f27al<8YvG#ql~dv0?hjA-{(!J|Sw!y5lHUb$EM6sHRhQqdIPdaT_ZJ z^1k*v3=3zcXv#yUCGtIuy>@KynsPcv3||LD^aFdKn_Si{;Vx`DPRnZ-FH#)XIhVM5 z)D}a+2SxVgsyKK8eTWjbtcs~bF^GFKQm;JQ;?1;2!OdnTmugo7BA=?Cda_z?!cZ7`Z)o84f_8Dt^LqPHjAJ@JikU7p|V=$anA&^N1Y6T-{WaFAv|BcWw1&wrJ z5>$z>yY&nLn;?J$F>U sXC!;*QD}s#V-jPSqT!Dda<Tn%?P!l%|jrS{EdENhy~|g`yUaTooaZs!g(L-1rjNo1**x z-@s$JNIb&>NPXY~_yRtIFQ^zN5u|E_CGXD8o^xhqclPJm=??(+a7#xFii)^_AtV?w zNBo$Z4)+etXO$ySl?;gu+q2~+gHkB&D^ODR6|lD_3S!&8lNg4fB4uC%>2qwW9ZKO6 z$#0Ry#7;-o_RZ&k?MX`pg1e%_v$VaZ#YSuVR*A>4?AK6;9EFa7p;!(B-ysQ1xB& zq3<^==?8)#UiND=rFU#kJZ-rZ5$y4b6KxRMW0)+w8We#cWl3Ib?DA$0uUmdAsERE+ zB9Huyuok6H=SL11%78a_g{=FvFrC1%j;pw)q7WTaks<%@hHUTHZwRw{BHgpw;#JDH z&G4?jr;OQ|iC3o*24mavL{N5k7>ZEE8pHC1$_EvsVx3{(|4?e` zZuMBiC3*nS7X$SR5;V@yYMy3B^U%t7urFjVa-p*gC`e)fmwV7(M2*v)9pA{Rca_cA z_z70$vf2kEGy3LdJRFf-$17duEzBXi*#FrpeAV1h_rq0gTp z1AN1HluoRZ&J${hD5)4!%3Y&The1y=OXDpzV;p}1(7N+o$ wP_L=pI;rJIDTTxtrWs?S!}_R3buM;7UBME~8r7Spe+4&arIWP^6E`vQ2iNlnT>t<8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/BookStore.java b/online-compiler/java_files/jawabansteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..d1e51d5 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabansteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..ba95fbb334f5b1ff5790785bc1a6d1561e2572e1 GIT binary patch literal 1098 zcmaJ=-A)rh6#k~&?UuE)rBD!|P^D;#N=3B(lpkXakp$GF1TVb6=`w+(`_t@BG2HtQ zUU}sU=!GU+_yE3!?;)PuC0NqNon+>mv)}p7&&>Jt=kzClbv)J)LtKNBf{Fw~_J|+z zs>Pjy>g(2#FeF1_#dJ)$#t<)8c88F}kOn=4D@a{}H&1*iY(lwRa>{RoM5bGP6aRou|#`pB8l;S&V4Nr7(&yhS34O3~DD}BIZP9QYgUh$3JS54N+>t)RczJWP((j%F!?nP9Dxe>P&`@BQJK`UB zixZm=Hig|gu(@gN8LnNusD?plxch=3vt>HsRo89_Z-=)mvM7Xhf*juUXHeN?7;Z{# zw6}RD#A_%~Ck8+n^rqYO46$Jbtm%u;i$UAyPM*82^rgo;+d>|?`+g>YijD=`)^H~% z@-9Q^-!+@gvD+5asF6|AHn<^O?}Xt~Z>!IN5$Q|r>|4SwZMkl{+o|^#)ML5ixO37G z1K_=NMh~yvdr#*S4Q^RYQwn-WRq7`zvSJcT3^9_B+H@S@H7xG?!q@PCVZN`*LCI^V zG0glQN>dP3itCuBi3z?KJsO%B+Gj{B(8=gj7k+?!C4pg<_TV=V#}JC-8bLpko*?V9 zY+@z8s;ntBt}q-vOB^pPcw`H=Z0 aZqb>h7-hjOGYQ!M literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.java b/online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.java new file mode 100644 index 0000000..afdbfbc --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawabansteeming_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1f163f239be1a1e191e416a52e1929e4beaa541f GIT binary patch literal 1187 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 Y=?BJW94Fia-DopJJ_(SUG{*4sH;@(_y#N3J literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..c3a2b48 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabansteeming_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c4948f7b21a8103f60522f1122791f9040d04dab GIT binary patch literal 2005 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI9m^h?Tp8Wt*Ff0n5fVAcv5I3}S#qt6gO;q?9}+ z{)YG~Qk7I}RCZN9Ab*kP}tJ&%9)7@uI&;If6%ijUapr)b??Fu?H zbRxpgcgT-;&fw;LZguBSlwF3%P2JSp+YIgLOi4kMVZ?XRt=xRw6?3-D>#Lqy^V~Jp z7QCuLL3<2c&=hoQ=s_>T)FJ&AB3s^(TU2)#&q6>f8LT{x6d zvqE?bW5qWn%*W7=xPk!<30yeU!&;p(R;hFXWVq16d1&iqvs{Yq!jOif4ArcVMZsGP z1Futu3@V0kNfI`~Fr03IhDpe0N-9+~rXhvP#GxZxGBYGk+(Urm9hr@dHXi-;bWFtr zt}2++kVb~#?f+-4MH)l5;c+MQ-kB~eX9|(oAM#HL_3tR&Ww==8M%gpCD^k)sWm;~^ zJrF5}SA~ik-c#_th7a)JDFzFcw_^wf<%k=eSluHQ(}hgXvoDjtAuka=*6<0gGj#3x zK_waC%cc;S`SH6y@BWV0#nv$OlkKzGCZ=e95*??6A4>df(V}__} z1(_HU>2m-iG3%0*4TkBaNWwjbQU-&WKf9ADQI8AOE|K0#Oo#_wbw}9i+&{oBlHf)y z7*Ue#W6yN;swnA>PUbn2)WBVx`ecX~PflfC>{+(RlfrD8Oj^DM=npx~?YY7xpDsPD z!M>1(9BXn=*DTL2i$z^3YUu3bUz5W|s+hMd*KuuLyD!`WYuD+GpsZpSLcyLqp?!vN ze=dE7bo0onh+IH#aA=FXOvTn2o`tDwItHLi+}t&UGhVc;idPG>832WMP6e*lYa(oH zx^JCx9-*x!!~!>rHQg2YD0GHQQ4V5Dw5eMurrv8x`Sdo;#jOcbnZUxd5}!&c$-{o$Bw=LJ?9 zSUYJa>!-Se7)FSVQF^8@Nt93F3Jv}^-DMLf;wrT`*(&%eDy|*d^lZb|;PfA*c6aD^ PfJ1syX;ncL7KZ-=gkJ+} literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..4ea88b8 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = jawabansteeming_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = jawabansteeming_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + jawabansteeming_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..48523ae739dea4e3b061c8fbb1b4e0e114b493b0 GIT binary patch literal 1204 zcmaJ=YflqV5IwgAwk*r5<*5{kqP9g@d8t?gi;+arh_TRw_<`J(OS84R7x#hb&(eqx zN&Er+DC6w5w5y0;?#|wsIdkUB+@HU`{{XOwyov~-3c56OqlaOr#!t9j=T=qUDc3~B zW$0NqEW_Pkh^8|o1u=$X5M)SwtKo{gZS%&C=N@}*(X|CPRVaw|q7RyaehmW{WLT>4 zPrS@6#}&dftm;A4%}nQ z3KAMdF#1O)#RknCOIu0E6h;m{V{^!(H5C$XqYmUy3nwk)jsESo(dF zN-#s32&qlLF=R-RS5B%R<#EcAZpz`Nh+&?gdvR%bW!0bB0}Tt%8Dg$%CNhkqGgskM zEMiH)vW69`60EeVdd;IT>UqZzwm&)^7%xA1yzVfpwfYTn3c)rvEqC=MQ=-0J$V0&} zSTHQ{#xu*p-sR;w-Sm-~d&kY4qY1q8EY~na$#4vE=Pl}yyN0x=e7w+MxFwFHEpiO~ zHZ2*MmjJ_|p!|_5Y>F8+oGUsHh2s1@r7*Q9J-Z^d4WCx>x`kfwcL=kzXAydO5ybtc zK~~&fI{J2jW`Q0$AJN}qM9Biivu9x03n=?%=sks+{eq!WjD02-qaYASlunJ(`w4D< zZl4fHBmkLjfecKSgHW4e>)fj9yXBgw zcnm!ohGlr04AD%sq#(vH83Y-&zTNOd!EtzF*Y{3*Z_jfCH&rNz_96~VL7#?x3@|Lz z_-9_`mg@;&8dmkFYI37~RIyF{^#P$5{mRG2j&UmXg-azhJA}tDUHossd@qKOP>|Fx zjFD?S>@}#ONz@6DVWf@o)-kLWUCNFlrD05_YIew@;1)yjs&vSqVjL4vut|pTOdB*T zLOxqkiPf}*G-gOcS9s)R80&G-jwpI*Xq@u+znt9(O5zLLI zKnfFN3|SK6m76Zw_DR~Zy|l|s5yLz~_tNsp>YAL?0}YGN8DgH@Ok^0&WN*T$Si-V` z6%DIcBUsz1>NTH6rx#pTIC5w_FkXK0dEI4LZ*>~x6oPGTSN`TrwnTlsus;ZffudoF zH@;aG&OR^K=_XD(9-K7yjI@8}Tb^NxlHnTUE?Cqf_YB*j@`+-H;kG!o9g%0~b7;ND zyaE^s1r?4x;ZRK6a6<|Yh9cx{Qh>T=`%Xpd7?M!x=K3zmjlm3URfL{c1PS>B$V$i+ zqi+{TfArA#i2fcUN*0jHorC2rp&Xv0_Y7+8D+bRn`h{GKfjg3VpxW^$`DRx$_gS3Q+|+P>+2_;C^!y3*=~8wmRIx~!A%tk!UGtDreH|JFro|# zb$-k%+;Tl3Ov9?}*Gz6S_N%t3zuh79EphB_2ysvnE>+a*035^2=6~zu2QZ45g1Ck; zjQ`O>@q`MR#GC*b#=AK09K-6crR+gWXqc3#njP>cxXuv2EFEyDNaCi{YlGc*(R4=%$aO5z#Z@m84;tiK!xuZak zYyh^sbor|{nKCu}%03Vb(M`h=TP?F9oD#1z=w^`g-D$Shk7n||WqF1v%7$x@yI@iK z+@pr6d~CDFa9teQj>t0%Ika|UUIL5;f(nP8a41GK+@A6yfdIL((qFV&PE~9el278w zQZLFq!Yu7th~8ZYG5IdYipj;JZy%U^fOI~gzo!V31x#emz_J%mcF!7$6PEO%SsyGkUPiy9*uSnQ`EyW$uZLf MTlK-#=nUcIZ)w&VsQ>@~ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..c93f447 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + jawabansteeming_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..828f812c590fd79aae6891f55af6aff09776fd6b GIT binary patch literal 1205 zcmaJ=T~8BH5Iwg=wk!*U7AOcv5!ALID*5Ff~GxzugCyLCS_{aG3j zB8fl1A7z}|mhBqUm%FofX3m^BGxz7O?>_)+qo5*!sDd61x6sQlRO27HUguU--!Ioh z#bfB*G%Um0Vu)t4B?U2t=~j?o>pM+P6dZ>)_kFM7dqvL?+*F|;+J}B<3I;R`BF?Z_ zzM|NyRqx*GGiD@03X&Q| zF#1Oi#U@oWi8=u?j0QMw9mDF-rR;vBG>pqs%?^1K+-68#mkv2pOkhe1Hq9`R2|&Xl zh^49%@*E&JgqLHWtH3 zCVR7jie)@ju%h7!R!Mf-sp>VKrl}WPS2%Kxyk)%n;Pbl6u-<7tOfv-AUby_tn{0_% z-L+2zLwwJ$#2eo%3+IrR>vYpk(jGP1t4HHF@GZ|UMaggtau+P>n0tn8QTfDPm*I{$ zvmKFV7;tFg$h-y^4h0p?JmFBxu-ObmKM<~8r`Co-adK%XOfA~JQxUHWNh@`8ub1R1 zVV2e{LT@jEgnS!hCFJhWw+BoHK31QKb1EObEPSC}}?eT8~~$xGbnCd=n984Mzcb+Tmj4f-CYO!9ecLR)-XZi&=Ri2`giGlRJA}nBz46~uZ z#A@0=7Bi%uD?BnYjCI{ZfPwdQ%xbt{;3jTS$^RBB(1{^N>RAjUx%VvsLBB|SQkLN2 z$TLhxDt_H|z3jSe9Y{~wR@Sn;tjkRi#~dm3Qr13XE4<;0>?`t}QGL5(U>-$=xM#QE z7>08B%Sm+H!+i}41|HxcVcAZtSof)s#j@)PN41d$m**dS-f$Tf+qH+8hG1K>R=WI> zuTZt?_JLqXY)DJI@y#kt3a>WkrH_=|IciNEbz{r7JZXxGbS0U~7M06Y-IPAH(Pg+M z4sA!282TL=IJ%w#42GP_hn{fA$1s~)!u1qIZKDWuscuBCFRf}-&qw@-1mOQTi8BuOwua%4MT%K_L5 Ioe`}50qwFE@c;k- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..8cd00f5 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + jawabansteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..68680044c8fc70da306fee342c321b75e26bf10e GIT binary patch literal 1214 zcmaJ>>rN9<5dKb!Y`ZMCa+h0Cly*^ycd-Z*qd!a|#6lC|4{}-#^)%gG+>3_C(ufdA zd;lNHIA>ehC7?+=J9}p4n{O^>fB*UU3&1)GI%0@x=rV8v-3$YD{+Z_*+^*%eDs@ry z8M;@cE&VlycqUuckYJb&ourf7JoZJwb@}mD;2#Bk$#(^}bZCet(E~$6uYo@FGc4En z7hd7E=L=y;yS87mxNPiK9V_>Cm(WY1>evU{(&d&s*byG3HJk`0!))=tN%KhzBBf!- zz%WKG)loX8tQOHHK!%Yv&bBM<7G;X=!I*(@6>2yUi-wyFLl>zd1|1WaQcas?n8>t2 zqm9UC%Q~@|HIT*}_0bbPnHk1A?h(My`!?n^+%a$$3k(bYZrY`OF?3NkZHCdzhbED5 zel!j0G{Gj2Wf(SfQ~kn!QKgu!!+uXbS)st+QDt+Y~ z2!{Tmw8gu?st9+7R~mHEL*3myYHlD+I#MqH1|v>|LtnV$layX-L#fJ$UF|EG^^y~~Rq;kDI+NG0^^)2o%+a>R==#Nw zQrCmDlv+J{c7dsTNb)JYJwu!{V9Y!PGtZ&zog#Sx-Ta1u6O4W(6C)=ONSvfW;k^Xc zN2kvTBo=}!wm|yNF|lWUhklC5Gt6{?)fYf9=)(|JNK@Hg(32tG2AQWf#Uw!hqt`@_ z(Y}ngqgTV|m+j~kqM&k&uru6BWr`_tQ4#rpduLeg5J?e#V2b24!OhS`PPZY~LdbQJ HF>L$=)%qIC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..eae8a1f --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabansteeming_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..692e6c5c26d45783dfbb094dc5f1c7234a551527 GIT binary patch literal 1226 zcmaJ>+foxj5IvJ18F(2KPWSB3U*CTKSVu`m1W^q=2Ckr&VX)3W@_d6kwftta zF7_ou?~3JEa*ZLH&QvtS7$#almYd%=lA`2!{Ae?f%|LERPjFj@hG-x9VQ3gIa20We zT%CX7Rqpsw2-|XMdo`O|jlF%>&cECt^lhsto^i>yg-;a?Hw4EpRsL_iVjqT(&@gOZ z1fzdkVe5zr+Qggy8AdxeuRY5-XG_`r7&9=gQVloc(Qu7n_@Z>kp(BMGO0NlqRJsEi z)}WZF=)`KufQf06&=->24CCGK5MV3%CT2CwUE-)+WVC_qiI@^86; zw=Z5;icj*=oX@M#!ZeLvgq~sq3H4OSN~l?+Zx5Jyle9jd-9tpl0>-i@VA(ThyC>*7 zhMxU`!DA#plZ#Oh2qa3YLFo!EPN$CuB+>%OorA>BklM|Dg?@tTrfka literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..d6a5f2d --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabansteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabansteeming_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..26684d70cec7da40cf25dd9c10c561eb92ce808a GIT binary patch literal 1195 zcmaJ=>rN9v6#fR-9QPAP3LlE&v(xEojLRS@7XT^Ygp0IhIS1x192o6dXM-q&)M8P z$Zc1SL{%~*RxH<&&luXX=5Au0VCt7xPfnh``}1i^hk-5)-3EHl%P@PyKk^E911W@K zxd(d(4!7*Rs^{cNWY)OPU4|~Z!Gk6{o-J;gMHQ;wz<`R=R};2n6XL=vi9rl$7&b71 z(JM^LCzQ=0f?k984wlX}SYGa}Z@IE8eZif4KXJZcU>p++!w#>Bg6CGbd~eA^+69uk zGGG|W7K>(xKd%9Si9%k-6w(@|4a{JcVW33npdCr|cxbO&Gl&ro&@EgC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.java b/online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.java new file mode 100644 index 0000000..4a3870d --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawabansteeming_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.class b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..fb062d73ff6a4b5b864288ccd71f45de14f20361 GIT binary patch literal 472 zcmZuuOHaZ;5dOA6E0sqPc_?@=UciI=08kGmBqsPsFkC#4ZQYOs+LGF0xcf`Ic-Dg^ z9{d6R8?PolW~(tVaS!v&&V1j@?Ci_O(=&j5)JokyF*bf82-L{Dw@&>F7 z3Rqz%{=;EN&6I*6**I(t46HJ2jrkR~xkn9zE4|Th5mjn82MpPM$eqa%pZ)O7z8?jS=t?Ed{dU+< z(_#}v+L$^TXjbTCOLW^HWQ3{hN3c6`s3BRE1`mBtR>t%@+tOR literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.java b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.java new file mode 100644 index 0000000..3970a84 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package jawabansteeming_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..24c768b83307154ffbf05b35866a30723d85afa2 GIT binary patch literal 486 zcmZvY%}&BV6ot>UltL{60*ZhOchrSE0H_NS5)=H1HEdjvX_=4#+7c`n_CARl*SgTe zg%9A{_yGRgK{py_aqpd(^PPKVUO%2+034uZL4$50VZ%U@Avff6-Wc<6&^Yym!jBn} zEg8yqpFyuX-8522o3L!G!2Tt77gwFeK_nPS-?{!5Q*v?(vWsh(Lye-XP#|-1DQL(V6+9MO)5=EBq+z6LlE% z1w*zYLvb<-JTblC-k44j#Dom%^~>+kmT#oF$gk;i88U9n{n0U>{OBz=noWJtmI^NZ z>9eaQ$2JP|dunN*xsjw;qTLo{M%mbT0=uVz+EP^4fQ~daP^MZ*&(-%+F6WZ1#9pm> yi`)au+9NVI8oT>^Q?$0EE5s`g9VWF(!6KhL#SLVzNjE8I?=Tq4lXGQBRlfkLS7oRG literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..e93abfb --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package jawabansteeming_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.class b/online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..1ce6d9680a792bed2f83810ed2ec5ce1a41ce2fd GIT binary patch literal 620 zcmZWm*-FDe6g|_XO&a4C_g$-YQ86D-QA7}txyrC-;eGpJ`RA_l$&gF(3vPD8^G!L}oX?+6Veq;({?8#Q#87*jEBU;>jp zy-p-uYd;M6U7JCRg03_}zHn9k>#9`z1$Bv~45l%oV%ESM=6j-FN$k6JBs>ZbbSTe6 zw^at#IeCw$TX3(WV-ZU#mJO^R%P{sev7f_`YQ-HSQTRVT-pv|Aw#jdKmHRYNc(j`9 zy2qt^?F626DsJ0{LeywG2SH6R440)ZPCH&zgcrQ(5~2{A`Cg@e89xb-Rix=$r?&;FjB0A*3GALO3^_XE&jccaJPLG=smD-|q?%J- zp;nS+#;z#lfL%$MgLWlt4%_9;XN;aaU~20T3qM*W^#K}YNNo{1X$_EKk+1|dJ^{SA BioXB= literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.java b/online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.java new file mode 100644 index 0000000..cbe54f2 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package jawabansteeming_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/Order.class b/online-compiler/java_files/jawabansteeming_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..6286acc578536f9eaaf87a408b260209c1cad229 GIT binary patch literal 586 zcmZva$w~u35QhKGGLwv1G@EM{*F-^c6{1lPL_rfFl8XoJ#3pvk%!F~G_$1!Ec<`(T z1rI)eFW}QetR624c0*51b^Tveb@#{D+dF_QlnnUb*Aa*y2#sO1%ddI4$E{Ae-s+0B z%b;yYOS)ACe`&d?ZC8i=hfiZO1cL$E_Bvr`gb*X~p6px{n!GmVXxsVI>>puFh=uNG;Sj~r>a4c8IetQeTUq>iZwrZK~i{3nJX z*jEZdlztdqKLn6gr?TACkz>er`3-Mzi!ut6{HGn0%id|*Hp_MATsRDY9s69U@}(te z1G6QZW8UhKCqR)FL#A}{ADtoEaC!UkkoUcK9gBaP^vYl`8uq|xi(RRZhL>|qHG^4X z=}y$}fm(q^Yo7kH^ra(5aOD;3i42AUt!f+aBTT|MvQ_9A0yKd_3i@6mTq~w9a(9n# zB3gTdmWbD$F}C`GaYgZYlpJ)jHB#v`Lx>YEjS)KRC=p|rr(Jp~L!{}kEU3bkJZ 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.class b/online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..98685666d4c117bc4290c8e86f1fb431a5e67730 GIT binary patch literal 1242 zcmaJ>-A)rh6#j;`yQM5G6bdN{qWra>R7FuKf>I?m0U?%Pq8B)AC+*Vh?z+20N$@@N z+6ykc(hEqq@Bw@Z6W_uZ@k~p!1>z(#XU^>T`Mz^z_S^5HuK*U2384)>6@Co?C=6ZO ze21qDZkAGO`E60~7?gS4)V&1;Un02~M36y!{ML4a>xK|QhYC$YC&DehInU9}5<{@e z-Ezh%in@0;h%WMeCQ3DfJJLIGCtoOwzX&Z2W$}Amq8$Uc zpyHy2K@7E~-gP}urF>S6z{eWlbSt$^h&;k2cr_iRAj29i;|fE6l~+W@G7H>$u6qR5 zbUki*bu5pPO=udN(jkmuOvSi{2_zVL>Tp}*GX!jz?G&Ap0Le`ilMEx<{0+}@$|gjW zinUd$a^2V}Sk=^;Qxr~yyHquQqj-@O-4su2)x2;vc;1j7$l7G+OT0V_F}camne%v| zvdZncy^0$I^&C@%P|m731+lElsNuhAPu__|fVA?3^GB0?Rv&-sNsOhA|abwpO z=a@J1Y~12>b0beeWVm7EbWfy%m?xsSvTobdhv97^Ow(SP z{vcf;`7WxiOwIY*W&?5m0op&&5p{|JfBbp4M{*!GGqFx`GVYH?4$%DpeZJYiKDtO( z>$>8f4a5S{aZLKrlp{`4W*rJ=_Yv+zjD*^Y{_GdT6GylN9AHF3Y^y^YCvXy|1o;Xb z$U}ob7&;;_&<&g3{2pRRkyQffF)fOU>ni;ZKnrDxXaj!bm;%tBNuK-2(ubS%3^TYz VGDv`K(@f(&X(8Gz-~pBp{{!+?C++|M literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.java b/online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..470bc17 --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawabansteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..cfbfb91eb7a35e908eda236e135d9a809a9bee97 GIT binary patch literal 1044 zcmaJ=%}x_h6#h;-Wy(1G6#-FD(E=@1s-SMFnAn79Qk0|w7cR){^ah5`%xz|FG3z5?5JvaK zfhc<-*e$`O-z2A;ZstJetWLUB8bECD&TwQO90O_=gUOIB6j2>sU8dwh$u2y{eP zDAdl`>N<3T-Ab`vl>@;V#0W-BjM>aR-V;XsFw)Xz@2bPWOmyvCRo-Mi&8$-R6$=xX zG%;o48m0;3iQ8TbA=8d6nBuaqwoTk1EbfcV%G5cVo(2kMHF;IW~Hsl#X;L+8a{usb(}XfJF-h6iqC}UsEFF&&%%y2dX8@-CyYb z*1B-C3J(b%E*9hr*d=`_f~F^Xv8sdziDm<_5 zYFWwRJ|RU*S(M|`BG|8jK!#OMM3Ib4tPtk=a=a{b6ORZt{}1I(@8*d)T<58XSBiU+ z=YsbcmS*|n?nh?nE9etnh*e0Qfiwnj6SvNwM{H{F+iK3N8P8_2$H*INvopsSEuAnB zwWBnB{QHxIp;$<<@Z&RvOJ8s`CQc>93o(-Yr`d%Co(^QW!A*8!VV-p**jQnL+l(5A s@f#TvbM%Yn_!MKO{Fuhwge=c+V3=taIKF$yzKjQ~vsiwJRXoP@KT+`pu>b%7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.java b/online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..879fd8a --- /dev/null +++ b/online-compiler/java_files/jawabansteeming_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package jawabansteeming_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/jawabansteeming_gmail_com/TipeData.class b/online-compiler/java_files/jawabansteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..60e70e31cbb8fa0f2413abd780cb4ebd605e4205 GIT binary patch literal 989 zcmaJ=ZEq4m5Pp`oYflPD?VCVLkt$Ry`lX4|)QxC3RD~f;+V| zwh6@XX%5gr5;Q_Ef{r9JKP;aj2ms^=wRD42MF zqJh1jHxC(#vsjh;kFv&kMpdOU&21aX2a)RekfeW zA8;;b`wa0jDTQ0Nx#tPbz!QeOTb)>RKm%2V?f*k*kf+_iE;ecCgC|4-L1RzyK3O@^ zjC6GWC)hVyFl0yu+dvr0$W9;uR3but;6=(jO2v*-#z`jI&-D)@QPP=Q|8thU{$cbx zjJ3!ZE5Hxj4UFg*8xv#3U!Y$K^aUAWFiEZ;Mehy`dT3_>Aob+?U#2xYQe!p3B`q??G~ zMUjGdsgK}|*LtBKT6*mR_y|6O6tR9g=0@mVeCN!WGxMEq_WPeN`vC6ZMhXdN2J{R# z1j9r}4rQq;gLY}H)$!bjLEQEOKf1%9S%tcRF@{95Dk}B?T>yy6xIxpEIsV|LF7bzPxh8lIE!-z z&S!7|a|~0*co_J0e1bu@s&VW~409d%OtxeY$zY4nm7DFJ^t+pG*el%|dVSgU$bLWE zBFNVKz*`;kT3&x$wz}~Kc>{)NtNAaJdLs(t2koUoonhRGr2BM5ZY#fmA_Y6fYT!Bz z*KAf9QcgJNyWRsozCJTbun-SJb6uqW5`PKMC=gUH(`uHG5%T%ZU>}GuT%j6o0~(UJ z3X6Db{e>|Ygm1++7!6H)rIJI^Zs<9r?FP?b+;$rJNY5&LQt4Bq^O0^UolcQIZ9BCS z%UW62%G~6|{dXv6Wnqe<$roucZNuPmqF-G)TrT*7igFqVu18OY67$3;?x@nJI@0#8ohBqJl z5XLV-^g#^|egHp|akgzj35|Q%ot?dz-~48F_Rrtb-vFMY5XJ~b4QLSrpfgMy@*|$N zxl_--t{w_gGU(4N$C9fIquJcPzV@E{XoTq-GZ2Yj9G4j84*5r3<&NY|jikvB>Md^B z2d3M~Z*Zr{FxIf7@6zd}ql9?L1;9J%&VfyPWI! zcQYkt%c&Q`n8lodbOiIb&M-A307Iay!cqL}MS$EsgI02Df+4zNIpUSys*27YuiA7n zUXk2v?(%kD*Qh>@;__iQP`Kjy9aC&t$~mNJxS|MANj6+pda}dYyFxbHnith^D~#J% zF_2fe-(grdyGF}7a+@OG%duCEO>RoJbIkB%Fp0il4|I#}(H7pqj_Wr4cJU&`fs=EN zd&g}t#C$NxUSkypZ=erR;tR2hRC+# zh)&7oo+ms54;dCOr2xO80vtT5RY+Tc7zYsbhqmeF5f+7)i zH=aRY69kYTCW~}RJPcAZSnA`yfI$&}xfr5b!POWh3)*)~rIwOficn861N=bhjARcz n3XO1eOkxaE)ckQm&UP8(uuL*Y@Hc7R#eLGkw0nR@c!HUKTYUeX literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/Bank.java b/online-compiler/java_files/jawabantandabaca_gmail_com/Bank.java new file mode 100644 index 0000000..a6ebb3d --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawabantandabaca_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/BookStore.class b/online-compiler/java_files/jawabantandabaca_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..e88b95a5b7e40ff1e9d62471b70a2159a776afe4 GIT binary patch literal 1102 zcmaJ=+iuf95Iq~GvEw>Tn%?P!6jDeEtqT&oq?AjfLQxAysfrLt)y7#hZX7$ZH%0jY zzJbSbk$8p&kov#}@CAGZUr;f20wijMCGU)9&zU*1p8aup@*Tik+|&_+q9Sf!2nmMF zAwS}#!`%b(Y4uQ8k|D8fySCh5PzuF81xo6k0`}%uL2T<+62mZ5qzsH8J;1JX0x6nA z^4gSRVmr!fd*(CWc4bBSf;UT9k}zr@i!p|&CU1zc=UQAow`HBYKyp_G#4T(UyYxsF zac%dYq+*|)r= z`M~oU73ukcAzt=sWYXKVE1tBQRpIaQsuOMy+GUt5ygaW2L#iUV)!5;!9$v3_ZQl}` zc1RxiTVXZSPX|Z=8AzYEc7&{ZwIH3ql8!65s-h5{R54Qg=NH-Tk=GDr_ei>jx5+J1 z++ldz-*XSxP5OvhbwrTgruN#c(plYokpbdvrzOsT_jleMno|D{>!m1j$Eny-lr&sp z$kpti;kmgEO&a+%-r};s-5jrRhu3p#iNV-%UE!A<9t0v#vC6RYZ#V~Z4K}1=jbY*c zP@3v)_gKUQx&h%60}Tukw9e7jJXuC|X!#r1XL1;Y5N!hrl32jS9`q+s= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..6a55a8fc0d508e37488a50379a87242670d6958e GIT binary patch literal 1099 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkXakp$GF1TVb6=`w+(+nr{2is9ae z@X9M+Krb}m!Uym*d=K&L7O@SDJIS0mXTS5EpPBRX_sI_cYj|WLf~Wy40Ua@h^dUdu zWrw@_Rtmyqa#*N=TAT7;4va>{OoM7Auy_H0+x zl_z+s8b^{L^IUjB<=5?obh%~OPx7XTG)4?$5*Wo8!{`8C2E83H5p}W49VSV{w!2>~ z?PRE&@dPGtnPH;Eo1!LNi>o)bI-rxUxT}1I@#4lt>7siE3|9i@sepbE!a$CpaLC{D z1~GAWkEF$S_gma{b}iW|pO?d+)#RRFNNw7#c-d(+gtyHb4p}rpyFn6fFQ!o1VHmC} zZZ)@fJH#6(P%8#N8O*xuc$QeV1J>ku=!KwfbSclIRKD_fdrPPTx#y>1D4CeYEd#fM zD({4){Jm$}J(5jP?sl@5~T=T49XNSV&PtLS9O>L-{CExDDfzWPC9S#9d`>8~J4 zB#ctQFrD>~SBF6>4wF`f#&i}*6p+Fq4cQV#P$BDM8niWx;Tn0R!A=RJ8@SHsBTE!> dA@dE~B$=cbMaq03-0$KZ*-X-x@Bj}n`3G@q3Jm}N literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.java b/online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.java new file mode 100644 index 0000000..d3a6015 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawabantandabaca_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cc271a800ae725da81fc6de3a080d882a94e0702 GIT binary patch literal 1189 zcmaJ=ZBG+H5Pr5rt{jJjD{obSR#Drc)OW=qP>g;sjTj3}h#$zdEcI&d4)69f{49+K zk;EV1k220)OM3*vm)+T&nP;ATX76FBgv3& z@vpqj9m$+T+({SzLn=OJbJIzmgQ}|TRa3f$0bCnCLm4+||Q$xzYI3~_K zpnBj-VH0lxWSHpTyz?xl%ayW+F=b#{r5bL;qu~le>a=vkp(BlJO05}&bgl;)RiKow z>BMTzKn7V7&=->24AcGa2w)g}1M?bg8n}hq44Dhm3WZ`AAo(1I$=rtygRoM>^f$?Bs6DM}s35?QMHbJ`h7J&<`iDJBU5nEX%nG)+mm zm%SWjzvyKz5d~Faf*s?!nX8zE1x4g1?i}M@pNL8Pff-t732u()WP6Y+A>=BpF|7Rq Dn}`(0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..5e6a4c5 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandabaca_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..14079bbeb3d36cc215c4f711f8db8d78d4b23221 GIT binary patch literal 1232 zcmaJ>*-{fx5Ir}+Oc;hOBrLK8L`i}Y_bmtn!lFfq3Z#nifw~EoI5C;QS+LMo{T-{c zL{d`a2l(y>`0PJe_RWr3yxe8F`}FB^yXX7wuipU7;h_o-yb4-0oP&>{E6)#jyugiI zd_9vFS%<+lqZ_(2%ixVf(+d0y!(}Jkj4vEIB57ItaNTwGU1!6w1TU&k;B7@4GzIM% zI?%~5mFKT{h8qqyc4^P@om`RYg`KQfj6d2U_~e1Gcus5zn=)!<6CA_n+L`$ht>{KT zL63$YLZ?dDIJ6y6B<2Lj5US%mv2>%#mZICxr=eelYG#u~!Fh(BTIwc)iUABsy@nYE zB6ZMa4HD6`N~}gTgfT`E+QK0-Lx01)39#&a0TT)?YPf_+hVe7>s!GMsLJ}Gby^-e? z4&_&)H_(k7A^PSwe~gr#{(A4n6xC5-7dA{M?7R?Rn-_(As4E(#5oho_W+jp#7>WLi zr{Wr}E4ZQICT^Y5IAyw-f?#Od=awyMw@|gvQ=C%1xp!}Vu6zi-RdEmZ6(lsw-~qvz zRxX}*sSn~w+ZLAW0bV{Vy>fZMZV1-StNQEFsdDsEJ$hdL9O&B+ wD`7l{$Z8-qDVco1kN*7kWyX-Ww%Nqn=;C6joc;wD- zB3KOLD;GM;b>R{c8U_p`arsRAYlof`4GNn887`mTJaSFD6)IVGW5~d;GBupYiH0{A z298}v4s?v*iXv;2VI+M58YLi?Dd`l|xPcU|5`UhMbj&b(svZF(?O1;1*$-3>#O@BO z1<)~xw1$jzk zQlxB0resy5Jl+sG-p2Nk(e%K!jyv!2^De*;iiF) zF-vjm21X@i5p+y3cIVl5f8YNl`Mr)$a9hJ219y=pM~+*`)_kgcHt%`DRi)>FaPO(l zE$@`Cz!&wFX;*T^Vo|X>iFpG>++*mVKC&sf^j0LWmU5<)ATIA4Si};;P=nXSyknQS zd}7KfNglPMBuD>Ct7RR>rwn~zVFSiOwlq92@DQsEap{Dr49Rqqmll9Z_%oI5V}{vQ z?W4Iw0uE;__xetzL@CZYyF_N+ifN07eq%?t>pUn-H+9y=K6#_5qi%fc+tO@^lIfXr zoVTgUT$+?7Lt^EW?Sj~IT#;kwacSU4JO;QFQOfU0;gU|b>5DW7i76qQD(j~gk;tG+##V$|PDwk_OwOSQSD!DM**wY<+u zM*~gx*u|>hdKip)NRDJHXT}PwzGQx`}p@fT5`)u&GzjHjmKt z9QxF6=zosEU+IWpo!-5q2pDAELvX#cyFnmr0myU{7x*ZNxh8J0CJK`;u|S%giRF<_73~YGH1X&(+A+cct`LKxl!cKSJ;0dH?_b literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..639b56f --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawabantandabaca_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawabantandabaca_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c91bef56017d89a5b0e1c8f0859aeba511a557ab GIT binary patch literal 1215 zcmaJ>YflqF6g|@-TbAWj9tGvGC}>-RB0jMQ7NZ|bBgR4#;s-Kqhq8Ul;_g(_pQRBY zlK2DsQN}whv}-VYnVFq?@44sRduD(C`S}aL7BVJ62pj0Ja09&z!xjFSr)pf5Q#*x< zC@O~D4M#d^lOY^Wh z75;@6xKv!0XfN`Ea-BQ1gQ8ncz1<`DZP%^ll#Wa!p@}I&mjJhVc&0d(V*c zi6G?wY+HWmt2c=}mHo;s35KDpBgMN$y&$|@UZ~McKlOR_3-yw5G zQgK{4uB7zQY?tA-I3($%83sI(A000NMgmTmLnS=&F&sZ5%T-P_2CQ1QWHfVb!z+q6 zjwTbkD(w}mCd`xKLiGMZi0b!2r>K@6?LA=nA=3JUzMdjXCm@zQ1xud8*gr+z3C!d- z44+`)E14KMfk48vS`s^_C%?ly#jP{Uc7ydVKr9F4pfAlNLI4y0iH?y{COgp^t>_n>=yjr?bBwby+>XYx(d3dQ@&otJu-YXO ZCH}xPtuq8SOOM&^KyJ1mw`dLFYflqF6g|@-Tei!qJPOKV5!AK_M<8R|6cF78e>{49+K zk;EV1k22nAVOfJAO=j-S+7s!c!)Vhfgi0;@Z!*D79 z4R;}zE}Fz@+=7h>YN9U`T{8?_yN3Xq-jkRz@W8@DJYtx-rDH*}7}}_f4#QyTLyJXo zax@3&R0uPMG{fX8;R$62L94boXV24b!CthN>}7j?(T-u7DsAz%9aq`vqp*Em7kZd8 z7G{xUh$**)%+Q}o-^^!X9t#E*Ej+;zO~Lgl*=mD^o6Y;a@bp-D(|G-EJeOZQMPbQh!}-Zttb;qCHLjZWg!>AmBY6lpr|8;+87QIx)<>%2q7 zaV1@c(kBYn3^&D*>xmpgr$+)L^9rChB!Xux!^qbuz!Ahz#Zv)fMk=Cd5^$bz6fMn(jEOP;4{|p_cFf-rK zbBe*Qbj8RC1QMmyqVP_F>!QZfyd{VyC#w# Y{=f*WqXaibPudP3*PD(^b literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..4c4ad77 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabantandabaca_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6fd6984cb501943e6224756e64c7b2b371b26d73 GIT binary patch literal 2007 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI~r)U@LbA%NH&(1}q!ffE+>+GKc{dt#*~YkRo|Z z{0+%hq$;V{sO+kIK>i}n$rt1ym7ZN8Rt3d_c4w!%Pj{a=J^J&%H-7-QkD7`$v@7V) z(1{2`-vK}5IfI*fxs~k$QFa+3cXU&C?=iHeGbII4h7sRMw{mkwu9&rLezfAbHP2mj zZNaN56tu_C1x-P>h92}X+&JLh@@;Oq+}xpenQ!e?xo&Kgt!i$0o#2bQxmV#fH`jzi zIW;Q;$S_vCFk?Q3e#8|FXh`5vOB1U{jw`BEI{`9WYT`V#b+b_~MR#FHLsEunR>-2@ z9fpCE)FFe4VO)`njW7(So1kG9@|luKRgGy#;VO~n2$#$Z$y4_bAbCe-Vx#qEf4>}4 zF@fs}CN-pyVHm%Fx+ZH3-G;}V(06CLu#_o8W`4-OB-nqVxWRC_%#E^Va958q;Em7f(-RPV8E?$dkfs8ckZB0Q85PW_Mj-lTVi( z)?i=AL(VlhsH>J|m&JlE6*Y8r^l!>(BUQ{4pkuz*V{p+h`El5SMp1t>W@(q<06H{F9((iN0>3omRk5_82Vt z7RtskVy~cPe?#9Z4E{_#71xd}dbZ(faC%3n T-EI2qA zh$Q|1f0Xg;wzR7#U*>wwGw->~&tKnv0N6x9MF?R9JsNt^$1q&yCp_EWMlHKjsf((^ z(6=rP>1;5BQ|YpT2t&d*l4f?R>4<`5@#c=}9J@}*u>{vuCOh0J$fwIHshZW0#2ls477krAOm@u!K;QZ{<`vx0a2NL&GS}qouaq(LP)ZGk@znd4 z7Qc#A6KT|l96_3L^2$yYP4hTum`>8>x`<$bp?7IHx3cQh?SY0xWEmok*>YqUO{K5m zR4idxK~BR8RtalbwQSv`I%W&DEiA8g++V!>=<a(Q6{iQKNxd A=l}o! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..4e52945 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + jawabantandabaca_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..366795bad7efa83705c636f642de8e289b70f70e GIT binary patch literal 1182 zcmaJ=YflqV5IwgAwrrPI3lx+`QPj2wD=!s`U@?+t8ZiP*h#$ypxink5ySNWbf0jms zNa7FhM;YgCOS=Tam;0KTGiT1s{qy(NZvdMpsE8n{pi4tHdKd<4{FLi;ZdLW2a!ph` zhMsl9GQ16jXeL`y5M!7OoD5svYIvgHIJ~jrdndlP>p6m(DilO}5r?LrPeVTj80KsI zD=%})1=e5Ald$_7=t3Vli})j26Ra=2MeJ&^hXZ zVO0q;hAgS^)=d{}`y_4IUfSiRh+&SQdvR%bWmWcSUc&-(hL~qJ0~v-h*_&`G7O|vY zS;Goe3D$P1dd;Wa=>^vnj_eu_4sX8ryzVlrwMq?h3c)t#D}VDPTcWyN+ed<7plDd) zy>FIovWVi;I3l`PLJ;SyreWKW5xFwElN8}m$9GWjW zUI7e+oC?RDaL6ZaxFLlHLmqNC$wA$ zqrD5HKYD0=O1Ec-(g{fA&cSk*P!7(~dj>W49fM~W{YEB6P9Tsdtr~^*5nMmLJ|~b! z05aDC8MwswLGB0CbKJeaR3}*ebIG6|NvzRHW`99DL%t0%OE<|RMgXJ#iB8e9jJ2cJ vgXov-=;aoLB)h=9L?)4wG=Ado1)g+hG;5fk8YYR%R2ys~0NbQBf>-|lhIA8P literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..5e9c45e --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + jawabantandabaca_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d7f0689c24cbea3215a4de9fcf45f0f748ca9cd4 GIT binary patch literal 1203 zcmaJ=e@_!Z5PjPsSB`^13x%pc5!AL+s^Tv!g2hOTAz*B2LWm*TV=33PclB;7;bUn; zh$MahKa_E{E$tZ$|Lm`sdGqGY?C(E6e*suSUPk~y4Sfb~pr2u+%D?bzjoX#%cDX7{ z$o2qse{4Izf9mXqaV*H5I#yDmT3Zpube7Nje9U5AF?00v=b7&0)7Fhi!w zk9nEflG_Kgn|!}g=T>dsbn4mnI|RQaj=c>b4vNB~l!oKOW0={zHeqf6qljpT8W_X) zKQ$CiJSpl#od6leyEq?Q%kI#n=s`>vm{g&LCv?K9|z9T_y*7zf->3_g zT_MO2QVhdIr(u~1+mQ*6*F^{m42iw%2KCgjGl`-wk1~mZX$jjDnZ!H6Yx3xmYT*L| zi^wvBq|-)Z7)z$E=F#y8k2NeAc!H-SzT;N1)h4wxoA*57s&4Yu;qB)puXzm19SQto zeX#AZ%Uyj*m8jr1&VgVEZ(6q4YSzobE%I`WUIt0vokn{AsVN_uwzTS^WO){u^EQ>w zB^6BRBbz;j>*COHMUG*}rMaWyCBUf9DSs%1OFp{g^^_m+IjEUc_JY%NO|fAqKCvrP zy{HBWvovf0`gs9F)X$((L`@#;ePHSf()x^U&k>{(Fp)k3OJ6|SJ;T5$^z=83oFev> zOpKgBAVFG(C|tpX>GcJH1X>^q9gy$^;=AeZ(9dw|9MipE_4$D)g^ppFPAdCL+8J_P zka@Z(CLscd{U>^oW+mQ@UTHP9bhC`8#g?nIK2w4(6?nR7hs(P-B&MKw&595Y?8 M)fU(qtpU9L3v)Re5dZ)H literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..b392c5d --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + jawabantandabaca_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4198dcd1c66629f3b0ea313603d1b19f3c021a4e GIT binary patch literal 1207 zcmaJ>?M@Rx6g|_TTbAXk1quRE6tyivMMQ)mScv{GL=1%{#2;i@hPq96x9-kr`dAtf zB8d;+LmBV1WxEE$pP9S&gA5Bb z{)LyhExCO{cZDBUEpFD2D~^?Wdr0tm?ul@BxF-&TM>!2A1jsP6dt=6YFNP7xa6%RhcNh{^sY3=G6PQvRn`W3u2cY3D zXcj{cwb5o6OMhsyXibjh zVA@r}j3Gls7eAVf1}SzNPo``~raW$m80M+AD^sdMw)ND~;_8YT--3Zfr zq%+qu=vcy24a)|eVTJncxYbHEU->r~oM$WLu8x#>m6cPrwJsc0pyFZQC^ zCCt*kMdx_iLXGoAdpB4WWED3c!`Ol?04wrn7qK zUy4bL0LK0kour)^5280((JzDOM@yVPrXcX+p_>Ce)L z5J~(2{wU+zwX{bteA%7doq6V&XJ-HW{q-Bb8cHf6h$@I_xQ0H4WP^X<}2k?ADdpiv1WyNa|h-q?dWq6Z#wSo%1_)Ps1V#3~_0< z;TT4;xywmZJitQ*OBx>GF=5$Gz0mNelZBG&3dipw4~&GN~mOI6VnTBB7(^kBE zlPgoTn|4hwB(@Aoyz|TojS81KeW-8*W}9kpY}v!r2)vf&!^T(YQK?$=G}Q(HZT z8{*J*M3G_8p@}2&9AG%)R63NxAs@|b?FiRv%Jy_7LoWUed8oU#=TyZj!)KJfIL?dy z1YwS*EJFV+f|UOs$V&MmM|%v+|9G@Mq0>`D$pXgnCt&$ADElYqKZctBj^r`MzR?pS zClE+9SYrg1K$32s5lAEeS?GWy&XC#9|A2aesZ-4Kg8eTK`Yl7mV3{mG`*YeEid~R- zI{8fE1TglW=nRd@WH)*xhd#!uWm#r+ZBG+H5Pr5ru04*o<6Yj0qPB-p@g0j`G5WzYLM${PejwX+sn_)G@NTQ&XK6%; zB>n(@lyUZ2+9ME>yV<#&nP;AznZ3XNe*XcmfxM0w;u?Ak+(0kGP@R9}*#>uO*{yP2 zR3t<1n(f+hogtpilr$t5WcHtn!qd*FW_!A(*SO;g@x7{{pitfXNfk_o=coB<+n+zl8sUrp*Q1(QXpR8E&+JpHM~ zB&cY-EK&h?gzDl01Ix%VB&64ZB9L_E zasnMIc%kV z#;Xd3!Gi6I4^5{m{2g9y&`uwfclWS0gVd6bO;_5EDA|Ec=DbUXN&u0#3_Fug-+vKl2U(746u z0>)sf3qqQyW{=h$Fm)42KBKSah?53PSSMiC8MM6kFs&s;jdufm{zE JH%P|t`ak8t8#4d^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..e7b0188 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabantandabaca_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e6cb518bfd4fa3483c178144cd0c5de5b7533c16 GIT binary patch literal 1228 zcmaJ>ZBG+H5Pr5rt{jJj0)?u`A*gLZicnv$yjXnsU>Y$3O^6@Jwk-8Z@2=kMY4}+h z5h95{z#nCtZJ|Ab;mhva&df8<&OCd+|NQ&~U>!vr5kxig7`TRBhQT`j%ySLy)N-4Z zx~NKq-WAKSHTJ5moqMxG@Y_~XyyTK^3!h3FZU~QIvUFv^LLY{Z&@gOZ z1f&1lVe813!Y1kj$S~T$dFNTqIbF)`$C!a}m1?*lkA@oz!xyDP4jn1nQVpA6NToZV z;U*L^Wt~_}8Za?MJ@kbnH^X>0JOtQ^p2m!Zy9VyzKEw1C4ZG+SLk~64VMwMwv`Mt) zMpLky8bQX8VVEzwjldRWg*V(obJff*F3g#wfcs`scy@5exzq72iJHytx1~G`@oTw zEy|W}k-O;7<+!w5hsq~PU4|Rt!1Y9dVZb9Pl6e6z6bdRHNa0b8Zu#9|42A-fjFo@O z4ZNy&Z7Dv8GEq=9M%gLuB+{isc2*Jjfw@yG cbcrO0KQKY-ZGxL5I#V6UwHD+$tr0x`3qHIdUjP6A literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..599b142 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabantandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabantandabaca_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..04404e23824fd673f6221361d904fc306dbbfb6e GIT binary patch literal 1196 zcmaJ=+fEZv6kP|}4jqPjxyq&7N(YsCS1c&84GLD#l;DF8d=RW~F#hQ)|bZUqgh$6<&f6PyK#^%mp zW~X#4%90_rW;vF8!qAyE_hK6aQ(tT&K7ID~_s1C>26{B~8t6km!@@EDz)Reb+&Q4J z%=Ztg+_Lw}ZZ%V|oWlzDxWmw6*SX)cj;8ZlW?uOkG%%zb4OE0}*@U>Tienff8b%F_ zVZ4QE@zj^1N(|jP5gslyL|AU-jb}NsC_TZe*+C+G&A=q47)GnSB66-%=JK5-k7(u- zU+FW9r1N<*z&CIJaP~Gz8Eq(ZsE3uJ1Pcu8;SatY0EirD!x*^!Ps&f;pJ@Z`@+}oh+*-v*jos;D%0?oVfz23l+qv!n58s#G+sy)R1%0$zeMXP z8X1kzQX~K}EUL6CSh^yB_b7h)Bgn)pan*3Cuf7|>*tH548S8{?bLdMlY2{B6{ zraJ*G)gGi1pqm<1UAV9saFfO^vR literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.java b/online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.java new file mode 100644 index 0000000..75e9b44 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawabantandabaca_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFive.class b/online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..11118cfc26673d0b9dc62cef4c8ef64b33b01343 GIT binary patch literal 473 zcmZuuO;5r=5PjQHDp;V1d?OGLSlkSg5lzUY)eBHXiI8~;qEW-;#m)x zc<=}KZ@ilLF^k5;#68TLoq2C&cJ}4t=^4NwYH27?btDXENHUmXKIhhy`y=bj9=lG& zkZcKGLe=_2Wig$2!B#m|t<5`w{ntgbp8!JT9gKC-AIJ>`WGIF?UID6buP+ z9pSsDv1hyCIk%@WL2RF)RKNJ1YWX}GN%*5?qtB4(MckR3@YxSP-3#K-aoa+Qv%eko z*a3w+0H}oti3xthGc*=tIW}a0+aq{j=zS6!Yb`Xf z@Bw@qAHa{<(?;VKGqXGY-^}d1emuVbI6&2gfry1@5+-5{nK57T=9H^Z^K>v4Zom+0 zOC^JShDfd6OCXMf1v`l~B!9`B)m0!oQuzyl3f-`f^qXgMsRAdM3+}aStRrn9lSCF9 z47qN4UNk5_aeh z1w*!cWp*QjJ>m9z)6rxH~!Kvmd?f_=~wKI#R>= zKYe!f=-5Gy)~AmF8XPgQ1-fmMXXMSs6WBck)RwGH0}&)pM2TW8J=gmuU&_SV(Yfv-eEG9rOM@ys(b+y5oO!} literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..e9b99fb --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package jawabantandabaca_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/NewsFeed.class b/online-compiler/java_files/jawabantandabaca_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..0861014c723e985f396ebba760bae0916d161ec9 GIT binary patch literal 621 zcmZXR-A>y;5QWbsPV6|Qq~@nh%YRyMpsF7r6$n*ARTZF;QKX0qv~gBpBYTaUbrFvR z7qmix2jHQqj!7e$))zbL<1^o$SwH@|djPP99UBD{O&AVJC^OWC{5$s}t_J>bZzw{| zQ2r#9)VmBtuh}tSO_>6nN;R-xGnmI0WK5I=hru`z;kktuBnP1sDijuK#QGw5q|a@* zm@_f&U;&F0UZ!Q_@24rh8ZlTp8KW7tywmo-sanmyq_MG8!E4k_ym9arOB3kRB*E24 ziMWh&HRt$?%GyfT| z*x|N`7xYeLra%X~W*_{pAJ3sOA@CL6w++z8eTS1?hwCMcSi7)=mNFl=0485%4yGh`ezK8ZUwE?nzE z6Bj;!FW}Q?JRLWh*e301d;ag7)As%A^$oxd@&*D3>IlUUhQ=_`~Kz7cv4c;4w?4c*DTm&NwiHdXm zdozk8QaaKxWH9z8V*TclR20Y=P~1$#&qX@LV^`W<-E#%EN(Lq{sbeaJY0NOB{_$Z5 z_mzSW`5%T~4*{gzDHR$z<`}YFe$89l_PE`q+2qZR#bvK)I##jfwuQ?O+H=}MmD~Rj(Feq*RlM!NOEcX$!fP*Jk7Q64G^%4Dh$smc$X2dr2vG;JY3K*ZXmvG>q1!t| zlkw^Uv}B_Cgwge9j4MjOr_4boTO*ZDJ%R-BG8m%UjuUYhi*!nV 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/OrderCase.class b/online-compiler/java_files/jawabantandabaca_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..e653bab0b53e65ecefa3415748d9c5f9423ad105 GIT binary patch literal 1243 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$jRZ&!mpj3$@MTjMs=mSpMNmz(#XU^=oeBYTf`}No17XWj}MG-(yMMy&!3PbxQ z-{u*Eo0ZIRaZ{8$24zM!b#Im-m`blj5MfXsy|EqPx=}>YszTGyhFFtt!E-vhRcvh}Q1yqfK#AcGn%;u1q|m2ZihWtO=2O!o+^ z>3ZDsd@K*s4QT3|vQZ3SSjC8jQKT5Ue7Mc=8N#;Ac7o1vfb^P*F@~W{{+bsl6F18w zOMJaj<+`z6vZ|S7r!1Ttcd2ZldiCOY-4su1)uM1#dC`y`$l7G+Nxe9YF}=pnR`7Uf zYl+*wy^8CE^$b&nXu+yEC9$B(sIkAPCnPbd?7U@puIF%jNq8Gp*^MihisClzsJJUj zIPFvU(=@udZEcB6ooctOtEeH86xbl((#{nw>pOsNtl^adpQQ zXP7tgthaHt@g|Q$m?5Ht4c)e>YX?h~>rD?b25r$a=^hO3y24d4$1wb_ zIh$}a6HxJhVc`F!)bn+=RKhg9K{*1T&VfSfIBESP8OiY20oW(nFkGQkeg=Z{0z5?5JvaK zfhc<-*e$`O-z2A;ZstJetWLUB8bECD&TwQO90O_=gUOIB6j2>sU8dwh$u2y{eP zEY!}~>N<3T-Ab`vl>@;V#0W-BjM>aR-V;XsFw)Xz@2bPWOmyvCRo-Mi&8$-R6$=xX zG%;o48m0;3iQ8TbA=8d6nBuaqwoTk16!yh?(ctJs(B#t*JG;Jcy&XsS<+^lK(A;!G z;k!+OQB_Sz7^%5|eBJRIGTagkk2MBc1cb@LyZ%&*+k~OI7EWtJv=h9E+r8N)W#WR= zRVQ@hx*JpGdVDX(*|E_JrF5i2(cX}HPc@^F0o=7vK+(if{5K^+{=EKfaG+YU-2H~` zcdZLYtMHKU;bKM3fL+p;TnJA_`I=I#PP@{d(FIM9;nrbWUIM>ZlWu?Ybi^4&Rd`CLR&y{tx9=@8*elT<5WfSBjgH z2ZQ$+mS*|n_D5#vE9etnh*e0Qfiwm&hnr{6BQ`boZ8c}sjAt|1W8{ss*_mUEmQEOm z+EJQ5{{6|qP%NZa`0*LTr7yS|6Q>g5#Td!{)9k_mj|Z~c;U>GWu)w+!Y^*TBEk=#Q s_>GK-dHThJe2TGCeoW&|LY8MZFwC@z9N)cUU&aI0Su8)qDjs9{A2tXEeaZweKQzBEzVnuuv^f|mqRAAG0-Ov;ws8L~TD!$0wF z=z}Ia_yhb=#bao{F+y7E-$O^ z+gGBa8KOs)wDbu>s8l|WBZjyEGl4ru+=4fUo)!+Fluu5%#+b-b)eo*EbyK^7JGBhO zTuvZ`G{dUH`=YL7hwG1)?$OHATxySeOK0VY`#2Bswd7^ZLf-Htf50&wyl;X#lx_3V{W+S4u{ycN2qx?U=ZZ4*1# zHLw>n=OM%H^cpOAt@@%m>B6L6r@W(;J7oAeTjmXLLi&aZvxT?YP^#|_YV&E%SZ+DC zh6AwxK3nKyFlw`RbVE_+w%xR}sKroX$eb(NcSNzxZPhOx7g?nk!#=}W!{=UcAY8}q zb1tXn42d%-gCHJbY1S)z%cxhHv_b{nJ_ z>B#<1uy3?r$de3?fe_*-j3EJ3B20GRMcO<{M~~CSNxsnA=pBY5r1KlS&jtE=hmr3v za^Vq@zz^IFHjxol$D1ktHvLneFNhF@NivBvy$@*OE6CzGO?(KOgjph6k@PaHwkWGd RV_C*yvYE86-~dmt{ucx(_IUsR literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabaca_gmail_com/TipeData.java b/online-compiler/java_files/jawabantandabaca_gmail_com/TipeData.java new file mode 100644 index 0000000..c3d35b6 --- /dev/null +++ b/online-compiler/java_files/jawabantandabaca_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawabantandabaca_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..5599b43ffda7c24793ff9c704e8a90fb6904b72a GIT binary patch literal 498 zcmZvY%}&BV5Xb+^SD}Cw{1!EEFaZzp02qy$c=Cg!hKmO>EgMp3x2Cib-^UlwgC-t) z0H4ViXR8+z_AoO$`~UxDvY+4Y9{^6UXCi~Ffm{W76a=gZJy6#tHSXRx6Y0hRg(FXS z@v%U*-5HcnM9F|zK^c{Qa{F->%Yap3!lt#$6y$~7e&ngxjw4AyuZSgq6Af3H!@ZvVp5Et%}8aj!Elur9Dap*cCEV$F8QB|n_Y zXgChY^M`I2bWhcIN&>m_a3lqmFFhr%lfaSDEjd1Sa;#JW>+QQmGX$!3Oz!lG?*H_r z9VU@0FFb8FQ~IG^9xbf#&+3x_uZ{x84ZiJi7M$}3ZxGL12yAlH&p;L>Y+;*gEj?qa vM%1nTQNy};Liq(oz50q}?aQRTI&xg+*=ex1h#E{ZxWl|J)byyGRJ;2FtFLNH literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.java new file mode 100644 index 0000000..ab71ff6 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package jawabantandabacalower_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Average.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..9b2a5a5c234c30b1957bcaad93e656602ea5b0ef GIT binary patch literal 747 zcmZuuO=}ZT6g@99?@jYj+tN&}n)q0@abnOrDC-@tri1p4h8=_dj3u0o=un6cW%3=oxSb zhRKc`$WmAO?b2GS<2n(8xb68~bcaF97wQJa7!u8@s8|Pd0U#>t3W;n~6cd&D-iSOo z7?FlT@;u&CEQwj1GH^PBGsyin)qcJcxjh;d^l7$PQ+d3g^eFWF$c{o+_LfsPi*p9f zXK(=*8K#f%F!1fTgF(+%I4m>c$7;^%-XJ&40nvhoV%T-(D`%8OH5MI?q<+w(=V&Qo3WT z2CmbF&1RJ$We5GxaUXc`^_fwE#dsrH?h^f+_(_2FfuMSY-sT7yAz%0m_JIh)RjTnZ zpdpEQ6%uQb0e}{rr7N#hge2HFW@-Z>RO=o4Ov!P(`kA4n0)gO6Ne-+%~A8~S) zf5KdxJE3wfAw!&Fl{Q$Tv=(jf6e)N}V~5TL#9xs15)*ihNxZ=n3e=Hr258y)?&$czRfw-I5GiUak?|kQHe*Zc71>hNqQH)?zgAzjsD#OG+Ki~z6 z+l|8O+P*L(gZk98O}WA_s^@pr)%WB_Pn6y<4Y3%;ae-lepC9rXw!oQQI4x1=<=897Iya=_9x;3#Ormet1KprzTEd&(a-5dmDV?P_ za5Ch$bJP*%m=7k|o37Ge2l^0YZdp}Ric%PN8Lqzc+ZJzTeHzKEC!`1zmX*Be+fTBL zA+~AT!Yy0e^Mt420mH)S3=gpyPDjHdLjS)hjc6}-8iwGa1kWg_|4`|BowN)|Ml!VY z1MDkpsO5t4IBB6Ka5@C1aX#_Sw04ZX!K&Qk*BQ=M`KK=`66akn`Aifb^Nno<5e8W^`F|A|>^#n7( ucVtdU_R!-{2v@}<#xO<0pCn|x%OH;>l3{|sLF*3gkrt)heLTct%=`s3D*@X8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Bank.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/Bank.java new file mode 100644 index 0000000..56ee490 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawabantandabacalower_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..8b8022f24e0c0c88c77d92e38e88640571dc983f GIT binary patch literal 1107 zcmaJ=+iuf95Iq~GvEw>Tn%?P!6jDeEtqT&oq?AjfLQxAysfrLt)y7#hZX7$ZH?8sm zd;^c=BJm6lAoYO{;0yQ+zMx|4M3AZxmb^2bJ!fXldiLkp=??(+aa%_Wii)^_AtV?w zhx~|}4tEdC=hZ`DNruF_?b>pKK`9jX6ey_&3fS8d1+lH)NeshKkuorX^f`8=6G+h{ zlGmmj6WdW<+cRJIwks>r7ra@@QVXL7vKV8SYVw9Cd#=UhOIy~-3nX`CK-|Jsu}hEI zBChQolyppBQpJ>kY0NN;4amDf=-bFGLSxR?Fd=-YC$@IB^}prT}2^0t|CMJ-+!{*Bd;OM?zwbN zaFbiqafjhuzwjQgoAe3kbwrTgCVA~v>0;k~k#oe|PD>1c_bcyCPO1N|^-`3%<5X-Z zN*Zo3uJFqa4+0UWSY=qcpnQ-Z6>AI& z|A*3OchzGNm*^UVPYg6QNYFY*U-M)c*`ej{U|+~#6hgEOC`e)fmwV7(M2*v)9beC? z_mqv<_z70#vf2kEGy2A7JSP7=(sSA5M~b8=a)|+u z=<}z@0N*ekwiAomc}gP@HWh6)pB+r1 zf+@Tr)Em-Ur))XOltSVR(~PmvVSQ91or_VaE4WHlBfWWgmvNK6bn;eU;udE905Tm5 AzW@LL literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.java new file mode 100644 index 0000000..cce5034 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabantandabacalower_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..7463e6ad2f21533fd7fb3241020a8abf58095b81 GIT binary patch literal 1104 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkXakp$GF1TVb6=`w+(+nr{23gO;| z@X9M+Krb}m!Uym*d=K&LmS9O6cak}0&VJ`RKQrgopVOZJ*6_qc1W^N80y<(0=|g_R z%MN$<%WoQo!cq*eW!tsYDnqnb+8II|Lk7$Qt{`yVPy~aaZ{a~;H}gVDp61^&Ugv-(}nGk!*@`x1HVAt#eCB?}Xt~Z^O@lUD8+72uJvZO(~n5cD28t9?K=i z?US|`0Pn4{`~0fCw{=cY|=K87} zl)Qlo!_5DoGz;BIaUIh%H^CR7r$duN`wX3OBpFG4{s-7sQW$1w4}Jqt3?WahUFc^z z$H@9T9b1mBXscR9`vxO3{2eKh)45Y*0Xj_QK2&tFWc5=_hL+q)R$u+7v8*=r40Lpp;?_p5(T8NNRzgN5md~2x`p6Q+ eT*!P2w@D@`Mv*dK2>1JVKsJ-kOL&CGnEVT`U<^9| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.java new file mode 100644 index 0000000..28615d1 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawabantandabacalower_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..6b016a8032e769c75b9c64733e71184185f2aea4 GIT binary patch literal 1199 zcmah|YflqV5Iwg=wk(T~@Ba+VMVcq-l$~>6>J(I8+>$rt47pRJF%&RqVK) zC^HOsG;wr10~m=oRd%HC$VW5%Q@MvDRyC?*)N5|wHN|UFkx8GQWE%WEjvNhGjQ(2; zDfJ)dlv2}1dmotkc(gvI+Y`j;1WXi<0J HF}(N#540I0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..8d18961 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandabacalower_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cfd0e8cbe5be05b83e0c31709948474282fd1c9c GIT binary patch literal 1242 zcmah}*-{fx5Ir}+Oc;hOBrLK8MM;7Z+?Svb2#XdaDv&D52kItV;>2VIXC_eStNxBv zS|TZ_@&kPL1AO)$Ec<31)Y6x`On09?eQx)B{rUL|fLT0H;el5{i-t4sF?8kmK93i; zk&CZo@*?Xn_-1rNckVNIBhj=1Kf`dvNjKy3hmJ^E7C&4oIeR5%-LV8Os!-riqzOZ;sYzUjuYNiX5VRZGM zNfWK;MnFN2h9E+x>R3Ot9Z@9u1jrC-;5@c;qehvc+t8<>UxsR?%c9^cLr*=m%b;Qa zLsGP1hJi=})Gb6JnpTO`sD?1cNJm>ZWM=4Zy1M`?-sdr{;DUyWm|&RrpJ+9`7+Oe2 zgP}L_tV*Qve)Jl;kt0~&+{U+&@{=EL{g|X;suaV9>4cr`{?1k15RXd5jIcI% zl@Uq5xmRsZdakD>!_kW(t=l@8lLkq_9o;ktJ+Rs&FfVpZOC%WDE$T=*)&aU*PRU(I zSmdMVcGAeb;8cRkDqES1>bhC7vSLY>@`Qfx^(on27^4>S&`f#|kTXN4fb2)wTfpRS z(t4k6x8S7{&=)%fi=9B(I!5ae)Yu1f9ijIgBxga7df!Ks(@(Gv9m=5A*8Mm8!0#pY1(mD)3MleV-Rp+%-L0+cSgOy)5 C@+8{; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..8054365 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandabacalower_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cfe2e80c3a950adea0628db7de2753349d82d7f4 GIT binary patch literal 1909 zcmah~TUQ%Z6#fpEOc;hsL&`-9q!lFrC0<%9q?RV66fiBdKq{i*AsmuPCNp&A3|;7p z5B&!|=&x`sUAAPkYxx8G4?g%Od~~_bB)~+w>ch-AbI#u1-uv5^`Tg(bzX4c8T}KBx zHFO#1MucIo%8z*3;&wT`zE>3`$q>0=+NQk8(3wmXHAET410mB%=Z>Ywx-LIn_vN84 zH>4{#A!_LCK`#sqeFpk5!0=9$KjwSfmfYT_wZtvwv2b_Gb#7X_C8wTV+aen|Zr3)2 zM>Y*71jsO1c%{Wm4=y04VaPxn7u$l^IQFEdlkWt`aPbW1zH8boe@VL+BL+s5s^Nrg zG`z+zbZRD%QTJ)G<&^ZC_OK9ap!d-VMuKl~L%nqipu zFZmXiB4Il+AuA%`@w(9Q9^TjRfq|>I*2ZGq@%JpjpdE3`7wZSaWHO&>#vRm3Qy`-d zt{eCW^W?{Vpj1>ELG9!ti%-7!^UhE4Z*_c(n;I4k+(MQNIc_;!^{D{TS^fxQBIysC1g54Dn=`mll8u_)`__ z1BUrl0fb`-Io#~J%zsZ(MGA4r*(Wjw3Z^aY`Sm^FZt@^8y;NRXhh&ZVk4o}^Z%eZ- zil%4Mb=IaVb7@kT46(vF+c|OIxFW;Q=Tg_v_7vbkNGN+Cg-bHMrblMWHSTg^c`ziQ zT9yR#4aav&V%b!c5^HPdIn_g?lye;ENtYkq6|&;&djk=Ct%GAvLrLXkKdAE40c6@o zPEDkn95&On%uD3wF~g5x7F&W%&=ndnmhh$uj#Kjw!$dZL!Y6Hto5zPDeAyD;c}Xfl zM=gjYZdn_q6qzWfJ0{lry2UFApXO+SQX|yIwS?pq-(E;Cs_#|X7VeUz%G}dnGQ1g# znV=}zylM|e19kYst3|2lo3Z0E4Ym%d`wqm^7^YoJO*vY-z|_2__Xd4kM) znHSKuPtfxe`phpFe2U?p>55^K-u)y97^L1uaQ$?;MIapk$ZQK_;04CEXMTl#g4Y|E zI9FDG8s$MhhESxPvi^`(hR@DGrszv~5+#7)muQdBzh(4Hdppqn{7kz_w-Gv9h~r8e zQ_%+AT8ZQBwb)#0x`B6};lnr<8o0q4$W1@TGD&vF*2cP(x6e>$;QqO{6NCj^A_m7P w)Co+|9Djotoy8T*)9y5a9g^zA7xeDHm-vd-C`GVKk3gBeblO!=g@v(y0J9wD)&Kwi literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..4cf9f4c --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawabantandabacalower_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawabantandabacalower_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9631135e2010625a52c4806cbcfa68d36e7f9f61 GIT binary patch literal 1225 zcmah}YflqF6g|@-TbAWj9tGvGC}>-hB0jMQ7NZ|bBgR4#;s-Kqhq8Ul;_g(^pQRBY zlK2DsQN}whv}-W>WoCBnz2}~L@0tDi>-!G?o5+|5A#9+>!Zq|V3|IIko~m(KPHh(| zqNo^p*B$Ao4Tf+$kv9-wm}xmVZfdKkM8@-YbGxCA8Y-te!Rsarg!|AB%fNtzK@2gh zR`@Y5aH+T~(O%>=_gHxQsw>^fGn8U}6f>x@|KI zQ}GUHuodY<-XvCY7HrH@Cw-yF%rMz?4*<5jZ(+f}qJ`VI!;tu2+d3U%=%HRphKcxx zHkH;4X(Em+6L16xhWV1?S6yj0X}osHDe)t&s$AN<#B2P}UR_y?V2O%tmtad*+3HZ( zKCcTs)O!||kz$A_w~fm%7EfHwX5v0p4Lq>$5RYgOu2)V~8Z_Tj#`lG%C(B!hS05X^ z<}<8av?EA40NWN~`sz(0Pi4P!OM+o2>qzmoQ7;H@hZkye(@)LbJ!(sm2K2rml~Wga z$9Kq_kyIR4jw>mBG}~pkB@Re`X@&uhG)TuwfRTVx=0FLLd<@6W$a0lajRC6`FB#38 z+wh9wwWGMev-64rmrUm(+P+rPr;JsF!oN- zcLFo{1;Zzp_)I27P9Tsltrmq35ZoZ$J|&P)3uNg6Wau1Id&#dbPjTZ6v)y3*GtdkM zF^V-h>Fm#FXGnKI7U)Yei4efVU!r5Al*vx?dMo;QCwh%2=p5th3^$|kY&5x~iG0J| eGpuxpM2SBzP3sK7&C-juJCGYK$W2;9c<~zz!Xpj< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..6c392f9 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandabacalower_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ff9c55471547899cb86bf387112e4b30efefe684 GIT binary patch literal 1231 zcmah}YflqF6g|@-TbAWj9tGvG2x?oD@(=}zU{U#C8ZiP*h#$zb40W1z7k8%;ewIdr zNa7FhM;Y&IpHcZE-hEjNV9Fp>Xf+H42< z5I4|oVE}`FRI+pGD^a5Y2#{g0iSyQz&J}5j?nJ`Eunx7{(2arH4E@)sLl-7SFsj=& z#xRm>f`(g>O%+UHHDSTVBz4jkimn-kTkavizi8V*p91g^+DJ^ zuL(WYM;2z0VTdWWfy^+FOx?_9Vjc?y7A-u+5{<(3%9%=?CY;InzVP&Hd0@QySm#xr zVdbhJVbUSkh7_|mPf`Uc{Dpfc7<%&35pU|XqVRTku}UYM)b73GhA3%7@9K_{HBpeh zr0bkR#c?HFhtkLMEry%o$n`{)q01u`l6ei#7jnuSDdCY%r}Tqvl4>Q@8S>B)CI@rJ zt$QW0B{iYMO_k4TVPTTQ7oqnUL0rEVvf^5aw6}rjhe_)b`g)2eSwJFv4wk-zv44(^ zGnnZw=sm;GXS!nK1OkcDYEgI>!FAK=GJ!+_keMrxo=c4Er@z8H$DIp|w}SOwf@aW- zeyotCv#-+5kZpoY)0buvBY>g5L?=is!_DZmAo^J|dW9(H9E0ovcjL)?JUyd{e8a;F d%(aNbi9aw(>lnd})4R5tkm~{D2CWf1{|%r)A%Oq@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..b3dcccf --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabantandabacalower_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d13b471eba91cba15395226190a5928431f78239 GIT binary patch literal 2017 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 ThG~*xrVF;(0$ZasfS11kBl{n1 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..ece8587 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + jawabantandabacalower_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..85f807cb5401a194072afac2066ff0e03518120c GIT binary patch literal 1217 zcmah}ZBG+H5Pr5rt{lf(3ls#TC~8}j3Wx|run_%Vh!_e@h#$zdEcKe+UA^0r^k->A zh$Q|1f0S{yEyo#*e%amInR(`!XJ+r`ukSwqY@(nef~bZr1Gmu4Fj(WCc&^UvYHqh& z6BWtOy>8m3++c{NGbIf%hN+g5>EyPWQWRX5H+Oy6@MTfDf?GN?M0?N+Lqnf|ehe@y z*7zweb6axznDz>^o?@BAcid{O=2K5|1Lza;UVZd=-D6noND!tOf^839 z{^m`lM5S&!$AV#C$F#*;-zp1tpO@=&(@O#$G}>cGP1*BpXDZJ$ zzH`lROPn~a$TRf0GcU7(raU6FSA!1k&CGrXD1%&**CfQ91$1>^WHW658Q8dd{F{zhLkT zqo2vd$O!}zrPZMDK7#9~+vfxlX@SgjKn5-`ewh6V{Tve)xN{w>eg%p_KN47_lghqE zJ3~GInWZnqBt`(Ee~C`g%!~!m>#gV)LG)6GLV{i3Zaf{&DjMJL=mJl!X|!vYpc*EL Q%v1oj(E{6~HG-GF0idNJnE(I) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..ef65159 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + jawabantandabacalower_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e3a21eeeed478a611c0cce78e45f991379e982ad GIT binary patch literal 1203 zcmah|YflqV5Iwi8Y*`jsT3!W#qM&V2s^SZaU}-dJh!~J2#1G`Qz0_^GySRH7(x0Uf zA(Hq5{87f)ZE2Ta^viwDoH=u5=GX5ZKLM+aCD6$MwI!REn9GNazW=)s6Wu{F_rX6mGC>BYt*LwX^y3CudNWUT5Ij@FyH7p^| z5S3ONj$tH|y&6QteLPUGtl=RZ5te1w^9`5EnJ+qyu)Sh(|M2p&%bO0vN=Jbp(*SI{ z?+RC6vSrG)WYq*iY*RPIJJ+aCzwkyA#}MU&FyUfvWw zvDss|Ar35C6c`3=YCAe!01O9=iU(5IWTP3aZQ;00*>2Hzz{GnY3w6hG?W%aCdyJBo zdzwbzh+~dgEku(SLc*I2IwicmqdfxVjUcU$>GlL+IsxOkQ?T4Ql)Y2*pFquhMf?O~ zU+9aG5eOvguMq-^Ax^JP2_)o$EOtO*=Sc14zCk_3)EQ=a&ff5YMrMc@tkB7e{)~2p zLKkG7ZXS~;0gU~{J4LNB+4Wxay`Oizmpc@a>r OyI^ZR*gCBty!Zonp&YdU literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..2d977d4 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + jawabantandabacalower_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7f70ebfccf684ed03c56b18998d69ce040dcb49d GIT binary patch literal 1226 zcmah}>rN9v6#k|~wp|tqy9A=i?#$Ua=X~com)YNce*OZmfxM0gq8fS(+(0kGV4Z*A*#>uN*{yP2 zR3t<1n&nt>ogtdelr+Q`W&$J2&2An`k@q})yw#M4O<9zl;Iivh^mlHkS=r+BIcxx#-Q`ZmovYIE% z)67NaDn^i0SB0dc8bI26z|@_jb%nm3AxaW3Zk~df=g{^}5kG-$e#77i#=eq@kr4K_;spv0gXUKIx7U)Yc zi4nlqHQwViFB2W_wZQvj$9t71s2HQ{47ZZ$LegARM1J7@86I?rB#A#TP3sK7&C+#F Obs*OR$PHQ}c=Z>~=^u{( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..0e209c6 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabantandabacalower_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b68d18923c328403de5a6f083fa6243658cd07a6 GIT binary patch literal 1238 zcmah}YflqF6g|@-Tb9K_fkIVaQPj2|k?cD2aso*f);?zDZ2`Fsr1bn(`8 zOvja`{2)x9+d}pCfq_}%7-G_G6=4`kXRemkF^>feiw5#|NKJ9QTCN^Yt8+!)7oO@e zZyGN@2E5@jEL}(w<{yG>&1B)~Nv2F1Ja_j5L%d`;;!R*zgtx^j4La#1;kOT4(@D*G z7dXm1&<<1BOW&!U#Rf2ombqkd;sqNqZNVdY`mDqOZq@k_C)pPrAAP`8DR)f+NT%1my5J;p6GJOFOKSydO`xW{rZk}PhldS#> zz#yd#VTmkN{VDAXg*M0(eJLg}0!aQPdz5A+)y`gSX0NofmxzL@G0e_zJCQCWveSyl gH_V)2u0te2{DCoA#|dtN=uEaDSDTP)v_|mkH(X&Qy8r+H literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..0a739d8 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabantandabacalower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabantandabacalower_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..fc3ca2f8b1965df59162ad3cf51d6ec0960d3a55 GIT binary patch literal 1201 zcmaJ=>rN9v7(D~+E?t&;xyq&7N*9%SS1c&84GLD#l;974kZGB~((P`uJB9E7##ity zjQ&u<4)*fUgoak?jDU5 z?s&(--`%fq+u5ynwQSLL_p99JE<=~o;6c+mo+)ft1(mSh#DL1yR~3%!5aJ>#fk6!E z7&bA2(JOpQCxH|-qUkk=^nG+nOpIfKVYtStBJa5sERK!O%k*#oI=$Ec|U=c4#L?rjboUnUAea!98?m}s9&J< z1dWWw_~K8nZ!}@ZP_I4%?MSF6L~|9IMvQ=fkskkCrT?b&l~!TAdb5-S9fVA%hZ12H zB1~rzdb%~pAV4QIs=x@eMTvAuH=9J_WpDRtdi)ffo2u_yj(Z$m&bg=U``7CmfNhivgb>ydNgxW1A>HBEylio&T|RDhgy}PA z8`6>f7DKqST-SECKD+lH#%2r#1GJrWqM;VUAc6N~`=U_iR!* zI5HU4kxd|n{2#^I%@v_Y$nBAC?l7oDy5$p3I)2Uf1h*>&Mlq&iJb?*JG7SHd!w~H% z1W}ZJI08RJAf0w)xvpcHVWGqOyvZG(J1v?`Zn=HoHQF|pR>O4d^0C(v9z$f;Z3$&U zI-=UMo5DNgO^bFSl<6?!OK1OSFeGa}H!qKPH^|qq@YiZk41-Z~d!8xwq@pwe%{65S zMNHAls1^blf=1&Et)^(Ei$`?j1?-Umh60W17ziUyz*&k_>Nz6RfkGDgekNXB%3|R5 z4)IK~`T#AHsy<<8^%*0IB^0nsL#J3HlukW{6!GOSKv$k5#zD-{DSenv 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/OrderCase.class b/online-compiler/java_files/jawabantandabacalower_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..c332c33faa7e3d1ab4c5c1da984297548ec1e189 GIT binary patch literal 1248 zcmaJ>-A)rh6#k|^yQM5G6bdN{qVm&%QWZs|NR=wFNfBZRCVGL>b^;6A-F0^hlHhyj zwHI7?r5BKJ;RE;-CccF+;+d9c3&crg&Yaov^L^*c?6==XUjby13&RJ$ihzb76o$@C zzRlAHH`mikrA<-x7?fGv)V(xL0Vy9!N12O=%LMbFXAb%xLe zcQu~X zLB&N40~l;gz3Y0SO8KlBfsZ%B=~jA~5P5`4@M

      ;|#;_zrN|_wzVbF4Ze-iF7UEvIlBz+n;U#$*a-TR3SkI$xL{dZH9K>bP}50^ zYm7iFiS*>8@g@N)g3BZt~WEp7__`;QXdTNy24eF zWf(cb^gIG89x)95-;^$XgDsUXMGsL9AL#l(p>=|^0g{YlaQqPLGi?~I(JDU!etHJi zF-d!A`h#?Z$(z{4#tDhaYXvjlp{e?W*v;=_YvtqoP^qgzWf&?l1I1%9N?;i=&M5ZEE;M1`1NaU;gj?d@nQ0T4lsJpI_niBk@BDxNbM_6u3p_QDKvIWhB83r#i9>$G z%MSNi<+qJPVJU`@XSQdnO@?HlxR*wn0a>y&Ok9J>Fyr#Js7lY`>Yc3)=oTpMseoa* zP`hBOE8q57mEy1}3kG8p8BFMyG>JPG3!~l(lyJ$r>{2jOeS2G$cZg3BtKe?Mz!au+ z%$T@=S%zHXHjZIPbwUfGxGJnY9k&=(5BV`~Q1sku(rIx=9t(fJ<#OBEx1?LH3rl*< z9oy%w-DJ?JvMCrcHQN(!x^6@GyS(9$Mk5Q4VY={sIN#zP!&qH$tG&%T5njjLc*;?& zs48{Y^)0bwhm_fv@3k;RGI}Yc3Y5<~+d>`4W{?@deFFs)b*zL9Dlz0QnqYfJvMtK} zUi5pm#VsZM9>a&rWf=hbq_3zNjtKHKDcjvnWjLctnwa5kuOqI2U#>}i$YNtLpr~@k zsoP3a(pY6ku$45*;b}0KuRTxrRfh+G2z0D7EDhy&Rp>e%Gc5ccO7q^&6N|V>yAgf~ zno!yf`p=OxPbcjFQY&AvU*K>K9@d4UfZ0XJHx1g#-ydK4ZM}1=mC3L`1wCBFTS}To|AoL7K)~CpQL`NLPZ1bt1S! vs2sH4Namul<_RoKvUvw_MDkB-}%mE&i?*0`UT(>o|}juY9N+I90`W(1;6Aqhs*QY zht7rQYKFwVEp2_s5G_|uQb;0Yz)a%~(l_9(p|6EYC>4-Xp*be9Rqdl^OWo3*;BGxf zF&ERwAj`1q^1f&&+2#6^t$VccHJ92a-|}%~;y%uUd~JDNH<3f$z`ZmISYpV};b({s z!e}AIZGy^44h)M1RvF3{{EBxd9G7RLyWCM%!aF^8x$T^Gm0N4u1M!Ay&Jb&;Gr^E) z+ETm^+>Y?tyyK81MqtUXRQ^0K7K7PRf!7sBb_ibhN4Oj2O^ti4l=ij92k(ULsWU&5 zz@~|Z*fOvkcIXkq*7PoHd8zuMHfhDAX-B-Pl{aMgI$P^Ca6cqSP4b&Lc{|}{co^%5nSfSAmp9qZw4L`~I zv@4Njq~kk3!M@Rgp-3`32BJt|Z43#a5;3v^FSF);HgS+O4vTBOQg1I7CtWP{zO2#L z+lzmPQHYJO0Q|t+a1$S4dAynOZ_ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandabacalower_gmail_com/TipeData.java b/online-compiler/java_files/jawabantandabacalower_gmail_com/TipeData.java new file mode 100644 index 0000000..aba6407 --- /dev/null +++ b/online-compiler/java_files/jawabantandabacalower_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawabantandabacalower_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Angka.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..2ebbfaf0c6dd437dbe4748ee2618eafa30cffc75 GIT binary patch literal 502 zcmZvY%}&BV6ot?5S12H*2>u`jcHlxD0HRS7R;VO3Y+R5jOh}=flF~|iA74Nhnz--* zd?sVOQ{9*_i#vDjob%l~^ZEV$0pJ|RIub}~NEMJqhQV0y2i|qLoOf^Sg_wp6nZ6^P z@QfkZ?u>KDBBwzwAdkX7x%IdXg-0qsB2#r3gB-s*3LF_)VIa8I%VLM2VhNXfJZy3~ z<4remqjgJ%fwBg(fC_d=vc=4hUMUo@+rRL5N+LUQ-s_At)EGJozTq~Pp<=uKMg%mJ z@JKP4d)#p+Q{U@e$oY~pq^|s#U?>e8DQ+Uq7Qr32U8 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..7fc436c4257238e57fc7372a5daea9e6df17986c GIT binary patch literal 751 zcmZuuO=}ZT6g@99?@jYj)6z_>n)>}QX|&NU0#eb4K`5lH&a{ybp}eF+n3&9z=_EyP zQKTR)^(VM-tqTRw(zQRppWtthBGx<4Y=q9@-t*2o_ug~geE;)hAHY4_Od$cyfSv(| zV3_F2p)B>J-zlxOx^6pS5O+M^i|#ULR-tZSj3Lpiii&+e4FFMDQ<=beMIlkC?~cHe zgAr(`Oq$2L3MDavQwC0Fa0dDRraI5JBeze(f&tAoYs!xolpckiA30Iz%Kl;sXK~KJ z`3x@LBE!@%8V0@vL*dU`kS&B?6@I~a{Hd&+3578*V||Z{nGuR z8_JGLbq|6~O4*v{yDNi!%MI6Ls~2C8)@PWun*YqH$0BFcXR%Oc7TA8k+b@A%~>h&~r%J4W7fe?KJcepH=*%;-`q`Bi>Xz zRgpezJGB!_T3Of1+~mdmcPMCOVTz*37w9l;#lRG|+Dm&n+Y{{l(a$|j@rPyVuY%kB zBTmlnPneB;CzS66WC(LC(*~>L)}{@fA_Wg=Y}4J4@C)KzB8%6Uz#B}WKoxoDM_30p YFlXSp#%TNBNU}rZ52+i&yqZw@3*Qfw*8l(j literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.java new file mode 100644 index 0000000..23e5253 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Average.java @@ -0,0 +1,18 @@ +package jawabantandalowersteeming_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Bank.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..58e6a48b722096b96200e30ef78bfa5bd7e0a2f6 GIT binary patch literal 1096 zcmaKr-A)rh6vzJq+ugPl3(}UN7K%dIqEf%L)*#Xb!GIb|FvbfqZ71#0{b+V)A>4W4 zLl|Fz=!F_Cd;lNHc(!dq35~niojJ2-e&>JAoc;6n^f!R#C`K`YQ4LBAA*c)!2mFv1 zOl~&|Z)yjkE*aEkhHc1IhEYAgr>=dVeRM_X9@7wuVH}qj^aFmxYuuLHZgA5%60RqO zunfDo-?X@4?$;fwu+Hr^!&u9ZzTI4>hZ9||RJQUJ^~K8PPXSk5O9ulGK>|q)sTih_ zJ}0btOl*tvI6lcsZg(XcPT{R<*s>~J!L8C|B3y~#Dy}h1Tf8mGj$P;Sy&+pP^GK%j z7*hIHCEwfMO_?^6;!+f|nA4DrVIJ2RriKJy2z7#R6kopx$nP;IWv3w+;@gHTUi(%} zxVyY&(#m*M@_KuRclx$M^|1pjABTgYRmXShV#5eFM}iuz1cIm}>y9Hm>GIBwkS(X- z#Z}yj;x<+^6oTCEFf5#%r(qvDZBgju*ek~duS>^0X81CgMBlLo-J}CGg}1QnIBmaE zx+rmA<=n>I$!%BlE&_|THX;uv>N@3h%n0@72CU0eZYRjxAqzDX_mAvKK zPqU06wq@JGEt}l)gs0&l!{UX!hoz(8G133;N-f&Uoth!|S%Pa6bpBB3eS@qFjf}?7 z@=vgDG@-K7JNO*9hJ!zZ=7H-wT8+>+pH#jglsn1k3208c7|NwX^`e&6^rWIRej#!~ zP9t4RiXsua8&4zH1OZZ{WRX@$hel=&OMU)JXcPgMOCY`(UQJ-KsC>s%W+|;?hTn%?P!6jDeEtqT&oq?AjfLQxAysfrLt)h1arZhVRCO{@F> z-@s$JNIb&>NPXY~_yRtIFQ^zh5u|E_CGXD8o-;FNclPJm=??(+aa%_Wii)^_AtV?w zhx~|}Hg^xq=hZ_|lMIP<%eCYNgHkB&DNs@m6tK4^3SwKolNg4fB4uC%>2vH#Cy>G+ zlGmmf6WdW-%QIj2mMbgL7u+djsf1AjS&T7EIlL*#o?GMcr6n6=1(LfmAZ}r+*ri8h z5!Z4LN;)Pmsbb2&G-epa2E=C=YK7Ut5Ela!_f*U>tQ_)VUZqUjt#jKu7CzN297?f& z;Bd>{uX&F7$n%;N>G^^oUiRuVrME3tJZn2u;qUUQ9c~cXWtc3y9+ZnARgt{b+~KVr zUaxpe7bHv?FOALVbEAMtsssHABA|LjA0$)ct}rZ z2a~8^3a<$DhV(WlT8<*6kT}CMV{CL-AJs_bVwCC%uF|ZL-aP%wxJfIWtQDBJg_%E1 C#SNGM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/BookStore.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..07c707c --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawabantandalowersteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..0e0b6780c1b129889a50147168d390042435ccd7 GIT binary patch literal 1108 zcmaJ=-A)rh6#k~&?UuE)rBD!|QnhG{LPfOxlpkXakp$GF1TVb6=`w+(+nr{23gO;| z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*6_qc1W^N80y<(0=|g_R z%MN$<%WoQo!cq*eW!tsYDnqnb+8II|Lk7$Qt{`yVPC)aaZ{aSEApa!)X%Hf>kD?z9@h+vW|2EE=KRAe;C7 zxs-MohU7(uRPw~66!$i`KcI6 zCgyP0z`dZ{d4|Hj3%A`P*%ak&OS|n`=a!P*3B#w}rk?}5q_3zMj_?bcQZ_s7YJWjJ zmP?M?Cv7nR-dkt)308Y=?3|*;9j9(9K~Jho{bYHTk7JP`LJ|@it}DEn!+l@)1|BlZ z_EkA3c>@)O>;H$+Jaj9?4NTMQ1Yd-n4^0p4*GbFK$>`MQet>-?fnkRB;5QJ(5c1^O zg?=VIM%L%)*m875Th%JsHyD}W??}-(ojXMqAZ0rDp`w!|tDj;rwB%N@`szoGWwog< zXTO6ekuXXH!zAk=uMUG&944&{&Fc)3C?JJJnzkj3phDKCG;wPf!%gx^gPjpbH*ky5 hN0umNL+0DKLuZm=6e;tCaKDcSWHU)$!XrG!Js`!dUpcwsN8Zj1{5I>MDEcNQW;N6~tpQRBY zlK2DsQO4P8X^&uxU-ss9W}bQGnb}{zfBXcnf{Kn9;u`u4TtYv?aEpKDC5t=F(t4vM zb|gdplIfUonIWDp)HNg+rotf8Ev+3&QSm%}xE{#;K-Q!uxUEA&d;o(mGz=NIj3mQC ziy!a?cO-Xqx#b=R&zC~jrqkSR+T66ZcU-&ldXwr@oaRTqA$%%qxDix_nd(2wmIp9` zl!ml{QH-7Iq;^QvY-)f28OFLeZ#~oLkf!WGOcIBj|B}63_QdmlHT>2rB*=GELD78cxskBG+urRxaBh}b_9r$jKH>6uYB>Q zP^U&;xVwTOSv4K;Ca@dA+u#k0ZU#x-&HeTg(n#I~jx=piH+_@b6^EMR(sUgvpQ`p4 zu8BR@6J>@WkG77?Gk}puP-RaFk76{_@5ntI@v3ztr(SadZ%4c`6`Az;ZJt*Pgd8nd zjNV-gDfKSMN~w*bZy%U?fOI~lzbA;31xyr=!HTEQwvI7y1iknb!$%nZLM}!@Adonn z2Bj;wB;7tGkXQ&Z*8xeMBC}Qe2K^XUPcYp}R!<*DQ|c%d$x_vy(U+mz1(~Hk#Uw!h z<03F|7Upw1gbh literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..5073a0c --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandalowersteeming_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..98e06c81f131a7dfd2e531388e703762af883f3f GIT binary patch literal 1250 zcma)6*-{fh6g{0_CJe(C5*FElq9j3y3$8&S5Ed;;R3KH94^#)5I59JWvp}J*`a4!> ziKL{;5AfX&@Y#Q`yq%B*wJcwHy64_|?zyM$?XN#Se*rL!2P%B5yutP2=9Xn7AFflL^q#PJUaSd+QfpQN zF2nHhKNF{#(TR|PE)8KsPSvt{K=}+RfdCmIHJrz`Zl2Jl=oa*7=#`dMjF6U&aLLTjTX$~&EPJ2FsDcX`E@F&f{C|Wy z(Tt&qv@{vIW6vsN%J)dOLOK(4U}o*xQ0d8!w?T|kK^2-&({iKka}jm8A>`Fv)-Zu2 zL(sJiWkp=Fobj;Nj@Cl#OKlnG3~dG&qqUHG+% zJGiSLrC|#92+p$e$%01>kxV;|uw^sw@@D>}$BRx~!A87HCKJz+40F~t8EY6-Ffg`fjC7>B^pZrmGtwt2;WG(t88a7s;ib~Z;1t6$`kp$-zQ{?VT9VyN3-ceNX`!JLb506 z+XNDK_GrwH41MfxHkGbLm<8~ z$oL6J`!V`95+9)+p}&Noda!&RB!f0|Ax%4(eU`oqb2X4rI!Pu$0_grrbPsh^Z!J1g zj-IbY&&cP3{td7a&V>y!;)&92zmS zpK5>}=ssioE0S!&Oi2 zdvZ-Wf)k>K_AYco*U+P*7jcHGHU5O}a7%J)mz(wz;kZ(WhGA8Xg-d>QI|Rxww(>@=xh`BlLPNifBrcvwWbKfgH7I@pWVm>O^T08zR?KAGjX@nl z%2c;QCmP;j=s$KHI*4HymlSIw48!RY&@dCZOescDjp<0?G7;$tNyiLBr|Ka<(vIY( zpZ-8~LFD$3`T#LZAgv*zV-iyg>Hou{qL87xYDmwj6zJjPJ6$X;Wr~sfwff^9|NQCi zD6$L#Wp0)|lS`4ZY?+c(k#c!M#BdcKYWPUUHC#W#WYP9^Ou?WXaMKg3d&FkCmE=IUTo=Cr7qZ$<{n-f^6P( zg`;|a`@)^a9yi@n;(TA!ZPY)xVzH=bp1{10BJMDBP(xXiTzV@MSW7umN)V}cbu40u zVX(pLV&1mOTs|^nl_ZxMRFb3rq}8&H;xmSLP+_03fGrL8blk@(LsZ&Ce`;cL#)db;OLIDTUmwSCDQ=$~-?Oh@>zG7J7zSr0h&N}xC(@ib5u}|J;4yi34 zdX_XAqGY%R9p^2oGM5IW$&gq%WxF8uY)9l6dK{WO5|05cgp~4oQaGg3ZMfvNQs)jQ zmis~)YHUd%wq|=ySu7Z;Qxa!}dRom985L|>y3*nM_k^t4yKX#!Z)4!t(NI>k*<~2_ zN6sh5unz3H$Oaq+FR?(Hor&e)P8ID7tTgf9G}=+Z0xl7Q xBb4eW#^^48hZvp070i%yoWT}pwc{ZAiL*FQ6uuYFZg;p_=s;I%l@V|gO>xcjV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..75402a4 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawabantandalowersteeming_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawabantandalowersteeming_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c39d4d425a889356e0808b428e145f41cdb78466 GIT binary patch literal 1233 zcma)6ZBG+H5Pr5rt{lf(c_}C_hk~|6D59cR1dGuRrV(SI3GoBj(xqJ6yTiM!q(4g| zLL~7A_@j)oS7^^*j9>P4cV?b>X6D)Z`Rn@+0Gr6^h#;z=%fJnEGYnSwC!VQur;^z& zRmFj1=w7!ROKvbklc}PH7{gTHWVxBGrW85P^aQtcXo&Wp7lwvD1N|6a zSgrCCUgD1APMO!;6XE$%2-|Wh`xTp8_5B0a&b-;BJX@|?D@fN9JHn^rh8sd=n92V$ zb+!jXh-(-&FoMxPswp%nqfJE+Aj4=I=bdLcm&7T$7YPI7D%5a877aHUhObhG3_2z- zsaiM1Fp+G7hTD-%6?I}YW5C2Lb<-D;%nail_Yh#uk$X*T@GTv?uvVSx&6m0>!r zH06;neQpai+(iRR$S}mD+rniSNv5u6)A0Z+8Xg*WgvT@t*Q;cz4VrN#=ljA_)8)bD z)yD>}`wVNBEeTT&!L|gMy?&D_QrR!vvS1j zpzWQZ=M;MS3kFXy_L)qKoIoH^S`7;CBe;ILeM%sa0A%43WZ(i5d+D#x&v5G;)16@T zQ&0^0F^o0ZsqD|_%aCn@%+X0Pi4nlqU!oJFl<{`-dJz4*9lb^rRE|-0j@$8MKAv7s iM84tvIhH#_;=~`Aq;-nmrs-9iZODxPa+B5wUi=0USth^$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..125c4ae --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandalowersteeming_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..991c6475d246d6687a1e2ac9f4e15a445402c6fb GIT binary patch literal 1239 zcma)6YflqF6g|@-Tei!qJPOKV5!AK_M<8R|6MUEJMD_*ohe zB8fl1A7#AL!gdYDm`!Hy&fI(Mx%ZygpTEBU0I-R?jtHU}+6>%5J3~*Ef8yC1w=3D5 zQdN|FhW2%7OMinQno1Wn#27{!PSVM4o%tf~y8LXX?w{2CUEdYl(xD;RfjA5eod&wl z&9GeMr@X{%pW8>g=9~)G^M$aaT{)~+T-FZDj+K4APkFXw$+3C4Ecb**$qgrj%rIW~ zXX;!BdXdo3XP_Sge^j%3Mj0(Cf&du?0-U$5w6BR%bR0zi7rVO(i!AF>S{; z{SU(QxFythXAI0D%MkOOCNe{RDt$Yjj(IF-STyhiOEeD0tz@fpnsPSpdBRomxqg-qmei zTB0aDNymAcisQa?Y)YRfv>0xQW5*RahEA81NahVdZ^$Ws>Au47LFOy;3*5WJSSwil z8We*r^kJ1Om3@ug47mVgioO(+7y%6aB|1rJ849A;8_~~#=vAViatyFb+)tzmiOjSj h@(qtKG1nrJApXDzt)m1tMt9o`AU7J2o3uvo{5QIsB{Kj3 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..139d2dd --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabantandalowersteeming_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f712a2249cf179b7792c6e380f68d2aa817238e6 GIT binary patch literal 2025 zcma)7+fo}x5Iw_1D=o`S$RJ_^vI~r)U@KQUShl&z7_e+?19AvS$RGw-wAxknf{Wxa z@i!!2;i{x!qq3{=0r`tO+h34}RC;!0u@sam4_eJmcc1P)b9(l#e_#CxU96hV@j~jw?h}H+MI8t6VoW%T_hFv_^S~ zv{&IaH&=y2$u%p4%rH`XZ|Zyuy@)I5(~!Wq6Wy#FQpPGZL4XYBnm7+_-E0(2(H$7j zkd&dC6|yM!fT8bQ>X1RjATCJih8PCZP0%nM`AkWrszx-VaFN(_giB_I z;?DOTH=JYY{9GhDl1#o(C`h8mFr#5s($!lLhHj9lNkL?K?Vm=%G0bbYiv@-@lAp=Y zpWX=7-@we2;xr^n8t$RUFi_`c+3!WtsoOaB7FvcBxY5zvc@pkkW0AdP|9Ff^QU(*CF*g`+9uMwi3#z*t8NK< zmHP+SL1J911!GGBe(ag9UKJ(X(aAhxk{YiXF=qc~Y27GfK;M0KFln znH^WyWbyrWihWyMGc(31Fp)kBUQ{=mg~4SuiY2!p0(|CM^IL= z4WVF1p3pACs6U}TL%MljRYWeJH#oF;UZ!FX8Ga2@*>DU%7wCF2gfm*Stcq6)vl#$| zcTNPZ9@a$I*l^!C<2*uJ4Tw2z7%RFf@=@pvnW7xTrf5^QQcS(qkn+iGnu|r#6!x4U z$HP%zFpQm|;H=IRkmQHo?@CuyKm#t)wb(*~(1N(U&1n^vcO?C{fyvJXJxla<9j&wi z2C_$B+1F6kj}UtSHTyeyUZDRsGBG@%XBRmF8ijWfTo>(rNgypg$cGJ(?$;Px&;9}R z22ELlMp`mjzbnf)vJXV_?hjMAH|BuW7NXG9OsCo0*D{@RcJrWySUSykHG zNZ?XWR~@4Z31pYz6PfWkuD--)34Bq2e)|q!1348TgcWpY=td92P?aBZy~eGIzFn${ zvdhr3W>|*1&Ja$fiV7kO@kWp#_075~a<1VF3i>q+V31+0 z%1?NSTQ0W_cuk%N+i`_34Xd(WF}YFOFH2K@y-RiSUim|P%QzMVQI^)hj&O*ACIk2k zGx>iK$o66wQ3Wv#BN+Xyr$U|Tn$!vbGK{uy-r9!MqEFd<7}qf2r)o0bQE-DHc3C>$ zP%()qU%)uSWU>t!6eXJ~s>EtWLjtp;sUuu+GfZ^C1AvX_+n7^uN5fs*W61oEfLF9* z=pt<`hOy-PCaK0;X-cF!m53lk;=FPac`1()mUI&iH$?>V4Bd-MndKFKk`FX2Kxc@! zvYE&*l1yEPQ?ZC81sM&?SRq(xSM;h!1J!emBW!<&ykWfj=<%Avu-fW8$SDBZ+`jDf zn^ckddLa)4!(iU9#2e2n344c^YIM^_y6zq|_mF1s&a+&@6h*@^$epvONA4QZqVmyv zhvB9;l(xt+^xL#G=NLlN|6It5`s+u}F3>E{L+2xUdyFtyzR5^pTPiPSS8D^{*;~!**3@= zz4=Tc1Tgl8>~Y$hiFWo{Bl}r9JJX^NW9PUPO-9o`jjy)F75-;pQRBY zlK2DsQO4PAY1d$kU+&J{nK^Uj%-o;9zW)HQiGqp0;_Nh+Mt9)#1%Tuu@94f9^A!LR-#ebI0 z_hJYM1xXFV82O`{-3C=Os0jjO7-{3Yv!&T0PT6s!G>rMFnicXWxW$mXE*)~H7{`P! z-6X?!rVSdFBcCm)#OjWQG^R;SN4Vr>80&hk)9^Q zXy!wcPB2TF3~5c^F=R=W*G{@^)wt(@mTd-9KsW9!=rBXS&i5CFw|V7fkAryV5eLe4^N4xFwD) zTjUw~Y+5ujuK|WaL4{*i*c20&PDtUwP=vpw6rk=}o?Q{!(kGOY^I=n{`RG@3n3P!E$tW~vRg5rA#d8NrL+ DW{w+f literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..59bbaed --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + jawabantandalowersteeming_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c6efdffc0c5f7e820a73f340e06c3c3a31b35e66 GIT binary patch literal 1221 zcma)6VNVl55PjPsSB`^13x%pcQPj3nsv;^D!D1xF5HPkhA;gevS;{rNyLz{k@Ut`` zL=u01Kgu}Umi7$B_+@W*XXeeDH?#Ni*Y_U)){xf`Ku|-Ufotez7^(43JX_~>HM?D| ziHcw#2cwA;dvZc$C|4e83DdoBzz5 z8^9Q4IvhFy6&^=bCnhH$@L(!oZ{oH5{Ks!*zz}Won;6M;tem za#IZPWEa%0MlMy-iPemO1ZGK0Pe?K|O!nM;fGzLanA32_z+K#9$o!9Tm!dKBk(xF` zEVHC8(2V=AtaqPBEwiRbv2KUhj^r6(ZFLYQ5PJynyoddx7obs30Jk1w>Gao zHhJA+Sng=yC+mZ44`S}>O{zo%zj6))LwM7)#a7cQ3%AJ2b-EcOrFRA zh$Q|1f0S{yEyo#*@yp)s&df8U})$y(1(78 z(y^KzYTdPwAhMtdBoF?+r(O-qza&m?ofri!^V z9h=g}cdi+3i4(^ad4^t>W{t&oO?1yVt?$m!KH*A%Rue zsqAa?Wyl90Gjvi+VgxYqm*^zT%xDn3-im$^L@#zIB-jP+#nbVuqVWxnFYx4=M!SY_ Ts$qi2Oa@>ZEwD{mBY626hb$#a literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..605f275 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + jawabantandalowersteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c9d697568eb9c7b5d7a576b783264c55a7d68066 GIT binary patch literal 1211 zcma)6ZBG+H5Pr6;TsaO}THXo*MN!+LRKYhaf`w?*5HTQ4h#$z7F7=w;9p3Fp`m;15 zL=u01Kgu|JE#(Zx_+@W*XXcq_o|(O$zrOzfu!^#d2%;Kd2CkroA=%)cc(KXtdU3Pb z5c`s$XW6t(xxx_5Euw=*w;C3U2Ap5bZ@D3=RDT29RJ_ zXz(Lm<+kK@jW?Ym;d)XC%e3ozb&H$Ly?w_jzTTlcn{G|G?}SH*4JU-kFun25w547Q zBBdd1UqdU&pM58wPIT7DN7jWD68yh>?yq!$|IZ zn@Z3_>Ii8}z;WamCQOoH-SK30-LY$?G#xu@J2LBWOT;lpn!PmZAF>tR^hNd+`Oc_b z-Z3zbB12p{Z8(OZT>f$r9rv)HVbQ>SJRmH`trr_UwX|6FJmIQ_@?i7)qtBZj!%|0u zFw+ohd;Ut7Z}JtYcHOB7hQx+xi#NVirJ3Q?Cf)Rr#yf}YNu<7P`L;AIQ87J}%w?O( z<*IHwo&yYqoXQ7Mxa4D4tu5jCP1zpPWXMI`kcYnQ`0l=V zVJb%HKj(U0jS^;P+#>V>BS@(iLc5fjJ^IGL)KjGOA)Ou}N;_b*Z~|61gSLBu-ec&6 zFGwC^rN9<5dKb!Y`ZKJ%3W?nQQJkSc!wfbjQ%i<5DQI+Kgel&sHf@f;_g<$V`)T) zBtC!-Wt_7u?GlJFX=i88%zX3B{huh zDn3K+nzW_A&Jay!N*ZDeGl7$IvYW@g$h$5--fH@XO~2^7f?GN?MC0g#p`qWv01^zV zb$-Ol-1fO$vJ2=~}wAjh1Mk~d&~V4VUEE_>{-5?;>KsE4 z_0?t=OMh%p3T8?ZqMlQN7%~harf#ZV@NWrIk71GOY_U(-j-T>BiIm4Jq2~I)z!I_y zG2dxH5lA|7HGz(0Jks#kz!N;B88~h&TW`{Mvw6=Gt{N&2lsBK7yx}pdv^x=I8G>!? zV(#imrbLy#cB+CQQINKH-?YlY-Qnd1o%B(kcMn@zNwfLTw0&ublJq2*^EMU7ed*Yg zK3V88+!P0nD{>6|F0CJ_7XU*cr~H90T=I!auf3~OWyr2Jm&|(6X}T5hRw_DE*Dv^z z+9}M_-bLt2MvzojhP0$wLVEUqsk=$?8NEG6lr&)6JOwk)q3xX_egfV6hQSkzeI*kk zClE-Kq(R~R1UEpZF9;+OfGoB_66cuQGrvPW#nc&QyTR(Kpco8b7%QZy?5p%-$aO## z=uI(+5y03r(c`o)6P@U_Ao^t|dW9&c9HZbrZcoqN4adA6*Ec)=y#5FsMCqTI z3q2S>Lc^eeAq@Xf%;qsAw5bLHWEgJay!9;Sf;UC?V#L6x3N_r2MZ*n-!OPSkgN_t# zDdol(Qt38mSdBuatP`sV112U(OkYScGmLiJLx4^1JDAdN*T6m8XPEgP8 zhGhDEi%qkW)E82kuw%$D%$D7HU<4Y^j9Ch}Z#INy2Zx+HZQDXVAHy^i z-zv#;TxrS=!t}W*B!mM1i5tqnV`bCBQ()sdylTM?Sjccbd^3 za!~WE?3-@j?TJ^G;*-2G@v~~kFiC?Lq30PvLOmbaCDc^Xw+l?YQ(7O<=`o_T14go^ zVA*qMJE!P5fu8+>{u3lWlZlZN2qa3YLE#E6PPb18B+>+#z5t1zBej$L3jGu}&oJHz zR(}X!kV1#BL_3xJDSa6VZICHCDJC%jNd6^ylx8K>j$Up?ue76=h=R&7%+7E-kuD{& j(~8J9%$#AaLnJ}`fiYUg32uVuOtv9cn~-a?M)2%6ke?}S literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..4cbf1c6 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabantandalowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabantandalowersteeming_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..abf6d780df3a3512b2fc03997508e46e0a4f99e9 GIT binary patch literal 1205 zcmaJ=+fEZv6kP|}4jqPjxyq&7N(Y5{S1c;A4GLD#l;DF8)oc4YR07`wa{z#=e@cEt?P*R!IzE zNW-v!5sY5ZTs|Rh4oUSIqmK4C~1_Yq3p+2Tnu{IYxq^MZYksLixe#@VU(H| zo+kt8^ZFYh54^pgCxM)f+qk3QuFAnZhPlgQ7jx=n-d~+otiUPOovL!{n0}mL?617qKBK-8z zG}B*4eRK7i!PszJ;TLQk1R~Jzm|^}}3R*>`;R(a!|4pf+VHz+^Wo|ovDsfOtAVKp2 zohN8zw8j^If_OOoL+YuNH&?=imLoI?~0`JTAWvI+h3R`UNoh($ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Order.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Order.java new file mode 100644 index 0000000..5856840 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/Order.java @@ -0,0 +1,15 @@ +package jawabantandalowersteeming_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..26d3beaf54b78fbbee65f3da04fd8e3d67009361 GIT binary patch literal 1252 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$DRne*xtx_d60U?%Pq7OK2C$Mz8yY6m568s;n%z=>sG@_yhbECjJX!#4|0?7KoF~oH?`S@_pyb?6==XUjby13&RJ$ihzb76o$?% zzRgnxH#btt#Vt|t7?e5P)V&7`{zP&ugb;)JRs0pRmx}82z;y&PPbAkgvcXYf>$%$6l7S#Wn5wCukwn>S!RiQFLaN< zny$x9ua4z$vI$LtQzncNjH(#ZFpdO6PaSS+e1@Pcvz?-I5+J#zVuE36i|_CvW#VR; z8`h3+2)C$G+159zTsPKBRyDQkl!cSyF4Zs4C}VU{H^sABwJ4lbUNqzfvNjp|60gpJ zO|CI?6g*z4EOEPTui^%QKF5?HT(D|RNi66xYUFR~X~~dEJa1W^>p9$B65gg&cB2Z? zVcfx8758Kz)POx>@vJ>Zt{s?Bj{5qh9TUMMa!zx?95q0 zO(!jmtGl*1$Gn+m<34AaTY3^A#|@*Pdmb6aN7%o|^H#^K2w7h9j9}Mog z!c~!F7(K)EJOU~nF%13RlrDdREtN1yk5LXE=n6rhb&|9}l8j_<;t=dJZ5Xc6DnA2$ zdJ0pRroA-%LApZnUAMY8IUDe$gYm!t+CI?{b&3Li{CT)Xav(M{zCv;$9_Wr9pz8zr z{ORC6I!RaSx)MkSV?pUSD*b565vM7$4n^|&i1Z>xLhVI={tM!XBU}Owa8*L|)gg`% zI0;mOe2sP#p+O)59Z?wQf=#b~4>6?3DgpJF7DdH%mHrH%g)&98fq-&M0q7qk&;4ZS c$IW_%8QdZnB0#rkW^kXhFzp`TA?6YP1IkA%DF6Tf literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..2a744bf --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawabantandalowersteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..2dffc658d1218c44f69bb1900cd74acd516d2959 GIT binary patch literal 1054 zcmaJ=%}x_h6#i~I?UZq#r3i=uiWcmTQUP^S#l$8=lcFRgxNt#kr#CR|%-m+?7ScTr z;hu$SU1-9>2k;$y2)D$)Gt(x}lsJn!_niBk@BDxNbM_6u3p_OtLtKYuB7r1Brp1qV z+2P(n`E8>mEX9y~W_z~UWQgYrdnu$CkR@Bg#5I@-lenjb!l?HGC0z0@yA;fH-`6Yul zl3sJi_PJ{}8MLZw3Wjve_Qad6+YtUPZ#bmU$iico$-f`Xxv%mT;5y zBm81CrL-Y*&Xcr2f7$~iieJG#(S?x;(K8Uo7#4AR06ig7jovo0dQE#ipE^ZO+gzAG zMW%E{K-5m+?Bm~`B#ehbjD#PbF;V)0>mhM0B3=oR4A7n+MWe2h8w1OvE5XD% y5!@lv6tv$+=vZREXrs?Dc}|aU+>6L^1P3OFc7@`55S^=dL^^}yHEiGs=KcZ3R|@O^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.java b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..0832d06 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package jawabantandalowersteeming_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/jawabantandalowersteeming_gmail_com/TipeData.class b/online-compiler/java_files/jawabantandalowersteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..aaf6cdb805b57924a4ec96895e931c1db4725d47 GIT binary patch literal 999 zcmaJ=TW=CU6#jdy-BItN);*=eQBb!H4)R;1TP6qeej_UFoA{L8L~UuhJWJU z&<9QW;1BRe8P7sZX-eG9oHOUlcdm2h_n*sO0AAs_i3p+wVrj&YV8{;mIj=cf_G%y6 z1JTh8iG5qz`j8=7uAHWjM9P4f#vP<@z*}Qq3ztwTAfu(`#F4FPA3a;@mi7d9>p6Efshjab$_VeZtt*Gg$$dwldx=)UUu ziwSI*c!-jL?XXLa7)saoVaszh6t!tPrj0w|9j&}E!`In*uYgmhZ>d5@_@$;&!(ddu zo#u?@hT+M0B<8?p3!P3#efF}hTr{}jv}`TvNt79Kr^*RjVYR8%L+ij|RV#@dhSg@k zeQP8J2X{4v!z$R8{{KGFoqd^aV z=zWrk#2NAU&QGv!v|%U^4Ud5+QdplrLa0QH^uWukxt~oOWR1hZdcWA;i^Yi-iv2I^ zwEBDT?=Y5Pm&gD=a5ogIUEZE2=fP5u6uG_}z#0#eb4K`5kFXWB@JP+rm@Ow7!L$s|Q^ zQ6wNP^(VM-tqTRw(zQRppWtthBGx<4Y=q9@-ZST&`|de2-~W8s2XGfRQb<72p=Q9L zF-&*FP!zkuZx=V39j6sBXt!P8jqWfgX1=Clf+5kUXl3hwE&#OhrtAc^$`Wbi+TIvE zIT(Yw?4)_TCs7jfIHlus24|4_Z>#;hA2}W^3kI~?s7gO>P<#}+eq=|XBfQlV&f=Vo z^BG*gMTXg9Gz`2KPcW!vCANK;VW}f_MN{~Z@OMNv*mc5w6!d7F<88M+;dZxMfmggY zbVAW~Xz+fpLv5<+`p(0F*L1>7(d@o#(AxraMx8Hy2KzvO z;VRYm7*LSJHJF5B=`Tz`r~X#^2EDFmU#Vn~wCZXWX{*k&n6&J=I_9S&KO^~B;`x|2 zBu`VMPg{2N#F|o4l@d32VgDWSN=Y-cg27klWzLL&q1|k)jZ`+$*!!cOBTn^)X{fJ) zTl^zV&ht-Lh4RUKyf~QEqMH+oN8xnp&+)GU1HKy?fGsx3K4(buM az;!I@SW+0J|BWO&MDCDoV_23Oihltc-Iibg literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Average.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Average.java new file mode 100644 index 0000000..b8501f4 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Average.java @@ -0,0 +1,18 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..a385b2924f4ed2efa9eae7ea40d517c7b726eba6 GIT binary patch literal 1097 zcmaKr-%b-j6vn@SZMQAOg0!Wmg`!YeRO)}NHHfr9FrdZ~jPZg@+ey20ccdJE z4`F->q8Dno@Bw@%2CnfQH)>&qdK%G0thlp9PmS4 zFuC0b;>_G;>L( zav74jtxCSPzne2{Htc38f?3Sz$V4%Z>kLyv0x$$RemIJsy9mhdF=%Dk5Dc+x!xpbS zt0tUXUNdQBysCJ;y~8_wTci5ezLt-}L6NHToVwUB{LNv%hAX}xD#^N(%2f{U>yvcMbW!2+e)hceEO&aXz7aMId{U&BdY1b}^7m1?ojTrRNfw*7$|+ z2|0~)F-eL<>~1`rU=svLl9EMQB^^4MSuFMWFQHQeU@nf>W@t5z$)ffhQ|YCYmL}>c wW`G|^pNZ_zW6+2j#3aTrMa`cea;~c&k7XJ|guhA8UEC)tLbC^WgeRE!2jiIpJpcdz literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.java new file mode 100644 index 0000000..8a03822 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/BookStore.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..4237337e3ace2b8ca2ec27438136beb6e9694d34 GIT binary patch literal 1112 zcmaJ=?M@Rx6g|@|-FDg1QoiNGqD5O27ESa|5kH!s7*LZEjM0Ql+X-E|U)h~P`T{H2~pUU3^VWwuR6JZsxE;qUUA6>bpPVVEqw9#o7WU6s7v+TmUg zuT|Z)Ul*HZNFMoHfdn0KI!aoQf%LhzBV^NU1epYuG+e`V6~*w(N(_a6mt{IfZc7;5 z!|5L5Ca;s?4#T^C_dQ@Y=@T+-iJ-7e_S#= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..52ca39063851fa48dfca5824b15b168bfd704ec6 GIT binary patch literal 1109 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkXakp$GF1TVb6=`w+(+nr{23gO;| z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*6_qc1W^N80y<(0=|g_R z%MN$<%WoQo!cq*eW!tsYDnqnb+8II|Lk7$Qt{`yVPC)aaZ{a3UvBseI+}_Lfiwa?el2 zP%<%(I|l9s_176iq>h1bDuuJ-iy5R`FuqkD;)2{Xx z)ML5ixP8(V1K_=NcHdyN_sY&GYTR+^wi5KF%G6JmXZbi586qShvEjPHt2x~Fg>T>? z!(3mLgOWE;VVL~-a+JoOf6hp|9 zYZv;N^cY#6r(?^}6>U|kXy0IDhQA|4=XCBAS%8%3+=q%zmaKk?$eF=~77?Xbim<|q| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.java new file mode 100644 index 0000000..ae2a80f --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1394613a28c0251481823965a2cc2b97da996274 GIT binary patch literal 1209 zcma)5ZBG+H5Pr5rt{jJjmba=vtEg>Js^S|KfnxN7X~bA)Li|9su+*#ff_HloewIdr zNa7FhM;T|Yr9FZ%e%YJbnR(`!XJ&u>{_zvQ3Mx8ch->IGa0&ek!!7=qmn`lyOY4o6 z*pUqVOQvJWWrldZP}h)Pm@;d&tV16h-v;IzYb<(7LOJYTx|z7)dVZra?mws%~+^m>yDRh;HWz9D?7Y`76vhMDR=>y`&F zf|Q1|fl-W|Yo&HbrEKbe02#)*IBz}E>9D5kK};B!RH=p=@o2chkUlFNap=h4n$m5G zA(QWdMztsx>N>HSF_1-$r1XU(H^XEvJOUU--@vSfn+9&-Hbe2hbPFY8=p!K=hVlIS zHkWXUG!xTl5^@3sYNIABZgZJcbI4kO75KRX=E%`zopoH9l^;ab=eAITylY?{C5D7_ z+ei$f`NBnf9ry7-!-9c_ctqN}UbEB+Xq=^r?+Z^2lZVF3PXV`lhQ*EoQIZkZ_VSf4 z-W2N8=nHpOFeIy{Bi;mdLwFm!VbRSX>ASh#UPGG6yTFmAE$XIklDpzib6lFPL*-M| z9>X=U=X#>dFyztNk$DC%5(%p8N#Rk9X8Ikuha+CKujJHgZs6^RSEeG9KEKZMYJ-rY zEsN31iy@_623aY!a`f#3Q%{i2$Mp9Eak7Ak;xSn96x!A?29BT?zhd|Z<6p?dC#2M-Rh&~qzT?gb?)8YIh(9nz=QP315S?5X Mayf)tp)-cnKPbT+=Kufz literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..3668209 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandalowerstopsteem_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f19468a94c546e3075c48d1ddc9df4de24a98ff1 GIT binary patch literal 1252 zcma)6*-{fh6g{0_CJe(C5*FElq9g%{8*U&F2#XdaDv&D52dV>2oS2!3vp}J*`a4!> ziKL{;5AfX&@Y#Q`ypwfM%krhCd+xpGo_qS<{`&Lt7XWj3Aj1d0geC>&5Mb!Y^8=nN za6Ok?&*sIh%@CMTb=96_@Wyc!+@*YAVXiQ4(e57I-Ze<)v$snMo3Ic*koqtZMb^?%ib3;D&dlX%NS#r_%G$E zqA@g)m^wpu>{*3P`6lUJR6R%7f%(mEL!~D_-UcyF6;*gfb;FL@&qdVYns6`gih@Zb z8G^P^iDU@J;(y}FxQ6QzZYa2ksWWP)4JTU=3@t@&TB3G}R7*a?DIJ)5^XmJ`yYOon zcX3a`w1OGjCpg2*CG!q-L^5Sr!gRZVmp4l<9bT{+5_<8{>2y3pGAtTQ||tJ}|Hls62=+!f2JD^KM2hM#nM3?tNsKAKJ+Lhkg?F61^P zeVf4CF{O2uPPgHw9nh0F0ZW`h+CD+^G33MtbR47mJ((DdI0(c~t3u(e1lLA?=Ly7D z1{tq{w4b7HJMj_n3HnPIY6QCvgv+1}T}aW+&AvcihQ&I_D4kp;K?3OhOLPx)Rc}2y zU5;L=N6)(t2K^ggC0qz2wi-%|xlBG`qJ*nq+$!NtgHMRcAYWPs5yTMsX|QU%mdnU1 IwED363mxGpp8x;= literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..0c30569 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawabantandalowerstopsteem_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBankTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b1e0f709a50687a25ad1aba0f04d4cc8ffe0d27b GIT binary patch literal 1919 zcma)7-Bue_6#foBnGlAbhLj&IkXDogTtsVYh1Al7lmgOH3#1|{9>O7+WHOV^oS_T7 z@uF|wg+4{s(q&6lyOs~&J9yzsc;!=jHDJ=24HK z4ec5_baW!Z&|l>TJY#aJoLSqgijriA+%zmh-ePD^rHdM(45Pl1VQ2D(Qsf+mAFg?_ z;mLLB2u_F^+PlyVT||!> zM|p15HiS!#bvuO0FuwXmx7jXSKwQIsjsz~A$z=VIJk==y0%W*&g7d&JtX9xu-Hjm~ z!^%{*Lnj*EVi-7f9Xg0%1eX+TqYNXd6VNaf*>o{RQH|?J;xaMm3Q5Nd!>8&YK+=xn zW}f~)g+b)@u=)ToOd_Qrtz!z)4C((xq~egFyJASsD(C6pR+_l={AOHO6 z?kbhIt*gkt0X8Q_fU9>Vizp zb%mpvfcwIo#~wG`Q|5eM)Nh7W&K3#<#q%T0+E%y{lsh z%M3$xUK0zpRpRoIAuA-g)S{9c{U@!Kbrhd5^aUmM84K9ba8Jj5tT9BT9jG!SQej?N z04m|nRkjZqW?Nkl&LtFZFn`(CchW^lalzgrGW%8yOWgPByTaMveqp+)$2J?}jV6)$ z@}Xx*qb`buYtV7dqAGJ~P?`+!)l;_fV&8T|mZ8U?(IfE~;6g|#w=ac5I^Bj#Zp$_9 zaALVXq@m`P6k_YP=aj^vp*kggW~yh@Adyktwxuf_-nb`Z#olxKBKS52j$I8URhvDA z34i8%at!Ohu8B;*VNk9`UZOY;8Ga74*isBYm*}!Fg*&lo+cmEdCNcmD@0>B*IBbaU zVM~4coKl3gS`Z7|G}jF&vQf}IkgHpJD1Oj2B3b@c53Q#U`o*J*VF?IZz1 zQ%7J^ub^!mq3bzfQ@^7BIR<~BBZdun_mU!@lX(xp_0sMpfwcJ`(=Cv`R~Xrv`VFxo zyxqjusj>R!s0ey7fFeoC`y=`?d~pIYK`RwWlmG_Lu^yto%>Nvj=S(Yp;_;~V-$DT5t)1j@9EkyJqyCPw}R0 z#DQYyUAG)dZ7_rr$%2Lm!*t8YlIg9c5?R;f&FzM&H&kA^g4;SYg!|ABL&Jc9C`lFCO9JO;|62$o!vZBBJVi-Y`dY38)`>6g4cCuh;|?jLqn&5E_5?2 zRrx6|aZ7RQkk{-};ke2^c9jtIgG!yt+CkZ_XW#5mpeFk_QxH@G)fD8ix&O1k1*UZT~j--Jh&(*L)8Vz?D`ffsp6gq}6 z;?-`HVK^0lhU<|_7j9HGp>Y1Pzc%{hAJ%>{GOTsG$x%owIA=Vm6RWh+yC z6sF7T!fWso12f1n#FX7cX6R3)Z^zRyhj|SP2A*P(`e8ejY_&mc&gNZLI9`LfFTDQL z;5C_i(jnO9Q08vmq>GgJOZ!kTbQh#0-Zttb;q3BKjc(#p^S$Hdcv7FbynCaV2ew!Y2wXhMVHZc0`V$)1gr$@dltbWRyQr!XcZubp2}5=t{~nWZ}&* z8R$E9!zqg`=@Cla9(8K-3C9FYV1za^f`qp@Bqh9Yq<0&bx1w}Dqpu}INdl6Y3$V-; zwEYWooI}riLC-k`Ka+~Kj?OMJ1PpTTB)BfRT_%u-4>ElX(tU;D{mfVB7r1wcv6i#< zbMP2+p${u0dC^zt&5#Q~rs&IK5+i`Yzj!BUT80AeHQ)Pr;Jrc=ych%Q6896SLLxKm i5&4G4mzZr4Nf3Wvgw9cd8>8hm1ITqBa)ZtYUi=17ohC&9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..407acb5 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawabantandalowerstopsteem_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4b28d83ca293f51263854720e1c67263e6b6c97c GIT binary patch literal 2027 zcma)7+fv(B6kUglWeagL4wxo@lYwBnH13@eC*kH0AWldEIHk0u2Xg>nS#qT#GPI9v zzM=h!%(T-4PcqXF=wI|X`GP)lx+OVA3{0jEmXFTfd+oi~S^Ma(e_#FyU>Y?QEofEH zrlB1XhMog{$a4la_i`)S2cj$)A~$qXm$w*N)0vWjD8rENq+7YUBPnKWn;)&XvgXQF zX$xLep`bN}4rmHGHFTkyVe)`K;oIDl+}z=Y^+ec?v}%qNqPn$L<+`y|wyL@1bxKs! z&Ake@xw$4B%C1=t>^JitfOG zhNKs&Ss{yp_Za%#rVbfY4C0c<-4MfIx(OQQBcCa$RMm)v6fP5;j*w(#NS?Td0LeQt z6C18SeEoDp#Tc$C7}t?j+<{AC$jv&Auss=Y ze{uVJmmAIrcYZFC9cd>xF+*Mh+%1wV34saHiwcXTq(nxqCUb?TELUOYLKIk9WmB2NmlX-H}L7N9re zG`lN>O+FoZSc5$w4{yTBL0z?6yDS!TPf-JBF9Fj1AtzPLS(bF9&1?6B+_!d|?g+{% zb|4h&dMC8UFzSz}&ya2&S{0EC=nW2SftRV+BZgnYR5ly~&_%kS4B?CxEvw?z!fXaW z;hj@~YezK^Ha6Th&pD6KRs&+58^)?GMLr6hAyf1Qu_@Zr%@kAbHl%!do91H4G=)8H zc;n$HFc`+pP;g#n3P|$9?{=lTDxd+E>0WH1L1;nTyU%GA_by5LZv*o_9P}*F+ay|P z1q@`5!LqNQY#bx@9BTG=^gKuZZ)9S4OwTTI1T+foB)Bfx{gOahe317WAl z>M<_XF?FKItbTNVKa(p5)UdOc;_%wkp>bTx8&P=r@Fh8ZlCz49CJ?y~hxILb1e~BgF zdMti#Fy^)M0xNZ_p0tzoQ(Zy~L&U}~JyRGb$|rDz27i?9vN05Km0BEc7W^$0*NQEA aw%|K(`j1k(+w|MV0llfTs-OxBgZ}}B2MqK8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..0cd1f73 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = jawabantandalowerstopsteem_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = jawabantandalowerstopsteem_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + jawabantandalowerstopsteem_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d087d7aa0e011472c61c4aaeb0d88b47094d8561 GIT binary patch literal 1226 zcma)6YflqV5IwgAwk*r5<*5{kqP9g@d8t?)79)wK5o4hV@dLRnmu72sZ`}u^KT9J* zB=HCMql~j{X;)F>m%FofX3m_MIlJF~eEkMs3t1H*gcWpY=td92P=%jxy~?e!zFVw_ zlFQJuZdiu9$q-Ja3JM|&@kWp#_3gSVvbN3ZyPjL~+`MZGZmLia?nNIo1^pTZFvze` z;itUFEtgwIyedzH?YOe$xI&nRWs@7#!;&=hSNl{b=at^qcZ?H}7bR&O?FolCXfjZM zVJ7!a2AN(ABdQ>#VFaVUG?lMYQImQhK!(va&KujXTKp-y591mp{8UW_JPK|w#I8yQ z94aO;SxZ>bO*q^X5zI4mFD@;wtoplrpkVN=c?MJy>;*06$Af|YhzuXwakJ?l8a_P59z#)}UguR08Ct=5B_0ndvsz MW&>=C&Jdpc1QGlu2mk;8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..831c400 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + jawabantandalowerstopsteem_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3a601988a307192791c92595ad102cfa65211b95 GIT binary patch literal 1202 zcma)5?M@R>5IwgAwrrOIEl^NCilVkfS@{yN2o@uWrV%61g!qHpmP@m>yIXhfLi$)5 z5h95X;6oW_+tRMV82{Xzy)$#>%$d1Ae|`S}U<-K_A%qq5Xy`>B!%&r@*Fzd4{n1+V~_%oP4v zJJ*k4#1$koj9~PScJ>-n&ZI5~kYTig^Ug7>Hgn33BB^2APu1*zN5L(I#C7R_L&XFp zeeI?gCej_ypdPtQQ6*M08d8`gIb9*i%`n~#4*)i!?_y5DJq`EqfMMakwCl*m&_jY+ z3}fjJEk4a@(rgT?Lg*1>NSD`cs$kpolx545%S{o%JVWo|((=lxKfgyB7N9dkq}@tn z7)fVt!l_uql7eLoD_A91+o|YPkEW>ST~|2%{CLxN^~vKkmtno#bdXa3wzYG)n>U#v z_4U#|77T+0!xC>jvm~5-UaHYelq5Z?Cc=cqeHM?D| ziHch=!x=Ym<`bbWj zA(q^0(`ogRI%C>Z0uLd@aJ}d>%u2#`WWwW?2w{#PvA5lzK09_MQ52P%4&lWEn!zX(KX>CR11Q=y-@n8Ws&a#uI9T<5sh^CN(#k_dMaMzVg=Q z^~WZ!dko7RG5lnGu~*FyeE{A4=hpk8XNB<%fL^YI>Eu z;56Ne*f15J*p>NSP$PvI8oL0!#sDJfwa_l2W{|#pVCq@Yxr8*z0R$wzFV$| zie%_rH!MSLFhn!il7bk+bj!%F^{u891;^pdT~9VVS(J|8rV0hoKJ-IVFrXohL57tY zKjUR?Np2nUx_u@bSK19%3Sk~qO>WeWDz>S=J)l6l&arT|xhwXCOVKqu1kEtB^Uv7% zJ`5wFAgN&lqkp7RY*ILrvLHZ)(E#VYV^|&LyhH>9jvqKsMw;7Vxp+gE46PWUA zH_b4S2|&a3$Y)C`v6|74#w?Z76_V5p<6ZL*V9WX*<`mr5@Bj}P7XGVtLD?93sGt_Z zSmr~UPpg~M8^fv+dJI`gzxdH;H0WX5c4gYKW!mMYh+&?xyjG~tA!i4)rqd4>UphL6N+fZ>o);Y13DY=+HdQ1m_FdUZ-|C}ii)FPW)D+jA=7 zjp5Tu-5hah?IEh*ai{C-{}g-%aU`)y zk{^AIz6|*QWR7k=lNbSv{lz;)Gcz7|ueZEk2Hr~@3Q2Z}yNOI9=hOIxN0)fgrP0n| Ul5&_LGSdOrMhk3{&In%p1`aDGT>t<8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..4ef1bd0 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + jawabantandalowerstopsteem_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a35bc33cbbd4182077fe9870e31f36dac7ca747a GIT binary patch literal 1213 zcma)6ZBG+H5Pr6;TsaO}THXo*MN!+LRK+(ef`w?*5HTQ4h#$z7F7=w;9p3Fp_*ohe zB8fl1A7z}qmi7q7_+@W*XXcq_o|(O0zkmD$u!6FV2%;Kd2CkroA=%)cd9lgudU2!L z5POoLXUVipxy%sF`8)yLF43&D}l6D!$pKL>q2RxbKBWnGGid%P_tE&%C8x z3?ii=ZD0t)7fRVWqEr@DK!6Ox9h`TrX}4KZbRR|yjHyt=30X9ZGo;T`hYUJ0xTmC9Oysu+c!wmyBaf_kwU%Ca7F~mqnn_(pP zp~WTWBK5?y>x3Lfo?*fy9o8IAX4f3MW=hksv$i9%9=Ajsb0pd;v;Hw#;Z0v;Uz6{Q z>gF8-^C&XJrPG3A7|P`@C(&^a_cbgScz}n5<+$}?!>67W%bq7()lnX7UVQR-(_>g{ z%MfN7f^AJ;>GDm!Le;K0HNlWrH*N9Ox2iNWyxOFjJ`#ERpf!usm`&f7rX?z-XOg*W zQ@LE#P3cqXU52Y--*H8Wq2Hz1qwP7sV92SwFNI4!hIOhUP6oZ!m(CdLy(;so|q<3`{*nS|8ErF`~2sMhhokg)?Y7C+Izf zUigaSF-E?SiIEcsBpR$S0!tuCw@(Np5`fILK@w-k>=eF1Kf%N)rnn+a literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..534cf6c --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + jawabantandalowerstopsteem_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..956f79d24aef7d5ef80172ba7071f1ad2b1200f8 GIT binary patch literal 1236 zcma)6ZBNrs6n^f8bSvepyvy5A)U7B}e8nL+jD9eS5C=<$AIRNynO)Wv+dBzAOCv%g z@dx;$jOTV^E0GwJ?e_GZbDr~@xBmM5<0pU(ijd$Hn>~MZk6kz zA{lzuY}c0S4DocPq#?mD8yeYOcJo+@yzlelt)@I|%A)iIcXVioC(#E(L%)Fm3^L^E z{D_yiE4f?c4evii+n}w{4$0c6CPt#K7<(@C@^X zf5y)xF$`0~h=EazT}r8VOd%c0ga8@FIyl?D?Y7yIcONDUOe$Byi)b`lXBfE%9Z~3* z!i=ilEW=c~0~)PKE>qHp)x3ce7O13wkfdgq?3zaaL+hJZ)NsqdZQNm4`LFt2Djh=) z71m`KPk(4}3cE@@vfUa*NFc*7YU!5xh5y!J=?N@RqAmI<*OMvvQKSOy2-Vqp29}X! zNJy^*MIh0>41|H!tHNo?1*?N=uo6QG-@KslND7^mErDPu6z(vW1TDWqo)nA%P{pU~S=#7P1stWz-S9NOL~k|)ruuNXSP_!m+! zG6I3b=`_f_pWp`Q_8Ec1LXf34$ly7q_N;HvPceOlxvsPNE+_^A7{Mw@D*AJJ(k^#E z7U@kfNf5yJ72XpxFOwbbwb1)T$9t71s2F4H3^&Yl!L*hXk?**BhWlM2Ch-Sm=$s|E SIojz|2XZ}x+@Ldtmwy0eStL^c literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..cfe3d43 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawabantandalowerstopsteem_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4fba7320c04f559d6eeaf02452588c4d54bcef8f GIT binary patch literal 1248 zcma)6YflqF6g|@-Tb9K_fkIVeQPj3PicnE34~vfvrV%61g!q9>VW?ZWyLER~!q3u( z5J~(2{wU*}7TPr!brZcoqN4aL|axvyx@{=37^OfH-yYEUiv3> zp$7v$_M%9d}Dx#&=GTw1O}^odeO;kr0*JyBrj^Jpk(dkHWQaw;B3;gOGS`JHC; zhaA*EEBmG!czfcNrSv4PjQp&cGEC4UM(BY?kWdeZb_q3>^z8yuFO}9sIz2{|cECvX z6fAoVZRZp{C(yHB(0_vDXEHHz0)a$nH7H!c#p(75fkc`hQx_odbEI~%U!kAk<{55x zg4I6)7^Ki4EYVJ}Kcz22p$#%gC#57t0Li~ZkJ7B9+R@9+=#_T#5=l@T!|V)q66sPR kJEeqt!}J;EIzkep9~h(cHo=XPoQXE%Y7=se)(D>c1}-uxe*gdg literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..bc7589e --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package jawabantandalowerstopsteem_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + jawabantandalowerstopsteem_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..f3a776fa8b3bc7d996c689c70795052210258de5 GIT binary patch literal 1206 zcmaJ=+fEZv6kP|}4jqPjxyq&7N(YsCS1c&84GLD#l;DF84}O5Z;y)PoFcT=DvFW+aUVE>#_ddV>p8W#w94k87(5@k7AdUn>?;$_pIh(ut zxvk2fs49lUisf4B8AE&4+)1nvEchkXl9Q+J|9qO#VW3Mxw}Bq?GAtePV_xB|;_e=| z<+1R5CF{Nt!r9$-xMlBFrIRaJ?tYDX+-2yp8{BU?$Fs!^vlw{oH!u*m?5hdevI%iv zmBb*1Gz=RU!RQszVu_oIhM@5^DI}Dl_$89?fQYv40y#7Y01G(q-B#_f_2X{5x3vzIuVeYc#mU|>?A{S~6)3VO1N_r;@Uz){4 zhN06}RBK!Kb0sNjje7n%&!(Fz!0nT|Xkp&0H0;8Bb0s1d1#a7AONo339x|9EYNPap z{Pb#?>93={xq8iDY`CuQ3O4tB;cIxpFn=utt(0ka$}stVQz~hg224|#+s@xg9Mlp> z(7ZtB30fJg@x`BD-)O^-r8)Qvv?Ce3BiaY18N>((=$Y})HTrLwU+EOu2M?E=po5Uf z;GsmAg$UD`f|h9w(h1N>gE}w*ZIL65+|8zteA(N*ni)Su=VmbXEyuqjWsbzpFb4d< z5+)WS=V`JEw8c&_cZm-950l~%8aL^C8*bq?tsP{& RMB@P-(MhM>V=N<&(SL$57ZU&g literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.java new file mode 100644 index 0000000..4209954 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFive.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..ffbea2b5e32af12b7e73848546b88fe3d633d85f GIT binary patch literal 483 zcmZuuJ5K^Z5dN0e$q90ZJQOVKz{2|hpcW=1Ca5H5Xe`KbY{Ig)^ZjKmsoy8qGD%NNcv_skX~qof#7aa#|Cm5j12PF zWGMW@VMtDuf+0~qZS*v3F&vEff)BVCa&O2Te<6Zd=ufGgaQh>dOQ&!9uGxv~$+9iy zf}|(@kRaEQo;Z)(fe0@7z)=Zedkm%e)%Sd>hthD;8#Nm}hO8BGdveC7KYZQtqretz zsl*$<9cZ9A#~uo_JauBAv5_KMq}whbBTVi;g58lr4aurB5JwtiRLEDA)oX5n5#kkyf+k1zz}Up zC4)nTP_@>HBZjyMD}gm6e!=bKG!QPKycv=5?Uj)9>KDFLfgSjQyA2ELNSR0{kiiB+ z_8$yGWTF`i;p$1PVP7*cJi#M#X43IB@s#&i-Uj$+uXUVnGF8kbs>YS5^47?O6tozW?u{NOFy zoB57tNlniE@!8WuU}^9%_oL@xpHB{84-mhm8#{yWw1{>B-F}*$6%d{=*qzarNc-H6$uAZ#QG|DY_44R zn6WYIVGi>{UeCxl_>!jlrpw?MJwP*Tm%rCuPF1ZuOAUn865e9L#yb!1u{eZ2ISFsN zMkHiF_sGxOpj7JMjAl1fEqGFOv5XZPA3UsLjbY}g9}DXRe>|)g{mHPldxz=cpLnx(i>3c8pXvYy R3q)InORO;>Rw$Rl&LgTNkAnaJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/NewsFeed.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/NewsFeed.java new file mode 100644 index 0000000..b45d4a3 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package jawabantandalowerstopsteem_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Order.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..e2c522a98a4386330f30d49d18afad963dd6f5a4 GIT binary patch literal 597 zcmZuv%T59@6g}lJ10x6`;9J2bk|5;y$8Xb#Ev(a*_(y`kXE<91eEA_k-8^xc-&lZw*t zHP@9dO9ipjt^#NKcQGLS5+B3!!OTcHDg-)?XD4lu)3F6COi0(a3jKf% 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..c22b2f341086299a26911df5a121e5575c130be4 GIT binary patch literal 1253 zcmaJ>-A)rh6#j;`yQM5G6bdN{qVm&%QWdRA5tJ&iNfBZRCVGL>GHI7?ch}u1NP_R7 z*Isbpm0m!?g%99UnD`dPh-X`(`Q{mSTfWpwV z$+vjQ;AT0sT-+2T$)L>YrY`3ge2L^*5J3j@$y?hIt{XxK9V#>pod}=sEl5W<%M8H^ zcPm+ILo~c|L3EM#b5X7v-0{4l8hX%6ImDYfH(Z8TB7Yh|CizmC|3zqNDD&SN673kk z1r--H3}WbH>K#{#8s)R<1U}Xbr(3BNLL>>7;I&MYf(&c8j4KTNHC`22%PevELYD;A zbR{=s1Iy!N3z{aUOb88(b&1;zdlfec^*N>tp@LO+N@7v>qK5ybCZt=OYP?`s(v=RkmxQcX8*W5F zI)uBpr{ca>%o&D}f6dd)EvqV0P14Q!F7lGJoE?VutzAAgYzBQw)i8uRlDDjC-OijP z)N*pdadpQQ=a{$hY+mS0Yfq0uWVvA!bSW}H%o5Q;MYnCbzr!WVl{3SPLCcvY^}*n- zD_j-x45Me5o<~5%BZi^>o6_xXvZWFx={0(z4RnW~&^k%lAW23tFmV9(nKlg9X!Sk= zK6(q+F-3dN^atq*$#+pTKRM%XO9$fqeYAg~BkB|d{`m7?m*hZfdVGcCMBE>Z?4$bw z`h4lY9=b?Z8@l382Vw!wan$pp>5Vu|FY8b^w})^qVkFdF^yj`Ho;buMU>{dKh;0ps zV+76v>VbTX4iuq5APgN580dyg&wm#&q{u1(^@tWl#SN8y4WNZGMYI9Gazp{>C*_^{ e$kK;fjSSPcO)^M;?$FHO0cj!H&EX*y5dQ=8IV`dO literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.java new file mode 100644 index 0000000..1279536 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..66af6fcb633867afed5b5c68b37684403ecbcef6 GIT binary patch literal 1055 zcmaJ=%}x_h6#h;-Wy(1G6#-FD(Sj{is-SMFnAn79Qk0|w7cR){^ah5`%xz|FA?$ew z_bgoNLK7A~fbZZ#xF!CbnUX+L;w9cp$;b11Z_O2>#FrQ{tDg26s2~3)p zvT+U5gz>~}FNTn5#}-U+Sy)>pZV;CD#DQpV^de{qPaViG(yGn=rN6!73)kCrlwYn( zM+MCdHx$0xBp6lIl!TF*8^|{uzahg-(ePMfuth+aEWGbey0}Fcs%zo2)dMUw!8#>u_oO~>zR!+ zimLFux~pX+iwA@hEoM=U{}#c19RxD0dLoKsWMY{x-}2DHeWw#&GEiuExZvgm@uFvi~%@u)vFgEYG^hZY<2Rt^^y) yOmLe~<1l_BV`7ee@k*a!?35qVxSNpW84e6H?E=SlKRK81kaZTzkFbI#nEnT;4-0hw literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..fcc469d --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.class b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..2661c309d30d62b519382900410cb1a9d594c0fe GIT binary patch literal 1000 zcmaJ=TW=CU6#jBT}zYpYOc(U&GlTN5#jP4JS?)CV8x0F$z?JG0rHZPS0^ z-_Qq5c<=}Kql{;v2AUFgGv~}X^PTIQ`Tb}33&1NpHxWV9KrD?o5)9cszvMNW%Zu8F zc3*TfL*l@amOf&LmMdo|B#|;;rg0DHTkzJkuZ2S>6_8QBIdWvF+DFflx}`nAoqCR9 zX405PmSM@^1JO{j!}TXi_h{#9F11g#<&(-TJoZ9B8LS757NkEkzrwme}=dl zMhjisbx=9WfgxjHg<-ePuXvlnaoOdzx)PqRl}iN(=lsIqmVMq)PVLlk#T%|UL#&~? zf?>XCN%1~#+QK{KZJRVP0!xO)^5 z+zhy1a)svv1J32-oFRQ8rSKXy_kH0T*k#zh(}`IH8mKX>{U1s*J?;iJuuStGei51t zdI3Zql2jzlh{tz+f_FW;!Uz&VC1RupUS`dMY~nC$9IY05#om4_PJFf4 z`%<9Q+mC;Tk&g{A2mHYOP>2t)G!iEMH|ceORu~}xljt0>^sm$GSFwN>H2YDk5hg;q Z67dY}HYlqnBU-^z(wQVzv4>|^`3s_(`w0L5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.java b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.java new file mode 100644 index 0000000..1bd5b87 --- /dev/null +++ b/online-compiler/java_files/jawabantandalowerstopsteem_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawabantandalowerstopsteem_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Angka.class b/online-compiler/java_files/jawavabstopword_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..122902c743d84344668bd5c8f0ed87f546149e81 GIT binary patch literal 492 zcmZvY%TB^T6o&tSmO?2~ir@t=umczN0U#PRVTDRk!^Q=fLPH9@kkU$gA74Nhnz--* zd?sT&Q{9*_i*wGL`TuXu%;)#}2Y_=NsmLI!K++&1$Dq&o12;V$%*M z_>3Xj?u-h^qo6?5P=xkRZauDI$0t>okf}CEL2hUcBR7bxIC8k(&0~w9YB?VFdEDf| zlsCP^OI9rvIw}eb4OMKDWP_POUJ4Yk+rRL1N+P?#tlJqWs52bT`I;VJui|jI4x{OK z=5yB@PeR|k2xbe;AYFx1hoL-h1Lr33Z6~_pwnrU_lmSD%eZPs$P_kk^SzPnwpI)`X zB$_yVSD4k5ek#UB3pM&vu`-~ck)yanyF<#1vV8Ie_DluCE=6$+WKqB#_Nf-qOR@@t tp$~fvz5j&b3lyXDin8!!Ql9~dYMGo0dGn}1MT0uT`$9!rb&zTge*gn!Xcqtg literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Angka.java b/online-compiler/java_files/jawavabstopword_gmail_com/Angka.java new file mode 100644 index 0000000..7f0d23a --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package jawavabstopword_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Average.class b/online-compiler/java_files/jawavabstopword_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..60b37245ab1171bd767b20c41020036b5e4cb32f GIT binary patch literal 741 zcmZuu-D(p-7(J8SnQeY*TAHm@Q?<70rqM=w5s->T3_>Bby4yxVgtAGOurb*Un@x(~ zMUjAbsgK}|*LtBKT6*mR_y|6O6tR9g=0@mVeBYTfXXZO+_WPeN2LSHkMglP?8q^dx z1jAI@9@>SD?X?P z$>A8(WGBtzeTm|j!x;@{Q#gn0e^agJ{m|*sFn>U^^@{Z4`h`b<>xEVrICgg}f%CYa z;bIC4xWq7Xf`)Tg?jUB8+St!;b{g&v9fs#N_y-cfl>Wn&H{tWhk0K*lk(KetU zj;k;TN77%IfJXhT_y(<}h_6&Kh?_MvgQQvG8BCg1O&#-T$xlmuhIl^ab;;8y(kD%; za%x>Es!EaTJb&;GIi)Cck=OYuEoO}f=;CH`eWbFHVDFEAjyTmHhOWNyZ}E>fJ;y&` zKJp!tzE_bV%&|cUHp#6?37#SW7fJMKZ%FtBaW9d^YfRw{rjer)S*XX@2G_8x;hMrI S{cptC5wb^g8^em6Q1}ZE_L0f} literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Average.java b/online-compiler/java_files/jawavabstopword_gmail_com/Average.java new file mode 100644 index 0000000..4d813f7 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Average.java @@ -0,0 +1,18 @@ +package jawavabstopword_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Bank.class b/online-compiler/java_files/jawavabstopword_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..ce22d23670f453fe0e05793a0e17bc08e955a8ca GIT binary patch literal 1086 zcmZuwT~8B16g>mm-L@19(w3qYib82osoz>_5NU&8K#e6B;{%ztlXmHLr`er_@aBU* z!uThMKB(crAK;HN-fe3rp}X0=b7${8_nbR-|NK4u4d6KnVT@qZfEGajI>W>PKje9f z+l~C2>Vc>!2K||7n`)I|G@IMg*FI1lU17S%3`8Or$0df@1AauARaeQ*k#y?&jW#!} z{hDm&*SXzd7;Bo!vm5L5aKg-%%Uij!{$l0xCm&5;OZo-~A%?htLyT*Wnp={9ePlC*1Fy*E{pR<7cTz#}}t%s(-}|Cj&( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Bank.java b/online-compiler/java_files/jawavabstopword_gmail_com/Bank.java new file mode 100644 index 0000000..983ad0e --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package jawavabstopword_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/BookStore.class b/online-compiler/java_files/jawavabstopword_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..47b9a373ae984cb232f927244b7735b093d3b6f0 GIT binary patch literal 1101 zcmaJ=TW-@p6g?BCvEw=fM*Z3+_nq?AXbLQxAysfrLt)g&G@Zk%ysPg-RI ztbxz+koblVkov&_SOLpm1r^sx1gRQf$urk?&N*|>_|DI>(;ootvY?vcc=3mFCA5*C{SFgfVjD>e3#xS zi@1(FD4H0@gpNrIQvRnz2*F5%od;g%p9e2O# zH42YBuU=N3FBqaF&!#E4?MU&g)u;%6msi|yfzXm+BKLaG4h)I1;??>NZ}#wJ*=zY# zvFU{5OMiD*4a=wVql5~S&zn0!)jT^$#;|1K8m{Zeg$I>q$o~67jy&?}qR>5&?%8ef zDplNOc-L>a2keSI;nH?RkliMGt!D9J-F=yJ#NBpN41o7L@Agcw|9|x)O5AnJjuJ%! zHyARu6VyGKX;Y(7Z1W~pbuKg9<}R;g*b;-aC8h97E)N0`=vZY~y5M|}AsuTB^Z$oZ zQ+M5C0hj3lgii$2FNo1NOJ8#|Gn$8%zk_|DfKdvaWk5q5^SIK3{vv9W)|}{iTEC}l z%tTMHGMhF&Af7TeKI1XP?~$BM$3IdgNtrtoe?lQOMsdD_Gz<#o&jCZK)d9wc^cCjZ zDN?{UjD_VyI^{g2mI#ZAK&RRb8ckSqCDSxcA%QGi%Vi|7M$Eey#X83DkS@*+CQ!yC yUJ>dI`K^&!hLjSBoneYGHZp9E802%Iv(;5B(rl35EWOLPNna*KD=6R=rvCtJP6>+u literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/BookStore.java b/online-compiler/java_files/jawavabstopword_gmail_com/BookStore.java new file mode 100644 index 0000000..5f281e0 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package jawavabstopword_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.class b/online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..3f7b3a70b3977f70df4e9930b424082a7c7966d0 GIT binary patch literal 1098 zcmaJ=-A)rh6#k~&?UuE)rBD!|P^D;#N=3B(l)qR*Bmp%k!3!^Nx}Ct%cBk2$Lb&%K zyzmv)}p7&&>Jt=jR%*ATk`ubz5Jv)MX0 zDp&AUIf^(#>ZNdn%5K^<>2S-kpJz=INsJgs#W0F7hS34O40_vVBISVZH$+7`7FX|Vbx4w@xT8FV@%+|Sq2E0Ph8w=~luthhVIadWcf?Pq zJvC3s_K9@s`v)y@f^i z6}K8YydB^T+ zzsUOxxqsJeJIAsiirq$bo3_a+C+fa_>D|P*ixcS+$j*hg76~vMkF+vBVG}39&855pJc)Jx_QB9x=@KRXHem z10{x;|3hgCx|QN4rfFjQFGP=qW`_0|(lT^1I`xGgU|&gKn5EtS4TLd-EV*`}pGl99 zbt4&B39o8vT1oo`BQ^XT2|A}UXGjC2OlLlnbh4!NGfW1S%xYR+`>3(BHudHFw;v@G zL@8mIWIf>3VbF@gq?Mv6okbiuB(Ov?wu}*!$oh=tY#n2`MP5m;a{}oG<`{is31dEB czKuI{#wkXgGG7e#2Y5&}lk{ag#uH5b1q~bu2LJ#7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.java b/online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.java new file mode 100644 index 0000000..7d3d054 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package jawavabstopword_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a54b9ba848f70a6149d50fd731530fb92170150f GIT binary patch literal 1187 zcmaKrZBx@g5Xb-5A}JwQNO`IXZ56dGN_|!=g2mAnPDdOIond^zT;ZsxO@hfqhL5Eq z!pMvtzz^lPmzFjR>YK~vcK5gc+uQr~`^QfJE2!v*A+BM-zy%C4jJEh^UTSlvSz2qf z#I|G@T(TTXE;GdQg}R0W!%P@txuw+uDJq`F57q*?7s#6Q1h;i)h!0^HhK3OX7m;Mh zxA;DR8@_b+_FZpht7&tqy|wMyrPmuouQ<(*d|mid&Tu0vhD`Op#mYk%gQ+29U>p-? z^w$o2DQuEWK!%AP=dEWsU8$5kj41=tD%Ef!9u1cmQm3UO4jpM+QO%lRNauUdXamZH zx=yMx2C~Re|9m0I%`n{$j{w8yYnan;-M|gpq$B^kSz(_T2B>=u!({$_M?iRA)P2io z5-x!PX|IVkx4F!6XNPCoK|Ans3CxqDBQ@)|GAlobtj}$suI#pf1(X;P((RBK#`A^q zd>wajPs4o!5Acv0?t0BqE1)|pReWD~>IQjey!;gKw$HHGJ$6)N1lt+2^7)-YoeuiK z-4P7Qs^y3`f!z?^I&ZXTXPBD0vDX-Vxt76yn zM44g4qgf;K6fhPEs_aVPQH*B!-FA;gylP0vsn^`V+ZL}ZB_?%th8NV>AV;GWqc;|V zsonrtrkXSQ4uGl0M(ZQ`dyF_)z*O-Ftat)#^9VzS(2HL&dWgv{(9?$0LUXNz%;Z{Gr3smZcu9xlYM-)*Xwhx(o^aR#A1V-ZAy$!%d>6_qnC!`3ARXLB;gY7)DqByIiUj z-3UqOQ4mJt)DG4UZHMb5oPZ3G2IsM*88xv~-G)8|{i0McJrN0K8G7nVdjc{BFeL06 zW*CSypk517@vKa$MioRcMh@ECp)f;#Gu;EMWS_^lgbNBTVuE4p-*(lUVrU@;4Tj#> zv#Ny3nb8SoMxKCyxs7il&CAPVGVv_guwd@e`kkwq!5_JLj$0dQRS}uK zS*o@q9n@3Ta5SA~HCv-_+8`@bM>7qghgO>c=J}p!@f1V5MZHMVI-uK=l-_f=MLCjY zr;YpzmA2rCiYBI@yl%SI4qwuQJ(1tLd`dJH#;EyxbPs(9iF-n`kmy8uwt$HXN#hK? z-G-lLKwsh*EO7#9>lm#^kP{!!b%fsc6k>FlK@dNU3YE7Lu7keL5yV%4Ox7TsCm7gD ze1v?A!7@gg#o|{W6m*~mX_|@E=jq9?(1487n@|!YK<{6w`>3n>8`YUg^QD-@yxC!b_L?%mf%LdXbqk=j{FM{e64yli&Y-`5S;+XvENg zP7Pf;x)EU*tnmY$F}YRAtnbxCNisxk7?vS#GIXZWMGaAgao@;YZ%gzz{NA^ZydT(G$?BVWVm>O^T08zcBbUrixC~8%2l^RCmP;h z7&;CeI*4Hmmy}lH3}dMi&@lgOx)`IZCUqonndEbYq+^EBQ}YlYSx0hnPrs*XAaZ+D zy?_{|k8KTk-Oc@fXur6%?Mffwt_94T3 zyYyi$p@f4;%f7yoE)vB>yG&vZtQnTL?=|*>v&sF!^ipGOH7Od+95v%Z&yq$%6b;v) zfGU^@?gk94J#SM zHf+x+i6ujIO8m?y&#CDlr@U=TS310TPsplWb_XK(CI*f@4JB2ZGQ*TVXuddxbzs*; zCeSb_*Ag#Lo`(!Sg;i`D2B6E_Dx1QcTC?rC*9;380EKtXIBp&`Mfk97zH?3~LR)Q! zMQ)lKh7{Q-XgVfVy@tuFNssQ%B$Y;}k84TEtDd!xWYpg)mL;4;Q?!7~xKwMqDw2G_yjow{g>W-)927O&eC#`^ynIo{7 zSJ1YP(DNLznO`vY9K%1;5yK`u`^gZ{$-R%@`e}EIKstPo**3_)D~xT={EFBS-fUsw z)LH$zs0{isgd(j}^hfk&`1}N9ioR4PQ34n~$9shSPexC?w|(y~PP}V$8lk;~1g<17 z6>Z_2^g|F!yB?i0n6R6Nvj8;|DU}EeaW$oi` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBankTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..09701de --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = jawavabstopword_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + jawavabstopword_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..97bc48ea4f3f3c49f683ccdfb816dca124f35e7f GIT binary patch literal 1213 zcmaKsYflqF6o%hvkuA$|D|h9x2xwc7B3`iw7NZ|bBgR4#;s-LNL)l(->h4t1pQRBY zlK2DsQN}YZv};hm%+BsP=Q;13b7p`3`u+pJ7Sbj{2pj0Ka0A^8gC+inCo9}7CU^2B zai|!&Hyqbdn+)MtJZB)nFx_-=WOBQqMB4LsW2dfab(K|~;8ha_!aeAPWuVVOKL!|< zOZi#bl{YolT~FUwFEwyt#SxvCb<#!}?_* zf|3K+*6^jSe~IVl*e_*4FbrfISG=uP^TONZ`3imMr84i;T4PA9d0%&xQx!SKcgUP} z>2O>*(xvp#Oh@6iIHJi*G4y#feYCv-3o`=EtWZ*F<{kWOGYy*>)xSw z?PxLM*C%^L4-@8S;6il!LWt_yLA$7)K6-Y6>1#;qV|sgnFztZx#2HxP0>=IsdQM>` zzF_baW1q>y$O!}q(`r$8AL07x>r;Y+nvkVS$iM|A_Y+@Xp5fLxW;((82cQ-7V;JkS z)7hWVlOffHEYO=)5+T6YU!uopQYPBb8_nqF?dWxqpmU6}bKH)`GSS467V-_t=UD9s aiIRR`iq>hu&Cp%8+sMr(a*NgwUi=1Y1RkaU literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..5a2b8bb --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + jawavabstopword_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ac698b75f33fc3cc5904425d8647023f8afed48a GIT binary patch literal 1219 zcmaKsYflqF6o%hvkuBThRxSnQvIuHhka7_PieORsU>Y$3O^6@JwhVQeb{BW25`LCO zgh=8K@JAWXY+<_uHJi-N&Ybg{cg{JpzkdJt319CXAc7~p+_1VhSEW483 zE>(G1GPJJ=TgY{WXewRQ5Mvnijf9ikJe54}y4LA-LmoHej&!+I*P$WWfjA5eod&wl z%`j87P6%A`q;q`YxQ7Rox+Q7{Wv8Bfvq$tTQF3gnTo$|BqmYIZ;xUXD{u?mYfnFpu z^cm>Kz>PEPoO+ViNjd=;1_I7ISJ+o_$vcjufg$B;IH4U4cNzMwLx(nW3}ZwkY?NU* z6+pvD$fb)qsTwz6VuEt$aY@?@LoM?V(6^q%l!gZe9^w(h35ram-9 z_;sTy2)jba7}5lK#a%AVz-iUg=gfI}7R*I+$y_$)7tI)^>7Y&drtL^me&nWS)wwF= zV*|6uGQ_0QBs27<(zoO3n8$*KMFUT;L`87iO19dd+Gg{f$6Zxb%b&dd)UawE!^%}E z!lFaiX8YxCucV7~@R!aZXXq{no4;+;OWfVHN;O)EQ=<2dn~g}tdEc<5sPm%m1a0SS zI-DhiV^jDA2}}1F?71re>A-Y^oES`N0Pf_6BnMJP3l)c=L}h><|PAt$7#4_ zz9p2P{h$AxbkKnK=i`TteGFN5>iT z%vbcBVekuWF){){qBI)h-buJFT3sec#D`2@LAoz7yr207{T%l$FxGNbzX7G73w>Cj znTozjZ-!g|nW8VHBu0S2zj!C9TZRJfHQ)Pr;Jrc;REz<3f%}P6A(5F@LcU|>0&^`P Z3DOUY&^SuCF}l%afL!;H8#G4n;t%7m9T@-s literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..b4b6a73 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + jawavabstopword_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4516aaccc05c175c0cd92eafa12a3ebcf4ce4c07 GIT binary patch literal 2005 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI9m^h?Tp8Wt*Ff0n5fVAcv5I4AKCLR=dhxaFIMF z{)Xf$Qk7I}RCZN9Ab*kP}tJ&%9)7@uI&;If6%ijUapsu0~?Fu?H zbRxpgcfb#M&fw-=ZguBClwF3%P2JSp+YIgLOi4kMVZ?XRt=#;PE9PvQAFXM6*NyG6Rm-hx5PDHJ_p03H=DKhw zrDlcj7{-ckOqh?MA8`c(8WOm0s)w~B#}zdyod6jwv~V8Uy4ft3qPsApAt^&OD`Zjd z7Q?{n)FFe4VO)}gjW7(STcBYQ@|luKRgGy#;WBaP2$#$Z$rJYwAbCe-W222ne?1#h zF@dWJCN-pyVR-xhnQM{8&~13!3B7lw3(J{8WcK^~GeZ44igy_(4DO1Q^iG+U zn{xL>%HcJkB8T@ByszN{e0Yk%g5~WPf_#|`I% zFh3UwjD(Ue6bh2w3CwAjmn8L9g`pc{YEclG-T0@OZ~}`O?qZ3dgG6UC45qh2^*1py zr8o`5iiUeAG7QytRV-L$nY&MPcb`^{%T1T+8BA01v*A%ZVCW4L;4>Srs^Fo9M|jK- zb*&&1Ln3_+fFx#Jva-Q2-4sc<=TOREF!N`3G9~J9!Kx7Hy~Kog;MI17z0Umu>>>$n z)PoTv**^A6SFeeZ?&xHmGf55H)u~U0c=6;^=EbgMi##dJrpct`Yk>Zc)7-8rZ1U;S z!y4=hdC0LQ2X)Qz?6O$YrJ{z;PX0AHY@~{L%W@sp=Jor+-M1=EZvrj$=_(_Ac@rmz>nP0vd3cF2gn&gf_(G%}uMgycy}g15AD*=vkt->u9GHFqAz8%f5oL zd5qX|sM%l9_Z)-2kcr_5J$uLz&?vl{;Cg8HGXiPzLEdSC^uEIIX7)Fz$GF(Q=t;2r zILQinFn~>3$?TugKf_iFWSrh)B~bzxJSTdHK1az`^cQ~gm#yd@$*R)cRsvW0dKwsC zN+7!upUO-&aP0*?O5oE5ZZwUv)13({Oe^uJq>}6mJFo`sOeQ;DVi~v*i{BrP$#z~~ zwSl#hcCvn|ONe2F*chc}3X??n6t2+VkJDW?fg-L_i<7N_zoO#Wu}#l5d<{!wKk(rL$N&HU literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..f729200 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = jawavabstopword_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = jawavabstopword_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + jawavabstopword_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9dc135236e0e86e65dfecd6114a00776e21b4ca8 GIT binary patch literal 1204 zcmaKrYflqF6o%hvfi25&Yq=_gqNr_AR&FX5!D1xQG-50?A$}m+GBjJeJ9T#!(x0Uf zA(Hq5{87fUZE05!zs%0gob#ObT;|vBA3p(XBC8^Vu!1fP-RNN$su;(HUN!8pzEiC5 zl4R&vH*HgHFoct-f`SM`ykTSteXA~c)^UvbjwfrL%u9zGmI?*oUi3jz(63eQ`RdUwNcNyE_eLa8I8^B&z@0r8P;0)1~mn+%}L8#KS>oRuUF!b zGYsZTo4@m{B6oI;VwFz%sG57V=FCwCK6th?EnYBPldiKinPmfN5bJ5 zhJJ^JjJB76;eb*0NOFg4hE4ZcoreN;{+yDTnirl^;@hS#D}K{JFZeTrS(>vDJ-ra3 z{?njc)E_$fc7b|<9$KH!-&2HX2aKoBz|t2`_Rr9J3N`%|L#G(~LRXB8K#(x48oBoq zZh%go5hT=r%(oze7ns~ne}j64+vk|>IQy^PS1^DW)@bKPe@hZ+pvuWY?IayUj6|t CpB&r( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..fe73907 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + jawavabstopword_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..64efc2387728824cd42fffe3c77f0c685b347246 GIT binary patch literal 1180 zcmaKrYflqF6o%hvfi2tR)&d3PQUtXv$jVK{B3O(hnnsL36XFN5Ekm=lyHoc9>Ce)L z5J~(2{wU+wZP_kC{W3c{bIvpGdFRZp-#>l=*g`=@1W^fH3cAt5Fj&)0HMOppRdu&q z;}wUYXG1r2XOkhC$(AI<7$*H7U8vhlhZihMYwo&E!*%u?i))4q3DI7}p-AXc(2oIz zg_?Fo;Ii$A#+k5=kE({I*N-Z~P~RR9z35gxHFxw=zRztsQV}5@!*ub#2j+V*goK2o zf?ZJKP}Y1Y{TqIPWdpY|EwWI8qA6yi`Smb|ljtsspV^3diEZ8MB@!b3nmdKPmM?kjkJhYYj-HZ1Upp^IEJ8AdZ7TO#~> zqg&9;Dj{RYk{NI8bWw;#+7wRO)(jrQJVW==^2+L(cTrU1 zvV;`{t5_qfu&Qd!rK?j5w#_Z?(lmea`m?LmZHD!BrD07WY^%HSw^yz+IB~c|F>&1vIXoDO@OqO1O8JchTz@%urWF=!r#;@SXt8 z5?+hZw+rMydT4w?e@_vm8Ia0dfaR_r9bTaK9CGd}2G242g|-+4fgn*D6-w_TTtBTo zBS^%D%(o!}R~SFceS>^~yO)^iBzv#iQ_znj)@kOQ{+zxH`2aFUf1Z*U0Y?9louY0T x3$i!->=!}yN?SsbUE*FMlgN28zGLAMk2^A2HB3+qlO$#;fNlD)EgB6C%1kgc)@jzlkJvhwnS05+^|$A2oGQont~w>!-z60 z)Qw{Tu6V*}9y{*Ae$6t>#(veYa&LDCeTyG^8=N1MxJMN=CjiGVv-#h8`2ma~rXa3i z4C8;aP(1Mjw}?3bGK_a|-npjTVN2PAn9wjOQ#B{xQE;6hepx!;P?5waBh=(s%3FyzwOk$DL)8VD*J3hq*jYI;58M*;zIWu?F9wA?D+FeRVF zm8D*kdxTlqwGh3#5MuIOkQI}QN8dg$`2gvBLVr&YCJUIzoPlL7pzNMu;1p`+3r0?n z_)IQFK_HMYokNr^;i7c=j6gy@$U+AsdV%C_<}1`Q+&IT{FIhf)AWo@cSSCwWe@3S%{v?wK0VMvCJxRNg>}Id{*)O`;OC1Vvc8=X_8~6 N3%2TmtCe)L z5J~(2{wU+zwrrQ6zTBO?Gjrz5%(=gQ|M&@D3wae0L=|*txPxwn!K(4u&})WW(f3MK zUKR}98>VfFO@?SXQ&bRRm}&-@j=tRxJnyT`?_JYw)1~ZQBsGl5RLu!_6x?M7N*6Ere~5nZ&SyHFddu9$9Fpn zxB02#@*G2-ONt}&8ek|Cls^^RrI;bB5e$8wdwz{t8w|xs(NdUNaD2DS-iW&pFiWR}7wG^b5Hd z1%W`KbZV5|M{xag`+`6sO_2FE$iNlGkFwvOUSQ%9_d3b)`AY`GlbT0Klq50gY@DgfJT Kf^E?m!K*(Z_8l<* literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..e46ada1 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + jawavabstopword_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9eeebaa7b1f626e4f5021da3a54e867adb82c96b GIT binary patch literal 1191 zcmaJ=ZBG+H5Pr6;TsaO}THXo*MN!+LRK+(ef`w?*5HTQ4h#$z6E_IvU9p3Fp_*ohe zB8fl1A7z}qmi7qhm%Y86nP;APX6D!LA3p)CpsXW;sD_w z_asBllCXtbW{BqU6%BEQ$-qfC#nmIp%dTr4ZTRxQms`^1rlmtev=@CaH1r!7K!PFH zFb@g1>PhF|&~aic(&wo|1|1n(RbovtWO5zQumGie zMJHC%2C|qT{X8zo%rMq<4*>?=*D&1pojVzWukGrakW^j4&$v2xG!(zMkFw+ohYt~Aa zU-A{IcFn1AhQzwC`CH$r(xjNxCcX5LvfBr(siSUe`nD7nuLw_&xolIprmCCLr`Ed+ zSNXo<@)AS8O9MyObAZ8+Q+Z!Q?`aP8FEoCVVAB zpJEaxfRVpMXJ}N$JJCx)^s`R%LYqRGo#I+5mntY4-*NjCce^xNHB6EOQzS>W1GXH1 Jt>rN9<5dKb!Y`ZKJ%3W?nQQAc*-o+wVjQ%i<5DQI+KghN{)YEi#arachV`)T) zBtC!-Wt_7u?Gn(Wot-^1^UXJxv%mlR`~_eGc^wf%HS`#`fnJ8ey7k4%HY}%>-7434 zMKbiR2}j6vhG;rd(hy^q37mwR-8_~&?|IhoR#P4}Wl?(EvUO;P#?c2uL%)FmBp6oe z))4`hed!(^xn6a@W?Q1MUvcg1yIn#r@`~$Jw}offqPoL`QJFeF9_{?ci*C!f8{c=st`am{6gH8?tD)$uNA8I%Lo>iD}ie8HUMp z2Q=J>T&AQGt2qNH%u^qIF3HR=(RB|22Hv-^py7^zyI5pc{CCqX^^2j0y6G^Cr9ZZa z1oNY52&YD{F=QAWq<*W#RVT$z%ec*?hIu4Z`Oz%sH7G3mCT2qc}k znn1?`Jk;>Wz+*h2&bwYMTW``(vw7d=o*JbUC~rPDt%lFA+O9v$G6dV&yWG{2Oo=Le z?N&KMq97dpzG;`aw_}wXbkaxN-92n=AWh^$(~-jFCE*J)=N&4}lEQT;eX`JHxXBM( zkLMWrJz6?aF93!@PWc1LJ@SbQzrCSUWyr4fmCSn4ZF&{{Rwz1C*RS=m+9b@=wngar zMUYh2gS4btJ$m+lse4HBDZM>Ilr&)6JOwk)q3xX_egfV6hQSkzeI*kkClE-Kq(R~R z1UEpZ&j}@Voakn4af(3@fsBY?4M zqQ_}pCOXk;LG;T`^eRzMIY!wTZY9%&q`9Ps{J_04taOPai9aw+a)#h$=_02(km~{D J2FVCs{RJl;8z%q& literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..7b34a90 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package jawavabstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + jawavabstopword_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/jawavabstopword_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..783c8320bc01f065a564f9a4024b4f1fc4e59fca GIT binary patch literal 1226 zcmaKsZBx@g5Xb-5A}JwQC{U;h1VrrvQiS?|<-y{^3#TKFKxY_VFjqKgph;?Sk>O+M zh%hqa2k=8V?zPayL49+%WOsl2zumq3{Pq0@fK`-qL=e@`W#AgR8Tt?SC!Vi!rBWxV|QrM)NfDFTJ&RfrNF4R(VFGdWEs!+oXSv1^W7`#j!GU!O*ma5knLn_^d zhHFsFRCH1`VZg*BmCzTG%nYL)_Ykn@eH+sn?ijd>dkjmz!5j417Zk?bj0_8i*w zDSA$zXTPBT1j)~2V&nvZL}@iBT;byM^$9^DO-Swn5+@(nX* dnCl2hkbYo{)^Wm3ketaja;1q}r8RrN9v7(D}RmoCe_T;)=3rHe|vD;AX41_i5VO7Mq2$h1sg>2{~tokDm3<16?U zMt>;bhY#SZ_zuQz*ak{yY&zHd&YAO_`R4cEvtIz7W5q-p+6_c3L=j`?J>*9`<8p65 zvsF42WyKI%aXd#oV`xv?JFzu_>0fLuK6(27&!;I97P<^{Tj)VA!|WkHCW=y^WbIh` zd%OEp?zp>USo&-u%NuaEg-oe6o4vx&c^BqqWl`nWT+fSNrSQy6y!*G>XL{55Tu0A;GfM$W> zo(dR-()qj{;?F%GFiFUom_pLPw1pYWG7PjhfFWAb$Ijd_W&TZa8N}C*0yjpWy zhDc8C35FiZQM|2JOTypgC6{(0WE$Btl>XR?i@_|)x?dLSjt=g=uxLpOBWqqrsRHHm z+8dz`5@`pMNKGha9A z=IS(@#o=pbZVKa>V$p@Hd4 zz(}U-ovdrp8avxvBfU<>+@L?2+gh#(*D~yi`0!aFE&v zoo%2GUFb)Gl*~{chmFMsd6J@ZZjn>WU7|z%!<6v|wVU+44YzQc#tw>JqV@ofXl2su JF_w|V=s)La5`6#w literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Lingkaran.java b/online-compiler/java_files/jawavabstopword_gmail_com/Lingkaran.java new file mode 100644 index 0000000..f8c2666 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package jawavabstopword_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.class b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..9210a0161eb7beebea50cd0bf4bdd48336b48ad1 GIT binary patch literal 472 zcmZuu%TB^T6g>l!N-a=C9ttju8*pJi0MvyEi3utRhK&m{l!gq@mXsF4-Y;?ES{ItQ z@B{oCw*k_^U}FSt47?#R3tjBP7m zNH&Elf+L1_t=>yv4Jj3xj&2i8mz3 zwuNh-ht9zEFZp09FNp0j6l+)CrlQx8BjJu3^&UgI8*poK#%Di#t?PxpWw(SBXMQ^z zNVnKUo+c(&4CEC_iUr#35Hdn#{}Jqt5^6|MUITHYP(qnv54U!^)0sf*M=)`){fPLt0OmMGhzQ~J1fD2%<)DZ_T8seA#|PGR!^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.java b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.java new file mode 100644 index 0000000..ce7d682 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package jawavabstopword_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..fd705ed60c0dcec2aeb4d1bdb59ed348a12e9ae9 GIT binary patch literal 486 zcmZvY%}&BV6ot|xcAP?`R+Y4uOH7Z0FF>Ip&@1-zVxg z=nIByNBZJy<~bs~;?9^(;>7q2oAv8&YpXYsFX<1OR+k}TN8BBq^2v|hw1Zjbindg6 z@z0!nx(C?|GfqX-!SfbqyWkxx%_XKuN1&yVsu7Ma**g~0VCB0PNPr01aTk(Th z^%l7Y7_~=aZZvlH`KD-XMOTPdJz_9uR1zlj$y3}y2HSL#g!YaEV|nUaSy9z5;HhQS literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..12f2973 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package jawavabstopword_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.class b/online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..6e09629be5833bc518298b580a71e498b4ff28cf GIT binary patch literal 620 zcmZWm+iuf96r4?**l}E198wzS1q$TSRQLmeT2)9DLTQWSDpJHlwQ*L-Mz%L{Hbng_ zc%Z0K`vLtZ#BtN81pKgPcRXiy=Iq_?>stVaXxhjiYr=4lL!M!6#J_Pby1R9 z8S)=wEcF3Hw%+KNu$D-^PGmf=U^AF!V2;+2Ef*kvf)-?+?S$c@tulBoZGeL9=B47(#f zqY?HdT8(Ea>0b;YF2jpJMc%2HO^$`=({w(nzF=5w%UGOFqn=34c`qcyAacyGz7+W( zU!%id`)Zm5;#j8Sm4)E@)GYaaLvNXW8IV=vX?;hhEvk%aZtn{0J8c-Mw5GoaL;*F_ zX`fO*!$6j5)x3e(&AJ7@Yq&+fn{!wEZr)w>+s$8idh!F$_kUvRQOl)1z(R%8wqcW2 LkrW$*Ww7@L>^6$+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.java b/online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.java new file mode 100644 index 0000000..a736719 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package jawavabstopword_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Order.class b/online-compiler/java_files/jawavabstopword_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..fb2ab00f141e2008771551a4318b0f02b444a388 GIT binary patch literal 586 zcmZva%T59@6o&tDnSlXB5xjHpjwZ_1#A{+=FhMZEuyLUU8Z0t1WE>eyye*>VT8m**}BTrc&8_F$F4BvLl|X)<5FdtM zS1AaQ|7Cdf5I|b3?X{YY3`4ff`&4TE#iYp^$_C3OCds+9V6lh7U`6}$^a?)EK4e}6;HeR E1I5^ShyVZp literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/Order.java b/online-compiler/java_files/jawavabstopword_gmail_com/Order.java new file mode 100644 index 0000000..7f6cc29 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/Order.java @@ -0,0 +1,15 @@ +package jawavabstopword_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.class b/online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..5913e48b5803c1ea466aa72bdd353013c22acf46 GIT binary patch literal 1242 zcmaJ>TTc@~6#j;`yQM5Gw?c}7D7O}rswgT&QL01|5Ml`?`he4RLYHoL*WD>dg8xIG zec-_-eSm}qe}KQj#D8Ioc%~&K25rW)P5FQ!kW8(G5oXYzymdX{`w>LYqQfxIis%X7ob*h4gCShv zektn|Ma_F5j5hLqE;gzb_mp>sflhQ$4)LbSEuSHtTs(~+lX|Jm{vxzAwAt@9iDvZT zf{u#@`p|ze^^Pw^h4ML70w1r3GoADbA(Dhk@JgnGf(#hAj4KR162x`_gf@ z9j~~)QQ@YwUT`YuWv?i_EcdBu!Fusxi>57}RV#Vnt@6C3K9IG|(4BmB7Gi3Rp*1IY zp}fT1n!S!21oa$KhDgq-dId3Ws;JSwsV5XKD(sx&NMCx~T@te76#bZnsR-`iu8w=E zg3}B`|2k&cTTWS|>rCrKo#zGVcsmU58(Vv9SP%M?+eJ(GLyL}6uDY4Cgc?pxIIixv z;vDlvp7mRtX>8nj2R-DE19lKmv*4w_;PxHF&GQBO?|Mq?+ahYEW_{_ zrsomR@ra@S|E6^1>ujlnDSCoxG=VM-G+M_=>m$iXhQ5TFNe4HL9i zraws6NWSaP7sscAO;e#na39T|=!iN+fj|B{*d^H;pB!BwIhF`^#P-qt0o{SA&>q@I z*K4{KoC?K5%5hlv(NrTrQ)TUsF6<%Ng*XYl3q1>8kVqcl60na!1+l3HafHArpbF$` zv>*=y0#TTV!9qJ+dh@%8BTZIG=ts0@INhllu literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.java b/online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.java new file mode 100644 index 0000000..a072c7d --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package jawavabstopword_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.class b/online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..d9b51b0ddd196eef8dc46b46c8fe5d0f24f384b8 GIT binary patch literal 1044 zcmaJ=Pfrs;6#q@TWy`uyXaz(8MN4U^QU&!=#l$8=lcFRg_27X_x0AATcc*%~IU!DN_od0SMZXL0q;RtIzo6!%oX zkjqyu*lNnRy;iv}s!D^w7)J_II;KtH&J2Z7>jg@<w`^br zvpVKX+`v3TCUQHBVMugB3!=Cxth$a{46BFynDTD~N_LK=-`sDx+;;XY>6U83l3sJy z_PJ{}8MKOQ3WikG_Qad6+YtU9Z#bmU$iico&A%Vbv`}Z5s3~r>cX%hl>$p3dY*Zzx zM@@EpOKjUAWqQc>dYBv;y_8Y~%IBROp$=p-NR46DKpq7hYvI=v8L}7Ux4k3T7N!0# z^nYucTT1#ph7XquG642TUvaPLh#*^)vfb^JM>D#l88Y1Kb;K3$%Qfk@*HA+YC@S1> zYPJ&PBpxut*jf^$@H80A*PbW*io=6I1UfbtRz`BXDs&x>8J7MJrB3hXiDlfRsR&n$ zdXwgY_63p_>7?#QV(lx~C%Q0FA$kVl7{?NB51=Pxs?pnKTCZx)7m}yQYFmp7ra}lKjWXg#nrlB&or5a${hHbVZohAc8xD u%0T;#gpOtQi{|(o)93UU$GwOwOK@P4Xmb?b{b*muL(&-}Kf)%SVE!N3sRrKw literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.java b/online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..e4b5378 --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package jawavabstopword_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/TipeData.class b/online-compiler/java_files/jawavabstopword_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..21e6285cbc5f63e198697dd4cdc06119b8622a90 GIT binary patch literal 989 zcmaJ=+iuf95IvilTaz0pz0st&rG=z~23{&b+9DBDQ7K%cMCE~pvPo8r8++HX*RA>| z{02OL)CWF*k3x)-qNGZMEzj)Eo;h>b@$Wy^zW}_#a}zPd4J6V?BE^tD=NG)@aCuhy z&^Z@f&5+u+rL7Mc;^oT8JmxTOz)a%~(zoEPt3V5vP%0#+#paO6R<)15Ep6@|fUsnG9=BRc|T{t@m*8B@z%E2RVNbMKwdebozcDQuc} zh%E!#QEwhGY>jWhmKSOuYNIBM+I7UcTKQKDUni@)0gg!Da@li4u+>y*5PJ3LG$$;# z9NSl(m;s+GbTk+B$t${{XmH1A*;>@+P-ZBcC?|A<)!~jBSO*rXT65T8SZRhlusq?r z;ec~FK4(ZDODX(@!-GHs2A(o(PjzBefd*;}>;H$+Adk9%4Xn`6M^B6fg2tZYecF{s zGt$YOpJ3l;!LUX$ItJpHM{x*=pb`nP126ODem-@OHxAc|{ZfA~ktDrV>VGNH*WXKi zhq0KrMh5tSyU`|jjpgBH%)d#$6zGd0q+pWFAW!cD8u%&}@PY literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/jawavabstopword_gmail_com/TipeData.java b/online-compiler/java_files/jawavabstopword_gmail_com/TipeData.java new file mode 100644 index 0000000..902d53b --- /dev/null +++ b/online-compiler/java_files/jawavabstopword_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package jawavabstopword_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Angka.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..6aa6383584dc7e9aa1fdeed3219311dabd0bcb50 GIT binary patch literal 514 zcmZvYyH3L}6o!AdNz;Zv+i<_CY%K#>U}^;dBqnZB5DNoxgH@R(4oVyl@52kg01^Wa zz%wDlabQ8h!#T(H|9|J$A75|p0CutFqJpXe%Y%&?L+gg$@gU}E6r2ukM5GyN1F59m zVW@U{7Y)?WaNv5FfcHlpKIB>?q)H1i%^sB?nFeQ>R65j|;7PxZDTe7##601;!__tK z#6?`>>n>VoJMcYBV}>OEm>KL_gCchK2VPD|WT{5|-i3oXhV5~oBDoc(_af7VuTqsu zGZ@!0rz{duUyTwj 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Average.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..830a7e190dcedc3488c6f5def39e8cfd89158451 GIT binary patch literal 763 zcmZuuU2D@&7=BKZbFzNSZmgM8JHJ2DRaYHSk%?9;!k}}SZk1ADq**B0nq;JDMet%s zLA=zT;EmUMp&&YT?GNxL_#0%1+nZx=gyrIWo;>F{@B6&TkH24c0o=p&6cSK0s2Okw zhKWsUV3oR--zlxMHyt}-5O-YPjqWliMxmi$j3Lpgii){M4FFMDl}Kc*BAKW(c1Gms z-iS0MlIO{eWJ%26gocwDoI?J;sr47V$nj`c(5KmYP3Ccf(&Nzeqk0rNmbaL~X`In; zHiL6G&oFg_hko%N1q zx!rX;@JjawPH1%;>hU1hAjsBS-+9#c+D^D?wY%{Fd3}ayqxCPS{BV?#`YaY24CD34 zvbUD4ZRyugq_js^HC&^OTdgWXsvh)1+j;25?K7hU^YMnX>;?K+@sj}U2SN1`z0DFb zLO%Be>?09|%T(iIKtU2$U=WY3zcB`l@SXS$t*MA_RB}j~O*MzK+2lEloAstT(z8;Z zl=>9ue5C7Ar(5JtoAuhUC8ew?Wv=t$?t2uJvd~3Q=L_^QZNx+uH|(XM%7%h{IQTW> zRDT+}`Z~DHKjHWc|BTr4RacmmZd-~4X-iQHMWM8))DQfqHHfr9FrdZ~jPZdC+ey20cedG`#qj2X zKf?GYh(4&{!5`p{GTv>QPy%r`yLayFz2}^J=kA}sC%*waLpg>a4C~P12qDZccEAsL z$>OqEdcA)j48;(BYD!bBFbo%pyW!RMlt)*L?hzgFI7V@aVY%%~!(6tUkHS@4Hn?=8 zXL?H5T$vtOVVknK*R;85?HP_;TH~_KFw!!WFPm%haAGRdYMaGc`1#W3PXR}GH4_*h ziX>7x(s4{8b4FzSDBvJ%j!#lkTV464Q+nf?Qq`3!xLvtS2v_2`ifas$HgAinBMq+J znW{xAkK`(kAzj$46?^&J@+p}VS7MmPjE-C!v$)PMaRC8Cs1wi;f8jhpahE}>It{^) z*fOPf<=gwh-QoKd?TpqHH`?30)Au#%j|{YYxELr_cYN0n>t>J~4SKi~2%?s(Igav_ z%RAdbwVZ~R2;)`^x3Q$76x4o)Vea&7O?l|FMX6U~uN~{$P>y@V@MW-weqaxDgAUdb z-rSbswEa%yyu^W>Gl@G#9dSYUV3ECPs|=n%AEL@Ft8OY$iQpc?^h@8icq`}Ah~_+@ zMBuQT;w@i3$uWlbrj)|1THN!5r{e*`{JFX>Do4j7LjQj#jcBiS8iwG<39ez#`6Ep4 z8{}olGP0q?pJ3l;L2ajZ@Hq&L1b+*ygV49M8znoN(!L^;Kh77D(4BTUl+T2WvYyck zDNSqqLiCt|hPp6mVj}D=pH5(71dt{r^R!DkbaL}p=;ObDP7J_I5{Zq-N)qE`?K>v2 z3mGj-s3({Lejs})vWK34Mz~>&V+0d4{3${%bQKh_NH#+7H|e>H`{c!FwTy>&jH!RA CrwGdc literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Bank.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Bank.java new file mode 100644 index 0000000..0494737 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..3fa7a1729b1fffee2926158c3b7eb9120f41f02d GIT binary patch literal 1123 zcmaJ=>rN9v6#k}Ly6v*1rQGFW(V{I1MWZIBh?gcP2GpbkV>BT{JE23jv(4@l(--g= z{E3&u-}*xne)s@Bfsf%65YM&^me9D#&N(~tednC-?3rID$3Fqw$4v_%7$(9t1`uIL z9`Hk+cevWmKi@kLWz7&-l}hS01|yr>F<`_W7+~*?41_lR#4rfkMBK&@5@*<@maj#f zNN$s2jBU2#N;m()lS-GgCwRS(q7sH}q%guTQRg*LbXA$_mr_^B^EFr6CvJ8l*P*w| zBCb^X1q)*sH!)#j5>pH#ed03=G=gkFi1Pt*J0_+X?$(;BEN?mPTj5c{3Rjd_2DNi7 zeX^oX>2~+)TspgDx1N9Gy0wyaJ;4wzx)m~sO{v7QW_?e1+kDRn4hXFn#caD zzlj>AGZ|h@nfHvf>F^PjW>V3Qh$XGHFL+G;2P9@vu}`#PG1%VeXZH$(3tuG5!A K-V*Y-fvLYyN)oRC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..9ece69f --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..cfe5ecd7a1bd13a4d3d2ffbb99f869f8a796b376 GIT binary patch literal 1120 zcmaJ=-A)rh6#k~&?UuE)rBD!|QnhG{N=2}W<;PeJt=kzClbv!W1{9d23jY2GxE#)yGT0;3pX7#-ltptl1iqAqs1!z77VItSI# zZidPkPhbL9875l1DQd1`arIWJLpu42JIZGmFK%v@`rR{NxE4511@wau267C`&5mQq zCENWVJR;oZ4l&E1Y_6nFQnV^DmBVKh{4dLzZhD{cY z&`yxqyZ*dNy9~p1#jWNxZ-;mT1?tZLD1%vdJDw#rWWbud2t6M(lWyv{>ndM)yuB^d zp}X&=VknuI!(9XSg3|9Z6#iYlbdKGoD0kc2ZRG~Hlq_9Afw}=r`$hu6^w~jH~B(F5s o8G&>Iw-|k7iDEWnzKuI1lN6&!na_v&13V;~N%|rl;V~xv0zLf`D*ylh literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.java new file mode 100644 index 0000000..41ce0ec --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7418e978e60e202ca7ab0b614d60105dfce3ab20 GIT binary patch literal 1231 zcmb7EZBG+H5Pr5rt{jJjmba=vtEg>J>Id>bB_Rq-ZwC-;iiFGxXrNmzby>A z$IwSTbr{C;@7uJ(+0vw_-;^YQ0##HK7N<#M)nu|(UvLPE z@!mBsj}k*dx@{ze(R|?|zK;8Npy8o`1uW7ST(4Q$4`{Nbitm#WsJ%Qqy!;q&%V${X zG$Tqf0^62k`QlBXPKCa3cLhVTYC7UgVDAWTgYQ^$Gf1u8JZy`T#`7+4q-l$~>6>J( zI8+>oko3rqs`ePJi9Od7WriV-6iCN2fRTt(Wlsu^d^FSVw0k&WRnjG+UULJlAzqn^ zO!~aC=ara{Bf-V!J;sny?}bh&r9RsGz|_N}^$~qNMx0K-M6m@{JcYK^!oV@~;#UkG zWBd!57&(DJ;Fra4s11Re#4s zBhpCX2l(y>`0PIz_vv*|W8%xX%-(zLwfA0UzW)6D1;8vG$ne20p-I6x1QKOS7@@w}+#xeVZ^PXKSoXe%Q3;n6 zT*er~)c-cI+CPRS>Z`%f9eY+GR-P|Si+WCJ0_pW{L!~D_-UcyF#Z@Rr4bzD_&w12V zbuLDFRlx+33_-`NL^6b9@jvloT*nOwHx*3c)|tj=t8a5_U9B*pQEVJkKcxw^PFaDWX>4W3X&-)mLas#ATY;wO^c@( zS}js29cuuc9;eK%!!7cWG&^Gy_EjpuV-?aSqr7IiR-P|vqCJt{wLc-`h7ppakKU{g zA@Qc@6cYNRy$MV_URr19HU&SOfS$w&SmG4Y<_VgQAtyed;~3rV$;9a4gFyVWDiq#I zaBcK8O(4E9$aoc`{S%yZL3@74%VRYrS5#%~>2?-5-29mgZE~&L6<&<(EK!(ewI1gRZ zZpKg6oft4Ms7wtfa-!i4hQ1Tmkpmq=xS|*wW*ADJf<{@%WlB0lHEJM*t3;|NBpovh zo~cIwNjsLGdip)p2(deZY5{bNBdsB0U;>j2)Bl%KMJGdN)s((nDbT|yj&!lOlqtsY z)3ql*{Q2YGaby|#%iJpa7MCJrJ2EA!BIWVA(D6P#(D0#wX~JP__a@ww%lkr?=*E~H+{6^lhh`8ehc6mgfKjhf4*SH4vRH@4z9HUA(=WC#@9 zIcK z#L(u%Z_tnNW&=a~-zEmV}0_eZMdVu~tgQwP;f%WI7 z*86lCqrKTAt|c)RZ{VH9B;H+4Ol8I!c<(trN@BKwo2-Gt_zNtMW_x0Js9i<-94iex zJd1XOuz)MX;4q~+f>FBH-y%jQaSbyhon){@TCMnk-YxhNU(p(;47TYJsL+>AQWg8K GF!V3VTJ^R7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..292e4b2 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = kunci4lowertandanonsistematissteeming_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + kunci4lowertandanonsistematissteeming_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..de77adbfcc354ff85b1c4c8f5d47da64b6938201 GIT binary patch literal 1257 zcmb7EYflqF6g|@-TbAWj9tGvGC}>-hBH{y!U~BY)X~bA)Li|96b|^!;v$#9e^k->A zh$Q|1f0XfV3uO()#4j_mbMHO(+M?u7nXrO3;h^i z$k!UGELZC8C*f(XDqOkBm%bJb*V3n5I8s%2s}7g--LmUsUT;&*yzADA+V#Yi@QH}! zhO#is6#hvg+k+v*4Gdct!RQ~A6`Mh3Du@6XMmsofJ*m!%py*yCEQ|-CmK(AdxXv(q zkve2BF@edTjZ+L0$qs0^HQ7|jBvvyPY|K(;eWA(BFn;MC0&IET!kmG53%7BHVfBC8 z*y$ic7xh*#j3wWP@OdWxsGMf?=Q_m3Y%|_Jp^^_v&=hOU>Ut zYD<;|_O79{bVNz|lFT_p#gQ~gr3~@HCBwYfCp~5v`aIGk9WMZeLQc7TEj;ouq@PpO z8mAgV)dM-D~ne$Ad|SN_r*YBm?arT=%q#w4_*?T;(;b+EUk~|>oKBq z0ut#Hu=E*>ofGsN!%Tm{;4#KNlZlZN2qa3YMd5t}*H5=k2qe-1SvUt7IK#wF`YX&6 z+&IPbWpMDb2pIHZ7^`#&vOlGrA=?3&qpyHTi~z>|5}hEWjCZ2fTG7us(W^uu$T7-J qaWkGQ#M27_k#D$rils{;apDh5(mF+O)AYja4&-_Za)Z_gp8p1E1u*Ua literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..50f7c7e --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + kunci4lowertandanonsistematissteeming_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..32cc0df5678cc921eaaf5a36b585a9ea6ac668bc GIT binary patch literal 1263 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 Mtp;FgG{*4q4{Y@%oB#j- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..0169e64 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + kunci4lowertandanonsistematissteeming_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2468322e2afc3242126088413ca93948ec117ec2 GIT binary patch literal 1245 zcmb7Ee@_!Z5PjPsSB`^13x%rCqNr`DR0S0*g2hOTAz*B2LWm*9v6RK$UA-R?K9)v= zNa6?ZLm6k=(w@PX_|NX%&di&cH*fFfukSwqte~VKgs_4h4cE}iFm$AU(hGInsuec( zj=145^ezcYc*_joOtz{Z!Z6Wv5_Vzr#N#E$(N8vgui<-T&*8eMLP59>{m>K)Xc$D4 zq4dGG3^8A~kGbRN*1m4pmMdJ3o4O}l+PNvL+HTF%MSa(>&BB{4%DKUh-8IhlE8L|z zG&_)lA+`R`DvEs=Mod9m!w5$IXsmo96H`9~$S~T$dFu$P-2+AUV@$)i4Aty_MZtB3 z_+{#VK}8ZbC5sab$xH_{$V@R?RjI0!hBT&#SeJWbW*G0f2LPMiw=u2Yj)uFq$FT6f zEM5}G&_m2x42jH6tFq>VX^ldAju5jZp zpDr7MTL#akUvs_g9ln>tzOP{x1%`-cw-6adGTEznR6N8Z1#=qa@t7uJJGH`*PjfDm zT$gk~OzX|VtB<~3cNrGjyabC4z_tWhyn2(ZQo}Fpea;YF7Z%^}%{}f^^u0RW^b_k_ zjh0ktQty1r6DF?;SCF}6QTrrGQYS-fy<6cbKd>EMWEgNrjC8yN7!Ej<4m|FVk1E_Q z^Fsj#DP(Cc+rDG)H6iOsT#@>$R2Qa5fgyUMA;jbxqEk%Dk@g-i`B-UvLSIi2rV}uh zI|IvIK-oS+-zn7G7Yv;u@tI7FoIoI9S_ddx!bRzJfj~k{keN0}^a9E4+*hb)xN(lj zZm|4K0C5T(!6Kbx_Gh#+6gwc(^d&2a5J2KD(c`3*WG8y58U4HyJ=ZQF&dzZwmWkzL e8Q+jU$AfMetsW+*he@I%)d5>>g00XR!i(S5|1C`b literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..70c9229 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + kunci4lowertandanonsistematissteeming_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..653fda74226249c62924a267b91c858159b65b47 GIT binary patch literal 1249 zcmb7EZBG+H5Pr5rt{lf(3ls#TC~8}jihu}3uqFDz5HS>*5I>NkEOoJWSMT;T{aG3j zB8fl1A7z|v%k>P##4o#hJ2THb^UUo1{Pq0@fK3#1L=e@`W#9(783s?yk7llB+ST07 z(J8M;hVFG?3%S7%O=rp)VhmGFC*kCZ4ap0xYc_U#S@&g0y4SpSUYc``EM{+Y_GTmMMitJGX>gJ*--$s2x@uEB9)ja_+dt+}$!gzQ;Wx zVmP5J4Aa~Hq>=Bz5aJpV28J>6M`fjk%1i|jAj3$2^Tri+y9kQzMbf~S3N@UNMZ-;o z#8v8$LB}{Im5fsiKN%xiDJl*5~X*dUZ;yK$CD}Bktxr#cnot?@Rcc5A=_GN zVSZ&bIchAwuQ}K`_>V6_spXj-Sm>+`}NkCQj>OlTMCPp zg(t{du&H7iN19BA_;!b3k)Jp&&olJ7G>3G&0vHN86;32~$!ExF1fuV9&#zHwgCRdP z%H*b(9N(?*mqO7>UZ3`PHDH*bA&k&FjUcYx5uM^{B5CgeQxBHbC-k*~D4l?0_8csG z3GLtM)3SMis&zS literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..86df93c --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + kunci4lowertandanonsistematissteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..dfc68374d9e5548a4f2a216de4eab54a716a5409 GIT binary patch literal 1235 zcmb7E?M@Rx6g|^cwk!)REnfwJqNr_Assbt&!9p}@h!~J2#2;j7hdS8Z!QEL+A4?-b zB=G@!DC6C2DN8UW{+XGbx%b?2&z#v`zkmD$u!6FV2%;Kd2CkrsA$eeaGK&qU})$y(1!%W z@(0hZius28%pGOgHPe>1D_q4bQwf)5ZV9`-TenQn*sV&d_-dPKZa6jWyyY&DFl49# z!{quuDU`a=kCcYAfdLF&=xVF!SEXhMkYTWc^TrW&y8+7X!LWf5Kh=<-6Ahyb>9f+I z105M$^(7o<$mBYpVOdJ~icYL14P-Gzs=8d!F~i7tcnC0vzK&@PHw@gwErx~vl`v3` zAx4_o3`4nhEn30d(oK=xR3wf(!C8V9TrOLXd#p9SE{a%Rr`)tK* zcs%=(VyFB&zGGk(MTWSNEjWgOT>f$q9rtiw!<>P6ED)A->cs<(uD4irU9tmdYzB*G zA3d|-GAy|T+OHL$HGNjhe8Lsku>F^RmuR}JZTT0F?NE9^JM?$ z0D3}w#9)zDe)Y#RGn6_Y)AZ#ti4(xkU$Qe~mC;W2Qjqimdd3HK8^3V beS*8^G+I53lLQkaN45jD9DuFR7{Sv&qtz;v literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..e59b49f --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + kunci4lowertandanonsistematissteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..874710e06871469c181a660c7367c2b62ee6e26b GIT binary patch literal 1258 zcmb7EYflqF6g|@-+b+wiyyaCCwOy3@zz3FBG4jDQLM${PejrOb)WPm9?#^oXSsD={ zi9f&}WxTU3?GlKINjo#U_ug~Qz4y%i{`2z}fK?Q9#1PleVc-Tj8Tt;b&sMH(Iknv8 z{voeOhR!A72)V)#&t%IQ5)6}}lW=qE$C4L3&pO@==a8?zej7`Tgj z49ox9%1d2j=%5}u48xiC4SM0MX>!zmN|r#DVbIh~^$Y)v#ncm+qnaC)q#akLtOvlSj*e+sO+ z&#>6+N|a>;wxQAd)i>EPRr<=Ua)#cbaQNH6-sj%7wO^+BS4BZ|{k&YJt{Sl|af#e?fB!%D9Emaw@D;1MjFS&tN z;TuBH8NXia^GaWsAq~dps>YB~SBXw3B}m#kz|@_k^%*@qN1RT;hy?sF-u@Gdg3DSFxv0d{!^izzVVX7Uhz7~o>4+gME zCzbsr?F{)A$Sgf6CJ6!QmrsVGueuP7{gf8NxJ#9BPB|n$B)(nbr`4(z;9HCbr5pM1}hYPundfolwd z7pX&rIMTSGyEw*>&a^?pohfE3abh)Y!ombK))$J*45Jx377#9Aw zix&-K=%UU#45`e!7PIDrX5lQ8qq4xa$IGp_rmhIE%f~Fo0vhKA*S3`5{98n_Hybt9$?PEyomxH(vV!Q zp5G5>^!bwSlT@hrym@%>A>a+4Ve!0GVg4c5mS&5WZ?YBY!83PPFeJ*-5w8QgD!ffz zZO~0G4PxuCrCu7|+rUxM78U7BGM5}Gj#Ns5Wk{Ag4A;b->xm*mpGW$n;|0J#$f>la zghxJc>34?FA9B#z*7glI@M_|v)O=Ex)IXyIhY1p8gr02#N&T$ol++5Py$ejgUs@m0 z*JDKK1dQZPz;b6WwolM=jCk$~`j3(NOeRK7Ado1nCWULb1l=wWNTdlebqXu>NxZgA_W1MLOy1PiSW-wm~N8OEZZPK4HG-$V0csO7n*aa+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..b972960 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + kunci4lowertandanonsistematissteeming_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..811d72142cb6519922a9b63b296361cdb6bca9cf GIT binary patch literal 1217 zcmaJ=*-{fh6g>?|h77~LBTLvq29>zrf&ryW3I(HRg~A6Ps3vqllUY(T9V|Y;@)!II zOCOZt!4L3P{0Gb1ObSAgGL>HEo_p^(_xA6J$6h$F$!eZ-G>*5Tek zc5ClQlodl_MS4;_WoXUVJBc-d>0e?kIdS^#&!|+7Rk+eS*gbH$bauyjg<*_b$-i`>qf**_jaUp6&zVU-`!!bx6CA2&j-@FjFYl5&m2m0#gb(6O%|8n6fa98HTt~;=I zG`BemX)S$1aknZRhFIR;7Ytp*QM{?Sdm`B8dk)>iNHmgZF!Q0AF9x&Z*MhQGm)f}V zLZU^T7)kTo_f@C@UVSapp}!w?C6G072X_tJ(;D1on7u5&^p5?C$VOZvS=M=3`N0Xp zmqs#m!^r7ND!C)V*`n`PYSrBJJR5GV0Jl%7qKSDU)2JbHjg_do$aBXjNhNY^c)(y6 zsf|(>^i!)TX1=QT&DCoLYs2$Ikau_(iqODghPi7JG-GDq3B$zyO{t`j449%ax12wl zIH)C%pn0Coy=nFMI3K^<5JZIL5`+|BeO`J%gXH9dBU_DwzaEXTj2-yV*i zVHEg*iOY;f2@c9OMzIa_paZ?=r%a}4PQu1Q-Fb?vG`H9(W-rlE{zJrgn8r=|-hx}W WO=}xjFVa}TLpqtXdxT}=F!B#A{~MtI literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.java new file mode 100644 index 0000000..e549f1b --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFive.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..2d38a6c90a391898f866fd7df8f82615677d4450 GIT binary patch literal 494 zcmZuuyG{Z@6g|Uh1$l}*6fEq(LK+(bYGFcRf=aT6#)1sXgbc8=WZA{g`z1EkT4-Y7 z2lzL(CO+=0#>B)a?zwa4ocoyj^6~Tx;0V@=^yn8fhItVY=LfDgp4q{^9XiF4izM;pMfyqD4|Tgrgrrr z2+P@6D{@e++#q`oqxyid zq>|AdL#o;8=a5Ctf}O`4^1tBD^(+!Tp@Nu5i@iih2JMqjs>q2#!ToI;^C(&<Z6}CBS9GN&SO55I>Upq^3caab251^&C@#`&jWVO0-gpALr-E!L>T4i{9BNpm zT0>9ur%+xlWp>Qn#_BCf53m}KDBKwA?(-$-;O? Mnz1q|*Av$27ty3{`Tzg` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..e61ec13 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/NewsFeed.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..27c17e34570e076801822f2ebae19ca98799f845 GIT binary patch literal 642 zcmZXR-A>y;5QWbsPV5*{!2Gm8fwuf5P~n?iR7zEZDj`$_sAPl`^#X02Ramfhk-aYB zvDyn-Re}fTLscCUA{y9>o%QUQZ}yD;{QZ3kU>ln*N+{c~JXBC+7(e6Rco1{d3l2MH zA~Fos4^m0N#*3?86HZYURLVu#QA@>fjlr!$=Ah2?yiE+7moB zr!IU<+L-b%jhO*2H!==((v)9i435!#G{buRYwPi=nvMTbePOeP7nrp%=V2Z%2hckw z;ZV~Bs|J1JW2vmn+=taC=>|^fdmOsP&O>UnOLcl8Ba8sDe9N7 zW5c5Bb^#I#KA=Cq*MPX5Zi<90+1K_x=iH;~zb_Au0KTDSA%?h#L$o_OAZFOrwYi6QvBwn0%wy`Z*#L33(yumXD)aq*p)nr3zYsFSxsHVHz_gK4dV9 zIfjXMau||BjUbBJKaR)`5lGeBUT>RNVE8f!l`S_N?@IUqS6!|=HIiDN2XaKaa4Gwu z=W^*>*q&Q&`d#5OB=)_o(59pkjnM4~|BQDWx=B!`VwkL*zo*HNZ3WyOobX|kZ{p)y z>rrtGR?7>0TO3GDX+@f!wM8spo;syR3}g@nt&4P;r=1#s 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..68a208240c0f3efd4092a602fc54702f5d55b761 GIT binary patch literal 1264 zcmaJ>TTc@~6#j;`yQM5Gw?c}7s9ai5s)AK0ic%#uDMBp4L?3V{6Ii<4U3aG_3H}d# z_JIeV^Z^nc`~m(76aR%V;+d9cxx`6k&YanE`Mz^@=G*VXuK;F|i=YVs9YF&jXbf#z ze4D2&Zf~R)*S17SGH5fVZOZ!$fn;hWj4*@#_^s;+-;W@I79ECxRzy$u7Nuv}8w}x1 z?r-Ltby4%qhtWpf&%{R6;-2#EFwluE${}7?x#cs&lZDd=vZ)u^>@Pw~L!13xlW0aS zF6g*upbz~gQ}6gvR4AWQCGhcjIMYcl5h6*r1g~T}D9C_;%ecbOQ{iQibLek=93&kqnI&Wf<*EVmwnvNSfy%L~>GR2JEpmsz7 j=)F?s0kRC>RxQH>CP{_~&~2Jo+#@YQyZd;6IVAo7cMdT? literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..3818ea2 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/SecondPiramid.class b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..c5ad083beb6ff34e8f8f4f74e685664307de2bdf GIT binary patch literal 1066 zcmaJ=O-~a+7=EVRvSnSqihwAfXu*~$RX{HlOl(3lDN0g;2M=V}PGIQnOtU-1aOX#O z=ipfnnsD$3_#gZcUWs4tZb_giaSuE5zVp1#`~CgT={Eq+@zg;IX&aV{4Eh*`5BMQ3 z`&{jn-|QX;&oJ~olS-O3hIFC0okf-bIkI(JT!YIn5%8v{YUOeBR+@dfMTRRAG0Ycg z7i@JCO0`!h_NsDVaQZQXVH+bZagTO|Q9p`|2*|r`Q!ry4d#THt#Ak?A@Sx&g4C6K? zT-?AU!)W5R8^e%k#TG@dFCNd#!Z3wfk8_`f7?mH-;Xk#I6ScxHj z(G;l;byJi(z3KFDoqI-yM+_e>m+2hXA$>`e@kNxcY29qMD!mz9(sUVa9ks+2@XIyn z3|-floKsY}@7JXfl`I}Iq}W0h<@j_M+*eA8u`uL|A93d79*p)~)U zJTZ%#v@7wKqKTz#q5l*~({$2KAhYll>=RuWsgOJaY4l?Tx6h%+WNOjda?Y+$GahiSn`;&x$SV)oZ<1+?JUvNDpP9?=$kK8Ai_NF^zi(S)Sm)AkofKd=HZUA|8>>A^9)X{8DkizcQ~X=@^;X%l=&Ao#%#b)g&Ba<@zF_G=oWX||GuQ*(F zEAQK9qGK51ds0brzz`{xT1h03v|y)j3#l9M#)WT$ODG+XQ?5QFlDhK2lgc!VC%9Y9 zQq0*D=8$1nba`LYwCZs4QJNmje8ZLT$+vi18o3Y8LB3LTt2VNjw{Rzg92OYnr|>hx z24S?2Vv?ZL%7S6m!ZO42exN$?nWMi5kD{J(Md4+b05{SnEnJFu(sj9XPCDAHH040N z;f6CrYx-0$%+;k5?*g|iye4luWQh`3F)S26O^eN7H+0~2#Gwqq>3@VfVIEY-*IFCj zczp0yn4UiM=i=D3aUTT>TVcf>FchxuMyhk&7nMII=Nzc-3gHH8uC`))mHk;OE?BEHO{{phB|Cay& literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/TipeData.java b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/TipeData.java new file mode 100644 index 0000000..b73f7c6 --- /dev/null +++ b/online-compiler/java_files/kunci4lowertandanonsistematissteeming_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package kunci4lowertandanonsistematissteeming_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Angka.class b/online-compiler/java_files/kuncijawaban4_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..dc109af8c7768233c1f90f2ec98155508455d8d1 GIT binary patch literal 490 zcmZvYPfx-y7>9p_!C-(45d4D}xPb?`c!OxvgcB;s3>OcijD-}oj*Ly?_wftpK@$&t z06&v4zMWo7=%Ibv{+_3A`uY9-0pJXW1`(DFzj&0sG0J@2|)&bv3$g=2>d>AsL6 zJY`6>JL4=e$m%fi$RYnPZauC;$D@=V5mX(*nX^|vj36}=!-Daz)k qUpEI&$h|->7hX|RTq5Sm(5OxksS}$)2?pwPLcTAQ)Kdp>w($c<$7b08 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Angka.java b/online-compiler/java_files/kuncijawaban4_gmail_com/Angka.java new file mode 100644 index 0000000..870e014 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package kuncijawaban4_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Average.class b/online-compiler/java_files/kuncijawaban4_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..4ae89b8408cf56cb42e736417b721a5b9ca9b7ec GIT binary patch literal 739 zcmZuu-D(p-7(J8SnQhY4v@~0*rq+KqjW${&AQg=mghFa{w~d4dWwI_|(`2`#n~2~= zk$`xqkKm2hdZ8d%dhG-F2tI=pv3@(|M(AFA-|yWU(WIR&lM__S}d;-0}lIy3L?j`I><-hD4(x%Jx280EqIs>I62*3W;)UcLW~q zk3d~@(mdK#D2Z8|FmN)BQ^@@{)p@=Xd0iS7_Gz|RRet=i_^{^(krVYi*Wy-K|x*t@H*8z59NAeR||zF-}6E&eKnczXT`;1l5bQnxoFB^M%h~9|$m9q8e`l8j`pS zi*PLcg)tb^-->TA>YDgUC5xn8*RvS6>pY7I+o|g#KBM?4#ZME@N4%+cIz{?%+o>K~ z(Mq~j;wCTby+d9r2~!kIzC?=|D+Z>x?yd}VHWcjr;m;wb`ol8ySK&?m5yxlwC(OmZ z6Uz4z(u6ryDZv`KwJE_9q~K#5JG3_-{DQcb$lx_5@di`K(}^7PLu`N>STJx!W0d|k QlI#Gv1Gx2+u5c&i{Z`- zAHw(&L@(5E;RE zZ*y7Czpfq%Q!(gIEorGWhS6+pUtfPuel)`LjTwkUFpf(MvrSK$)*=7Mt6Z)g)LY!L z4@{?(-{7*zFxIe?C+izDIU#1tcRVEU7B0BY3NLnGmi-a22x*(=FZ!uO29xL;_CU9|tl7d{*m0bu*DhY9IB;^# zaqqY-hL{f~+3Tv};0^R4O5C<9mJ-Dv?lD|@>9uU$NPE|Hc^CId3)5~D5Ahf?{{TEH{#pP4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Bank.java b/online-compiler/java_files/kuncijawaban4_gmail_com/Bank.java new file mode 100644 index 0000000..8052aaf --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package kuncijawaban4_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/BookStore.class b/online-compiler/java_files/kuncijawaban4_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..a7395c064abe8a9776001bbde1a9cb314a4b7e4b GIT binary patch literal 1099 zcmaJ=TW-@p6g?BCvEw>Tn!f3S6jDeEZ3+T@QpzJzp{NBUS49Yx+ zYv8jyB);JTq<*jfR=_e?LB(|vL8?Yr^33&}bI#l|zVq|+{y9+wA&XXQiTD2CX&D_yn0pyl#=8nncH4eaf)hRD|MIEG>ANLUy_@(kN<2TIh5 zbxdOzI3>H;i@V{f#OmH#LaExyYx<3 z#C7FC(ZmEMbxc{9#tg&Q0DXp`Mz~ujab6(5r(>33vDT7~d&uALGMBgZ59-|Y_8q@o zc|cN|20U$;1_0)sYL2DbJAo_kUb@ct?|0tqm}39m>PeKi=h?0jMFZCu zG8H$d`7+a{Hlw)08(h`6%M#UAt*QKPixM%UB&U2S7F zdW@C1wDAG)l)3R4k0^eR= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.class b/online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..f49c62dda99ea0eb16a06442895c9f39753de1cd GIT binary patch literal 1096 zcmaJ=-A)rh6#k~&?UuE)rBD!|QnYA`N=2~#lpkXakp$GF1TVb6=`w+(?QF9<#c=OK zc;%HZpck5O;RE;@zK3{rmtaX7caoWN&VJ`RKQrgopVOZJ*74Xx1W^N80y<(0=_7v3 z%PlSs%C8$o!cq*e6RtSCF^_ub+5IvtS`IwZ+cTq=)Yytuhp>UYn8;hOI}<pp5?U57qu{GHD_Niq_%7+UUl0I;qLH8i!2(UrJupO{`jR`hT*#6 zR&$$o0=$6&^M~MVc zDi|hN4|sJLwBj&nWoSlckVF9~EYgH6VFVSjKA|aF#~5yqR~qb$K)QjOj6SkNF&8l3 b!fiT}6r)I)F9iF2JRqA%`Vt=E5hnivrN9Wu literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.java b/online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.java new file mode 100644 index 0000000..0a873db --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package kuncijawaban4_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..16b983a84c1ff4f33cf5b83eab30f5843b35ec7f GIT binary patch literal 1183 zcmaKrZBG+H5Xb-9B3F*XLd#QCpjE`SDD?p!um~2TFH9rGLKET(vMo!!(!0aEJq;gA zBbG?w2k=7~XRoC_g8F7}ZfE8<|DB!v_4~(90P85}h#;zAz`!L8GK@C)CthfAyHVJz zHAP)A46d5CDc2aH*<4jajA14SGM&Q4krXA@^hPm>8OBIJOhJ=QsfpJWn zQ(rmqq_9Xd0U0KGoVTuNcZE{+Fs2Mlt5m}Yc{E&MNS>7rIdr6OO|@!jx~@A0mQY}bNvA_%7|-S| z@^#$9eGLx`EaM@y+i@F(rcXCmD0!Z6)&23nc=^%iEstTPd+4yp5VkX7#fv++DjoEN zvnLqhWz!aKe5)qhEnaKU&M>uf`>-=?bPex(Tbh=rnx0ASl1+!>(sXPppD6bgZis!y z6-9;-mnMzOGr(9VsI)JIOEH@1b=y4}@~ROfr(SVC08m*7$?=hle0aN)lSpF2+P8&nV(DPq0dW^|0TF6!SzJ8oX9UKA>VQP1b6#F5~LrPp>>vUb0jCzL#_qLby_2M F{s-%l5*-{fh6g{0_CJe(C5*FElq9j3y3$8&R5Ed;;R3KH94^$^MaY8bKvtXgG`a4!> ziKL{;5AfX&@Y#Q`yqz7lm!9sq_nv$1>3jR@&(B`~%;CNY54;LmG@OBtp)1c1c)Y-k zTzox~7g>kFH=`T6Gt1zOMAHiV48vt7-Hb0BIwEOV{BYfM_FZSgu>>!wP~dGv8#D#& z8amL)5ZQB$te)pDd4?O)JGmm)3p-h}7=N%u*vSK7@toKcHl@?dCM<^0wf`ndw4xgU z1w9&q2%X};acDcDNVEx%AymhCWa&ngDn+-UPeZ>9)yyV~g0l=gwbV@p6$2QOVhuA4 zMCzc;0wkhol~|2x2xE-&vxP%uhW>_o6JXirghaK8D?ZzHA0Ki>K=Nkvqsg$>gQJI_Vf=0zc|=(2_>#2NgKS&3u_MxuY> zskn-33a)FI#*I?~r%X3f5Dabm+_FXO6slHvic`ur_vY32m3P6{D(>K}f`o<{+#@*C z%Ej|8H9i;!>r$T3?>#;x+X`dUdLEiV4+3&VXcv%uNZ%GPIgGT<(&-kw zv;+EL$6&D&DBH(qJ%SqhfUYC-z9$o-K?Z?%Y1Jsao!~m??>vEc${>?fkj@hfY{x!A zJ;q=OBaLAB3`hnY=s}WpGW!C385Zjx<8+ct`~=YZm*_s~s{VR(svNykkDiy$0{t6e wC7cT)vKoj@NG6|fse~&*+$`aCgHM3UAYWRC;l~IDX_jidmdnU1w0f}m3+mw=_W%F@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..fdf4587 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package kuncijawaban4_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + kuncijawaban4_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBankTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..bbef5fa269bbaccce2c3abe711adfb121d09257d GIT binary patch literal 1893 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 AU;qFB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..abb9721 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package kuncijawaban4_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + kuncijawaban4_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5ac4e4e720309aa292da089f647759abe0eaacc9 GIT binary patch literal 1176 zcmaJ=YflqV5IwgAwrsaNTA-jjilVkfS$U~g1dEYG(})phLi|9s_0rtZ-Nk)i`m;15 zL=u01Kgu|FTiP|KU+&J{nK^Uj%-o;9zW)HQiK2=Kq6&I6^rDYpsBWAZdc&}4`c9?J zs~$t&y0C<|!4S>n$_io(Q$dih^{uAIi;iP7cYN=}_jWyp8>R{c(SF3CDM)A-z#v2Z z*te>pZhSH-hP857GY!!=tlFmjdY`aMe)YJyEl&9!cd4LehtL>iO8+fa=*KXU3Q`(I zF#1OayG_^QCJ`qv8O)M`F89dIFy0Lh0S3{xF{j{;hP$}OF#9jLI!ZD0kcJk+SoVF3LNGI$ zfUs%=7(4Am?=nOH>ZY45|WOLWyR4igi z!Lo)GtP-s4)bzSfgVT$y%N;o~BQRcm^o@qgu-5J~%qaxh+N{F$n_QXtdSQRy41*Y0yoaRNOyl?HDQl&bK^a^0IIRxr-L{Xn4Z5sC=^2Ww^zUY=;*Z5)LgF znO6YAp`hZC#~q4^3pb?jP$)ufCIzUww(nH=wvdF<*Ozxe?h9sVry}&cB1p>hCo3rz zjJ`b}{n1C~Bl>%cC|N){e-4(vgmQ3>{xhigFBm$**k^Jv3Ic&d>C`AaL2v_f`-DIu z0mytCWbhIb2l=m1&vEkt)7@nG!X<+Nq_9Sotp1d~422HJ9Q{cqF#;I-OLm&JWxSKU v9%Mi3WG}ZVq}T;+C9}!Ar11^+FYvHSqt(MC^)N+braNF80oW#;5j_75=n@dv literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..627a875 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package kuncijawaban4_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + kuncijawaban4_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..35305d6daaad5376a8d9e6d79e8dfaec47665bdb GIT binary patch literal 1197 zcmaJ=e@_!Z5PjPsSB}F%3x%q{p{Q-CR0V%v5iCYx3;|NU@Q6-W)9@KC{mhDAIgDG?90{<(UmpHeHk41&i9} z9yLtmV;en&YvRCmM4n;Dp`|190$?N%R5*5Ff~Gxzw%Q-MSx|{w$3M zk;EV1k220}%XSUw%iY;KGiT1socr_F_a6YZkyjBxR6&o18|Y;iuJMmtuXC%a@0Dw! z;xY7Y8kXU0F+|gul7bk+Oe@H+^_`|C@{Yrsd%oB3y`tv`ZmLia?L$8_1p^ueF~pF4 z?^_k4#y{~gw^oj;CO7KG72DKb9TN7Qb0VAqcg2Blsi0j|dV^|%sl--Y{h6$Of*&&aDn+%Do(jkY6NleRe%`i-+1JLjY za+#7!tY$T&Fh>(~g-33NiEelZuoZm=^9t^2xQF`;bN?DwFe!!}nxVxoo_^b=(ApVo zz_6+W7(<3SF1|Aw4Z0}Uu9vcGFXeJm#IQh(UAa;f@@=G+7S~qg;vQ;Pgw7E2>^2s| zXgYJff{G5Iwi8Y*`jsTD}SbMG@PgtO|Z$5iCTbhKK=aLi|Ct0s|TtN>*vTl4b^oC*8^sP#r zS0zKwim-%SWr*hTWd(7D$-qh2`g&9HlH(Z7El(bKaz{GcFjXjs_M#7(f_@DHNHENO z@T{t+8=sAeVJ+>~OhYvGtG21X+9m8Q=YTtJxl743JA}kAz4_l%#a;{|r68?g2*VfH z?=)S>O(IQz48t9qH;%B{L@BxtqZ-EiP|Xfm6pS;Z&r^pCDl)k0OEt-m$#p=(W<$E<=I8s>15#Qm34fl3T9(#~QS$-Qf(4|+w)3#&$8 zapV~$1eLyFyE40BTL(f4+sazD%({ljsVYySS%dQNt4M6PE4N^twlF)Jv|*9lwc2aC!F8Ga4?#a=Y>{(-3TH&We{` z@@1-a!#>~)iA`bg*PdCSIWZ~?dg&uwcaK^VN4?ngEGbN07Oo(3$)a)%zivvO+Uzo1 z=ZCh#iwyk^jT>Fh0R}@(r9;Ub^3lxZHg~;-Y>j3z zfk2|c86&U+lJxqBKq3Lid>bTjhRj~!8`Kj_oMNgQ>@PcLRR)N`GTr>_kLk-$?10SD zpU)&t03&~i&d{igccNE<=qH`%#WsaBJH@qBE>-Ype8;U*-09M2)i6mCOpzSf4%lh{ Kwnk?JPyYZoE)~%L literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..6a83ec2 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package kuncijawaban4_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + kuncijawaban4_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..228140ae490a28d3ceb26a1e809227540f74894b GIT binary patch literal 1210 zcmaJ==}r?-6#j0DOgju)*<~vV+73!xaKR#2jQ%i<5DQI+Kgeyl)LT0i_($j3ya7TAj3!-XUmm#i!gcjV9da{ay6WYM#FW6q4UrYg^meKsgg}IOk~=i z(K6(-Wt~{f8c1V~s^|%y)C}Vt^9W#QeG~H<77X0NZH9$^mFz;b7`mvIHp6Jc%E=oBY7yi`V{bn$FS1MKFTrz+nl-l<(q7oGJWan z3x@upw8h)Nst9+RR~mHFL$%#GY)&8b<6U6;(h_CqNm3VVN{;)|u_=72*kQOK4jfnH z8G2nBITFtS1|vp=17EmglayX-J}JwHUQH{h^^y~~Rq3mFoPY@>w7&A}6%rj`aCrBPcH@{)v7^7cF#mEQ*5~tH3_g;eQ zquZwh5(_~VTOj>snAkPHLqEafDP}s(YWo#~J`7=nBo+M`eHrp?ka_x3OcDezdWH8G z&C7V(do}ca-u7N03M$43JH?GurkFAp6_FpfbBcQ%A}QhzOwl<_a5J>V={DqA2)RyY H3@`oy@rxL% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..95f9047 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package kuncijawaban4_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + kuncijawaban4_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/kuncijawaban4_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7bb79a184dbb47e20046d15175a0e23084a275a7 GIT binary patch literal 1222 zcmaJ>+foxj5IvJ18~7qP7N4ah zLP?b$;73{ZB#7M=d`^QfJ>nQ4oAgZCqz!mf|4A%K4o@;QsmfNh< zMb&5MU6Ho**BGMdOj$#WVWJfzo!rKuFN&_q4>tq98TebiE4ZaYL$nY5Ffz51 z=!FYx9eTd7h&KT;jCOF|xY9o3O4-FxwMY^Sk$m&Add&s49BhI>H)PlSM)sLs_ycZ@#15^ z8y>^*nIvKUA=vf|7A~J;%A~r`euHYSP=l_N67t z(v##a+H^VYOUI`2iBgy0hS+ypQD7KwX%5Le2N((k759DNQj9LWZZif$0cwVof6EEn zs(2|CpX8+}pI3v0X&Sx=J;MkR>Y0$0P?JdC9x(MDX?;k$M~IRIjAf6(vZv5?kI{Do zJ^K}dM@W7l7o#8$NR(EC(iL2sP9GCUqy;j21`@@3>k(!tg?hHWKf9+e8m~8K$dsuVNqZkG#yi z<-G%!+s$Ti>@PNT8QW>Q#(oe0WnDMGn zH&?eA%uUY|LEhnEC_){N8RoB9&?++>PZ%cuA4*pm*??)f=CK~jViDK+9o2M=w_2hyy)#-OOKzTb4&GoE82G?tr6`EW55qgUMe0VI7n@b z&eqX~F7zWwN@l1}z`|mKJVj9|x7aD>F42+xVaj-f+D-c2hFiEzV+TbqQCr4CS{XEZ Jgcam4`VVj)5kCL` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Lingkaran.java b/online-compiler/java_files/kuncijawaban4_gmail_com/Lingkaran.java new file mode 100644 index 0000000..b3822fa --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package kuncijawaban4_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.class b/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..eb3a09131037d951d1ae871a6c98ec1b0be5bafc GIT binary patch literal 470 zcmZuuO;5r=5PjRyR%(GF@}b~?8+ee5H&72IBqpdN7%m>jwl-vewgg)YcYlc&&w9|r zgFnE3&A;$a5nG zy(Iz>?K7ygdOwL3Bn_ArR$=|2_ZF9t=MyW8NtEv_3yHANorxgoMKh24O%rKk4A>U3 zSYycj!(q^-Qo)d@9o72=))}hfIB>;?UvY;AyMv+6#bn@yexnn+<3(G{Jz^h*7X+D( z2)vWncf8pdcP27H?0}(AJO3VO`8JwI1jA;%&yeax+#MhD=?~xRh4IYw+Cqxcza4hu ztf(SK`;tciO$wcCo^D%&j8NNt1iK@L8j_W1Kt&Qol*pIVu3R`_$<|wmy-N88_C1Ws s15(!tyZwBXYGtV|Py<;*1udNRo+T`jw?R?*ws&ZZy-}25bEzqR0UCs0wEzGB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.java b/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.java new file mode 100644 index 0000000..f24d37a --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package kuncijawaban4_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/kuncijawaban4_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..84aa1b3021416719445d04910ca02a530d23c401 GIT binary patch literal 484 zcmZvYy-or_5Xb*}d>ou0hkzhpVI^2dV+U$sLSlj+@eGXxSl$eRI0!UrhxEq+K-Ni}HJy9{Y3;O^*%Pk!{46u)N9hHr1fI%`1ss!&K>`Hy#EQ{Gqy}*kkz4C$RW>A8uD}Q_*@N~gZ@x> zF+={NR5Jd=kZm-NbQm)xH;$wl7%&<1gAo}+Wx!(44uyAW;04L9Cx!BaffBL43hu|J zCTx^-ELfg1(3jdEX~RBeP4r(2TGP)YqJTOY zv`?+ypdm}OrawUMX6=I8)$BR9o3o2~dV2@3g|dMV!a5>JM4>VCxA`@%bhzEB95vg* z^cb{tX-jXDAzWUlYulT>?!%|C5re@1ZF`k4)MDr(@t$m56zja>i{ic~tf?6K8PW&N z&F{@PGRW%4C6UMApNO^FD^gJ)$EUdYgCG~_RE}L~do|A$+*&g*j1e89NsM8fA^VRH zL$s?DgedO!ad>54(&w9(`FbfpZ>>YNYy-UULNvp;ICuuZ;3$?3`WiIT~q8zg*1Yg%c>Mi zp+GO9S_o7KG#V#qRiK$J9MQ#BuqQGYiZrTYAdEN(r^!~XXNXV-iaF?enRvC7L*nip z@l2}v2rZMYK4W0%1w)Dw3MdoM$<|1vQ;#7{ygU+g)hQzOVTMlWqx6ucuQIC=n-8?5 EZ@I&HN&o-= literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/Order.java b/online-compiler/java_files/kuncijawaban4_gmail_com/Order.java new file mode 100644 index 0000000..e3929c0 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/Order.java @@ -0,0 +1,15 @@ +package kuncijawaban4_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/OrderCase.class b/online-compiler/java_files/kuncijawaban4_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..5341a9aea7d1d6ca3a2d063f271cdc757e40d24e GIT binary patch literal 1240 zcmaJ>TTc@~6#k}{-BOko3WXE}LAkV`R0XS2v`Upo0zxdoL?3WkCUog`cir8hB=|q{ z*#{nc(g#R*@CW!SO#Bzdh-X@&Ef6P}IdeIe?>p!0e*1m&6+jO8FnsW<2xtgGVd&iE zJ3MW0b1S`4+!iH|L7CG{-Mi1=Po~yG2r;OS-`b9F-7vyvSD|U>K%~XC;5oXv#SkiU zx16^&McsNagif-4Cbnt@ccgVpLpORThIn1$hRYC7E}ce@O}$WZzX&Z2CHK89(T09p zP;pVi00vt_@4B9-Qar0h;NuN}Q1yqb-XlOYYmxXjR3mGqM zU5}ey9m}Is6PgC6Y#1XLRWYVv97%@mI^0(O3_)8)J4NTjL26ya1jBHpW|s7A{)QL1 zIkT}<<+`y^va0D7XHz(N?o!SIjnqY#bW=R7Rg1z|<3&S0khaOtn|yf|U}~MAqu}vU zWtrP`eHAwd=sBtk;eu6jN@78mUL$`)Pf1pk)_KeFT+iY5vhd2*rW;j|3F9{IsJJWh zH_I^cuU@*jV^u`D!LyOl1zz$jXP4o9b74;u8&02abJGy+$dYAMYIgQ4p{AP_!?j&o zoTJ{%v(dxZ<}#kR$aBLe=$^=iFh@iSW!<)^Wrs?Z>&*@^25r$asSXBrUE!+8F^ryJ zdL9844;cpkuSyNyU`r`X(FZ7p57ahLXq}|f07*tNIB^K}nKlepX_e1_pW6Q#rf4r! zf6!SW`7Wj|P0j{zC=&M5 zC_;lk1UjNH&;^^m_&vmtCaomYV_Fmy*H!u(fEJ1r)%pXG!MTRRAF)S2n z=WKNoO0`=l_N#JWa0W4gQ5$0}agX z2CJ%@f?=d4m3Z9=8Y0}{4WBd?Sty3d!n^)Fi`xuCb;G^Z25%>L8+UqBO=?8dsOwJX ziFFxM=6ZZD#i^0e3$0CLLf+mGW=}VxkpbLuP(abfV%(S#L;k$@QXS})D0h3%?bSN> zj1CVOK3puv8L&(GlB=dKqI^y3R;OL*&**}t$8hVgEiQpytVwscddA_5qRM^0E{&*U z@qi)47PBbFe}}<+rIZM(K93?1*;uBA_2qb3=r&dvZvG!ibKcDpbGS}B5q~L~Oxg-M zXGof*Kg~Wei(kP$(S?x;$up3~Aa3H;8T5!uEqYtY*){9gO!gRgYi)Ms7^9^V0-|=5 zW*`6lBw;8PQY8HNjN#H3T#boS3GqUVB>!o0;ed7nSsHJf+&GvgT?sChiQqP&#$o+N q#>O1`MO%D|u~T|X<8DHhCpa)nvWY75pFS}fw zmEX6{McXhW52TXjh#^)iHRmvkISY0Qw~)F9uU`g6c!bg+1ufQwL{gVO_)?j=@dfuP zIm$VoLIzoeWsmnnRjW2PAEoKiDllA`fMSa$rBV2>4vLlPtYRaF1q*jlSi};;!W4dn zL_f+FQQRabHFIE?x3J3K^g`8^=llzAarNx<%;VBMZELUGkbUu*8_p1~>W*N@)T9#c zLa!zK25-6Ki4#~cEEPXZ%fVpRb?CRnv5dg!e}sEcz0|N*TART5y#H31uI>bxB(`ka zN5R5&)R_kih4CFob)kErJZizHS;xF>w13I)b@Gf?z!B*it~#y=3N@{JVZU;-%n8r6 zz{X`?Oo2}xbTk!}$qTxosB+h>OCu_?C^F=l+6_J7w79E#&Y{D0omuQKtkgmtIDO%J zVUKe)-e*XiC?))=%Y#4!79KNf-{{1&16n9EZ2TWeV?62xHnBn@A3ZZP4m9*6?~=7n znvqWI`~>?(3x+(&Xd8%O4r@b51XYNWA9#_q53#leA;|bFF_3r02`nvmx z@30o*1Ehf;xE&dZ0hWixn173YD9{&WNWvzWMwZ@tH14}tz;hb+7&ZtqLq3P}JgqjV Ts)s{a!Xxt8Wba}RPq6wIsBrZ) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/kuncijawaban4_gmail_com/TipeData.java b/online-compiler/java_files/kuncijawaban4_gmail_com/TipeData.java new file mode 100644 index 0000000..9dc17d1 --- /dev/null +++ b/online-compiler/java_files/kuncijawaban4_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package kuncijawaban4_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lia_gmail_com/Angka.class b/online-compiler/java_files/lia_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..9111c014143df8d2164efc246b21d7497476b245 GIT binary patch literal 480 zcmZvY%TB^T6o&tSLZN_^B6vXz?7)S60Ek9SSfP^CuyH|#(li6TkkXp?KE8l1G;!er z_)Nxlrn)g<7BgpN{_mTU`TTzW0C0|D4H;xrC}rf3XV91Yftwx=T=RCmbnKWRKNNw8 z&ls}3{oN zyyGQavgvBjQBz@*QO7Ptw!jRzwN#P2_bX4kB(n(IL4T^ENuVeA%=NkOW_IYC7lFIt z49Zowa2Tp%5jZ!AKX;-#KKJNEp=7|&?A>oOGE}UX+pBB7{>y7tm_)WS5)#%@`>AXd zT{P$)<;Z{ 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lia_gmail_com/Average.class b/online-compiler/java_files/lia_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..bfb32ecb9d4fe82205a59b0c34a7f06b7b84b427 GIT binary patch literal 729 zcmZuuO=}ZT6g@99?@jYj)6z_>n)>}QX|&NU0#eb4K`5kFXWB@JP$uILrY18bodg6I zMFQede}Ws=x=;`;UHb$43H}BtV!iJ<8=>&@k|AS;3%Nb!qz|HR}cLX1DJKy-hFbSMHAdf!p;-aW8sGDc=Y}|G}`| z@dxW}rzbB+8#2sV?SD4Zvyg`%>@Js@43kdmde2tfZKXF*CND=w4P2vr+U+_+#)*al z&%YnY_PNBtqV!LzT%cbezZA$l1jS2qny1Vt^M%h~9|$m9rYNrg4QX6~MOaFIVFCu_ zx8fU&mL|SZC?IXO^a8SWix)6yJ1sro^NOEV{0#9t;Z4O;73s6K(>S)GRdub(OX@e)oAV3y7bT=aWg1DE+<29!62Gb}}MG^WTHoy%m7`Uo2+Wt4v>;T0B>c+6B HCRF|c+nS7) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/Average.java b/online-compiler/java_files/lia_gmail_com/Average.java new file mode 100644 index 0000000..87b8ee6 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/Average.java @@ -0,0 +1,18 @@ +package lia_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/Bank.class b/online-compiler/java_files/lia_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..0a32721789f458aca47c2f1fa28cd3c6b0a6f266 GIT binary patch literal 1074 zcmaJ=-A)rh6#fRbyKO0!pSBdWQWQ#yO8wVbgGd_$18OY67%#}sPTHm0*`_;7!krgB zgz+VaUZ~;12k@bcXWAx|&^Vi!GiUak?|kRXnLmF|e*<`qLKq_$wO~XLfXOg%$d7p5 z;j*58b8slCiotwlOIxinjAnCt=Gq7HqY}Ua%{d|Z*kk%uez=LI+sm` zv4*XDSzo8g2`5`FZ{^D7i1y>nnTD&PruB>wP-c}9Td5TNrF(k5EjFMXu4AE^{ir0SYKy-HbfkP+b6~(K~9p3Ki z2GvJuE+2;jg)6S#sfrC-JBM@)S2Q6i$-3(*Pjz^EN2rEd^P(nhg>f4z7Vzjv2lTCeb(Sfo^hHbA-3B?Yd3BUA#zf;N+a+?r~cTF&|8_ z*Gt908|XunxZ_l8C5l1ZW4QLpZ#le?_Nf8Wo=`$7EUkFMmrv7-A+jZ<=#(7pdBU^s zkYVvc-ow(d@R-p5Z%QrN%bl7*KMOrZLH7@n)*GayNHUUv<)2{RXhUVERsYteLH!nJ zuT9_4X^7-}-1v$><|LDi!E&30KqeWe7ObR|jT=Vo7eXgwG}47hP$a_c#QiyPby^t ztbxz+koblVkov&_SOLpm1r^s$1gRQf$urk?&N*|>_|DI>(;oot?nR9Hr6DZLn zlGi4UiS0;Nde#eHy2@6*;LUQ5N*Fbf!x+O6oQ`9m)3(n_N2kRj+A1^1OzvJYO)x zD_)JJ%(isJvv%`9_`CeT2^R?MGE5d<4^m}F+lp5kJG|Ay8@AW>t721zeq3T{O$Rx02;2N&$D29hqVkrFkE7Cpo8p7(HLifBjd6g>eFud!x*#mY( zpK!P4h@h}d_S&uT#k%`4=ZL$VmKXrq14D-_gKUwYWnbr zfqDc98t3S1o@Pe#(DHY%FBC9JAzB7Bq_BX?J?Jl@#%WE)*K_(kZDTfmf|a>k@&i&? zW8*U(Q~Vy8xm@ZaWiphxL-8kA*>Q?X5i*&iaN!&hL8PxR=1-9YzF|BpCl;0S zlv*MzDh8cuPts_>q-&U?aT;k9=qfHFgEeB_#TeExj)!zvb}$JWQ+P$FH{`cYYI#yh nBXNdl#@OhvF`6Wwi_unBaFymH`7O}9jGOdjP_zOIw=nYuddUP= literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/BookStore.java b/online-compiler/java_files/lia_gmail_com/BookStore.java new file mode 100644 index 0000000..c896edb --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lia_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/Fibonacci.class b/online-compiler/java_files/lia_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..8635572e227242a8fa38fcd52eda749d825a2578 GIT binary patch literal 1086 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkYFBMGQU30`=C(`5onw>!=5l!SX9 z!Yi+Q0lmQmkz(mx=9(Q<2BDURw zYH2q^=}aatg{urxZQc?!=~`U9v(+JKzT&R(877OHo25bb3>dBj&NBi1Fob~|@j5o& zJ7{y;*|TK3e31czR+IaJA+=?@;&r#(6y6SRI%LrZ?FMn*4@NERGK@A9w_4l06XFdN zDElE$2D2f%o+avbz?!@Wy%dy+-rIdW8iL(*gb~Azo)g` zW7!hrUh#T`s&h+8?}Xt~e|gV=Ja$#O+&SrpA@Ke@d(Bqu zf17iP8h4zAtpqhsnd-^%EFZ@*LxeOWHeFYEHHZ7Y@C`gkz^$G#UEf_Nnx0$J@^eoF@ij~_Mo5X93$)VbZj-crmbrg z?Hi2D=y#+@&gM>$1?VuF`%uxzlGRT!9a?g0S$+MZ#t*f>F}-kXMI6 zD-M%Zh9+|!NfeO6GR@Tr#!w;aQ<|*}OyCB2rNPb!q#L-&=p#!M3nB9@+$Nc%7)84I SQn=s81G1TPUcnJ*0*92EJi<=MvR3f#1CYEp)T$NcV|ubSsD={ zi9f&}WxTU3?GlV%X7A3u=iD=Q&iwxK^A~^>)O4hf*3f6*68ag2_xTrYIoxYmYuo!` zM>6y;*`6(z8PcV4Q$vPfIxez(YxPiyS`hHVwMZUBvLOS(T^$4`oz~oNG%LMfoGVl|F=PP03$FpyN^8<=!!_Y?)^BBfUAKFdhd!Z@YUW+I)C=;+D9PV;i z;NC7TIFS>D#SG>t(Uw>6d|8kmMIq#_P*-!uzyd6WjP%<~45Ov;MSdOka9_g%0}t_t zhU^C|Yd@lUvua@|0(EOV4qknZxDzrgc8;19nV@aksd{mz+@yoP^mheAwr+dkZRBo? zV4ZI}v@=M9+&E|(i-!L`@}%vGrXAXpu6cAgE^XhV_GZ1Oa8>O2fv7SJ1>`RZ&j>~m zMYTOC0;Enf+E=|MQnSshDKGLy|p3 zezWo&`Z2DaV5SFF&l$)ObQFsesqW9{%TVo-%+a4xk|Bcef1oGHCHXFTDMmlM_PnaLp{$&C0wI@&mU|aJMJKB>liNtusV7OLB@`%H^1Hh1L{a`~`yB3R3_8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lia_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..3dae530 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lia_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lia_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/lia_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..87c7d0c67570e1fab3abfeb858005e36ad29d54b GIT binary patch literal 1206 zcmaJ>+foxj5IvJ%HZ036BwPeSP?RJn@qP;e3E`qei3+5O@_`y~h>OWC?u9D!Re#4S zEs>N|`2oKB0Y3W=mOZ&{)beGfXS@6KnKRw{?bnyD0Os&Og%5rOZ5qxXz|gbL4|%G{ zjY4W|XJ70(41pQl(4AQZe>{;_5M&sw1nFifd*q0WW$~jm*Ew*Vb;lCCq(Xte9UagV zbZY2AH$$|j^X)>3>&5L|vy^(cNr;(4Vex|45H=OjOb-IX*y?{vq}$Ppkb*u9VMJP3 zuOHctC=po#WQa6y9$UImBS_gD7|<{%Q#I4$QE--_uU^{YP%(rNDbXmyP`m-^y>>d0 zSBce_h8V_4HCs63W*BUSdjKoZ=P{w+f`*HjB&w|v)zo2VBh?Is{`j+M*~;6H(z;O~ zkih)L_h|Xa&v!vg5%nsem|;3G=Y@#byd>mvT-Gp+6hqK4tCNrnaUIo0o8)eZ5;E$s+vgI5`m(3=O<)}zOH>Kcw- z5_#R$$(=Ds3hwBpLFl2?CV{NjGcA#3=(MQ+$gBhOdV(^0j<6_3(d~>;c**Gs9&PVg+LrBg8Ss~edw6}rD!J~DSPPgGF3m8bAfF)0% zY@ML}7;5q(dXCZmfn1D+76js_RipGyg6pEM^916nfK1gux=%5*mHY(t1jA)So5^zI zC4(;XAw!m|o~4~(p#d^MC&?s80R8{S9-yuoY-Hyu*^7YhVQ9}}%NpVgBY~3X8}aj9 zxP+vJegi37J{R)ZktaoiA|*hE%cnSxT+?nvN7mgKG%%!04JUG<;Vp*#6W5Ug9mBY) z_!(gs&YXfqbIxbWIz=^RAdPE8nI|M2GYp-nM*vAXR+xVF162UAyF=;&=$Jr8L)O3~ zrWlgv8B=62bk|Jj+tngHoV;X8rKM~sR=81r`r}_e{S!xyVW7gTif?f#(zYYhvL@0V zZwMV9;6n``8MuL)=Qt}l{*EOWv_o$BVs(#r%apQVmO&qc3VDTa%fKg?p*VH}qq4FH z`l1w@d-mPm_kT%!uj5nP(J*J=E(+wxajUs~pURypc%E=owRs@id+Kw`JEJJ@MIB_? z)qJT`QiM)m-arZW7&@qRY)US(6$z}RoGmAbzWW9ivBWUg;B_(Y*cC3Hn6gHaC%G-j z(f`tFS;z4iLn5qYz*xwZh6e^7VwE8-olun_m5K7w0#FHmuCjg1Fw-h`G?z%g;Y8(M z-^rFK#d&9!$V{x5ws`0_c7(gmgTi!EGi@A@H<~SKz{kEV&4wtOo=L|Ao2tyENoi8g zteml36nl;<@(evL%@~O%0GA?4g*_=;(&;uma$Bu)mlMl<5e+qR<65jZV${!kxENn|m5ehId}e`=WF-(1ee^S(S!9 z%pKS08f&AzZ$naDu_PtcokrgdFm;#HdyQ7N&`uICIC%^<`3l fkybmtqIVm<#y9khQwH1g2vljMlT^b#EDZk#YoFN$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitBankTest.java b/online-compiler/java_files/lia_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..bb5581f --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = lia_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + lia_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..745eaf745eb0e1e9b8cdfd13a1f88e4281268817 GIT binary patch literal 1189 zcmaJ=ZBG+H5Pr5rt{lf(c_}C_hk~|6DdH;@!D94-X~bA)Li|7$x|F5u9o}tC`m;15 zL=u01Kgu|Jh3gTFU-tHPW}bOw=9%Are*OZmj)I98;s&}b+(0+O;1U1Ab9L@ibDMid zVqYxnJlQyR;SU@*)S|C=P=gCQgh3|kn%=oQ|jmajyE z=n^2qXo&N{lgABHaKoWn4d{?tw!%!j%yohrd3kYSju zNWbPfc8f-5S7e1Bb5-Mx%`3dl5AEfp`2-fIv^HVeah0tOh3)f(&;xs5VG%iogmT-s z3?u2x^=u{{V%fkW3y<-H+U|PQ+)iAx<|Sl|2Q^p2OHVMb8P$>^BUaVC*ZI7&(DJ z;&fUR-bZl#^!l7YVgbm)1<1fTCU&ylVV>gF8KyhIdeJq5ehg!UZaVu5`ZDB0kU9F( zOcDez_K)ZkDP=s2UJasOhS4iTLFX7{XSkhA7n9iqP2>mepJAy(BuV^%Njj$pZkqPj O4k6b9$aOknc=Z?krxZQ_ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..b446578 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lia_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..49e17bdcde140b9e2f46514705bbdb3f0093b214 GIT binary patch literal 1195 zcmaJ=>rN9v6#k|~w``YNxfGPkBB*UqmWwD*1dGZK(})phLi|Ctb*MwSySO_w;juI# zL=qpshcceo!gdM9Y%+Uh&N<)t&h7V~pT7WXprj*#q=pUyw{V-G_sITYTMgT-Tiewm zUXu*B*MuwNIzuv-uV_dyjD<$Rvo=p8FZsTGvfY%&O}Qg|ZaX?OBs-CYp`pt_H+mS% zhOiInjx8DoHP5l$>=ELYsCuqltBGA6P#D9DVK7XT{~M&(i9TdB^cxt!;5FVmCxPS+ z(Ir5J!3gJ_FWgIt}!z&^Xq%OIXoGpdtQus`{&2W<+ zdOj~Qbon%MBwhjZ#f(aalKW(n7C~4|no&V{#w^spl7YVCHT@dj5{gjv=1kA3F~TH` zT7q^hfsEP(k}_)U=-&aRmX6M+bbE#*NkF!623EL$wtt4sQ|N_n=sm^IS5h%D0)Zsy zG|0V+;JWE`nLrXD$jl{3&jm*I3*Vui;qE!c+sD{&IDfk1vx1au>b%7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..1908714 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + lia_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5a2bc3e79fc89d6724a213d58436af0d79b891ba GIT binary patch literal 1981 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI~r)5G!{F%QiO|1D1_#Kn@`Z8N>jKR=djXEL9|r ziN7KFic}>P8>!O+lcpa;DSDa+*B`&DjQ+hwPkTiGDQqG|6}xXbNz;ZYjH31Kjd72ld9 zA45Ol8U_p`aOq6lYsa1xRVtSN87{SO9=oR9ERmwSFk~R9LJcQm(eMt#z?;+|gN|Wb zQ6!Bp45wS5;l}fsl1^2P8A#zO@#YChW`^XcdkB!cBeSv5`jfw(kLj4ebq$jS(#S9j zon@;<6hpV=b1(GXnJz463X$0#^3MtBpD5mAxLoE|*|)e9DdnBA9hs5`BIWU_(2>LY z8a^=aAwD|8TEX#mEWw~1amyF0d&FG2kZJT8$f4noR|uaN_!Ku8x^{!0l8OlAQHad^ z_}yRke@T3=Bahn}?ijd>8A{~1`?*7(PCYm0dBRoa&4b0gZ+&igrz8crNJu1(e4$WK zlulsIz`P=+zalKtB2$Zk$n3_y&4d$JG;kkF3>_pin_)1$6{^39nJL9d_$vk;ph!$t zc||NZcA3j(raYjPC%G-Dp20LFKOY{&BZl6_sRzt9Sk>^@z!N-Wh)SoCi6N1`06-D5 zu2|V%m~ILq+;b>pV*vB#cQPgFalzRo(tC*s@yM_42zQ+a2iQfj+o&~0k)-<6x20JX zCDSv>JZF;{xHPFxhIsMxROZE=y4nSV;4fho;sm@hVft)1BOid$f<~2 zgWkrWE%GuId(7~2n98PO19XYoyO!|Ai;h$AYhgAUK;fM;f$PUL5jHm6w=Ou3&{h*- zfm_y^DMdaClOa=7gV+*n>Q0L351LXwyG?VkY}>+Ju+(^X8Z3s1a}-?EnFf;l=-XZC zQfknEt8@Xj(IB)Tu5M^r#no*{{~ciJQ$WuWz1>7Rt$?BI30U?uw9OO5UO>3 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..c2b09fa --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = lia_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = lia_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + lia_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/lia_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b5edae259e311026fa5f9e57879a2d0da18e0f53 GIT binary patch literal 1180 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 A$p8QV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lia_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..16e5f7b --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lia_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lia_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..95c58a3cd63d8bac1dbb5ddaff947e5bbcc41971 GIT binary patch literal 1167 zcmaJ=ZBG+H5Pr6;TsaO}THea*p{Q+9s^S|K!9p}@h!~J2#1G^sOI^~t!@E6`{w$3M zk;EV1k220)OM3+4m%X{2nP;AvdG`08pT7XCqM{>)xQ2v*Yv^G}A6Z|lQp0lUrOo{# zUXu(x%fbR7T$fn0j7xKBm7Xh?5137Ei&7=g@Xf(R%{D_zme3jC>^*qaYASJUkNwmO`3t zpAtwc1etGxq|TAsEq;f7iitB!cazn_20f4gVz5M(s{V|=4CM~U9Q`RKNdg%8M|O^+ zGTzBv4zr(kvKQMFvg{1kGx=Xd_++;ji_`~3&NDoQ$1NNeaaa0A^80|(AG$8I=Y-Co~4 z;5Et6y(~N-R~XXyLRCYCVLEmazP)xNc_|2-qxDE0MzSIU?zlQMq_gOOp`q76ANm>Q z8^YPCyN+n=)O^?eutmfQule5Ih6o&2>}~RpQW<`N!!TREHc>H)L6{nb3=CuBg7(T$ zD7j0L3CJ+g=4=GQYssYO9*h|nSD}WVuxPl+Fm#?eVbC#wDb=WHhKYO|nk>FpsOqF@ z)<6z()Vq*NGBb>K+!Mgq`!?n^+%a$$_ZTKGHtIr;7`mu~9>ZwcbMgz%g^tVBSv@eY2%8}z{U(Ya`NHJ{Iv(M%h9?G| z;u&?@59;ULWZSQ%}JFBY;(Sfm%kLMROwrPk2Ca_g~vZe z?k*2Do!tg~>7kBp9X2P8PT^DJN#XLU2nCr-9u?*LQC?KjgE^Y86kW3vOmz)tXR2|d zXBU{dZ?rzAw--p$4j8jez^pT9+b75#L$`il;25Ld$;8MB1WD6sPa5Hpyb8X~Gj9jHPg*X2Ju^|w@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/lia_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..c0c5d42 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package lia_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + lia_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/lia_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lia_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8dbd01d3642df9f1e53c8c8f683a20c1fa618399 GIT binary patch literal 1202 zcmaJ=ZBG+H5Pr5rt{jJj0tHmyP}H^{MW`=WUM#+RFpU_2Cd3b9i%VVT-POB26MmLP zgh=8K@JAVETWF79{IWZ{GtV>6&dmP)^Ya&gHIz)m5I4|e;TpOb`VaUQp09Jamfxrz zh&{#7y)0d+RvF@%Y{fu=VZ0e6z5M!-5+&c~M;oDPglbdyf;%P*#Cy;S%Rrxn>qs(8 z)+OJqIb7Cv_dF;6W}6tdWJA2XWbo?g-tx2Nvd# zXGkcom4sm^lf9bS#6v6?ShP^UBWi)?*YXD;H8x)g0^#eP@}}|XbI9uf!_s*nqWUAW zt$8b6y~$Rn1~0sif+1O!u6P?dRpD>(YMpL+sm$Ar*5pxZ-iNM|j;P2$lDp*62`Z@A;z0(C5?ik$FKd5D6;nE8$a&DT7Wk`Xd2)a04gJSRes(o?&b!_Z{X5Zk}SI1J=JD7$oQrmdMiCpV7`xY?DmW zNh?VZLHZx)QJR&pHhQ^rN9v7(D~+E?t&;xyq&7N*9%SS1c&84GLD#l;974kfBUq>0X-MDG3i?d=%INSTWFsb{z>5NoWkcNBo%Q9qt|E zxAu-iRWfKRwr9&{4DC5&l9=P0gcB{Ud zFWcThjR)Lg=yDo7Y+5ICr46g3==~-J6t}M?9NQtr1uBI>4Cxp)F@n)6>MAFp6fTMK z8>Dfte6HK}^X~%NlNA{V?iTt<=M59%m>^v)uZg1XRk{3N%R`!ll6x{_7|NAOR>VK| zO=OZ#FffITj%gD!m}MAfaR5WIu8yPgbJqh{JIdRIzT)1#Bf`0|@7Egj!gZZZ zJ6DL?Cw0*R-t06gw?gwx#372@aVoYHg$_Jqu*y_MnG5@w)eJLU$8~dco59@hJP{Nf z9)=>+@q}UiS_)b@)A5vH^8Zk}(kKm>rfY6He-uejNkF51fz}f=G8&VMKf%7ygds=0 z`V6!qr5+5;6*P+k5dkAR{<%i~P3tSIBD{K`6a*c_OsR(wa~5JwXBv98HOU}CCpD_T zn6yQKbP6|{M(Sm6_iA?h6rG!@?^{lON7@=mo?#65fyqn7V?+n3P0-mo`p|`bq)EvP y^(k0bjDu$grMx9hF?Y$1^beEc5o$N-dmC=yHjN#GUZVB@k7#Ak>@k*6!012A&kacc literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/Lingkaran.java b/online-compiler/java_files/lia_gmail_com/Lingkaran.java new file mode 100644 index 0000000..4c29946 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lia_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lia_gmail_com/LuckyFive.class b/online-compiler/java_files/lia_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..3dd621c000de684d0990c1717a6aada96b05ee12 GIT binary patch literal 460 zcmZuuO;5r=5PjRyRpDb)A?& z?}$Le2MlVnHOyiKSpzu}t1$o22g|G2^@$ZGBr5mPLL#*LkqF{J9J$kOrTI1JicDi|`&Lw*o*XLiEpKm6PvOd`ka3MpRu?XV{ ZdC3zIk ze9+03>9$SC2({fuusd?7Az7IQRAf;_jeJS%%QX|$EWMN2Z`5yK-NR@+Ab+i}+s{|2 jR#J6^8ps+dXw9_kB4L%hO^VWIy+dQ{jiL-&siyt~418R_ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/LuckyFive.java b/online-compiler/java_files/lia_gmail_com/LuckyFive.java new file mode 100644 index 0000000..a461af7 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package lia_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/lia_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/lia_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..e5ed8d5857a8761cdca73b38cd5965a41d8c8319 GIT binary patch literal 474 zcmZut%TB^T6g|@dg<7Nt2=Z9C0~huKKwX%SnBXJUuyH|#G9e?hCAE;S_e?^+D&XfmZ=X7`_yqF=? zk%5f&8T4kWpFtWK1Ez&FSij)z@;Vkip~5+lO1+hk44tz`2C*AQg8OX~>&O|fE#$Gm zQ1}PKken$7L!x=q>KiCBG^Uad#y*$RffxEtZ|+T&UAYjh@WNn3$ir|X7;-%sh?BWL z6ww7APU$5s9 zzjh>DYd;M6eTzYhg03~gdf~GCH&vyeoOF>2c}SoWQeA z#a-)Ahz8xrLC_Ek*|PM-Y1^xd@PgM}LKGtVB1_QM624Sd0Fht^t>|Ep<-0X?`fhVlF2vQ8ms&o5) zGm11aIWeDv#ZJ|<@wy5>2rf^Sq)1;jc zdD;vkh0{SqhD6=tt*b-c_5F1$^%v%cW-#hb&uxi)sgQ;rb6pjHIZV?#s1^XF4~@oI zT20eT*NpJ$8`v`$40#&WF%U$Qg!5!8*K>rZ1NkiUN;+Cw$s%_DfM_~VdxDlu)?P5Y t_KHzO3HX#5=wxf8(y2#~Bwh|Ny5Iy6hp<4W^gX_jqYtvE5?l7QE5BI)byNTV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/Order.java b/online-compiler/java_files/lia_gmail_com/Order.java new file mode 100644 index 0000000..ef5bc7f --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lia_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lia_gmail_com/OrderCase.class b/online-compiler/java_files/lia_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..b71cf413b43a79446e3fe99e74fa0bd5b7dbccaa GIT binary patch literal 1230 zcmaJ>-A)rh6#j;`JEbfw6bdN{qVm&%QWZs|2uhXMqzJJD6TQHpOknADcir6*N$@@N z+6ykc(hEqq@Bw@Z6W_uZ@k~p!1>z(#XMWDl_nmWgzx_V?3SbVo2wD)}2>L%yjB(_=`a3a1fd(=WBTUxb#1Hut?I(TYA? z;JB!x9|O&ycRgQLD4ty<@QJ!R!_F)dBA;+cQOU;1$)JwQxWdp|5oMXPt&;Fx7(Riu zJYQIT4a?(n1DZOgYy?9X<`~g2iWEav4Q{i4hLEG8ouYH%Aic^lMsZC;tZi0=VXl?z zN@mI3kZw+Rl&N4nVX=Z?$!FEdx^!2>x~U#W+hXWRy*djky~@yD^hK$>D4d!;$4!EF zjw(Z>Xjk2mTriZ^=-<#2iVG!k-nMp0_NjgDE^udK_~M!)KVDM}XrI!@&Pl zsm<$bDTQhJ?9^xhH48La$LZ8hl93FJ9fEzP4Z}5B)iV&FroWB}+AGx`bk<0|i}S+x zbg*SAlnfrA^%GrDrO5HepND%S`x29*%OuB=!FcQdogdH>m<0pff!75 z!lCbc4+&&QD+PW`i^g$-(?0;TP^6gN7u1f)0sW2CeSkCrxK)cViQ6Q@1n3UUEFRD) MLc3W!#5|IJ0PQ{^=l}o! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/OrderCase.java b/online-compiler/java_files/lia_gmail_com/OrderCase.java new file mode 100644 index 0000000..7fb87ee --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lia_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lia_gmail_com/SecondPiramid.class b/online-compiler/java_files/lia_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..0d2cca2d162d418cbacee777e0a4e926e60b8e94 GIT binary patch literal 1032 zcmaJ=Pfrs;6#q@TWy`wIQUpW_iWY3CQU&!=#l$8=lcFRgc(L;X<`-Jt6G@C zw22uTH!#aE8N2PrFr?a%1yKwOYuCga!<;Mm-hs!ZyXPpc(h!dFo7*zro@_E0HPsXh znY#4Fn~t|Hf*ro^lExqlpJBTAelWYzF2h(ubEmb%+cDn6o&E&l%1{j&suMV3Q%01z zKHsZRLS*z(DIMy7x3`2oRLw9mf_oN9$l~6I@c%xa&5g7S%K!FeKPY z8kOj@80^=+FM^uO!%&1K))EqW9{qXd8z3p;XcwGek<|^CS{TTCh{NgVZf}bKo1{5=sXYlxvKLq^^GSq%uw83GUXi zbmvkEX=E5yUEULQt=imtlBP>L-*9DoiY=X%$Kj(qC|0V=nvE=$E!;~XhZTn9Is6Q< zet26*F-uTB&w^pe!aBo>Bl*Rp%cXPC)^7Do_Qe}+I776qJAxtIkV?D{+?Mdpc*`MA zl)#DtOP}X4GuTZXcx`baL-681!u>EyYSU}2jc+{Oel5J2oDoXkj<($0LT~ zr1Mf;>z=5N3m>=Wgtv|M1`J=PE4u-XN#AnSafDxNXx$6?wb?YMJhuYR27NIHK3(W| z7HZR<<%Xip9j7Ucs3lNh$ewE_a7CfT9o;J&6>F(u zHb{oYKmz+#dLPh`SFns1G~^L%5oUpW1=35j+or4@k7OB7$Y+yX J!9Jd0{V(yp@jn0n literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lia_gmail_com/TipeData.java b/online-compiler/java_files/lia_gmail_com/TipeData.java new file mode 100644 index 0000000..51de6a0 --- /dev/null +++ b/online-compiler/java_files/lia_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lia_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lib/hamcrest-core-1.3.jar b/online-compiler/java_files/lib/hamcrest-core-1.3.jar new file mode 100644 index 0000000000000000000000000000000000000000..9d5fe16e3dd37ebe79a36f61f5d0e1a69a653a8a GIT binary patch literal 45024 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 UgpPtD2z>DYYp}SJr5?)v0beu;=l}o! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lib/junit-4.13.2.jar b/online-compiler/java_files/lib/junit-4.13.2.jar new file mode 100644 index 0000000000000000000000000000000000000000..6da55d8b8520dcc03c250a605151cc0d23a45518 GIT binary patch literal 384581 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%0A|RLyRTZ?5*b0Kn~9_w90>zXi(v|D#%u(jz#g2 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 oKveFPto?=7N*A1c2%g| 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

      `)ZZo?PM~)f*OI;Nlt*N`a@~;G*&9Se} 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

      J{i)CW|Vyp#u)ncg$RUOm9KuH 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Π`%iO}aP>9yumW1a!ct~f>0 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 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/HelloWorld.java b/online-compiler/java_files/lisa_gmail_com/HelloWorld.java new file mode 100644 index 0000000..d120a46 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package lisa_gmail_com; + +public class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5de0d2d108f2f87c430d550cd132658e4329ac0d GIT binary patch literal 1259 zcmah|T~8B16g^Wa+b)Y>kq<>=K-7Xr)%au$2^ff)Dn>pGPh{E-Fl2Y9&Q3}CfBXZQ z5E4oB-5+JV(?X%KDK9&7@7{Cn*O@RxCrH>$X<6o7PAXF-(`5Axalk8&<9uBN`i5 z0*Vgs$*8yu7;OWtxGAjvwW1o98T#_`I}GVJx+;D2VK6`zzK0=(sh+8P+{9oO47mU| z(4WO^jCmOCXkxRGSQ!NvM}`tnCocX@0MFS&B^Aq$^{6b(mMDjkm`b`L!X06hv(KGr zd#DnIxzhDBq_zeUX}4<^)0+HTkFAR2yZBfoia1x|SX*J0j)^i;T9y0S$fAc?D(7ZDuFsgBMx{UL?ZcYv%96vgNq zUpPguaE6<^rx-rLt%V;LIl;tt`jx_6`sN4-f~5&IgaBi7pCnJvg5w^h$YQup{uHL^ z-cJ^%)1`TNp2k1J%x><%DIWeNZ;RQ*fgaN(o8M;3cd*TOWuwafV;kwpw%Eb;v@6?E O7q*G6Y|ok4lua8Q)g$J^e1_# z2_cb0@BLB6GX*NuQoWg(Gjq;!KIg~JuipSH<7o;BhIwB`-tK+ckGe7xZ{wgQ^rlzy1(94;_xx>7 zODmsUCe4A27)tJc7LsxsiGsz4~k@8!j!KsB!>358IQ!Anc&$*L1W$?OZ(Yz*j*T5+5ano)J z$H5#P*y_$R6pE*9>9m>xmEnHHwjoD$hN3x-J>{7T1BAc+)9_%Nxc_4To%zJ#AU?eup#zn zDjJ+x!VLjz<@jZP#$j-(D%N$eF75oxT&B2W+e+o9A*8RFK;BL)o$_`PX;0D%O+Bq6 zB)uUmM*HN#F|rFMxVm$Uu_KHxe8IIN-1tmS2~5$NCqp1hYYwCI9VX~J-MQ(Q;}&K} zVz^D{1ZL?xOcJNvx_Nfy#yP>g;TjejY!8 zCWJ&1efL8d&$Li!Xv)jn_MG3j{rAt`pT7XC;H85U!89Hbe>k400IeGwj(H>=08W*Bl&Vj79rGFpm&Vb*J#sHnWwGICXG(b~LZ zP_Yi5vkk26t*TERW%)n4CMv>2gp^(E3 z3}MWNF^9*t zuTL0?rOrUwL#9Mkcv!Im$djL;Y%X$lyww9EbtQwR4C~kD(Y79(2DL}UUD1&QJS#kk zP-gfxI6`bowbp|pWVeqb52QJY>RiOJ)Mou_BK)}2DRhbV?h9PSJPGUafRs?@Gz@MC zV0*@|{vj@dyA>t6CO4E-%j8v)WjjP_Hi?aXz7z^pnRF^x#nGOoFQjf-N9gu}tQhT+ zi>Jsfo?&$F6yqnjx%dOOPH^WteM(`9)&e;KIa>1=BiT>TdAj}5cE>%;(2e0fp;MTp z^Dx~w?KaG-^Dyoi=JpEnr+D<6UOQxK2aI2$xm{YRhqlm{Mwwrs75mbbdT7u3(w6(s Mrux#Jw<~z@53Bww761SM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..118a56b --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,33 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + lisa_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + lisa_gmail_com.LuckyFive.loop(6); + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3a61c95f2f33b0ddbcef1999a5ecddb45c63b934 GIT binary patch literal 1339 zcmcJOTTc@~6vzKlDs7kLVzr8nN8-*nLX!sE_3GBpYJ~aEZ|KBDTXOu#bWOu5X#@HMnUQ0cBsr+ zW7!vRyd`6kL7HLYNF0ljFT#V;dgVw~4TBpcrk8pI+u_PFnf1R{l)wT*UvXxKA-x>cq=P;Ty2!!FV3=XDXDA0l7|eko@8TBv zbGVDq3<@1ZY&K#e0~ce+QXs0t+TVAPvHGy5Lis5PDpGHWiZ6-eMOESN2(7Gsewa3g zDrT7WZfGFYG!RR(UB776_(l>M703_av5FM|7sD_z!l)=DUe;TZ`;nIA3?5M~myKW1 zI?`D@VOZS`wTvVGSk^dQSzY-}XI|G4(Smo}$+Z}~DlD2;ByT&Ihzo8Sb?G>m#xvX1 z=M05n>pGfOOo^)SplsVeNPdR0xyU`^E$$ns%UQf&Sh+cmrgiT$XflGvhKv*6*mg+70A4?NL zB8k5Hq0}=iR2rJ{WHy_)6;iZEV1NT)d_6`D}{JmNfl;3ZM%B;&T z@tTzNEg2gJX@=1waV*Nd2oK5|)gxIm47n&Vjl^skEk(dE?X^@?R9pR!s#0%>sxOJ;MK$5?2(7Gqewj9h zDrT7VuB#v=H55y;-MFaLK#d_aiMU4rVEsf0bX= zI?@?DWLVn{wTvVGSk^f;t)cvuF>mOIXu)glX4?#26Bf;@l6MSD#059ahIC!b;IS?1 z6Nd3pyC1C{Q=lq5sMz}F$<9zT7qL6u^1hL}lEG7k)$8MEY4;C?FO))*{6bg3a=~S?zOnaLC(6ga+h@=ms z#b}?HKSgf-48yyp7(Kz*{5RY@!R@c~D}}qX7RV6D(>jb1`igX(q?=sZ9QQCq62pB$ zr!Y!L{qKdmheQj?E*{ArS927(vPJH zA(2Gi{ZPi)7Ag%*dGcjw&c;g_!Fz2aA931&Vc?b2-FMZq%l&R{5 z)axRWJ2Em3k_=-f;#8D85ge7OwG&x44B0R?&Dd-kErri8TWPDPu(Z}Pa#d^5s$Nql zTZ1oJ1zm$e*WlVUsiod43Sos|sJO7lkX#QN(!~&RS!Cck7-g6l=*qv$%s) z2KO-GpwN@Vb}KT{&tej3azvR}{i!S*E00!GAV0@`P3j#{^CXcfVO@B8LMtm@UM9`4 ziWufAx0aBy8jhsdZC({?dMgf$^5uu%R7HxAt3ePNVN@6pFmUSX#P9yW;zUB7Z%NHl6MVE$OSj8rgUA*;hC-L zbB02((~x$PDNq$0m2CrZWM?RvtJs~&>Y8DfPPBraGdZ8ag z>o7^5NQ==vxpY=^tOIz+ko9at@)z0AcUu)}5TL1t6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..a93aeb4 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,33 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lisa_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + + double data = lisa_gmail_com.OrderCase.calculateShipping("Express"); + assertEquals("Result from CalculateShipping", "1.75" ,String.valueOf(data)); + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3136fc3850e56e9b7c8615ad743c2b0c3ee46547 GIT binary patch literal 1354 zcmcJOTTc@~6vzKlYA;L6rCJaX8N^FLq-uP!h6D&CngWJf!V{Uc0}RS7u8$ zq~4UF*`+UyB*Vz5I1^=8_{Zg~+NrD?hFlPtW@L7ZmcnD0uEr`VD6h1PT-I8&wr(g? zticzp{Ek7fV{qe|)KVW6g|NghP@3CkNUjDA>0ki)9I|lI7-pF2>&n3p@>wtxa=3?7 z77s9%MzJf2omOb1m%}(R%tvp;+zTAwwn$)|Z=1L+}gSv3{g;rL+x=flA z6*A0L?<^r@H5f{>*Ss#)p*AljA4Dx*D?&;GuhzOwx)7pW8TyO(Yz1b$+j81E-aeYB<~oQfD3L~P3bt8!3$g0 zmkh;HyCHFtDNyAfS8N0FWM?Rv>)6xPVbp8IL$@kIxh=!U zr2$J-?f8+OGGna2pU@_3wfp?U7&*u2{CC_x$HQ;*D}hI}7RV6D(VE9FJ*_c1PsTT~ zIUZw*B!(x1PGFkODUvwt*3J7XH_jzy4hpjuc>arS+hnT;jNG6(9a^c2HrJCzk>8>f Xd(sxVXs>(H7JJYpdeYv+8NB@q5MEC4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.java new file mode 100644 index 0000000..bcd1c7c --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitOrderNestTest.java @@ -0,0 +1,36 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderNestTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lisa_gmail_com.OrderNest.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 0.85", outputStream.toString()); + + double data1 = lisa_gmail_com.OrderNest.calculateShipping("Express", "ship50"); + assertEquals("Calculate Shipping not same", "0.85" ,String.valueOf(data1)); + + lisa_gmail_com.OrderNest.ship(true, "Express", "ship50"); + + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a37799cbf5cf0c596c5e80527eaa62acf04838d5 GIT binary patch literal 1329 zcmcJOTTc@~6vzKlD%&oLU=dIe8N3!ms>Ua4NWeg%sbaV#JdtTTz>wXYIy+0!kEIDA zkwoA9M!p!&v`}bl>XX@IX3p$6zjK|RzrTG4u!NT$G7Qt9O2pnlBviOp(^2XDcC75W zsY|mZ6YC+%FnT18MJW{VL212uBx{x-(5Y>tcGDUuB8HhtOGW9@O4G_^V?=ZPibB~L zd@?HT7>sueu3VGa;2TBmmly_$b2|*#x4JHU3}84w9=?YW3b?N;AJ;LQ2SXviH4Nr) z6B8cByOP*!CRRoPCXpjYl!?>79l&$)NJYi+V;WVd0HPX7B2{!vgge40C!b$t?V(Cs z;(g0U84V@UZZ|FpHMNn(Rz>n%e5?{hxaBz3R#>HDqU9MgA9UvL|h!i}tK1 QZLtS!sweGvD}xt*02Z1?3jhEB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..0b01d87 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitOrderTest.java @@ -0,0 +1,36 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lisa_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + String result = lisa_gmail_com.Order.condition(null); + assertEquals("is result = High Value Item!", "High Value Item!", String.valueOf(result)); + } + +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.class new file mode 100644 index 0000000000000000000000000000000000000000..08ab04311695130b3ce87c695f05194fe8d926ad GIT binary patch literal 1342 zcmcJO-%nF96vw|ElWms`a5_*BDfnw3GBrLqLjnd8%~go}NO&UMR-okG+u7S;_Gf8A zNF>pB|0wlzgUP}&o_uM0+H*eVXMg?v{sX`gUZ#*>;DL(8-a#l-uvgV#>HT)3?1qTr zFWS_$WNcGNGK?OHV^Io3bWmEa9LcI>$m)izH|(Z0QiKfCeoIB^(n{0HWn)Bh{gOi2 z8EhC8bqop}gG<+>Huy$S1WOD9#kn1ZAO zL!sF2N2|vasEQ8CuKqc)vlPum>?wbF-%3+X<0-@H^>MVc`-j2csrX{#XaIaScI2SM z@Tb3n*k$Up`#Z>N9ZDWbd#G!iCR-Z2`ne&3xY*8ffp_n7T*bT*)#N_SL5)){xFvuq z8Nc#9$p3$YQ)xDJ!&K#(a&tI##r>ii4{9S#F@5R;@^0kmly{>{dy-!0+t4~h(g)IF zw2#l9B0GPE;oVb=p5W&EH{3eGov-wizyz&%G6b@;<}gD4X^hU3t(%rP?qP}~hWmt0 zV4BW@ByrlEn^)&_MC8NqgSP;Kg5Qn@i{b literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.java new file mode 100644 index 0000000..acf0d8f --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitPasswordTest.java @@ -0,0 +1,34 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPasswordTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPassword() { + lisa_gmail_com.Password.main(null); + assertEquals("Password not same", "0true", outputStream.toString()); + + String data = lisa_gmail_com.Password.pass(); + assertEquals("String Password not same", "correcthorsebatterystaple" ,data); + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cc9ff293e8765404919a0cffe63114937d53fadd GIT binary patch literal 1330 zcmcJPTTc@~6vzKlDs7h*uu@PE8N3!ms>Ua4NWeg%S%kqjXK#nSH7FDo_mu@PAn%6HL;iWTveqexp}m5vCP_E+SAHnN<;eG27I-B*p# zCXI&-YdevVu?|jTjZ?$wDrgz=y3s@nUvn?hX7H+TXkL-LV_-EG+&1gd^Dv9YuBcBK z3dMFeS{_{{c^+gUE~?tPA{m^Y%DJfInR` zL+3$~IPK2Os|z>YIcE3r56q%Se NL7VJJd)~_6#c#O^M*IK( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.java b/online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.java new file mode 100644 index 0000000..16c363d --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/JUnitPoetryTest.java @@ -0,0 +1,34 @@ +package lisa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPoetryTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPoetry() { + lisa_gmail_com.Poetry.main(null); + assertEquals("Poetry not same", "Heav'ns", outputStream.toString()); + + String data = lisa_gmail_com.Poetry.Poet(); + assertEquals("Poetry class", "The Heav'ns and all the Constellations rung", data); + } +} diff --git a/online-compiler/java_files/lisa_gmail_com/JUnitTweetCounterTest.class b/online-compiler/java_files/lisa_gmail_com/JUnitTweetCounterTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1533fce96bf133c122b20858b5a9fb259f072be7 GIT binary patch literal 1366 zcmcIjT~8B16g^Wa+b%6&wVpMp2)NvV94%H-JQksXK6x6 zB+++&l=03MY8#vCi!U>C@7#OtxnDnie*Feu18vQDuAeYl8~ypF1$SvDl1TiUh4l|fz*xU_58ENlSHaIn}sl3FQH$zQm{!8v=+ZenqEHtl4-f=LR3vOCX>AIN3 zye;h`hGMDRlcdi?R0T&B+k-s$8DewA-Knk~(sWcZc+9ZzcOHrLU>XdgD(W6R8icAH zKMGQ2%o!Xcve{be!9lV+$CCTf9P0)bQ6xjN@i7)&RBGqC#Cz`rt|A@>4S7iO(BRY$ zZV14ZjrUy@;_#mXFu2<~4(oDL*}0tROJmuN3$>Ldo0dI=f?Wf873_G^ou(gJB|1k) zdP`P}?#ab-n4+^ljzEsiJjQ6pCg?q#XcBka!CjIV z?h$kfGxQ!NiPLSvytoYGUSM{=@ZcN|zmv9&Z0&&YE;P4;R_Z}p=!-_o|3EADMO*4Y Td(szexewY@U$m!52G4#0Ht^L}SnvhTuUWEb)3-SS}xYg8A z#TphAfy4*!JuDG$#t9&#vhaP(y>rgFcl`Cor!N5Z(05P}Y(;vZ4yQAvqr)JX4g6(r ze7dhsLI;+hexy#+AX4#k@MLln2ARO#)v?a@1jSx|EU+FVFT)Coa6Ob@3pRWmhmV)D zNtixUlPDB4{3KA(Sf$$J>q9Ghr5A#Z|3CgAv7;oJ)AbJeV;7rfI%xc(X>_{C!kLGQ zXi-nHq`a1&OV-KYX{zIFl%=7X4J){W%MP{#&2!2gI@l1D=H><`jC1t@IpC)S)lsH` z<40=#TRXQE3);OGE3$k)WYY0;*dJFQaE-a;p=NL`l}lUR_2PS6DBgfvb!J*O>9g z`i_#gY`u;fYrcnTzS?KV^D}Jwb^9Z3{#9MeNAysp(kgWt^(&GZc5s_nne=y9Geh6a HNqfHlSM!Be literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/LuckyFive.java b/online-compiler/java_files/lisa_gmail_com/LuckyFive.java new file mode 100644 index 0000000..8b60ecb --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/LuckyFive.java @@ -0,0 +1,15 @@ +package lisa_gmail_com; + +public class LuckyFive { + + public static void loop(int number) { + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } + + public static void main(String[] args) { + LuckyFive luck = new LuckyFive(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..fb8dfe170dc015219f06f8859ec148e9fb7e8068 GIT binary patch literal 743 zcmaJ<$!-%t5PjusJdU@-u>qSUfdDoK<^vq%f)pueSR^A$h(pw#j7&STSmSY|-1!ks zoZ&zaNPGa_!w~_m$3ZNLICNE4ch!5Zs{70LkDmeTVPGLAxE|<*I-G_|2Zvr9I_}at zKHb+R{>b;@=*U7r(446g2NTvKwukltBSh8EvRJ5hFce8n;toQL1h## z6VKn*W^9}PJji{c8QX-+^A$l$u_)16j2wEQFWx&t`7Jj&RA|k$NnN9@t`g{LjBF!| zC#HDD>>Pc&u=@tJcWCzBqw`9n*M0rts{zYrU|qr)$Q+A`C=JSk~(&9 Ro0VnCxx+it{N0SS{}UM2jJp5; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..96fea9e --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,17 @@ +package lisa_gmail_com; + +public class LuckyFiveSecond { + + public static void loop(int number) { + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + } + + public static void main(String[] args) { + LuckyFiveSecond luck = new LuckyFiveSecond(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/MyClass.class b/online-compiler/java_files/lisa_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..5b68214492e6bb2de3883d4da727a9f91cb0830e GIT binary patch literal 719 zcmZuuU2D@&7=BKZCTq;rZ0)+a`LVgpB^AuIbPQodsMHUr^u~*EnudBtJ|s!S{sMoF z=!J?G{s4cJ_#`ci!2;*J-_P^BCx8F_{sZ6~PfXMVI+4od)XWS*PQ z1)MASN&1mYX8xPWRTvZk#+gb~aW0^_-dI4tNT;C%4GkN07y`|qO2XIkcoJssMRyTjYrd&HO1sX*Nw^u4}-_{=llS@1A6vM`@V)T2{)!Y$nQ z!)vjlB2&q%=Z%f$CtQ`E1%W*q8)!Cg4-ZV-zp>qDkr!cX;~@^noX!cny~I`eQjkZEnAMBbm*(YwH$;0@f&Qvl}}}_9{*{H zjYDeID)kyYzAkT*u}>>#>)oGN`$nh6^-z_;fjji=WdrRxqei*+YIp#hP=LAj3KFX2{m+T?XZ4urG9EQ8180o?)>iebJtHeGzte z-xUmID{#2m<)Mu4Q>PLQ<(Q$``cL^LLt!AIPB4-V<&|so_pK8$b`(l~&{VNB$1!zl zC^4wJBjOqO8p=enBb=dzWpdk&6uu)gRH>C$g1ga>exhla(iuhQIf>&lRBC5L>s=j0 zH8$4_oX4V$>$s`n#*Ek`lCJe44Ef>Mz%ATn(4rtE%CJ5MnM&NOpKi2(8X79;XXrd6u*d-K3zT; zG!F+f2z|`Gkt;sXhR`L^Eom+u^Qrkzh8;{oN9@RW5f)~}5^U?kVO4yO%R7 zb}w(P*l!wNC@qE5=>&mS33LWqCErD?Ca{-qc?$cHybAfMKf!uOxY9bt)wdhRSZja7 z`sR0Rp75+tDSc>4p`DhTr@)-4Uh0Rk>m;CWbpJK Dr##0H literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/NewsFeed.java b/online-compiler/java_files/lisa_gmail_com/NewsFeed.java new file mode 100644 index 0000000..413eac2 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/NewsFeed.java @@ -0,0 +1,20 @@ +package lisa_gmail_com; + +import java.awt.Checkbox; +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = NewsFeed.getTopics(); + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/Order.class b/online-compiler/java_files/lisa_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..34e7253ba9f85185b291064dbe75c3cc7c98a97e GIT binary patch literal 885 zcmZuv$!-%t5Pj|OIyg9tHwc@}lGsj&*$zksD^d^w#UV&WKENSr+assLc*Yu!L3{}} zE*!W52S6P70Dgd<0mSREQHbnmX}YSbU%h%&{o~KK?*N*(oj^n&=cuvV9}J~(_Iuv2 zzUTLCKY^&g@}Ybw>yC5>^}X()-3tWbca^JxrhrkYb_Al^Uf(uhAeBZ8ae+)rx%T79 zuxtBIW!JFi8v*r-p}Wa8T+yK?kT4SUBz3zg^d;A$s{k^oEyTuS34GAUfaY64e}^|$?cOo}wt zP+@Pq37PWKWXh{Qq2_?fZ8>b1s9__4b%AVH=<#qG*RV-3BaL8+MXl3glm3A1&n~E! zBlhj_#39;jdlSEBKTvv%X80^NH7Cl{VuUR=XmRfRC+OF?Qz~M$FGzl*5ut2^VGwYF zc6xe&`x3pB?#B%5AQ~nu<~Xyp9IQ8Qk+O0-?-92OJGBqIZiMMpm{2E;k~7UAXPCxf zBu`IM6i5pcaT;g1N0G$}&XVLDJwEtfu#5;H=W$`i{EPrCXW6>gTK|gj?k8N{_>Ah2 o0*h%F=dDvDv`Co^sY+8Eg 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + return order; + } + + public static void main(String[] args) { + String order = ""; + String result = condition(order); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/OrderCase.class b/online-compiler/java_files/lisa_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..61c6907300a7b1d32c34c4f689da1b126fea70b7 GIT binary patch literal 1242 zcmZ`&*-{fx5Ir{unGlA>VPB1kkbn>o7bGmQ8mI`ASd{1kbqP~paI!cvv9!uB@zn<& ze6aK(SX$)=_~a+}9hRk@o3Iq1^U&S5@9pl>r+dEr{`?id6qYsk1lnxNm0OvtwCt^P zJ{w+2pW#X&bduG}b2u@fz%bODLM`IfTfw}yS8HOL#I;s#9 zs83lrbETNwHl0Uu+cpJ^R6Z^34e40weCP~#yOt}^k@{c#gun%crHi)o%=KNXP_S|t zf#zuH1k<|b(3yzMhj9Uo8jMqjE4MnD&@2$zmF}*>S_ZxpLaTuG(9AHsqoUh&bfA;% zna_*TCbCn7D$OTiPeSNs+``L(W4dl|`WKnx7o7f4)?gj?7^-m|sepcTKbLpOrkEF~ zUH4@A*#lWPqK3oB3A99?o=*_l2(!q5jylv=;~IuF44rQJmFt;V9dTS|r}-jlG*{AC z`S=>?@<@v*vk4711X|B>Ia{=BEp&aiVd24Wk*T^-}# z@Pe{XFmpQsUD5g2xke7_Bvizt&TX6~bzZ)bNuViuK7?;)FsETwps@`5bVEAk6|ky; z>XCaXoeZbg_zw<=jngaId=*~L7oD`ZXsJD|JKp_al^>VLw7)!8KP@gdrN(odT2NOF z93b?8h7Vy%bxkK~DD^{IM=ej)YFhND;O~4Lpk5x>Tq&X99Zh!69B+Rfyr%AG9_?SF z?i(^%N@#lnV;`MEMpxOc*++d{avya~=%Lb@5J~pG=WBl%K~K3t7-OtI&dQUlI)erh zV<5@jKp`8bRL5mp;c1+ay|_wjGsjkv2rIrmzK9_Bha#ZyA7OfmnwkJze)xD&^i-oC z(ZlW>W>?+y8eOTuPl!EMV(B9WzhGq37(KwPXbEE_Oq6i%gt->72DCG02SVr~@@}HL gSjHQnm-(=OMQT5XqLA~aK`ZVPxsP^|H$E)=1qN9I1ONa4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/OrderCase.java b/online-compiler/java_files/lisa_gmail_com/OrderCase.java new file mode 100644 index 0000000..a27c2ea --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/OrderCase.java @@ -0,0 +1,32 @@ +package lisa_gmail_com; + + + +public class OrderCase { + + public static double calculateShipping(String shipping) { + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + return shippingCost; + } + + public static void main(String[] args) { + // do not alter the main method! + String shipping = "Express"; + calculateShipping(shipping); + + double result = calculateShipping(shipping); + System.out.print("Shipping cost: " + result); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/OrderNest.class b/online-compiler/java_files/lisa_gmail_com/OrderNest.class new file mode 100644 index 0000000000000000000000000000000000000000..a6cccbfbbf51eb3ed3abf6843a2fa4ec56025cad GIT binary patch literal 1531 zcmZ`(ZBr9h6n<_JvUynoEFoGz8mxt6L1SyxY80%Z);35>Y+A50&Jwm^b(2kZHy!=p z7ypHSKtD1%12{U=k=ce7VxWvh`>?T z39NgKrscTz>Rz+7;&0miZ951x!~}-#TYp$3*J?FND;xLidMJ=^f*X$O+M5Dmox@geX^%_!QF`@&`n#J_a9 z9k28QB?>8&Z8ggpJ{LIhU;VCj9GB%tV3w4sJ)!e;F91ONWR{2t zRZZZEfVOHk$ktEcDwZ@{J6IHTHg#Ob4HB|{?^rGm!2u1shrL`}PvBcdyZ*54+d+`P zcXW`&K6^U8`0k8);){Q?o%qBT->N@VkFlLv0=dH7K8ec3nykwmS-G^dYC4V~O&`l| z5XR^sE?nI3ya#Nis@L)BHv5k!IU!5Zt z5zYWva}R^kd`5hSM$sJ^0a6W<@zd6PNy<=>wB)v2AAEo~h&YE3+9K|ObF%rg^ zS14sz*V$GP@Lt$?I73OwP+Qpe&oPUlq7mZ6a zC7$TN@C-4+Fs3j<)&`2qEb-*KQTN%K@>)=MOnEI3&jNSF5MiGtWnc90Jm!kTI%67( zyZGiQ1~S{GaZ{NibH=S_(6ab`JBww$E8F{6rWha0oTLJ2YLLYQ6__NhDR%s{!j$Vq zR!F!RGYW}NNCps18&aAdvD$;OO7Id&?hV9R%(!XX+C#OXj92*SV_7na>MRCHevE~X Z^t-8Y_!+-&G|0GX1jTC_>l{aL_dNo#Gt~e9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/OrderNest.java b/online-compiler/java_files/lisa_gmail_com/OrderNest.java new file mode 100644 index 0000000..6559d35 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/OrderNest.java @@ -0,0 +1,43 @@ +package lisa_gmail_com; + +public class OrderNest { + boolean isFilled; + String shipping; + String couponCode; + + public OrderNest(boolean filled, String shippingMethod, String coupon) { + isFilled = filled; + shipping = shippingMethod; + couponCode = coupon; + } + + public static void ship(boolean isFilled, String shipping, String couponCode) { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping(shipping, couponCode)); + } else { + System.out.print("Order not ready"); + } + } + + public static double calculateShipping(String shipping, String couponCode) { + if (shipping.equals("Regular")) { + return 0; + } else if (shipping.equals("Express")) { + // Add your code here + if (couponCode == "ship50"){ + return 0.85; + } else { + return 1.75; + } + } else { + return 0.50; + } + } + + public static void main(String[] args) { + // do not alter the main method! + OrderNest book = new OrderNest(true, "Express", "ship50"); + + book.ship(true, "Express", "ship50"); + } + } \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/Password.class b/online-compiler/java_files/lisa_gmail_com/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..c61f7b154398698fb6a26412836bceffe49d9524 GIT binary patch literal 855 zcmZ`%+iuf95Ivil6XP}^X#<6p(w2*zLJbt2g8G7lR1ra?RCy>u)y7?=uADfm9T0y7 zJOso8AHYW;&L)kjs701$cE&Sj&Yaype}DZ3u!k2GG6FZEFp7GE=^*RE%SMiCmkwwWt9tDAND;%h|qkdQE zL)nd#K(!SIGU`Yjn)p1KOHac@V5Rk+@l8SxNkw4E^;#D++Nll)y=D>D*&M`LlhkRf z6V;Vzs`Qs6l|wVMXqwF)X8xsif^*@4K;3)5bxcfNbFf`d(L36!Y$P-=A;6T`iN%f5~Kcxd5) zKy9+e{0IjwJc0bsOyyeczG1(PZ3mC=nAfE~j$}j`=fJ0z+4PPKxNk6?nBJqwjY{2P zeeDWi1nhP^(t&y%8jTlbZ)L|2!v;mm@@0XRj8LGp82R*qKHvC(;x`^LuxZV2Q+kco znHJD5Fe(}0nK8|~^poalWJq=CR8F literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/Password.java b/online-compiler/java_files/lisa_gmail_com/Password.java new file mode 100644 index 0000000..1cc0171 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/Password.java @@ -0,0 +1,20 @@ +package lisa_gmail_com; + +public class Password { + + public static String pass() { + String password = "correcthorsebatterystaple"; + return password; + } + + public static void main(String[] args) { + + String pass = pass(); + + // Write the code: + System.out.print(pass.compareTo("correcthorsebatterystaple")); + System.out.print(pass.equals("correcthorsebatterystaple")); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/Poetry.class b/online-compiler/java_files/lisa_gmail_com/Poetry.class new file mode 100644 index 0000000000000000000000000000000000000000..17c00f8c864b9d80caf441c4829d4890bd37b433 GIT binary patch literal 806 zcmZuvO>fgc5PcgvapRaKO`7lxF0|B1pgwR6>ZKB*!YY+g<-(!bq$_u;wT=8yss9Q% z6vTlaz>h-A+C^2=$kNQt?97|@#{1{*uipUnv1g&i&{s0!r(wjUI$b1@f1HRsy|Q33 zbT0TM_Z5#r|I_?JEOLg%I~mJ-pTY2kGY0b@ITJPvG#%8@U}y(27Dq)i7wHL~E5XnW zk_A^Yo=P3xB+dL>W(@a(mBS|ltZ6W8dc)wB#57N398T7-!7x5K7w!kaFL&e2ExzG91@%&TAIrpFuEh@F~h+7eD`)Zvq3Z+tfSq;Lp-+dXlXCg zD;gF#c!H<2lcXTd{R&1V{xQ+biL~I+#Kv=MS#X!TOF<4^;3Y#dE9P05&}0q|S17l! zgIx=+7<#3UoTQ^jPBItoyx8%#_Zs+6ZD7HvmU4%i8Ww41(`?Ft$3aYdpKg_AQn5lD9*ZZEVn|5eHQl TMi^6M5+#kT$-JhxhByBJy3wh{ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/Poetry.java b/online-compiler/java_files/lisa_gmail_com/Poetry.java new file mode 100644 index 0000000..7f11442 --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/Poetry.java @@ -0,0 +1,18 @@ +package lisa_gmail_com; + +public class Poetry { + + public static String Poet() { + String line = "The Heav'ns and all the Constellations rung"; + return line; + } + + public static void main(String[] args) { + + String line = Poet(); + + // Change the arguments: + System.out.print(line.substring(4, 11)); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lisa_gmail_com/TweetCounter.class b/online-compiler/java_files/lisa_gmail_com/TweetCounter.class new file mode 100644 index 0000000000000000000000000000000000000000..df1b6262b823d4200fddf97eddb16ed3747b5913 GIT binary patch literal 850 zcmaJ<%We}v5UlZQySKZ#x_W;9`S}aLA=(}?3|ohar^jON_%8x z+RDU3j-fIUpF}$ndenZ`pU8n_D7;i!*+YhGquFD~9hsr@kwvkDJPHiuP-*#g7WZXx zEc%gTsD@@BqMk^Ui!YNoJ62PM?eISo4jA$&C5GKbctxda6QxH7&DGQzHW<30`piQa z8@WliAerq0yF~YIDwop7S%AOpO*%G!OV|X}Qtd zj)e_~iFM+*ZB~eo3M8Rss5d^W{%!VrFx)O-9pxhKV#~w5C1tzwsg-dF_pwc?ni&n* zT)-&Peow1fT3Cwsz{f-Ec;L(3sTd_Z!ecs4B=yLS)8lk}JjF8)y9~9I@-kWp4K!)3 zGdF-XXmrwZieyA*sr_RQsu>C^82ql8B?I|Nx#MnJe=~ubgB@BoORo%MX#fgjJ&M}o z8TowcJJ!C^M+QDw_uG};AX{1#kiSV$(Md)b*ZhKf+FY%?X?>x@qS+_!AhJ|+9iWO@ z3UCXXmjEGEy4ni+fqM82clIvu-~vysh^(iq-7|J$%PC%c(SsKDs5ei!eL{9ro>QDb F@E7rSxVHcR literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lisa_gmail_com/TweetCounter.java b/online-compiler/java_files/lisa_gmail_com/TweetCounter.java new file mode 100644 index 0000000..ba8391d --- /dev/null +++ b/online-compiler/java_files/lisa_gmail_com/TweetCounter.java @@ -0,0 +1,16 @@ +package lisa_gmail_com; + +public class TweetCounter { + + public static String Tweet(String tweet) { + tweet = "Liz Lemon, ninjas are kind of cool... I just dont know any personally. Get on that."; + return tweet; + } + + public static void main(String[] args) { + + String data = Tweet(null); + // What's the character count? + System.out.print(data.length()); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lower_gmail_com/Angka.class b/online-compiler/java_files/lower_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..ea3429e3424cbc05d69eeda0c48011ebd3dada64 GIT binary patch literal 482 zcmZvY%TB^T6o&udRwzYE5xk%VcHqK307RoEtWZg6*tj4=nKXr7NNF{`k1wDLOaLk+8LfA1wVc-UC ze9DmR_9i71QBt64C`0=vw;tEA@JSUWWNM63kQ=dL%kL*G0P zoF!+-U50bPP#w8}xK8|;h;I4JqfU;L0YkHUw~5J6v0`p7ulVXuuUcUe*<$EQvzpRR z 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lower_gmail_com/Average.class b/online-compiler/java_files/lower_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..b8267820819b5fd5e4f6bf9bea4c984aaa57849c GIT binary patch literal 731 zcmZuuO=}ZT6g@99?@g0TO-nOv)zpvHk4d8)?IIu*jTnSNYIUZKga~C4hcGpnDbq6F7+q4ajgpl(bBa)z@Ol6kRsMQ&uoOw;@92 z3HwpoyXPnE^^t?6WCL1efqq8vr9l26C|;z~9A!qCFMbC5K!D*A#pD`Lkj7=0gcIp6 zj6tLPR(yljP{daXd8F-znn%`d@I1zCr=gDcoa84ZKSewr@rLB7iu76AshwC=%BoW4 z1~2WuLs2OULzE1@OowSR0fxBVULC4zDA@a>pF>XZhiRy+Wt4v>=1=R L>c+4nCs=<03vrE$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/Average.java b/online-compiler/java_files/lower_gmail_com/Average.java new file mode 100644 index 0000000..75f60c5 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/Average.java @@ -0,0 +1,18 @@ +package lower_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/Bank.class b/online-compiler/java_files/lower_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..eb742fe8d11b033f0f42966783a1c7786a1db5ae GIT binary patch literal 1076 zcmaJ=Ur!T35dSS)@7huA980b+jGFmfef2&0(TLJFW*`>BI4&?GZ1(d2|=Rw|qMivE20^CyL&ucnm%B1j-{tqX?umgR_7L3>|#JAB`!lkuwLwbnN8 z^mUEu<0vj4h66>bZs66#x}}^Ws)oyo5S3)jb)_#o-q{wi>DK+Yj+;^3!m@#a%KbLO z{OR3U&Y{~9g3biE^nFM~<+4SS#)+^O5bpWkxbR?sP(r#NtO#&PGUBZim{ zCfVzz(%=pBA~ckp%j*tycsx8vWy|N={UkG+uZks zZ{PvL!nwSMrDNa`q5t2MTC|rtHG_H>YK(&JA3CkqNz0IABtuI-!M@Rk%1*2LtxUt} zHPBv}zNOO$$+@KV6`|a5&P>2?Tg6Z=9jXLw^A7Hj7Ny;NJj7$n`~wmN`&j@0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/Bank.java b/online-compiler/java_files/lower_gmail_com/Bank.java new file mode 100644 index 0000000..d8971fa --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package lower_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/lower_gmail_com/BookStore.class b/online-compiler/java_files/lower_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..ff0a538001adf89a27a5ee592800575b8ceea7cd GIT binary patch literal 1091 zcmaJ=TW-@p6g?BCvEw=x+ zYv8jyB);JTq<*jfR=_e?LB+KbL8?Yr^33&}bI#l|zVq|+|NLjdm^ci-g6DZLn zlGi4U@vTVL@$BcmBUMHDf;UT9Dq+Mz7NZQ4P2Lb?Pgc2l;ix)Af#OmH#4T(VyY#3m z;yUu6WMUi>IwmblVVYrdfIh=eE8H!VI4@A#)iJ{`?Rsy7zjx5&j=NX&n)XA_YgCly z3x;^vtI?F+a-?|LZte?zhwr=L0-+_tMB&vSU4~Re@oHn6w|aQ9;Rv5KC$MPZDz51$gvV24$p8B9nEyYNTDj{U3%E#a zA3iZqmmopoEPc(<%xE53`VRJm0!ArB%YcR?=5eV9{YBI`tvT_vtbSKppNSu1c{Xc& zKr&;lf5sz<-y=PnO@5?InliU3{scQSMsYDh8U}^)XMiEqihv0seT6x9f(-BtV_`Y5 zsGKL%5@As>=v2EwqX~;HVwT1!q>!h}xP&xTiFpU3Si=||&~@3y1S*)sOG3RSzjac} pkx~kYQ%o_&MuyE1gM2PTTV2K#nho-sr*{cA=*y&N88&WW`VSLC1xx?{ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/BookStore.java b/online-compiler/java_files/lower_gmail_com/BookStore.java new file mode 100644 index 0000000..478ccbd --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lower_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/Fibonacci.class b/online-compiler/java_files/lower_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..bfed825d49b735c61d43007309864d17d203d95c GIT binary patch literal 1088 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(l)qR*Bmp%k!3!^Nx=di{cBk2$Vz~Dq zyz4moAFLLyt1-*~pG z>dF(mRgELbka;0Iq4FDcL%Q6u>}Pq?L>eOoG6{@gjA3+uFN59=n25UAxx^=ZQc&? z1`3q_04Rf5mmSX%8+O2&ya>Gz6pLQsxs=LR9&c|8btw1!R175(^SEQ+ZjjnNhQhzc zwcTUc6y8T?p98z3FS)z#2*0o;WwX<+_9xV1x#YNW(iQ{Yy?J)q zt=juK=M**WICWbIYM(OIljT`HjzxwDX-I6kuJCFO_kH0Tc*roleM{2xla z-^~=)F->z4d=Y9DniSe+=#(SLNb2)Hz`l~gFiU&z8;D{Ed2;PSKhrrz*7bC3Il7{) zY8CApjLh(Nq)1NZPLT!ZFr9l}(aDn4Pca!veUIH^W3PJOPZOuVO~SH3QdigQWi5qPRN@ebh6LVXXA7T{gZO>a^{(2$DgW6gPy! zT`mjU+vWu)a-y)9!7Mr20t=om3-Y}vgxnSCdTtq*gT;`Mew)NFQYxS2>$rov8txgm zj|bFdKWJII5#5|s3quj8d*iY3;$y^}kYT=a*rdn=wmnkSvpeM`9rU@sEf}(O+Y_%N zcT)tbeAA(w0cz#iUVFHx{cj^r+OBBYp-t|ZM~CCm_B|?Z)_V$<#f~3{D#Ktv6Gr9< zU^o#}+mRxm7|jkl?H)>a)o7AaZ}?HLC0^P}Oz!mL&Z%KRkp?P7?qGi`gfv;ec;yhRatv+#5d8Lsfu4df_w1oLF6>QCs)Q0+oy=uauh5Mb;d*%LG+`EK??oc*+$ wJx>x;jZt=lD`u%~R%Vru@3?t{+dUyB=?5lhog&;c$tiY`i!pME))b!o0Z!ZuJpcdz literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lower_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..97af2e9 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lower_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lower_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/lower_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4b31ad0ea244b0d47350b85c3f93177318a63e4e GIT binary patch literal 1210 zcmaJ>+foxj5IvJ%HY^K)kPwhtP?RJn@qP;e3*n+gi3+5O@_|}#h>OWC?ga~d)!(s7 zOC%*#et_?OfY1JeWzXiepykU<&vy6eGiSQ@`|q#c08Hb7i~xcXS`?f?h@o>=+t;!s z%_wG9ws!fp!w{O(4c(by2&U2n31NmoFGx4Dvj+}WElWFCah*NaS#>O~m1Rf>wxSJ+ zgmwiTh%h8e=4)gS1KZ(cqDz1b@dnOgOE+p1DZ32`1-&9wF?}8hXBoQdrF{+=eHaiT4Knnl8le7* z=h6k4SPd&kVuW7p!IQRD=Hf{%E0{o*A?%pdOomu0{WqSBtGFiN zx`G?Hc|zE{>28%cL))Ha*}Q&=*KT)$Q$95P?#<7|53#p0?&6+=oPtT*Cpgn8W_MkB z{H$u*+!7D3dB*%JS1Z{~wfuPbd_G+u8RpFAR6nw;8~l-5-s0ApR%Jv|ukTgckDlkL zYdCtD7j#=Ew`!0SnxmTrp+}dS1ZMe;Y4IFGyG0#HW*wl*7o_eu+@cssw^gI~Qll&Q zyrOlGJ!U(lofMza$sF(?|qN4w3Zvhj-N9z=wZX-w*kjNZ? zWsV_j9HI3Pa^@2{57G0HT#N=61QMiGq4aiw>!7bQ1QPH-#%myvWAtrgK0`i2e+5I$ zWHI)FK?k~_k|nCo(#|l~02!r|U=k*Po_}N~sH=J#*?BK}zL7m6egpJvfK_lVhSX9t pGbWgP!KDhW#Bi&EJ54@Ox(3D4I*2fa&`&c|=e6J=FVY&o(jQ7t7xe%D literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/lower_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..dfa73ae --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lower_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lower_gmail_com/JUnitBankTest.class b/online-compiler/java_files/lower_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..95f84b8b701b2cbdbcd27de712a9e2c5218b2bdc GIT binary patch literal 1877 zcmaJ?-BR0D5dIE7mJ#A7#^I+8;H0$J(82vlnu6018;1ZTAr0V^(v}{~!4{S!A|278 zz3D~Xpcm~^WTu@ac#@euK;9u2eTiOnx<@h~5+)at_MEf(?e4d`M=$?-{x^VG)OEC= zRYRMBcElKZ_xJ(NTHLN=SGM;=Su(_Kn6@czGPI^MB@JJJ1P3LzjVW^pJ(+{3zV5N}Ze5R@td%m(~fh!0pObKf=XW_)Dbi2(zH%G7WoCmP;i=sR{DInXhL zONyakhN1KcXf*3wrleC;qXtsAOr&{2(lNu}sd@yEv}5_H$G=bw5W6*~K7fvKq%~v= zOkk2B`8sEcE{4vkDSf+Apof#6bg{UYDaP_wYma_?_1nL3WEuL)+$#GPmm+05G9{}b zOziMez!6XqH8La2~a2-gjKj%kWxCon20 zi=a1(vDwEz{d4C@@@E}i;HHLI1GkVTM~+*`?)g;kY~J&PtLn`I;r1h+Tiz*2fiLPJ z)2`%-#iF8g9CHSWxXsW;&0|w?>CH%BP324}K?L40uz*E|fjX~=Ima$@`OuVAl03<6 zNseAit7#p_mkd2&H3P;%wlv%|a1SdCap{DrRF!m;mnMKp_$!s|1BU5l!K1lE0uHAt z_vTKfL@CZWJ49yBvT2KZetlcGYdk1SC$-c1K6#`0q85DM+tRFylIfXroVTgUT$+?7 zLt^=q?Sj~KT#;kwa%sv)JO;QBQOfU1;gU|L>5CU4LJG`nJ%&x>iZTX)HO>|LfvZgZ39#HIlWhDbseoF0Rt09U=uH(Z5*NFDfEdy(fbtr zf6x)b8oj$o5irQSi{QFxcb!050+7ijNY4ulZA|fMG_}~{&TDc=-)ATV!aVqe{*8JN2f8`n@QqI5@YcOK3GWN!==PjX1sxq zp5e13W*WG`8YqlE$2@7aCzgiVRkY8r+`#?QXh#SOxI_#NQ>r5vrF;85VssK$Fip~N h2AibSif`%Ng75G>edCnD7CizLTInQJu?Gu7{{wnf+VB7X literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitBankTest.java b/online-compiler/java_files/lower_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..83fb974 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = lower_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + lower_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lower_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..80a6c0b359c598827ffe40aa31a3223cb4a842bb GIT binary patch literal 1193 zcmaKrZBG+H5Xb-9B3F*%sXP>vhXX;|q7?BFi(oPO!ZczmG$Fnq3th_6_7?B9ntm*e z2$94O;D<8KwopznzS-N`nfc9sW@mr?`u+pJ8ge!wh+61ya1EUd{fGP`&s4cr&TQ-+ ziapKHxgtHOR~e$oRMA3=VWR0IRc5`RMb7tmW23H*>bjtP!D}`wM7z)p$3l;TUi2}{ zRMjWp@04p?R(JMPE%SPdnCnVa3R?MMQv{UAQ6UP$RQ|tdvRxQJ+`^!PAq@YaywC`= zsF7d-G7PslZ++>Vi=^moBpi&IP)CI<7Opc4UZf5gY>Z*tv}uB2EZK&JOV6f?HmRC& z;9{CO7YI#ehS5v+5U}Ze6SEfP9NfZf!v5W+c83@`sCOR2Nb-Fvb@Ps>QHzO;d<%x2|*%F$ox5^?+jzx>94R)aN`t{m%-+-8wI@>#4_zn_NVk^$hIM~ z^kX$c-8ttu@4R#7*Y6)c0c@bCBZjz!HUqcN&d_sYeX{a(%dX|O zD@VL48QRx`E#x{wJd-VJNHB~BLBh#zo=9GFUF&4qm&d-`kuJ9yIyA&Pkc6S3(?A!x z87Aw_XYL-<8kVRZRGmit)gCdoM8&bKYE|rVj|v%1gu*ah`fr&+2YQjx&}X0@1Ai&s zIq@WKkYEBb41}CFuCOmfQg#w)14Am+a3U)jZZq^Q?y9r2g2~H|zE$@aRxS;QijH8LtyZ}C zCtIeCKX=}9hVGKE`D?#X;qIQX`bj6|rGr2u`$@!cxl5=v0|W>?Ru zM#2O&Ta4~o3@LRVXqHl)NAET;b@6C?OkYnBrx}pWoq^>ppzWWb;}m-CD|${b_=T1j z1%V)O8VySCBwQE$T_#8@fXrM%x-T%ipZf;=40p~k)=E}aUMc88A696ls;|)V}PAwGLu>ua7{^W1gU z7QCuLL3<2c&=hoQ=s_>TxM6)G?45%u*NvUBRn4t#5@u014=UW|=7w-6k!FQZ7{-ck zOp}kHA8`c(8WOm4rtX1Rj zFs?|NMi_?EEzof5`AkWrs>U>=aFv*IgiB_Im` zhj$gcr{R5kaE7;n7zEhFMEd{qV+`%j*vh0K0kw@pAn|B;x%M<7R;_lZTH=I+N{9Gg^l1IK! zC`eK#F|T1kQqx}%hHj9lML}e4^PgtINi1o&hh>HilA6gdnBET6-^9$6;w1i64fj!G z7^?D$ShUPCcc1F+A*~#jn=aKen5N|C!=re}&>Nh)&uqY|f=3!2;|W95wSr6xiSz{k zl9&z2$|l21QySr(Ln(tH%%9)Ml&Hr=YmZ3pB__l}uevMj4elRc7YT2(7K|f_>4|5$ zdR3HkMIfuAoeX=EgfmgJtcq6)vl#$|cg_TE)N3MaY`Sk>a2}zp zCd48)jCI`=`6zUTOi>PEOSGxmDW=|UO8M+I&Bcmo3VYFz?EhuGiC0bY`l7 z>o4$O0-rQ+vuT{0=}cg8Mu|@+m1Jkwfi-Y8fM@fy)4K!)KK&Ra*=O{$dLgHZ!xD%Fr7kA@oziObR?zw=tvPj)A+lM=f6!>xxbc9i*epFp_@XAP~%p)E9Pz z;9|&-5U<=+LCWKlExnX$)p!iE44v}}i%ZLDLJthg!DNVevXRIzl+Ij-(=m?)4T}br zuuQPhshCGT4bRNGE_c+xtiX8r(YLBD!%DNuFsBe~W2xDev4E+UR^EZBN zpF7*uewA)|NW-1u#(t6R?|j=6HC_^~Aa~xT9xYEuo65%vZH62CP&z!v(Cg4@k$DL) z7z)ZCdfcIyLE&E0c_0+0wv)p2qV%0I-xP{g@?UE_r#1)Ev|SN;W)Z~IGaxIjR*k+L zpjn`c&PVk37*Vo-(d-#m_5#}O8M;rQXTM#V7~_5~b6i^j?DNquVD05(z+N zn;`uc7~jo)g?@&c=a_6KtCy}A^dW&2vQ+h_^kvAkKxXJqF^Lht$X~KYX>-O}*{ebJ svsU(ElR|=><5oN!&ng<5Sm{Zw#IkUH||9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..6433e4b --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + lower_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/lower_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2322ba15f29a38e6cfcb321b031fd353b20bb1ed GIT binary patch literal 1160 zcmaKreNWR+6vm&s0UcdoumJ<*WgzM{l**fmLvR>LG>aI4CB#2SnU|%w_F`W!`&b$g zB8eZs4`n>J8(kISKexBN=lsrdo_qT9*Y_U)Hc(a(LtH_ZhHmsQ3>+J$hTbsjy1spQ z%xfM)&zfnQ-a11(U#KcbFiZqNrqDN=9xpqN(cJdE6W`nM9Bx=D6vTUxgr=ZRLqAds zGY#>HI|p^kFdGLoVd<~-h*|M#ADUa{Dc|KT71Bh6!Z20&Z<$gr29Z{f(J+MJKa}q@ zU5{HNn1Bq!A?J-_+HH}PokUi{s7%#FA;G}?NpP*q9Q zl!hFp$vKyMbj&c?36B7S=v$aoa9hJ2+$HSaHiZr`bdh&9!$|&Jt8{Qj)ZT{M~4!N^y z95(1nlHA)nY0VT_^VYXL)8bXrHR-r)Q;&vc3Y*HOD;uNn55}O93F^7$cdx?bw~J4jc=J!Q1<%J&dWK$G|f_sey14Ha@=W`mV-slE|CA| zq4goXJwlvzK(=@eR=k9=e~#WWsKqZBIK#+iI${(Ag2ZXnD7}wx{q*%QL1F=9t_?|D zVr;+o73w)|USP75EdOY!pdT5m(oR-?LQjTL2$`ifsU$&wk$+@oXyuD9eZ;E}=)kHS{tJ9qONTt)bg>ZDaS4 z8$LttqG_A{5<@(fuSrNSOoTzEqpckKyzILA@kZb`1Haymw8z&5^SEF{WT#q$*CtBjGwj`l58iAtQ^MLZu0YY_0ZX6WVieYlw;6?Q<*Bk!9M=`AX3g)0OBz&iZ z$S{)2U#%nKAs$JXSMV55NO8xlYli{NQ7d~Mcf|J4ZLc8xM*$8ZF!Ae(e z@-=GswX??=l53{T*8^*pyH$O+K{x%R>SnXGYBY%tf$f_XubG}n?y^no>pnG1(#zxl1v!>2;MKiUf#775<77xCUP}1)t27Rh|>ugK65Z z7`?F=QsNDel@jYl-ySgW*ywypf6ovn3m7Y$f)&moZJna;1ajdkhE9xrWG{xI&H^91Iopes|RO19O^!u;}*x~PW+=22isNVmme7|Q0ZXV9^L z#~Kz5Ji!t*+ZDCKsZV!UD0vh{cF^YVjl);)%mcF9qh5o~L?iq}ta6)JVhJ?0Gk z+m^%M`1TPOd*)G{PI{=J`;FF^QMYz|M_M+oSe`}Zl0y}n(sCV2pWN;!+~g;&;6;XB zL32jiE5KmHsdOT_AfG|I88&^Fdw!it8;JO+Q6)FM?E0e0Us+04`ua4_s{z6^4Oxud zSqw?_4rrHD6Gz`JF!kVQeM*1Jh|>;8=g-0Nm(UK*(R~Iz{{;hQ82L;lMou6|oK}Ov zdkNP^r_Try3m|iCNdG0q4)R~2pJV(2w>!b=sVfD2NMVI`D*GyZ8Hyofmj0BI1OZ0= z5uK))84aV?g6QXA^kQ2=id|qPnN8-EjBj{wfkzz~ts2Iuh6xfg8N${B*aodJy!Z|G CJ`}S6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lower_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..ed226a9 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lower_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lower_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e24e454bf58799e1b7a17f8b6a851f8539ddd1a2 GIT binary patch literal 1171 zcmaJ=ZBG+H5Pr6;TsaO}THXo*hoZJcsfuq{1PalpA!0z95I>Lumb#>Ohj)9L{w$3M zk;EV1k220)OM8g%%ii41%rno-Jp1eSkDmaRP|*=XTtmXZ6?8GA53NsDsct#7()#Wp z-;)eo3&Ig{ks+QhR5c_S#={`tmR1^)S3J*ZtOxQakekxumaRiWyc<0*H1rziLyBRd z?tbRpPR+JNeP_?LORu*GbKTqL-aGD75yOojFifufw?w%c{m5v@8W_Of1=gDlUvits z5+K818|SSjoEAaK?!mBu5tVAV5s!vZhU|Iih(kvXSJjBd8FKkHXteEep{f(BNdqRP zXlg!}p&A%*Lhjw?;yvUw6SG@qBE_Q9-L^?;kND0WKi=#GI|lo*oIZNf1O~?~ z*CUycc@EGY391}O?oo_kH#WE*)MZnW=}3sWp$L7`4ZJ=6LMTSriyEF)vcVKdD@HFX zhKy1^SsA4>`X<2C6QlDH{XIsUEMT~J0#-bOwta%`W9Y@NNFQV93%M8tfk5KnnINzf z(scWTKw=@tObaA+hTL}X8}t*5onoSstR6S$iS!YJd9qaXr}Skgw?U@qPccanz|cRk zb0n3~cJ@M;{j8lm*P@VRr?{5MXNro(cicY3-42ar592g~2^xpl23rilmgtOO`457T B56=Jq literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lower_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..b223f0e --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lower_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lower_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/lower_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..74dd3e2367b38bccad186f8c9e03ee709c5a549d GIT binary patch literal 1194 zcmaKrZBG+H5Xb-9BG(=Vh2vSCiXyg$ay}~-!D940((diu%>3p*v$Mbd{QL!A6-6BhBsFvyxQ1?q{sZT;W7i$8X0Pua z@Tz3!UKXB^D-6k8zM>(;Fcmoo-(EYCych(|(RxE3He^`_+;MeiNT$&PLqo5DK4ci? z>;4xW?9^OG)OV`BYrowhW|>!gZ*M~cjw|*yc}U3&KSpAhDg8H9A&mi;8U_svVfcdj z@=++cOQH$LFx=*B1j1_xrRW}v8W>Zdh99$NxXv(mo;qgGF^);qswsx?TpJoMzmTu! zq-w@M7PHj7kV`T%jCI^&z{vY1<}}NZ1ORcKoDr4B@j1?|_$ycb-SN5ENP8*%W`-Ufl%PS%jWG;GCoFj$rQF^n~QMktU{eTx3dIK6Y z+MWXjVot?<$pi99i?B79RAtPrrj*Qj*>40@{zfP{6IT!OqM9Gf(u^hOswH5mt3W$b z4IDkYz|@_i^$EQ_MUr;FsC5Enok80^LHZcF^$q>U82L&jMou6|l2(JldkNP^U!M^q z5kVGOkjxpzx2^BcPcU(c=}xe^?Mgu(2C+mtmHjzA847L49K9(eDFTdK5j{%tGS-e> zj-p?*qnAj6$}!ANal_1&Olv_2`GGs9xYrS4l73*4)+xeG)Ah}^kt-2$mDU7a{spht B5~%9=WqzLr^%Y(&-7fweUfzB|#V6J%7K$FzuqQl41 z5n*J;58#J#+)JU2;`rurx!wKk|91C&{`&p{z$z*_Vu)+#F>ndJ41@dpBQG|&(BWbxNo+EX9owIJ006Xsg%GpU9>IVbX;l5_rmnKEmZ&R z8kj|qAtBv%5{8jn{$gq!_b{(v!9WT3sR^#vDDDT;+G54`g{Qj8!_D�dM*Yi)W>X z>W^UCGgrQNlCMz>p1SV@L$Yc);#FYRg}2G;O*-kPLT|O&(?`vD6FAbcMa}XpGFKeB z9G8~sQ2JE0t8h*1xt=I940tquv^@t5MVu;oQh4N}TYk40gAoTcyUM=d2HviCVJSW7 z3)4NT1`1gkx)?pX7*gt4&@QDWkiI=&>iyCBfc_pLPCH<%a12&Bg|>Z+z9Z;`FBm*R z`ZJjrIe{Q?S`7+UxFnrEB1kNROrJrLr^sv72$7xnFo#>@7dbtz5ND@?zQFekGsa!Qxm{vl*VdeyLT_Gvb4@}T{ Top6&RC)+`;gveD|V|el#q>32T literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lower_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..b040d81 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lower_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lower_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lower_gmail_com/Lingkaran.class b/online-compiler/java_files/lower_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..f387cf8bde1526cc12d54a8030a6fdfada27d48e GIT binary patch literal 1185 zcmaJ=>rN9v7(D~sUAipya+OQDl`bmvu2@uJ8x*XfDZwB9AVZnJ((P`uJH_w-##ity zjQ&u<4=M=9}MtPk#Y;h7}WSXg83sph0KoJ>*9`=W=g9 zx4C;LDw088aXd#pWoXaZ+xjZO)K6bcPM*B`^J&V2g)Rf#7JAUjFzWgrMXMiqTtb{jB{7I01H%?ZFnUQ}`8brK zMzZ_{sT?ewDR=zb+raT;Sq6gF^8KXrnuT#pFbvmtRTO-$!sUBM9?&e5+>;^0P_|gK zBm9|j0+WQii7BKFOk0@2EW<#H0~oZrI*!iIUL~-%mA82d8I@XH@><<-84?A5PcZb5 zNAadn+ZDkU-*ssxK}n-D4P`&H;$kq%ej})eHAe+^pQmU^38U0J_k9`4fY)COdEoDb zJvwqGZsE3pJ1Pfv8Rjmo*YS@0s>nrNqqMB?iu8kHhA+)#;=qXXCHMAR5zdu-zuKth zuj*{txdhxgu8S7o%}%3&%QxRdOi|#jTXv+#ci=vQU7|8dpW9DANi*|RTsN1u8LV~B z6G6e{VJJcaj~M2!q@a~E1CJRd{~tcXP_NP^<-$SLNiDZ5HK_2pR4rWu)oqOidS!xNYFvZqT+ zQlkotL7PNm5Z!DF$rrudPcq{t=-g0!-?H`{DSJda#Tf7dlNXA|2o6%4ptBA1p$q*; zk&+qeld!QElcy<4c}tvN?gAa@A122m)UMO_Hr&8X8apU@iP}9ppp{9phge1)qyGQ{ CmkvGv literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/Lingkaran.java b/online-compiler/java_files/lower_gmail_com/Lingkaran.java new file mode 100644 index 0000000..1a7a292 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lower_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/LuckyFive.class b/online-compiler/java_files/lower_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..bc4d3f67ffe1afe29775eb7fcf019b58f8ceb537 GIT binary patch literal 462 zcmZuu%TB^j5IvXDR%(GF@)BIQ0~huKKwX%SnBXI+VdH|7+K>xp~M3 zet>`D*2Kr$YD`SLi#c;=&Y77z_vPd18NfbT8ZwYnWOc|;7>udCuuabnCg#a_>N+ul z(&GV-_ZXyhXPCnZaw;?(tI+?@t>tCx`oszo5>*CiAs(8i5f5T3j$GUCYAB$n!q8E| z8bkRX4ud=w3WjX^urpM#&d~6}D>oWVe4BeCC-luh;>?zPzHo_k5MB@z2Rv|(6MyVR zXZF|=31SBf)%N-KDCwJM4jxRpogqWsifw0hWY2&2niVFINCOgbsG&~2pq`3F6V?r-m)&hOZ(!U*Z9O1=ong11 luR@(k)m3UBYDl0()4ofDHS!u1rSE!&%-9=688%W)^9ya`U95k0Y2`a8;!HL_s-mN&OLKqKb~Iz9H6d4K|({)fQl4@IkD$<%eDP+>vTBbPQ;Mv z2wz0|42edwpFtWK4Z4997{B1w;ws`Ep@Nu5rQT9V1g*1B_>mQb-1gc!R*}}x18Y`MWT4+mq<7Vf|ayjCxEri-qabBjBHKO*d5Fyaikp78le z>LX^ z3bZqM6p&k_D3<89Ntsbrcb>rRsi3hGWgAE!gEA^qOX#^=I^~L)>LmB-wOg1E(CUxK r-YD$u^G&jqCA&&|sgZz2qtehxCr`1AEHgj-J7QlVo~#*~I> z%nW$FP&me65LkCz1|{_SXok(gW%+NaQt_A6HC@k-Ba@Stin98x4Qdkix}gMLp{tTCvj-wSMhEFyDy z0NjltQrb28gV7TM1w@k84SLH_WmFSePhj`7VaU@OeI^kpY@$H>$a)G1ajJRw6>>eU wr_8#fkC^p@o;K@AeatLxKV#zT0kb=g$o;T%>H`#HiM9xpSR+I%k`}|(ClNG;t^fc4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/NewsFeed.java b/online-compiler/java_files/lower_gmail_com/NewsFeed.java new file mode 100644 index 0000000..7e3b567 --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package lower_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/Order.class b/online-compiler/java_files/lower_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..859a6c3bb396cbef7eea975e1c7eeef974b04312 GIT binary patch literal 576 zcmZva$xZ@65QhI|nSlXBS=<*~0TbnFf})9u!9>vn!^ML(*ulnG$T(Af|g3w wUNExuiZMkA_>@`bWNW0-X-1GFUKTMr;sg 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/OrderCase.class b/online-compiler/java_files/lower_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..413cb01b09361529766df911d7f3dab532c4e497 GIT binary patch literal 1232 zcmaJ>TTc@~6#k}{-BOko3WXE}QMt6BR7I;&6s1aRQiNE7i9X;^Chfv@cir8hB=|q{ z*#{nc(g#R*@CW!SO#Bzdh-bD$%Oy@SbLMg`-*?X0{r3CdD}Y%Pq6i?UBBUVVaWzW&gDnq2k z-CDs~7ru2df=;r2CaMjCJJLF#p&LCEL%eQq!(~XOOD7TJGcT0cUxb#1GW*?^XhT2F zsW`7;0E5RvZ@ZqTQ#`9d;FC>vx|LlbL>}Q1yq-^xlOYWkafzX?&NoHDGArDBu6qR5 zbUki*K9)zB7Bo#x`6z}lqGD9T7}5;gKHTH}8N#-Vc7o24gUpJGafXy(y%El8wa#^8 zwPMw?i_W@m3f!e!g_NdQU3!iE4LvE@P&(%<%X2-4+Y7?0S?g|GK`x5hxTE5(%-b}>@V`3g z=9aZ7vQ2)?RL=8?XF1yp?^_Fcq}X)&gq!PzaED8lwb`)qrwO&(95YDd;~K@v|Q6|n_6|KV!7V*5M$7arb%@$xa$g6#Vo_fDW+!;Q1Osq z@c*jR=uNhi!VG}7 zilzEFo2^1OXjjXlsw^0caZDkjW7;I{+)xK1M#}&H$}L^n;vO2vIrPvOYcVWD>oP>Y{i|<7Vq})I&KfA*sl#$!Ir(y5u0vI znH}=I8mB}?FQinF3VC-+s6E+=rp9pBKnZ0XEAfX^7z*b_cY_1j5!RsggFo8jj*{Ua z!-tDyI0FtyU-F>kiKtMQveWBUM>D#h88X~C?21d^7i%(Ts-ZSGqo{Guvt1>sY20T> zu$45d_%s;IS3w}cn#ZF^L^{?OmPc~DEOZ@@7#9BzrT!k|i6va8S%_DHI+CV=_63si zbW+bFwel706J4lJXpf(PB*w9bn{aezmd|h o#D3BAo?`lx9+SA!Co2#fm?YXF#doj2ui^pe43ZyW9gi{p4}%l}pa1{> literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/SecondPiramid.java b/online-compiler/java_files/lower_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..ca7029a --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package lower_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/lower_gmail_com/TipeData.class b/online-compiler/java_files/lower_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..22ac2b904e9f32f3ad37be77042babc86934efea GIT binary patch literal 979 zcmaJ=ZEq4m5Pp`ogOdVM>5F}%l`2#$`lX4|)JVB|I1w+cfI>VZ+z6kf?(&3hU(NRvNX${0{t~o=brn-V5UALro=R0lTHhJ47 zPlUjdVWs$K5jTU`P`=v{XI21S`bT&eW6dAHDW&4iEx4EtQ`I9^==i@k_j@NzeM@tt%7yI7-951tT>0S!CJ`($mAW~8GBKf%7y zhGBzba14Zzz~&edKqVsN2VP{%<4o)%W1Mbm_O^OQktpent={KNTD_y_cNn?I2ur{Z z+zpKA2&-db%D+cH5@-cC#9)$KLWbTQ8uK!i@tnpyjBUb%$d@ObqTMcK^=K?hcuYQ% L>@p7V6zhKhBN6g6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lower_gmail_com/TipeData.java b/online-compiler/java_files/lower_gmail_com/TipeData.java new file mode 100644 index 0000000..3768b1e --- /dev/null +++ b/online-compiler/java_files/lower_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lower_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Angka.class b/online-compiler/java_files/lowersteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..86a004cdb44e25fb90e382521742e99af3cc1a7a GIT binary patch literal 490 zcmZvY%}&BV6ot<~p-@1e2>u`jcHqK307RoEtWZg6*tj4APMU%KkkV>=A74Nhnz--* zd?sVOQ{9*_i#vDjob%1ee15-w064{=ffUj@v?4OdGE^4)o?9;W9qW3w5c7y3JCMGN zP8ibN-XxD4@;Zzn3Ml@Q+mGu=c%%wqGSx>3NCwt8lzwDKq2OLWhb@MhEnM#LsLlO5 z-gaX*UUv*sP}N};QNuP#HkcVQD}^F<_ZOa|B(n6Kes7|q!O(Jp2N6;b;n8&JcwD;E zdEi-RzO&>E+C^|D7|J8*i>uh1iSUNcT$*U4^cfo6+f8hSk{$8+@{+Iq^oAY8;am)* zG8+l~ScOIhb^1}YQlQAlQr)3bi*`nP=I9OVnHq*&s_Gg@Bac1oQ?I1wWK{^WG9EN5 o!zUD8pqr&vl$9@)_)KWjXUM6OH-{<=G-*P-FI3f22Z^@z1Fp 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Average.class b/online-compiler/java_files/lowersteeming_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..6e8f5b906d082164842608a3a8f08af675038e41 GIT binary patch literal 739 zcmZuu-)qxQ7(KViy;&?AbrSKf%92hB&`m`ywn4-*w7_WtLr;nZ>tmfQ?}ksP zpF>XdhiRyO8*;a Pc8J0uO=DP+8_ItH32u<@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Average.java b/online-compiler/java_files/lowersteeming_gmail_com/Average.java new file mode 100644 index 0000000..ddab07e --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/Average.java @@ -0,0 +1,18 @@ +package lowersteeming_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Bank.class b/online-compiler/java_files/lowersteeming_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..065352ac4aec78ee55f447d7484b1579fa0f6e95 GIT binary patch literal 1084 zcmaKr-A)rh6vzJq+ugPl3(}UN6pBJ=QK{crYY=IJU_gx}7~=&Q+DW@~KbqZH40m4m z5XP4vdZC63AHat)o@tv<0&zFHXU^=I-}#?2vw!}c{08t0r6`6lY(R@41f5~*fFJUr z#hqsH_5OjVO9uU^>6mhbVK`sd)mPusI=Z5Cj~Ix>Fp5hI)0X>Dc)k?EHl5~P)8?kN zS9k5=8h6?ZBP~+~PIHYOPQ-k*x>=~|&zC=cQY?Kntqc%B0!ag@7$%WEBc^slY@0N= z0ZB@3b!D1v@r`FXvL-#j?eb+JT#4Z-rWqz}-WCFn_v-rgP}FMX^_7uN~{WE?w`4;mcqV{lFe{gF6jN`14z?+YUPA^AZPU&Me$H z>WB-%2aD{Ts`B6t^br+qSv6CNau|0RW?lxi#ar2cj$+mqQYeRIC2s}JlPqJ1Z90zd zDi-&B;Tw3suyC&Ki^?(Zi0J`3Fx+-2luL)|B_nO*lbY7}g~%}l4RtXo%0%pL zK7(Lm1W1vR1)3!t2Dv#b_W3VhPzGQ&f%ryvC4uph_8k+M#k7_o>ItTRAIO}F?9t=U mh^u29BbcDWpCod=tDt}-vSGsCpyv+mkr$=WeLTctO#K7ADgM0x literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Bank.java b/online-compiler/java_files/lowersteeming_gmail_com/Bank.java new file mode 100644 index 0000000..962d642 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package lowersteeming_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/BookStore.class b/online-compiler/java_files/lowersteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..a006fc90e19c90e324834f49c9898880498ca2cb GIT binary patch literal 1099 zcmaJ=TW-@p6g?BCvEw=P)g-p1xn_=0`~S;L1OcF8pAMDWDHzD_6*zVgi^Rf z^4p{_z7^}*zWF?`J!#26aJP~t3nK>d7-g7rc~ewPCHG`V+|p*bOOI_4 z*Y*x7I>s@fV$#4ArWr;D=ratpqTM2i^8)2v6*CMAj{imkv*AhgFYQF=8wyDxKwxYKEg0r39HyB$;M|64tYDt8>qmZGBJIzypu zhfUurbg0cJuJaa`P3{$VojbfyV2cdKrss*E>hLfWp^6oT#dDPpDoDjD!~FlD)Y9GR zv4D%z{?U^Fbqi87&eGQ$&5Y)urSD*0C}5OAybLHvV;+}!&|gGN(wd!I%d2;l^_k=` zmS^+Y2c&cQ`e!_%_&u_-`SeH1WGQo-;!iMhV-%NTq^40ge+C#)jTo3B(pTtnC&&Tc zFc#TK#CD!gOGKs;P|3SSqYi^EWS+(;WKg6_xr8iMiFpU3Si=||(6!md1T0MAC81tZ ty$w<;kWvPzQ%o_&Muznfjp|&8x4MigG;36Ek=`ZTpf8=GWtg~$=|3Nk2(SPE literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/BookStore.java b/online-compiler/java_files/lowersteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..5fe0854 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowersteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Fibonacci.class b/online-compiler/java_files/lowersteeming_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..032229d2483560e9e031cab768171e2a9cee6fb4 GIT binary patch literal 1096 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_$@^N=3B(lpkXakp$GF1TVb6=`w+(+nr{2is9ae z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*74Xx1W^N80y<(0=_7v3 z%MN!B%C8$o!cq*e72CDd8bh>L+8sh1Lk7$Qt{`yX0N~aaZ{aHMnaogFmWUG8p3xigZ`+_00WxL{4r_~VN4sSSQ(FpAZ8NBO{U)p6Dt}AXe zw|P6n8z@j820$6iy6kwC*sufEkwZEVq%O%I1leQQD z@2#`@?5e%DbWTy@j#Ialpl4L3ezH8v$Fal^Aqk01*A-sP;l3|?0}mMH`>Gt2ynzbC z%>SV@1Kmn7hiRIZ;ET|cp^2e=hO``=j81*w2iR8<7-ne?egjbqAy2Md=x5SnWPO&7 ztwdL~HLaq3gOM5jjuf5Kxl?2TQl@k7D>_-S`Y9$uOKvr*uYJ^5R-5{A_B)6Y38Pdn zOtK#G>M&@RYi07NZ|bBgR4#;s-LoP#5=syR#a8mPUj~ z;t%jg8SiXMy9D*i?A^Kdo_prZnP0zu`~eT)J6z_uyTkK#Xoo=|g*i&JiRN8T=H+{l54a=Lb=@*Bj|xLddTk_z(PHU5zK%P% ztKpu3`*=Wddw#337t#$@YC#};b$>hxUVIF>9WX3(4jm^MgKb-^dVZ(Wq=P>9b_7GZ zZn@%h=xhmpjc?hsGf0xI@3+lH*YGxUrR9jG6hNGMTduo>!(pfsB=)_mzOD{7;do zTt?qMF!j)AeMo8jEX=YNm>nRS8!?CeM}&U z2xP7Ul0HFpqx=o}5iTENy4S3pIFO;%Q7llTraz%CL$wPsLw|}%iU7v{(mhEo$#%OJ zqwc5O?ggTtW{k08Ts4bzvplDWe8omdTh)$skxfDSz)0)7uKdhD$ A1poj5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..da1497c --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowersteeming_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitAverageTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitAverageTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d61fc5610319ea8698a4649a1b58390bcf7b8898 GIT binary patch literal 1226 zcmaJ>*-{fh6g{0_CJe(C5*FElq9j2X_bmtn!lFfq3Z#niff}%hgP9qe1q*%E-?2(d zBqddTfbV{Q&;Enu?a4N{z4Ua?z4zR6Pv6^Le}4V~U>f&igb~}LzNVHm zv#73Y?ecAxAu_3(x;w=XPNfSHq6~w+lWwWA2QJUqwsx@MxqF_w>e^g0WJm}%qXmkD zRt0TnXGoQ-m)v$-&JEoxZWawqFKupHhI)UUuygy|){1g%l}Q5ZAK?z z61o(`kvPGB^?>pjM4JE^5_O!1wr*CbQgjP?6!eNv#R^y?oMz~%r4ATm^kG1VHOSDH zs)Ggv$fgT2u^Lv8#0cr?Z{}ZkTFGgs7R1Zv^XUS~FlRlb{O!xS$sc&e7Pr^53L}zyeXr7v zbWM*v)71@L&>fx3Ig_N&T-`DWJ+|B+Fw1u=n`aqXZR$kY)&M#KPPrYI+vFqZPR=Yo z*QkVmRkSb}tq8SV!CT4_oG0}(gZ2}X+Nb3}xZX!%O zpeJ(#mN|yBafIeW$e9o5I7Ih*GBFxt5J;F-g~D42u8scA5J<=e8Lxu0AER$0^AYk9 z`pXz<1dC@tFla*;aX# z5B&!|=&$Hnx@^g6*YXGWAAImn_~>$uKFrKM=j{FMy}!NpnLqw{@jHMy)OEC= zRYRMBcElKZ_xT~uTHLN=S9kVBSu(_Knzku#F|?*LB@JJJ1P3LzjVW^f0__Io}G`lS0%@yRu!WbJN-`JN4}H24NStU0W9(`7)dc z5X0EYYdz&Ua0v+weFl=ad@lI4BXU-!mK@+r;(*R-2)l65Br3=Aq$!-MpZq;Q4E^Ms^hhQTxS2q0<4^3zX#pjseydr*A< z9TP}v$QYQ!6vOcUai?fw=&YL3w<`sDIQdH#i%XeeEPt)`_{Tqg`a6y+Lw}iDW#8gb zq-;l~WL2a*UKcvv#|IidG;j^q&#_l@{2fa$XouYL#p)h0m@a0*e1qNy6>HuB`iaVyzo`7T=n1PDFcz|<;hur}SY?PyCsbufrlY(x0aU`DscauI%rpxh z%_S0WIAyt4cQPePao*V_GJ94`Tio~SJHlP(L18+ntu_wG8_gTF;zQq-W?hs_&!pqL zO;zU7q%;{4D`#vM#Gd1d97C5&(?;S6z@>;%eoqRQbUICs+*WGb<-~GtL_>`#Dd=mC z@0P`asX8TbZjh(d?2u8xaik|*esE97sE29HX@pu_Pf1?&?b#Hg{$8?e;m%vC%{>h!-H5N`eNj3Z zXu?NduS!E7=8h|Lp|w!ow;-XeU6K;&cB5|_n7ZHTy+*4WXe9|4m^=oXdkyb0dq<0Ix!q@bTQwH1g2vlgLlT^h%EDZe%eF@>X literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitBankTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..25f9a85 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = lowersteeming_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + lowersteeming_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f8ca12916f333f3d39ecf87461f04279a0d9cbf4 GIT binary patch literal 1209 zcmaKrZBG+H5Xb-9B3F*%sXP=E@KDgUC`Ek4B3O*RFpU@sO^7eZLYH#1cZ+vhO+S`K zgh=8C@Ix7ATezMGxMAO&dmP&_5BBcH55$55I4|e;R?DL1`qj1o~v`On%met z6nl!Hd&Th_waO4rXUYZ=3{x#9N9NX>N)&vbH#ZvUsG&;A7u+>rAl`#sSO)qm^kaY_ zTbG}NA1EPQ$E)sCUGCI(_N1G8y+!PGDQhJqeX%J5N@&Rljp2Inzv=Ql7(&v(u!Rwf z{&9m+lQOy_oPZ3YA?K~{c;{j%x)&)6<2uxm5sQJV48s?xBL))_nAGK(VwgyW&}a$r znX*Z$u3NA%Llq2!A~VBy$2|gUdEdmWfjJAeaGPP~U*!rb#n44H^ccp{@7oeuJ);g# zeF>OAhA49p$af%MT4+4;Yru%Mg_u z!L|o4fB7U+rfa{D6~Qo2bUg8<;qD55lke8)q?d}kb<`d~YRtQaryN(5oxmY;!K2G@ ztdhgF3-^C)9lgq0x%SDD(oxalaJv91+QA;bjOHQ4=owZl5F^U;+3Pt zq%P0(f*vKz(746u<;9THFN1bTJ$v-+0@F{B)<^XB7;)MGsq6_@_6)}M33`rUX1`$Y z7-OHw#K;K*iPLIPcpu^V>GTOfVlBx0Ib`4r6WiIZFi&vp6w{qx{rI(lehg!ob~^i0 z`ZDB0$SnP7B?$tI{Utg@lQJGgue73{h0)6-LFX7{r?`SoMN#fBuV;# WNm{1}H%%|u4w0)ZYflqF6g|@-Tei!qJPOKV5!ALQ035eV|-v> z4ta)zbX&*_gPH90d^#4esA0*#LoCw>T(6!#YSLu$CEw?snyD2SFFrJ_hR;yAY($iF z1hyr;;`NzT*tNW#RBwO}omyU8~xlog}q+@3pNUS#O@NPT2p0rW?lN{5nr8`#fTD5~TM6qx-q9(9dw|924ze^$So8dN6Te*e0E9PyR*VjC^=DF*x zEqGOhg7z4?peg9q(1TuvtYLj4Y{wO%s+$Kp2UV^cJ7ueyTiqn=BAr#Z&CLzrkVDN1 zp)rgV-{>wMLqFmQ1~epa=}ZReb@EuHzzLAyQVZvit((nY$+`;P07*MC7aMIn{_EM8ib-5k zFr^`l48!>U@z$b@q1*7d6Z-B<7gjQb$lUk&XN3886z?!xE_0*o8Qc{qshu({H{~9R zl*6k+MGo&Ocu&Lo_}~nG1Ww)?fFI} zY2mj_Au{{Jw}0OIIq{u}JZ>qtt>F%4$&qCrV5e{SA!ge@!2{mtF4J#ILsbosuh zxu{L@g+f7+JBfJ>3zDM#iZFD8L@f#;bDRG(9Zq6N!#ylBbWqEg41?+IQ2b5IOes#o zu&UuciVQAl2+c<5Dkg}uT30(MaYZq|bF zq^5o1nXXm6k}f-H==|JYm!n2qv0z!QR2B6E_+%tqTQM9azR|~Tl0EJJ^7;e;SA}nmG zZ(mT4&`}d&ksHRk?uvXAIzy%?2eH+(soN>0-fy<@*<+fE71I>n~c?Kay0Xv+V?~_VqL{v7A75 zH9no0YT)_{e3-x|4cu%B=Vm$+Se#Mf(@7=S8CGBo+?`5xzQhV}GZud^9Fyt1z*+Xkca+lIrRNYw N^rh0Sf+{Qw{|7}O0ulfK literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..96499a4 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = lowersteeming_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = lowersteeming_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + lowersteeming_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..fab344474f14ffd45839b910b105a844f6060d0b GIT binary patch literal 1200 zcmaJ=YflqV5IwgAwk!*UmZwrEiqaNkd8$|hi;+arh_TRw_<=0t(kyoO;yy6_SsD={ zi9f&}Wt_V$?JDAzyR&y@&YU?j_vf$gKLBi?pdx~(f({Lx=wj$UHckz_X4qAI`{0;Y zJch0{(>A?zhG-^RRuE%I1wp3JH|riRIF3=@_PrC|D|rq#EENi(-ROa)pjSg5;tcaO z@rgUG$GK(N)%~hvn6>?iu=LlvgkAJ2AL?7?DKGJgun%{*OJy|?!ep2%{wx2>QvVv`UJ=@)WUh|n0AvgW%po2!>CNvM98Dy7DMu?bjYD%4C7L?6vJ4i z1sWD2pDnAzYEnZQQ>3HIJ#sUQw!=e!LG)crE4ZiOK4utZZW8S;y%;)3Pn%&l^S(hO zm>*4pv?kaXvLwhWH(eCsBy9^X?HU%3VV0qDVR31BMNaIYhB@dAF;6rS83r@i>u@R- zu&7{3!!lL~RybAt*ry@t1=r<{9GnptFF*Q5&1G0^b{pmtf^BSB{`yU}Onto&hnyi^ zG;RLIw+^_oV;t1zriZlLJ!$M4>Hp5RJ=5Z4(>2Lmu&GDGGlfm%6U8>eO@1UCo@eNF zXvN690vHGd6^=aaP|SeoUemch6eqWo!qk%RoeJMFC9Tv=>pUkn2vf9W5qfqJB;>Oo zDd#Onw$u4jwkxAqvjc<5xf%!I#Mi1lELyE{uw7}K_unjsRc>WvR2pc8< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..1c74cd2 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + lowersteeming_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..90707681ac5834fe305c8aabc4d7081c8495b577 GIT binary patch literal 1176 zcmaJ=ZBG+H5Pr4=u3V3|7APoSQPj35CvPei!D1xQG-3pr5I>NkF3n=^7VibqpQRBY zlK2DsQO4P8Y0sd3*_+#$dFGjCW`F+r{sX`|N;+bQYv?l2jUI-y}e9w+@bY z)o18g6^`)N7~;8nMMHvNG7J*Z+-Uf`V3K}wk#&Dzj-*UxX3?Zc338Vl>e2Frbf|o)++n!E52eeC41F#w7nzp; zLy@4;q0e24NeVBb@L(iDZ6*ci+cI#gd{ZbwnXAh?r}hQYv{Ny9UNNN9`jeGX3r62A zkpAeQ^CA5`LYyohQ#b=FTtM49L+>f{!WRslV)Qe)7zKeq;&d96-bZl#bo-blHy&7ge sZD%jGD5TjrZl-dnf}-&a_s;R4L!;Tl1obdUWTx6+Ya!S=oiRN74Wb|so&W#< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..4ca0b32 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + lowersteeming_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3166fc09907e1965f8c026e0e08523397a68fcd4 GIT binary patch literal 1197 zcmaJ=e^1j;6g_W4I!a-%!C)#-6m=Vus`v|s;4l(n2pBh(5MoFvk5RI=vp*z!ER6_} z#1G(yGTzsXtpxR-*V}jRJ@?#m@B8)p$4>yuD9eZ;E}=)kHS{tJ9qONTt)bg>ZDaS4 z8$LttqG_A{5<@(fuSrNSOoTzEqpckKyzILA@kZb`1Ha#dTzN2`C2VEMi9ww-VNs?o#1GW@` JEz=ppt3PU{8BYKJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..35e4635 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + lowersteeming_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..42a1bb48972e943bf38f693ad755334340f47ae1 GIT binary patch literal 1201 zcmaJ=ZBG+H5Pr5rt{lf(3ls#TC~8}j6A=-LU?KX!5HS>*5I>NkEcHn5uI}w=`m;15 zL=u01Kgu}Umg^bRFMD%4GtWHp%kRR1uB;)!Fx3pQJ#(`mc~J0zf`%7CW0>ClZ@EGbhLF^dGBAvh zKRPHisG>u}36NnV#Ca=hw@sF^dyzIUrcwdNSi%4o_f?8oP33D&$+uEX*%2slh!oFb|Ux(|~4a7JZ)!HASmwy!;SYHJ@Rn-FlQ}1h%zoh3hxDGPSzp z9dm|(ZQJE<0_TW}J?p4OH@zh6e!aDJG>qNAmA1pnwr`WW=u*d)v^|%~C$~EcH~EPt zc!8l$(7us*1uzr|DxOF#C}zlMgre_qKd4b_gOND3vJ|G5yg*d=D_hY@U*GC^wMdwu zWsA|fiy^7r1zAb8dGzf9QxA~Nr}VdsI9WhCe-4(vgm!R_o-^qAFBm+-=x1^<3Ic(| z=`<+4kKp?0_8Ec1njmv+kbz5#ALPG6KgYxcZgrB?(^m}ok-`dDs`@H@844lDEd41a z2?7}XOLm%eW-QEJYi2(WvlrVGQtSe^li6fm(fEc37kJd6(duD>dYB|KQz6)T6KsRd H7+(Aa&X*f| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..3217260 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowersteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e0ec48b532a90159f6531ae76b27584d5cd8604a GIT binary patch literal 1187 zcmaJ=ZBG+H5Pr6;TsaO}THXo*MG@PgoQiK)1PjrqA!0z95I>Lumb#>Ohj)9L{w$3M zk;EV1k220)OM3+M%iiA3%rnnCGxO{BkDmaRQPB}YTtmXZ6?8GA53Ns@S+|^;xxRbI z_asBtqHu&?A7 zHEAG^DN@hplFSSv9rp-e=zSg28g3Yv!A%nPUs8oCF(gPkhheDjzL`Gk6)8`;5?B&N zhA}~ue#2@kivEHjw|!NW%DFvNvD^h_90)j>H*KcBHt<1v)cydU@|17+k|5n zC=@Rz(Qy~|G|U^gj|YV1dNuPfpf;Kn-{+ocq7`1Ae+;a;&#=&{Jjyfz+nlrV<(FcW zs$F&WIYVkqIQ&gu@6w!DyLEc$AzinQniEI8*a#dcY+e<`&;+P;P@v)1P9J zB!Hp6MCWK!M%&SgVf52>^n8m#mYw2SrjRKq8sBm26n8o_nl+4*1QR4jz74h%f-Tb- G!?Qp9I~JD! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..f7b271a --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowersteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a889d6d3b82766d703c983c0c7cd2f324ade6815 GIT binary patch literal 1210 zcmaJ=ZBNrs6n^f8bSs5Hd6&1Lpj%PuyW$WWMn9NEh=V1>52TFCyku>$z0>fsG$KS2 ze}F&Acy2eg640c*J-z3g=RD`__n)7?0IZ^@BY~ubE(6!l&Cq|~e0J=*Lep{dSA6%e?A)dmAEfT(P&wLkep6F+_%$(tkr1(iniLVbH)3 zhA(7MKBA~DktaZg;Wo}jAiNe~^6tT?fidN3_%V%!>kNbEp<@ain_?KxwL#-$ zDC8?Tv6?ZE#Vl1Z86KjyLH%{KI+H&h9`x~D(BD%eNdiW#6EN!x+V%<3$Iz{B=s(8DS5h%D0)ZsyG|0V|;QHwH z8G$4skcAdV<_zQ8)_3S9m^j6B$60N^V$g>{ERm$5Kc_E4p$#%ee~L+p07kCx9;JC1 zYkMz8-Y?qTOGH7%7-pxqVdhGvwV;Unz@1av>ku)CKQKw>6v0i?8fV*(D-q->oe8}B E3&dF&aR2}S literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..60a1acb --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package lowersteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + lowersteeming_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/lowersteeming_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowersteeming_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..df12ab5b6cb19a8be1d84bd331b8a7cbb1739eb8 GIT binary patch literal 1222 zcmaJ>ZBx@g5Pq&jQbMp$pimVEirN;W2=xWai^Z1@PDdPp&M2> zU+hYT?j_5y-ZLsKte{?+Z_LmxsoSj{$G^ z42x%yMEOTxTQgX?e3Gk@2G890f+1P49Pv7^Yr@;)wFaH^lHgm-)-+O+-Ug1eY*Dp* zi`-?0F2|+iI#fPY=`dUqd#)!+41FHWA(`g@1CgNeo)jL%=$7AUMt>wg&9L%sxPiAT zURsJz`qGros=>k}4PT6&VGJqtOvp;9Nu+NVn0k-2KBV0v#K{6i^2cELQ)t`A=sAL( z|BC)2q`#1hQ4k0uPOCxb3NA^fj|n6ef=r)*Bu|mq&VPe`jO!;D?o~zp5S__3rN9v6#fR-9QPAP3LlE&v(xEojLRS@98f9&#+>k4edG-CX&z?dJp*#&pX`P z&u{J?imGJLR&39fPZ`>C*0#1vF!j?`QKL9oIz*_hzM0;}x23A`VgHj#IIvD0JXHgH@(B%ACv3JjpQQRopk1 zj~UE$&l5q>;bAC39gi61uauybG98Z@CjakBR~nT8({#;kXU`)EY6)mGFOWS!E2A~J z_!I0KZ5VPitIt3?QtIi@Ub$wGARu65$3NHTzhQkPEAm%wm4cvykSX<0V$4E}=}be< zwgwpl=%hg%7=tz`kWS%d(@4GO?S7ISKSAe)n){ZM-;uUPlBXC0eqi!~@fg8DY!j4Q zM<2S-k2Eovp*aN$i*fJ_c`0p)6U<$pBmTprc!b7v`rd{cxJhdVc`wnphX-UCw0nqU H6fpV^7TFP^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/Lingkaran.java b/online-compiler/java_files/lowersteeming_gmail_com/Lingkaran.java new file mode 100644 index 0000000..cf7758f --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lowersteeming_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/LuckyFive.class b/online-compiler/java_files/lowersteeming_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..1c9eeebb67e4bd2daf53f315d936086b1e9d2297 GIT binary patch literal 470 zcmZuuJx>Bb5Pf^cae@aNA|DDCc3>et0Mx>S!~~TDLt{afb3+#HgPeC5dVh(HwHBIK z_yhbmwkCeeqA@XXi+Qs%@6F84zI;4A12{k}4Gp@9gardh27AKiyyB{^Bwc9-PoBfI&v3$H0j_61w&i;1TRkLCn z1=^Q78fa1^$rkChMaT$^oky@ca;PC$l?HUAP)3D(MeV7D6ISeGJF!=*-oUb^t;JQuJyHcRL8ac(NCd63Q23D*h1~YqI#!X>U>e9{ zjiK<5hC!W4f+5*BYW6i08MfWvnulc1J>icBW6u`uzzMuoFLtJju9$O+JApqU<}es> zhFnkh{3P~U;<%HKNbWF&Y)G&qV zfnF~Zj&T?S)?JrD3H`n_L%wiT{_Cn#`~~%ir4(i{Cu3g20u~3NUrEfnZpd8<;P)uc zRKHdD#szr~sheAFNyRc&WMnn0VvS+qYvM46A<>CCNTTq6e6*VlhOFb?@_^=XmljiR zxt4J1w(lAhe%n3fyh*z`@|&C?Qx+bt^xOsyF0F<`h(u(MVR|U=ce-MgK{fqeVDn=U zk<$ag-N-7rUZ+19Ju#3`B;I~%yFb3)-T~|)Zy&Mn^O~ z25n2)(%WGO<_k4#Z|AG~@M&yEU@$=2+awH)2!=^qmhH=2jhj7@JM@G#AHfJi;>hX$ zbw-iIn2uBoX=Da6R&TFKMTwjqPp+IdamGB$-o3Abxg%DjTwfqe_|NI zU8NvI{+HqRLjY;FONE+_S%$3X^o2|Lghk$Z+v3u!Hyx{Z;?#w&)kZU{sx++Y|> 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/OrderCase.class b/online-compiler/java_files/lowersteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..93dcbe8cf674ceb372b6433824940c25b9286d32 GIT binary patch literal 1240 zcmaJ>-A)rh6#k|^yQM5G6bdN{g7VXXQWZs|NR=v)1cX?EiC*APCa|#GU3a%A3BHG3 zd%=ZQdI1R+K7dbQ;#(Lap4lbZ0&$X=GiT=feBU{<`|bD9R{%wn;s_zEBBCJ*g`ste z@9@0A&5iux+Lowz49b*l>fSU%IGbCEA;zFSerr3zb>oPmS%s#d1&IdVvghdL219I< zyPG9zUHIN}F|?BRGqF)KxFfw&8rso8ImGK4H(Z8vcK$SiLhgl9{6%PKD8=u-L=(Dk zLB&N4J?L#rz3Y0SO8KlBflmkFbSu9^h&;k2c(stCAblG8ahaj3%C|+yGArDBu6qR5 zbUki*K9)zhIy3>NLL37aR57Gs7+HpPA8uoOhNvyGouYFRAh)7ogrVQC-Ux@ViYk?A zb)(94W3^&c^NY^9a7x^znni-rCFgZhJgrsNgtN@o40%D;CPQcTr6R?Vr1SzSg={7pS3Sy5SMEX#8}huaIn+qBl*q=Jb!?%=M9d$N9$ z3P#b z8Uzy1k%WOZ*!0EkA&op)WuYF^qNup8(%%5IP^P5T9Z`-c0R5Nbd6+E2xansY$1RdE T0(6^Z0ryFZ({36MFoVn=_IxKn literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/OrderCase.java b/online-compiler/java_files/lowersteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..ba49143 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lowersteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.class b/online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..80f0552a199a2f7feb5376872cca510dfbade27f GIT binary patch literal 1042 zcmaJ=%}x_h6#i~I?UZqV(h7(IiWY3CQU!HW#l$8=lcFR;>cR!NOmE82nYqo(ErvZ0 z;hu$SU1-9>2k;$y2)D$)GczR6lsJn!_niBk@BDxNbMg(qb38GSLRyDrB7-bLexD!k zn#=u8?al7KuoXl0spC6pogrPWv~tKXpg^{Ui7PM}raj&j4e8rly>-+c-9p8E6*4T9 zo9Aqn3LL*vuMDdSU@%57j=YWulemimVOWQu5*~S%eF|nWv3F!`i})0=3hvbnOkzsM zw25n&VJOCK2QdtpUSvTOmxa~Raf4yemG4DB{)9)t?sPovxI4D=YL>92-`;Wp?m2A+ zts&cjVZ7=1;&tEK6~Q*&bxEU^3@XpqIr~N zAOHR&VKfp_B>eb{vFaCGjfhh*@lu2&|7mhzfOZ2p8gHH47+54-6(&}R;1;2Z(0(JM pV}bpmEk4D>DLtlfCnhTq92g_oC5rD}e6HXD=?sz|VhxWm^AEuZ1_S^A literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.java b/online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..870de79 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package lowersteeming_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/lowersteeming_gmail_com/TipeData.class b/online-compiler/java_files/lowersteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..08bed26b353e73b3506fc02199c6511c69833480 GIT binary patch literal 987 zcmaJ=+iuf95IvilQ!SV% zzX1;*<$(|2qY&eyD5(-*%QHK(XU@#dj(`6d{sQn4&rC!RH4sZ7js!#Ql3($P!{tTg zefv^$G(+OZmbN}&h?dH&1thUxz)ax|Qn%oZYhMeOP%5CHrTU1-R+SH)EpA;sJ^V zcEip*WGGJVz?N64FDl~}jGJ}JJ6d_y3}2_ucmo`hzTvX#2)|fYsviuhvt>?sZUr{4 z2VxF<`k>>fs7_zd4MmMRPQ%usnnZ~q-%?KC3aiZ>)whlRrP2j Q%Xmyalk9yQ;3?Mr0>3}?m;e9( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowersteeming_gmail_com/TipeData.java b/online-compiler/java_files/lowersteeming_gmail_com/TipeData.java new file mode 100644 index 0000000..542f715 --- /dev/null +++ b/online-compiler/java_files/lowersteeming_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowersteeming_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Angka.class b/online-compiler/java_files/lowerstopword_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..3e070610235c50eb2afd2bb6017aab45423ff0d9 GIT binary patch literal 490 zcmZvY%}&BV6h^;+mO=q3AoznA*ntaq0Ek9SSfP^CuyH{Kn2+9iO;#qEXUksJ8C6xf$|y$fwI|zWU3Xwv2+Q z=sOBFWBaLU8ckH_N7YDxT1JZIJ=)c2Wwh!iZ(z? 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Average.class b/online-compiler/java_files/lowerstopword_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..215a7213dc88bcf5bd68ce62a7d16bc3ba01321c GIT binary patch literal 739 zcmZuu-D(p-7(J8SnQeY*TAHm@Q|rH*MjP!#Kq?wB2!+(@ZW{>^%4WNSt;ufKY*GX- ziUh<i1phsH$wN~`_7y>Gv7J0-~W8s2XGfRQb<72pk}}! z7^ZgYpyy6hU^43D-wxHeQyk& z9E?FjcG5iFlPHNfoYHVQgEPqgH`RLHkK8T|3kEb>uSq{%PxTU(=V$D+0L^yyC?M;isb4TsfO#6 ztl6wGq^w{NI_?86zCJT{uoNeuP#5W^#9soG1A^*hTFp~u)cN9Punz51 zg+Vx${=x(_>Tkt2XbnYtrIJI^Y^XV;%?8h5(zF`tn9oXnTJkf*^D(bWo=%ZIZCbSx zt4di_%3SBg{dXuRWuc3r&X;L1Ys5eoH=Wgy%0_~{Kl(Z1RDT${`YO1^KjP#Z|AhJ2 zcS8DJMusrQ8YNgKw8|xg*TW+fllP19$^z)!=i?33ZwMD Qkz|L+AJT0MOL9W#FHvBT6#xJL literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Average.java b/online-compiler/java_files/lowerstopword_gmail_com/Average.java new file mode 100644 index 0000000..bd6d36f --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/Average.java @@ -0,0 +1,18 @@ +package lowerstopword_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Bank.class b/online-compiler/java_files/lowerstopword_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..7daf656d0b69e1327c4f224bc693db74592499b4 GIT binary patch literal 1084 zcmaJ=Ur!T35dSS)@7hu)TrT*7igFqVu18OY67$3;eZrY>Q+vaW$!kZ6% z2;-L^`k;mfKY$;~IM+6zgvPz>&d%P6-K`4P`s z+^*-}92|qu9EFz>D2b?EpA%- zRoTj~bGykf(lC{0*Vk!sLd=%STe-5nw*2{%kEO3BeF20JL)<_jf=MJVkg1%wO0%@y7bd%dPOStpfQZ~JI@iN7}lM9Z! zCv7pnyg$iqR~7qjpa)UnmQ^v8C ziDwYl7y%@R$pW1c4};VU7JK+FVNe8MHiqbCa3zNEg7zH~sl}w0BGfZX0Y8vBC)q`h nLL*!q;~2pNHGiCtvmFLGERhTn{4JXI@PM>1?H=MWo?_}BPq_Z$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Bank.java b/online-compiler/java_files/lowerstopword_gmail_com/Bank.java new file mode 100644 index 0000000..7a714b4 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package lowerstopword_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/BookStore.class b/online-compiler/java_files/lowerstopword_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..d454d78618725ef78bde39b75bbe8f11e63b80b1 GIT binary patch literal 1099 zcmaJ=TW-@p6g?BCapF2nn!f3S6jDeEZ3+_nq?AXbLQxAyu8I&y)ifD3ZXAzgPg-RI ztbxz+koblVkov&_SOLpm1r^sx1c@49$urk?&N*|>_|DJsvmXHN!7rar*Pzj?ZG8ki+YVf)!OSi(+OIy__3KVx$K-~ORp+j$% zMO@oGEE$-d>Q)0klx8=%iHvVKpqCPLC2QP(Jr|gsRDEkcwf+z%^Xgkq?ilz>xd*e{AF`QtnruaQlbD6|P%A_cBhvH8trpGBRw2|>Rg$sSakZQJpF(Q41F@J_M z@D1Z(IgxfbPpKusq9V|#_Bf3OOuCR68mEy&jxOagQdlGAU5sHJ<9JBdW(Sk7Fojoy wdP9C|q?RS6Bx2{7W{iyv8>4aZx!B(73a-)|C%-v*mvNK642o7z#4XJH0h!bY)&Kwi literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/BookStore.java b/online-compiler/java_files/lowerstopword_gmail_com/BookStore.java new file mode 100644 index 0000000..89efcc4 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowerstopword_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.class b/online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..04c56cf38ed6d02b6866c37cf65c804f498fd025 GIT binary patch literal 1096 zcmaJ=-A)rh6#k~&?UuFBQYeT}DO$8er6O8?%8#*zNCIk7f)`%kbUT5i+nr{23gO;| z@X9M+Krb}m!Uym*d=K&LmS9O6caoWN&VJ`RKQrgopVOZJ*73wd1W^N80y<(0sY8Cm zOAdGUOK<9j!cq*e72CDd8bh>D+#Nz3Lk7$Qt{`y6gM2Dz{oFk8g z=PTJhmR@6Tzr}55&yuauMJ)_kRW<}ea?5tb>rSgKyd7S5$f6P24KjG&AHTTEFkDmI zYHss(h&Pa@J`8{|m^In)EU{q+tRokp7lWqJjl7Uj`O4$%ZJ`ci!%xOgG_im?2JQwW z-ebuByJXuvl1)+Swz1o?4Q?svoiKdrZS*;?OZtkt4M+I-Eh(FwcBQ|d9?K=ios+g0 z0Pn4{`|K*cw{%WX<&IOcm7r%-qJFX*%f+$85FrVPP1hA()#1J`d;<>|=KHD~l)Qm5 z!}b3|X$HELVh%GjFTod~CqolM`*qT?bTT^ig&$yFNnn_zJ@^eoF@zkscA=k1kCF9x zDz*|`)z-AK_6^t;3N6{yjK20!V;ODw%h~TBN+gU@ z#xTix$g9Jk6^BVHO*1-+5#*7?5>41LMo}i~Q<}1MjN=A*rNGVzq#L-&=p#!M^C9ys a+@^DcViYLz#c;om2V^rzU&bRm#?)U$EeTQp literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.java b/online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.java new file mode 100644 index 0000000..1560d36 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/Fibonacci.java @@ -0,0 +1,21 @@ +package lowerstopword_gmail_com; + +public class Fibonacci { + public static void main(String[] args) { + int n = 6; + int first = 0; + int second = 1; + int i = 1; + + System.out.print("Deret Fibonacci: \n"); + System.out.print(first + " " + second + " "); + + do { + int next = first + second; + System.out.print(next + " "); + first = second ; + second = next; + i++; + } while (i <= n); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..9b24062428b83971afcbeed69d399d61a00b8b7e GIT binary patch literal 1183 zcmaKrZBG+H5Xb-9B3F*XLd#QCpjE`SDCe_c5hzAqm`03+Cd3zHfu$ba1K#aP_*fbd zB8eZs4`rOami7qho4vW6ncw_(cJ|lrA3p&sp{gT+q=p^?m(a^FxW_+p)8=l|T;19e z+mfMo!E!CR$dD|S8X8gz6H$=mnJb4_a~c4Fd))Bh4^l zdk4Y~q_=l5xi|-nO> zFyPaqk$DCfiUn17rSK_6vx0WJ2V-6}qU6-;Ug&R&SC$f!JwL&7YG_cP!Aj8kN+6@= zpRA0UGWzy_sfR}EWBPl7Bw4^%`53Hx3T@*UeMivCUom)u(J$m;6a<1KX*DQa;nKAG zlpu)+GTVlvPm$Xwe}jIEt0$Q3CaWh7WGQtR^JJ;&&*;lg=|HCGPbonPM$do>fA=*-{fh6g{0_CJe(C5*FElq9j3y`xXQOVbP*Q1yV)%Kn>8u!DJ@R^gyAn`a4!> ziKL{;5AfX&@Y#Q`yq$G$d+F((d+)jDp1!xg{`~v}z%(AH@WHR3Ny8Zg7&`X!eLb1i z&0KP2YmaXWhQOp@8e)pUAB$%d1Q`a)PKK47Jrq1`+xp>(D~hgI6*kukDirve(E?3D ztA;kTGsN=N0k<7t6%QxUp;gLFA!}4WQf#p9@~alrApB)=+V$CLp94|QE--_tCrehP|=40Db^rE zU#t%56(AMQs>EtoLlh&VpTh;28G0M;9>B8qd5kK!py49MsN{c%Rn>{1iS#oWx?|5O z1j_eC>KkT`-~uyi--b$0e!LB0oQkMWi<*{*iswA)=mjpX=(2_hBpHIjszfq`WAQ)n zR9wY11=ls)z|B(vXDoLs&ly^Zy6y1VDN?QS6sJsJ`pv8Fi|@j(Roulr1t|@axKD7F zolEYy)C9@2<8WIxfL`9rzjXDy(@@Qem&s(}S(0JS+M)dI%ZAAxxrHrmujv&=B>8%= z(vEaZPhC?O1)en=gUo4@q|k+7nS>r%ZV;H|yOzyU46QbGB5i8`ogSz3uHZKLD29_Z zb1!r%!DE#zOh$Fpa_w!tU`Tl)zxVirY%7dV>-lH~eF(`Jp<{9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..ba5c028 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowerstopword_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitBankTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..67bf9c8dc4c35dfc430ed6dab110186745759649 GIT binary patch literal 1893 zcmaJ?TUQ%Z6#fpEOc;hsL&`9QrOUCSTffAGOS;iJoaCIJSEeVCbj&e{9hdw+ZHGk^T^;&%WGsOe}! zyM_(}oro~>AMit-wzyqRukRg*qGX8NG;LGfVrWmM3L2seV}X+Cq;p47WL=jZt^2a> z%MIxYPKX-XyU-0oLyv)8^fA0`IZuS^NvHnAaZ9`98aJ)oqEkz+ZV`5l+tp3skuSpu z0WnOhz1CBv3zrbnFkm2#%jbgMIP#>ZQOpF$aQPJHfos~WILW#jLk5PGso{i9G`ztu zaN;_2pkoB1im5S%k>n|8IQvYhpi@*61`@bJD%QTJ)Ha{^ZAujK9apwef-0pKmHv>nqjcWt)g#n zDH66L6S5)_9*v_ZJN}*}7_>uf`C@&a7)<6<&3uF2XewkB!VLo- zV~*k|1x5vB5%fwvvheiVzwZ7V|4zpzxTRsiz-?s7k>i%r2R;=(o%KB7s=D()xbxWO zmUl*0;ETG-w9A=%KCh^q!lHpZ?l5#v6WNqpawim6OF31D5s`NdEMtXXsK%>e(XoqM zJ~Cy6Bu{c%lB55m)v}J_Q-;1~RRhMFY-zY>;6BzFqS9%qGQ^W%URnSu;m=gI4;kiK zg%9Tv3b;9CnOApG1xj(zDG`}{Yo;yk`?WpcZt|co-PBfFb@E2@My>eJx20JV1=BO> zIBQdtxil$FhS=H}+c~lCxFW;Qn-LR&3} zMQ&LerWBbdXgbDM{hGxq37_uG1eHdp#r1^b72lpuFzW9W+ZOJkrP|!nVA75FO5PWx zqk$%T{Pn6d^v&FHg)X!<>iagt)U``eOxlJfqDz6_tAf=tp%MG_@|!3(U1=wC8?YP}s;e{pJkK&KJfn~&pa9Fx%o-dT?0 z-PPD^YN~vheJWzq7?BFi(oPO!ZczmG$Fnq3th_5_O{+_CH+_$ z5h95nzz=1dy+V5i_08Vi&dhKAJ2U(9*Y_U)){!$2LDWE(g=^?$7(C*ic&5tTa%OYy zNbDZ*DeJy`c)q6TD`^K(q(FunhEB=*Iv< zx+;%_=POx1mR@PMT;oo4cVE^rZ?=iOA!VhYq$jq7PYEpY8o0oW%AKJ@H^D!*YC0o*MS1MZ_3ft#3p__Qm z!Xh#ZF(q4EhLL3IYBm%1v25Uhg@<@V4Uk?rbJU=|W^%qSJl#u8$lLYS2vTF-H(ce^MA7jbGUr^n z99NEXDSbTOQMe%vXzsEMeICsoZ7%^sA*bAd5+3;&j-PYO6;5{yS@qD8(JaV@w=Z5h zT1?{VTrcWT!YqwjgkD|*as4uA7uT~#-!3ry1ZjOte@_sl9gs+$f~C)4?3|+K1ZMgR z22U{dnM{nFK#(Y{7KQf_uAfey5+o8p7A_zI=a|?@e}#F98)umA1nbAI74%~mE40(u zpV5~g+lI{1pH>nhz}R1+6ErE~?da7Y`guEgg(T=4qwEYfwHy`Y7B!`(A1b%ex8 YKQKw_6yc`nCEIP}T7X=qHG&tv0UyB~JOBUy literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..64af2d0 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowerstopword_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3dde70d4514600660f5f82dd0a87a73810325445 GIT binary patch literal 1215 zcmaJ>YflqF6g|@-Tei!qJPOKV5!ALQM@8S0RB7k6hR{49+K zk;EV1k22ob!gdX6HkrLUbMLw5-g{<${`&p{z&eULVu)*KGjI#-3_VBICo5mK>{@=S za>T2Wp?y`@Las5yGug6+1jA_HB%J)lspLi1wNAHudF;z=>2j-~Lqog+Nf;VB4RoQK zAy;=!xa&#h_{4D!_G=AG)c31SBma7rus21;v8`%V>~N0~8cqa_VZ8L;bcGJ|BBi0v zKtBfls9^ille|I136NnR#Chuq`-&_@Cy_QVq(TiRa-!ijL*I4k$bpVwjHq^vG7M)z z&}a(^*|JWo#toR5pbmOm(lNtO%RK@Zcu!(V!#xA{@ql6CU+oGz#n47Qv>667@0%2Y znb8DE=qxVvLj>a>%jHt!xcMM$H0=i5>=cv*OYj*B)G zXG!7Mls;8zG2GyXj>`)Soi3@5%xi$&h*R-Ua+iFP!V9`dY86yx#6wA!9Q19+cdL9; zC_?F*>Yh=8!UTyfM)xmnY-70qNX1Snd+q-Z?tXpy$4z z=M00N>4=dN2qaFcLE)VQ*G0Qa1QH8CrmsM{FEPBA`wIOWcP=p23Rb@W#h?p)SSCwl zU!gZcAq1JCFU2H50E2&tPLo=O!syi?`dJvgOcYd(0d|4AsZ1%An^r`=;o${lTSQXC Y9~hx^l;FnbKAR!rS^&9DYYfkS1CS&euK)l5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..883f0bd --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + lowerstopword_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a8fabfe7e39e86a0fd17984bea914c3104944902 GIT binary patch literal 2001 zcmaJ?>r&fR5dIDq%NF8h9577)lYwBnH10hm&V`FZfH)xu;FQvq9_#}M%aSV{k)i$B z<{8?j$V@v;@FX*RfWAe4w@=U?ovtLuh=JyZj*iame!Kha?$ICrzWN=&ZPZn?peFYzA_z)kR;;&%2JBDCT4!Plq)m`E+UC0C(`z;bEG<=F{3|$r9 zsN`ArEmMfx{_(p%?>oKO-k|2m-)V%9xYHW+4_EfUT-=9DnxoOF(DqfwH;xvbH9LH)PNiH zU_7a5AG@a1Yoeq(I*I2@>IN=#%99~pJgLgO*tKktrw+4eE@}G)pg*KEw=0EBI$e6W z2m3-A-cXZ*x@Ng{SuE;aM-82w`>WolQCG}cmUN`e>-UA+w<=C=1Z5Q!2nD-dh4vUG z{HgRA(#=DwDsln6LD3d@nSwoH_&H2vQ!xNt;%3DV&P36&s%|~ZW&jjEIc2zhR2N}k zQ+?~4dW4Re5DVNe)^sWIQRobrqBn@GrcK>UG4)=vl}{hjTr8WWuonz(JRAiE!{iwX z&dW>zwfyMYRq1*PXuvpKg>5tlZHRlfHtpixy-4p4Fz@$3Yl*(Dp`CWXQ1%!s`x?sT zF=8*EW`9NB3k?23B8Dfl_K+f=k$E@4_0Z|(1k&b%yxRoneU0JG>~Bzyaj}8X6Jzhk zC99ES6|}e1U_rvdQ&(%)0x1+j1r$tD#^~U0&C#TRI>9GmVxWB`2FFSm(EM9 zHn4V*PS$sI2{DWi8>6(QFh!J4<1!8Y1l?tmDB=pGIMoXHYYMI%+qAaf8*q9@Dcv1< P_HjU8D($MM!NTx=ME3$- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..ede5d39 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = lowerstopword_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = lowerstopword_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + lowerstopword_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..656928bd244d1bcab5f6536a63736b4992a4c5a2 GIT binary patch literal 1200 zcmaJ=YflqV5IwgAwk*r5<*5{lqO?U>o+=i>VkFTtVk|TvejrP^G>hH6b@wi$KT9J* zB=HCMql~lL(yk(YxjTDj=FFKhbASH&{sX`U@+u;TD(KMAi7tkLW8=iotA<_Cw-1ha zSu%93nYJm{8KUV-NkNPu83dU^->gfXcO0X>?a7)ai_+nSr9wfp8$Hkz^lIosKf`=g zoN~vNqIN2r!~Ke7nAQEVu=F>(gkA8;AM0D@2`}=pun%{*OJy|?!eqEp_;1l%HwF<` zkkBxM;XnE))?LXhqECPf!!4Y5j%hb3Q+5wVHH`VGnh1Fm++s*vl@2*njAOzVEy*yR zZh?k{$Yn|@vAUxng(=d}<&xYCW9{$|U=V!|(+ciucz_v(nVUrWOD~2F($i)bNq=Y% z3Fb%BFzpJ##*iUFUc0G+5Ve#oWXd%x9>Xj{=fdLB@`^vPM;hj!GsL85Br*)8GuPo% zEMQT=l7?lh5Ug-2`mskt)bp;(9e;2}V7&U|8C92Iwb^Z$QwX-PWx4A&nG*H&QXF!I z{(@=qx1M#togL$#N;f^E0Zw&z7deOQvg*J8x5uhBSpu<>Q4m!%co99G+w7 zb!f%NyaE^u1?7(G-ylrUmPP2=c1ngzP(d`y2&5G4y3&7Om0FQM$6qx%eM_6r8iF!GsPjDkQQQ93nB?zv$Um}2 zX>-O}*=s@e^H%m!lR|=B;BGt}&-ygJ;o$}5+cX+IOi&L=A~V?nTMxiC=#1dSZ|`** AasU7T literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..af1377a --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + lowerstopword_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c3e77b3105930ab41b8c23c321ad31c81762fa88 GIT binary patch literal 1176 zcmaJ=ZBNrs6n^dobadry0|p8>6m=U)n(@l<~A1T@C7&+tYi_dCqg5bMDVy-+usDM@dBtaRpr(y3xZhcx;>)dfl*V`qsfQ zuS$lVRns=*8bdsnuP8_`Oa?)w&^MZrmmJ4vZh5ld$!+Oy!&0Fj-istO1$`R&F~Cr$ zi&O5nQZ!D5bGTo#470vp6_);Hm$1uT^<#6>JmEXsrGlD>pfTJk|F>MR7eh!XNNX6z z$R8bSH(kjsB2It|BO%T^$F$pIDLaXbhA}@?6A_Ps8w}~I(h-M>aZLDfO)`wsq45IH~M!{VT_i&$K`d@N|N-=bihBm`!?n8@0Ff*Ef zY1arafjmj^+Rc`QXk=|6v#w$B1ZEk!=NA^2mi;L`)G!B~At6O8kzqKOzYeEj9t#Q< zH7sG7V1-lDk3AZkUUFUT_#-m{=*}ix=E6XyN%Y4k@D|7TbdTHn663gl1)7t(iAq8PnA0iH~5ioc#)ycq2(g; z3ScM_R63H}p_ruUMid^5MEILY0qVB!oGRZmeL|V*%RA@q3#MtOV)VRXNcrneR?1&6 z`gVczM-QEk>F){RWC5ANIauKm%HBD8&!85*VDJp1pUK522m}(RQ={}gg6pT-rvwrU zKxW$@1D6=zD}04|j++;l>LmLw+-J~_G*-y+t3RVJLoo!Ip+BEVf&fPUlAWP#84I&l ugY4&F_F|htnqA;_DwitwG```%1s-*1w0fAJ9wv#*R0y^ffUVOR!;9apQ4#6@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..91cd100 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + lowerstopword_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..cfb2294f73bdbbaf05a8f719cb993338f0c15c0a GIT binary patch literal 1197 zcmaJ=e@_!Z5PjPsSB`^13x%q{p{Q-CRK;Id1dEXvL%`V5gb+iHvXmq3ZN1w{_*fbd zB8eZs4`rOami7qhKYMdKGjHC!nf>+q$4>yuDCh_wtf9xiHS{tJ9a^8QT+MQ-xsBaJ zUXcvFi?(CSC5CV+UDgm`nDB#aky|;Iyx_Xl@kUcNnzATeZq;>Y2=}2MhK2zHgNQPu zYvPEzo)nEE;qL8J>y};Hsfc>+-6mnL^CNGS^Su)HsGcDLU<^}h|E-qq!!TkR;s!=A zdZ~fpu_t+*coQJQXb0!LYddYOl--Xp1LG>y5CM;d>kRRW(gBB#ByK9TCK!^b4row; ze7dX?t0@B}rb$4LOL8-ecf$jKe)Mh3Xt-nGF77dy|5EEhD25(V&|yfVwp$GRiIM)c zQzg6z(hP$o(XcC~Bc$nBbsoViA#ZOqXqv*wnk8O2$eP89&7BI*ns2#PlLsHw@a`L! zLyjRLMGKK(B$d8eN5?}v(lBq}F`kg}!mZ{Gn>5c{!SlGQMrrxRn@>%v<}oa^`wx;0 zz_u1HfAuC^riNdOJ0EPoWg?-6giqUPatNc(PKrO8D7e&*p@Ksy!NnBa! zIkiQYrcDdcn+qYP-UL}OwRZIF0aK5U&ZqSE3}Lc>vCJu0<{aAADf&*JXTDsivj^goI)VkVRP`71Wyp6x zX6R2bi4Z{IFWKX?E6GmwqM!Y;lRe+25NBt&6-&i3ipF*5I>NkEcHn5w(jjo`m;15 zL=u01Kgu}Qmg^bRFMD%4GtWFT^X$)G-+usDM^Q%%aSdGtZr~=vz=`$AGHaGwHMb8> zcttVXT(wPmZL*Myc<0*H1rziLq9{l zCQiBZl&GHyd2~>9EW3745svw0kFdAp5to~m$9K6$1q~5FW0>0dZ@EG@29eZ|GBAYU zKRPHiJjER%PJj%X3Oa$YaWEjhapwST& za%G)ZO&Q2wnkMLRMQ(=CPIv^c8GRQs8txgmj|U9X{~A{~DTXeZq02Cmecz(c+!<}a zcB=%KK#n>teX#3wy4Vz+%D6&hJj>w;%u-`lu1tk|E1CJZrNv-zj||MgWJoB{!eSW8 z=B`)JF^?x277RSaA`M;0s(IqmF3qCnaT#pUY8tOT`c}O6x!ko5Yjo2?gWapQWJk-`@m*y*yli_mxr;7!Y$;o~R6e=YVYtDM zh2#Z>UP*c*^9o=v5>z}^TvE)S(+G#Y!#%%7tqnxt0?AUCUJ|~n@Yi-gD}7znbAgaB zO=64DyNe+iybH3Df%53v1r|I&I-k+s65?b5>HIlZ{u0{$Il9lF=f7a!3?rY(#V7~_ z5~tIk^j?DNqub{M5^I9Ywn6$YF}9!o3jG}87r5O?4xWC%pbsf5lND57p)W%r1eu|~ zfJuS?M*fnWCe4h7*{jX$7h(27n?j0R;7&4|%m*~S;o$`ycWAVF7^fa4h|FXNw$=n& Jr!$6^zX9Sj8^-_u literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..0749c18 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowerstopword_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1c84f596524f8371de0e83e19c7a6b1e3e432e9b GIT binary patch literal 1187 zcmaJ=ZBG+H5Pr6;TsaO}THXo*MG@PgRK+(e0)=SQ5HTQ4h#$y7mwKdki+6jH{w$3M zk;EV1k220)OM3+M%iiA3%rnnCGxO{BkDmaRQPvSbR71?bHFPl~56#bJv2HrG;>O+~ z-(9mn34+(~u zx;W;pC&kgRaI3pD+qCMt`@$~1*(U4_x60l3+@oZM2q7^{uKzbxsT=)BX-FFwz~CkJ zTMbWgn@AHN!(bcdoohKQq7>bOVFM#7)DR(yhEay}Me2}2M+VoGRO1YpTpKi8ekotk ziPfZmET%|3k4rK$jC9;XfPwc-Ol!DhU?Hq=o+=piRpjV{4< z7zT3rt4Va+#{&)X1|H%OVF|ZZJoKrJ#j@vdS2fWLE-ya$X5C|0XjL9&8iH-kS?TIa zzCzWmi7IDEtXmF$>)U%YC+1$AUV2E^?W5+zQ7<-qM_M+oSe`}ZvP0#Xs%}c3TJJDi zGM_-RCbY#VCDwmgm&? zV2Va8LYo#rN^Jt&Qfl7l8v|1-N9SYudx9w4fZ@U^Sm7Mn&MCT2pclR(d4i!YWMbq5 z0*MA^jKC5|((6+Ki3A|CEs(@HGCPHD&`&XThKWwFT6WN?^bvyvx~c5X=*v)QgG|$( zViG5Sp}$0DXjDeq(ThR!^LF%ni$a>6;YKQ#DkvJ?apw&8Iy9O!jFSWtBuBOlwiJLZ I(;30a9}HI(;{X5v literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..c4522e3 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowerstopword_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..83a50eeb8da16b82cc26c3a971af4eeca97af196 GIT binary patch literal 1210 zcmaJ=>rN9v6#k|~wq2H6xy!96XuBx&u2=+%(I2J}VxbA~2U*&o4(aaT?o`5KX+(%5 zK7bEpJhLtB647LL_UxQ>com zV(4BGo=~d{@l3XCAi*#l8VQ+OKUTcp`_A!3Lmf6$N%`DyO&EwL(F4msuZ2GJGc48R z5%&Wn509i@-L1KfsP9&!n|r%W*d<<(UUgIWjw`BLJfNVKj36@17XKSEpTrKwPZwN;5x(5Md*ma!~~{v$)*`5GHuXk z8S>e(Nvviqq%lWT47egS!+6I$0vKA~#Jqt83%78aVc}mTyHqWPE~=%+Fq-+$q!IRx zIw8CofhLe;7`9DYKjGUvY%_sH%B{&b?ManZA9*@(T(0|f*TNEV3<)KhPy~|6{vE)? zeLOJm(841;rn*bNmOE%rOLK)F;J$986AG_CHJp0Du-wW%$}$4moVonpH`y{}`bt(g zLw`|t{9VJ{hv7Qkmp;!k z^!hY%BwhdvMvMykiu+`f6hUh~Da(jnPb;a-l5F@D{zhmzlUEP*lAa^X(X7R2^4vrob7a~M0PNS?s7zhdA7qhCnH$Or@yr_&<$UV`hR z+h+t43qclJApPf<*s;ICJjLW0W;)J#`!$0;3}Klh9sN0d8S-tAdHT~#5(F@Mh4&cE z%Xr&+CG>vL_Fg6mI>rb)!;Ms?n6ei&k?**3hI<_%DdG=I(K$_UGqlF(HsopuxkhIU GFaH4A3K_is literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..12c4e34 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package lowerstopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + lowerstopword_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/lowerstopword_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowerstopword_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..42ea7bbbe2bcfade215f860345f1a0d39eafef51 GIT binary patch literal 1222 zcmaJ>ZBG+H5Pr5ru9U+Pgig-{G#q@c@?%DiteXm*VB zx7`}y#gJu~smOZZ2&>BL^1xcM3Ujm5Ryp9l)exQ&9B}Toee;Dv3{!OB)-^0wDocG3 zmd_ob`+48Q4Dt*yC0j)phBDd9rQ>*jIRo=13V2A(kX|jnA5e?)CEpjG?k;Z{FFyvn z?lUZ$OA_WEf^E%U@$yNwLK-}myMiH6wq5ZiaH_)F;MF>v^pfD4jn*_$limfcvK>*e zeVg1RmoCSZEnO;~EO!{LiaqIxB14}?b4ca|z(6Rdw5NneF>%}PG^0Nhpl4Y7*Ja@C zh*!4ele#qJGkUNvLBkiJXBa_JKNGT&dJ^f|1*YF4t&eE;7*Vo-k=zMb?hMA(33`qZ z&wWAvF;bt&#V7~_5~bCobPboF(rN9v7(D}RmoCe_T;)=3rHe|vD;AX41_i5VO7Mq2$k0w;>2{~tokDm3<16?U zMt>;bhY#SZ_zuQz*ak{yY&zHd&YAO_`R4cEvtIz7W5q-p+6_c3L=j`?J>*9`<8p65 zv$c09N{S)2;&_gF#?YR&cVcS<)4$kSeDd`DpHEXJEOZ&@w$OuKhG|zG3qMe@b}aq! z?tYa!?rup|GX=-nuW+Ax3|(%W2Tki}I=^A(HBrBX0nO4^5w7DB;vy=JK@1rfwlIRx zD>{oOff7}cC+nnkuyCG%BQx)O$5Tb+3tr9klj0i|#xcP#T;&y!lU|9d4~{yZS)jP5 z0*0Y0TFFNt+W2X|jsw4{ZRH7}%8f%19n zjZg=&9Q4GHF>wcX4cyZn+-I1(yk^Hck`<8&a}8}-=Orcm6NWF%$ut5((pTIoyCRq? zNLi`Zve$Js?OXwFpVUN)@a9az!pk<_M1vy7UAO2ck?p`k2D?CIl)Okkxte6=>qgyN z-Da>hJWu#Jmj{6e3_M|&zh*(J%nUqbnEZbzU1?|orsHi7ud-tN`Z_$fL!b>Fuf{f>k^5VipK~JQX8SO z4fLT4{Ya3K8S3M(vDhF_Qk2dua*DZ2bf|xrG9ICJlfJj%7H-qnLD5Up9^etJOqxB$ IGO`%`2e~m3$N&HU literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Lingkaran.java b/online-compiler/java_files/lowerstopword_gmail_com/Lingkaran.java new file mode 100644 index 0000000..99485a7 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lowerstopword_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.class b/online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..6569ce262d009fed66ff3bfbc47348ff5ff71dfe GIT binary patch literal 470 zcmZuu$xZ@65Pi)uBO}WovM6}q1|FOb0QF!(VuDIChKmQ%3=`5Y3mFCocfZ7oXFX`* z!4L3nyqdUFkH*BrKGdtOdatUw`sL&48Ne}W8e)j6NTiX3!k|z1k{b^9#>T~PVp}1D z(iWZwj~L>OWFtEAX(vU??g`P$p zTMUJNI1I^|R4^nOr_H{KZHBtzuk2tR`m>cEj0R(u3uj>YuF+js({)EIZDODJBZ6F4 zc=q|i9ooSqA38EYY>%PTxcVL`dK=9nym719XULc#x29)&_QTgqe-T)AM@Vt@x5I&) z6?GJ7U-HC2lR_a|q}v`LBTVi;g58lr4av$h5Jw7SRLGaqo?JL#MOWI1!&>zQ`aRUz s12We!cKi7%)v-ujq6V@?9JFxSd!DdN-VR0S+uo66?2V!fyOE~)1+$r9J^%m! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.java b/online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.java new file mode 100644 index 0000000..48ef20c --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package lowerstopword_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/lowerstopword_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..3eaf090de7c74378a27eb9323fb6a41d67cc01a8 GIT binary patch literal 484 zcmZvYy-or_5Xb*}92}e=ARq`>SP2&L0H78oBqsO~&(K(q&Np8fFo2*XowillZYb5kQvzvyD_o7VdK0%;!eO2 zYY9&ThYXQgy_-NB2?J&lYe@c*TdP^XT~f(8L4{6ONXW*8FTB7Cd~Ul<6YEGD$Rv@) z21D*24MTLQ2nM}&QtukbGwe>}lKZnjPM6Xj^oFi2COt>Gjn3Q|ui9e4E$&EfK+Lfm zaE5e8c>HYc_PKv$_b2qC6XP*#)~>$?3x7yc32)e}cNtPvU_0Yed-|g{Ejjlc-WCeZ z|LL=@=Ee?kv^#Y)(A0>LEzoV7JR=|7djh+sfZCE(X&{0GiYQU6q?c;>UX_Lmd#eLtkRWT1xQA7}txPV6)>D1z5=?@h_AHata zZ>&YD`7w8La_%?hPToIW-T>@k!$b;c9h!vvL%4B2fF3AMwJ z&KE9p7+oe;#UiR1Fd6jIIvHhTz+%wOxqoe-k7U;uJo34L0b(6;FHqMeYz*lbwlIRx z4zH<1;Oxb*ch_Jrlx(9J*7BF7zp09aUsBsx%wZf8IwmblVY&nTn#8?pC?3)PvPtud zv|ELA&M3R0ZtjIe6SJ7pF>hf3iwr|wCw6-nGWDc`5c&VdCwH^VFdxVkj~hzXTQaU* z)k04MSH29L6W(eZa9*Xm*_Tz$&|eY}KWT;)9-n)afE10)5yNQLz~9pqE*MN#He;V3 zh{W960d6HxDfJTl$>d3af+9=n3cbxxWmGfkPhj`7VOXU#`Ai~mSVNxniS-B?(o|RV zSLo%mopZ~Y-Q$)scCTB`+Wl^6;~9g;4;b5g#LN%Nrar*H1kq+;603)Z1=3Pj{{(!= BiZ}oO literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/NewsFeed.java b/online-compiler/java_files/lowerstopword_gmail_com/NewsFeed.java new file mode 100644 index 0000000..77e7246 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/NewsFeed.java @@ -0,0 +1,12 @@ +package lowerstopword_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + + public static void main(String[] args) { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Order.class b/online-compiler/java_files/lowerstopword_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..9cfcb145035ec265955bf80b5c09953f0cef1ebb GIT binary patch literal 584 zcmZva%Sr<=6o&uwGSiN&)n2?;>%9uvt>6^|QP3(>x^Yp{Hq_|Mq)ew4pTwOT7p`@o z;KB#+1$-LClX0V90?A2o{_mWVv7D5P{h$Ik&!7y;iuX)MlZmV=$zZ4Ch z!PtQME5 zZ^n^E#zZ!O9EScxtlV@+MS)b8;^q#6T%;A0LKj zTPp}r{9y$35J0-E^`)wbNrt?wdcy1Ys@+pwv(|FBv}+CJl#aco@E9Vysws5x(iP>d zQy1PTuiLZ}Ay1cKsCf1tn;}{8dE@Gcw*!9@^M6YWl3=hZs_Qkxp43Pyh`Fju!8G#p zBD#e@g}|V3idK1=>B13RegS(VgP}m9J_f>wlW>M??Rt&~b)b-ixu1@g7qjTQy+b^m zEI+_Vr^-(lTzST@ri22@BuugmQkm3aND(iGKDz285&JPqr}R-ik)y9NrxRNUw2R+j C^?B0( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/Order.java b/online-compiler/java_files/lowerstopword_gmail_com/Order.java new file mode 100644 index 0000000..feec769 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowerstopword_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/OrderCase.class b/online-compiler/java_files/lowerstopword_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..39f52ef58d90b8af873535db4a20c46711a5857c GIT binary patch literal 1240 zcmaJ>-A)rh6#j;`yQQuzBE=L1K|xzks-jh?ic%$#;7_cp!0e*699D}Xr^V(3B0MA$+E21DN} zU*lPayVdNY(yAyc2IGe9+UgcVD4ki3BFbRid+qrm2x5rgkO|AeVZ^&^i^{j%Dnqo! zgIYmWM9X?HiaxS_BC1V?``WtS!ch!R4DqVToq!>kUfPQwpLuS~{UWq9jJfYEiCzrh zxQP=MhB49|dLvMxLGfghz$e@8Y?*ybh!o)xypiuGC!-d|aEjqrgV#ktx@E4O*^0or zf#R-eVY!>>K-1=wk6|1WCeBzmi!{U07Tj+C3=vO9+e2s9L1x*+B*T~^*M%P_>8(q@ zvQlku+gT~gM)r|k5q^OOl(TRl zfO{={6Bh~S0jdnKqHOwQv0!Vj@xP&`H7iQ%yp$?XKKC97Rg;w zVfKc-vXnUB$N3``oQKA{bwivflLa`w4a2bQwO~@WcV? zojlt;obN2-u8RV9oT9BnK8hPev{AAJc;f zn7G3*@_$uo_%>TgVTL|HJ$gWG1B2EnIt`O#BqNib!9LQ4;T)~{83mG2KW~y8O3s{pOmZ?6?oVvv$U6*%a*-|c(b;UB zjc_iKjA+9NZAVj&6ipp=`#a2luv`4Wdv zf(3y%Y$V{|2t4}YH<3h^w9+tlXfaG&FzIgqS}0P&8VVab2k;$y2)D$)Gt(x}lsJn!_niBk@BDxNbM_6uOFT1>KvIWhB84==_yIrU zRhRpF)wit!VJU|6bH{ho8bh*F-pL@tfE?KxCa%F`nD%&E)TM86_0CcIbPE;tRme~* zH7?kiDscS0T6tKN1A{SwEXH+An8ckQ2%~u%D&diL*`;76d-jg3ZV{g%R>8fRfk{m1 zm^N_(GYt9I?I4CB)rl;K;;OKAblhTCbmfrMjpM5$af>h7IL-Rp>gNFwFlSN^{=J6AQRWI}v>enoQaX zI%i3mqd(0)QcGXKKGB7d3h^_L#0chbyAM4fQ;ptMb9zI2F`GF>L0g-fJ;iwCjDTpI zB-zKmKS>ykgaipcK4Yx%1=l0uL`+U$n*Nm^i1$B<{sz1%d-(L|dfz9>nJ|9+A!<`7u`U6f^$-F!%;4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/SecondPiramid.java b/online-compiler/java_files/lowerstopword_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..57d930b --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package lowerstopword_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/lowerstopword_gmail_com/TipeData.class b/online-compiler/java_files/lowerstopword_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..403a2c046f3a4521658df03eae51af995f6058a7 GIT binary patch literal 987 zcmaJ=+iuf95Ix&moS3vVDd~kK#Vsi$B{c9-3DOpcpo&W2BBd%1Jd{ncYTVenmc4G( zKjAmv0i-_g0eloTwnsWDS@(+(GUJynPvJ;Sowj6jW#pi5yk`7&ub5bs)Ic z$WzX_9Ohv$EO~q&no4%L{^aOBtwPPE4k@;BSRI8A>!4Uio;FP6v0&g{4h1YSEKK2N zNcnNLnBq1;^*9fPIRh&UwyQ2g5NhRLsGxUp>T$&Xg(TSY-v95^v}_8;MPTrV~3wNg6N0r%et-B-PEK8+0% z4^cL-8F%IpLwS4$jyzWbQ6IHn)T{&E)hf7T_&RyUYv73VEtfr4gyoh}gUD~(E_1?j zBk<_b7gOMq2OUjCWAcKoDVp4M+m05E3@QxyW93GkushsU1AEVAH9LbXhUHeoL)#aD z7Y#U<<9&wQp_C$Mx;zX;Xy7Ts=B-XlJD`C&!`lC$G{&QDU>(ae^6@i6<3K}C@;+H5 z(u{O!>nGSZS}?4VjJJUVvM3HAF;pT+e&D5L?pohVxk@q~OP*)?qA8CL!RDsJ_@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopword_gmail_com/TipeData.java b/online-compiler/java_files/lowerstopword_gmail_com/TipeData.java new file mode 100644 index 0000000..93d54b0 --- /dev/null +++ b/online-compiler/java_files/lowerstopword_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowerstopword_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..18c67d95c20ad663dfe00b7b11bdb83866bcbcf3 GIT binary patch literal 498 zcmZvY&rZTX5XQfSLZN^Z5d4E0IGBJ3`v4G)ns7oTso~;*EU+Pkwo6JY@qK&&J!s;= z2k@DUakhFfVGlF2JKyh{$$oyne*iegk%0t~IDO+ zCp=?Fw%WriGRW#M^2j0oPi{Z1LgA50Mg&#+v5_OKLE!kI9R`AXoeZ`ZDzLI*7H0KQFCn#sB~S literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.java new file mode 100644 index 0000000..68c4d2d --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package lowerstopwordsteeming_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..f7ce1a326ef6b6825e42c55e7978a3aeca1a4f3f GIT binary patch literal 1107 zcmaJ=TW-@p6g?BCapF2nn!f3S6jDeEZ3+_nq?AXbLQxAysfrLt)ifD3ZXAzgPg-RI ztbxz+koblVkov&_SOLpm1r^s$1c@49$urk?&N*|>_|DJsvmXHNd>Q)0klx8=%iH=6(v2v5G~6ZO{s0m5zku91L5uR13OqCw8Jo&e?4d)hGa$YYGa4HUA$3| zEw3szt$;l8cZb!$1f3!!l&?JQ?g&+vH9r-@l7VZut|K2DSAik-?>|}2v22K9=Uh4` zxXG(jahu^?ukkLhBl?6pHCy<(ZL-&LOBd_z$@CF-+pZV@?{(hkoKo*!>q?ZlZC5NM zN^#s^$kr^sA)RcS+Ku8Gce!eCC(CQx=JhOFVlcNHM|fqM`@ZmXtTHTJa6ZV8jx~mb z|3j&@JMOWFOLPr_Cj#mk#AuwOuX&mo%|pxI!M;$yD1~qt(2&3aE_b27h#I9eE4rT1 z?`a#e(NnC$8JN zR4|2CgnC1M>!g+?r6gkKm}ZQP4jZF!^0^ppbp=;xj+5UUz00^sUj{`hDB>1o{s6+T B3_1V+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..b7d8a1d --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowerstopwordsteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e019c496cf1fb19bfb8175be8da64517dd90b5da GIT binary patch literal 1199 zcmah|ZBG+H5Pr5rt{jJjD{obSRzcgM)OW=qP>g;sjTj3}h#$xTOFg_7yxWuTvos<^ z5`Ta{$~b#1?GcQA*_+#$dFGjCW`F(u@e{xjsyY%#YUnX=3B3%1d;Bvm+uUuISGV@W zwq)pCuv|+nG9(MdhK3ZwL=0JO&s=-@vqn83Q+Qi(%$}l0|AU^pJ)w!)W1si$*j% zngr=fpeYoogSxP}!)1=UJ3MEHb{OPSm?cMxaL)B)PJR%%fIC8s?~Z{vlo?XeYauZV z7m640b=<>!4G#=F#3Pd3^PA8C{1kFKV3=<=A14`uZLM78;!UwZ zjlS@91Vg%Jx#CUeYzcpjZ`pLyPtvaMx0a8_@h)_w<%otASmds{)Et+V=TdpI)@8UN zc0FHI7zTXWI5N)whGIe0T`7Eu(X5~?_h8JcR+XH3-3$F~@yb$UGUqpWPAw1ev|tH( zZwZ*{J&J|&Pu1TxzONuMISQThh`7*|g)*-chY9>`GYFy_fp)t}Lqq0#}Fra#3bMF69J z$sVUI$#$|AqU`6L?0KS~YK*WGTsI3fvox!Se8=q*-0c!Ei9aww=On>R5uJPoaxsEj IqBDWzKZ(p582|tP literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..d56ffe4 --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lowerstopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowerstopwordsteeming_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8af087bbfd27e6bc68477f0fbd5f3e4f18491535 GIT binary patch literal 1225 zcmah}YflqF6g|@-TbAWj9tGvGC}>-hB0jMQ7NZ|bBgR4#;s-L&p)Bq0)ZMA1KT9J* zB=HCMql|Z2XxCu$%k0eDd(S=h-ZT62*Y_U)){!$2LDWE(g=^?$7(C*ic&5s|a%OYy zNbDCFSu*MK(q(FunhEB=*IxV za#bD+KTxuEEd5fTgm4|Nyjym;Q{CN{ZsyH4<=Bw2Qc%(tTOy#umJFdX%;f)>Hrsb6ZW zOeEW&;Z|f*MUz;~SgL74nyjHZEJUop^JLyF^nZY zw5T*^NE4wx6L1VEhS`!6RHSD&XuNjGDe)Rt74F%*#H;+!US67yVS$Qmm0){P+3HZ( z0e6KS>OBjK$S}l|Y~eDDBvV(jnYfQ-0}m`b#3LGn^vju}I?Xqe3j*Qm$@1pr)yF!o z1`I0~?Fds2!M22$y?T=>QrRzMNiYoL9Z$TiyL-al;(JxP>7{0G*IJUK0llw#%5g=} z2^=!#JSvVWM|zY#p6@W+5C^2cEJL498l>$dz);93cc6q%K86$IymEz8jUlTRFB#2( zto!@owWG--uIhVHOA50jy9m9+2;%ys&@QeuNZ&3n{Um99Os6M^(hf+ZPr=gXFm_JS za{@E{1%oFT`%ETAP9Tsdtrms%5nMmrJ|&Py6J+56WZ)bVJL#`5PjTZ6)16@bGtdnB zF^m=3>Fm$w%aCn@%+X0Ri4nlqU!oJFl<{`-YBTzIJ9>pE=p3W$3^(J+d_29NiG0J| eGc0w8#ECyJN$V8BP1B3E+mLHb$aPvHc<~#a>LdgJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..35ae477 --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lowerstopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowerstopwordsteeming_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a8f28e50901a9cf5bbe0836da1ee166f484d1494 GIT binary patch literal 1217 zcmah}VNVl55PjPsSB`^13ls#TC~8}j3Wx|run_%Vh!_e@h#$yNmU^UjTle-P{aG3j zB8fl1A7z|t%k>OKzwGVq%)EK?X7+ym`u+pJ28uc&h-&CEa0}fG1E=OEGhZ{EYJTVF zlvfl(_nPHcYMmjP$(A+57$%!emdI~56fa6?Hg-H!_f$zqZrVCDM0?N+Lqnf|e#99T zYT}GbSBd(WkjJj#+_s$RVbwOR+F?c5`8WHNV@Doyxn;V1kGquE5Fu2CsqKHJE%aaz z2@OdDLm2*}l2U^*+Ef4mG7JYe@1*6lNmFz$QU*r-P(y?)8g4TruTzH%I>s>J%Qnd{ zmI*+^QWUafomfp7NMo9mbh#ok!)V7n1laVxhZzm`4Lra@hV1`j3lwAMA}t+;k<9xR zm1YmABcw9{$B?DUOCPLyoi4V7tJ028Y1g!Q46{_=wJBX8+iH4#Zh6UX7Mfk3ez-n5qgIaB>Zn$a(U=*2dLB)i1jL?)5*X?(+@OFZe&Xw@)IHB1nh P$pCD<3ARCN1TTLBDl8(8 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..653c75b --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowerstopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowerstopwordsteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..67d0ef1b8035a5836c3da70b73cab483a7ba4de7 GIT binary patch literal 1203 zcmah|ZBG+H5Pr6;TsaO}THXo*MM2x5RK+(e0)=SQ5HTQ4h#$y7mwKdki+6jH{w$3M zk;EV1k220)OM3*PU-tHPW}bQGnVDa|fBXcnjIxdhq8efbuAz$|d1!t%i*?hf6*u+{ z`MzZ6TC^NXE-^%N`HF@(!+79iiQ;NQ^0MoijSXKO`EpCT+_ZIQh<2j~hK61PeMm6O z)x|M)Jt>ZkgWV*Og@B44GUT zG%Q0YU(t!xq=77^NJWoJGBb>H+(UqY_f1S|m@#k*w;5*sCt08tLyR05mnlysm zQ71@W0*xcjFlLbiYr>P+HQ`h(X$dFm2$}Uvo5wLrdcCr0AF~y+?(^(x@|{vWylY?% zMTWQ(O*n>uT>fej9ry7-!@PlqctlvjtrZV_YG<+RdE8aaG=s~FPrh0A7#3Ozgqen5 zn{!vX`jW3uwQHiv84~N3!{7S$9?grnSErXA(s%o)If2xZP2Z80%`28?k-6+pxu&X{ z(x=ut3|IMqaCwQL*QK$e>jgl6$f_53wh{U!gu%iOG`0I zU!LhXHAa}CQH#*#MUYaPLAR8eJNm}J)C$u1nEsw1N;hD*a0*s9hqiNy?i1*RuSlL? z=nI(`Ie|c;!5Jg41d{anlt3Z@$ZQKFagNMR;T!Z*jGbYk6RegWv@(6fV1aHb`!o77 zl-eNE^rx7_31H|i(HR<*(RTD=5dFLzJ>Q~`W@osO%B2d5#&_H~!@UlTW)0&c!34>X OZG$ZZV9Rtyu<{4?ksYf5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..71c978e --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowerstopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowerstopwordsteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4729ccbac8dfaa0bc2a6489b07694c4b5838db8a GIT binary patch literal 1238 zcmah}YflqF6g|@-TgqagKmiq46tyi#dDI7%hsDPS(})phLi|9cFw}+aPTifA@Ut`` zL=u01KgxKgg?0@_zs%m5d+#}C?!B`=e|`S}U=_tUB8VF3FmVl?47~^Z6VKJSTg|Ok z4#civ=v=a0Tdgoe)0wh?7{h2I$dr_*QJO*ws^j}hk9C3``maf_; z!$`UX8m>ekQ;w6WaT69MsF1!;Zzw>| zvi5Jtz}pqCY^^7CW!h)-fMJ4$Fhb8Vf~0;nWF_@P(zgRlzfW2p(e5##WC26jQ?Tqg zjO|l&ogkk5g5DFPK9h@45C|knt4Zk^E_i{V9DJ3N4UH+G!;*0!aNOdzfZrq?NtY$X;$`FOme!G04tvJDDyevr}5g gH%y;lwk;${`hihe#|Unm_6R~nG3v_|mkH~NAmu>b%7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..de6443d --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lowerstopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lowerstopwordsteeming_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..2b3b4ea8a182e59bd5409a005d3f00c3099f379e GIT binary patch literal 592 zcmZuv%T59@6g}lJ10#qc_y)lznkZWnpNWalM9~Dp#swB=usSm(;~?=%+_`b#S{ItQ z@B{n-zeeNjxY5Km>D=kP=bU@mzJI;G0oX#xLI`0Kkp!YJ7zQr*H80!TZI_Q47ozDi z80*rN{w71Xv{*B?H$OY~AJ#?;76Xj!RidF0LqCD{Wc$2O<91gR_I=?LV;Epa9jM;# z%{bB+GLcCji{U?t)tf6qk&x<=ZuTJPMXK_#CtbhldxAS_7Dh2gyXs?$?mi*$uU*?QaI(ylj^Q$F%q!efZ+sFu(s zq$?_2ry;x(-mqyWLX|GVaOw0v4TfaZ=grGQ-U;eW%>A_*G{az3Ro82ZU8yOpKyyV~ zLJ>K-89hQELojHaqQ4w{>EIDvdI5W+fT2LEP6J`Y2{=u$ECjtuvC3F literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.java new file mode 100644 index 0000000..50b140a --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowerstopwordsteeming_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..672d69a57b10a16e0d26cb4bc452a4624d6edafa GIT binary patch literal 1248 zcmaJ>TTc@~6#j;`yQM5Gw?c}7s9ai5s-mbAMX3^-fDlVC(FYvb2`p@P*4?Q}g8xIG zec-_-eSpLVe}KQj#D8Ioc%~&$>?iYSBm@Qvq-Ac!G`7890*R>Y6^7L{+i>kQEi z9&F@gS=77>QM8fw6R}=(xUaoCEOeraa)_5z?gR|U^!#xIxy&m^Lg+pc(At*i-unXfte16jKa-Rb8ifo4`1 zT8oO8widWovo~>-0H0#Y5G%^6UlMb+jvD`)dR()k^3F=B0_AgWL8uK`4iW|?W4MW1 zCT{CGPB9Gr>znPql3OBM=UXrB94{&9Z!^4WZ1ACBJ?JCumK_lc&P%yf^>QZ(HJluA zT;BG?Ddvql>vuWV*v`WcdG0txTZvp0(?qnmVS66+VW1=fH8sE(tb*%O9~>S8A}}$- zFm!_HX#`B%XXyXGDP8d16m9dS4{dVfELP>uzJJB0R^D{lRgiTWeC@5 Z876R@WRw8ipqaxR(qgo`i+h+w>JPXQD$4)> literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..5e9647e --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lowerstopwordsteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.class b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..cfcfa6369b0b979caad066f9c5424c21ec6863ef GIT binary patch literal 995 zcmaJ=ZEq4m5Pr72Tsdh$kiH01T3dyRMZYvr+M0-IY=SQdP5t19y1)jm-0fcO_S*1I z{2Tf~6F&F@{87d^sDY-$yWGsq>@&~I&d&Y*Gx`PK6`q?|K*T^ai5TJx=?i|zYc`j? z+K2Xq=xB!cfh8?{#1JW0&JtKe!ho5?9VBnSTSH$9hfpe@pj>lIWU1Om&yu>OJ;9xN zhH@?^kwThb)!_rtP_o1ICrkHflS2vMC*1)|aa#&%=&f#Z> zxnZ`D;x<9$ECYsR1M3WBTU`my*UG(8UY80N4&^xSIoz_(JIbk@TCRA*HD`!6R97&h znwAvr1E(##Q{J}86D6=@SSf#=my5w{sle-qV=DwN{Uh89>!!xNR!aNYN}w z;@C3r5ZeZJ!VW!R*q+{nB`?)L)F!Q%H0_vowDN`wUuVyH4V;j^<+5uFf4iyFAaLuq z%bfAt2s|CSVh()vpp)sS&tB9uMT6UR%hIC0h%!UwOxb}WN^NedLFur>s-;EjGORTN z?w4HQIl+K)Io)SSo=7RYhRuCn_y(Rb?A+?ayaO7jF>L%FO5;4~1~#!qqaQvCG!``c zB=3_|B+W?2c7K9>qXk2rWVj7PkU(J!384~E@&hl^=0Q4sm^O~`g?_QWAB~aD7yDld z^!4{+-(lpUBP;` XWm;`gRgcHAf+yrN$*y7#&#?X%<1G0i literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.java b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.java new file mode 100644 index 0000000..5cdb866 --- /dev/null +++ b/online-compiler/java_files/lowerstopwordsteeming_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowerstopwordsteeming_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/Angka.class b/online-compiler/java_files/lowertandabaca_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..2c8a57d1d834344b2669077c3e10d107b9278cdb GIT binary patch literal 491 zcmZvY%TB^T6o&tSmO=r!30@EaJ8&Tn0MV!kD^!viHZI7tOqxP3q_i5}#~09rCN6vc zpUD`{R5vEfV&=@u|9x{ZpWp8v0M5|XkwRL7QhP&6WLt*-d`FRvRx99m-R zNLWwoC$ejFQKv7JBL(Ui8JhQK*P@ltsvf_AJyXH3PqVxR(#YWehg8ex1))+=El)?y o^7sk)7iiVuD@u|}C0rE>)hdx1u~}50qe&;^`$9!Nb(CaVKOPQeZ~y=R literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/Angka.java b/online-compiler/java_files/lowertandabaca_gmail_com/Angka.java new file mode 100644 index 0000000..8aea07e --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package lowertandabaca_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/BookStore.class b/online-compiler/java_files/lowertandabaca_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..88876583a10808c51c476f076dd18ad3c9ab5f2e GIT binary patch literal 1100 zcmaJ=+iuf95Iq~GvEw>Tn%?P!w4{&}S{EdENhy~|g`yUaQWYVPs*SU1+&Fe*Z;J8* zd;^c=BJm6lAoYO{;0yQ+zMx|4M3AZxmb^PVd(O<9-PxaKr#}GP!z~>#C@SIxhLB*$ z9PwjrI@~=ppH+{9B^eSMwrk5x2BlEkSD>WsD`0O=6vVcFCov2|MasYk(&yNfP9Q~- zNM4&_OzcE)ZO?q}+pergU+`urOC^jN$YP9Ps>vIo?70?~FKk&SE0Elk0dWi4#V$Q6 zi@3IXSkf_pNflEDrZK}XHXuI3P%F$9hPW7@xUXWCVaf5{2%l2bc$HiH;IPSU=fLus z=0neGRHWw%hIrYl(Ujh?UGcQttO|dRSDkQ!&@RJd;nko745^CbR%4g9dU(C!wS7x$ z*&%u4Z-%w7dOALG$UyqMwJT)Zs|D!?!-4?f~ z;ts>Re#JdtH|S%M>WCn}L-N|K(#5*_Jm-jeot78??^oV!nNt6C^+J@n<5X-ZN*b;+ zFf-$17bB#mk-2aV7*dT0m>|+u=<}z@ z0N*ekmJ^H0c|t7_78Qd^wQDr$Fz7{QX`Dt1d3u#ANMoItcQA$xjN<{ln_Wzzf+@Tt w)N9gPr)W8fltSVR(~PmvVSQ91or_VbC0wCdBfWY0S8#(?I$5hQaT7Ct01ZwE= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a3616119d92311a9c15936ac69a8c09eda424033 GIT binary patch literal 1185 zcmaKrZBG+H5Xb-9B3F*XLd#QCXsak~QR=f|5iCYum`03+Cd3zHTb6ow4|uny;bUn; zh$MahKa_FyTG}J1Z}#SPW`6VE+1X#efBXcnimHwn;u;1FT)-g1=pO&X%NBRq<@M&C zXi0{_Wz#X`3PZe5Y-mU@%!EOvTV6YmqUw44U_FrgfvihUa9f9l_z;F+Xc#eY5lM!5 z%l#}o$(*d~SnYM#R|S$Nl}AKn)A-gMeT zOQ1;7>%!tTmpRq(oE2DspHE4vF~JTzW>47lYpEOk#E6&b;HhOBaar`Vu_K6iHn zL$YQ%;&os*g}1?*7VQjEPdE2F<3{)JHgKeAi-zf&KGIa7o&I zOpsUzS?EHNC&+A-zCl02!(v&)mC9+iYC-h~g^dNKer<5cJF!`74X_}Hu zFMB!6e%i}kA_=O-1UtsnRH2qCEhr)1aq}3r`$AHrADE$amT*~;lkXu{LgXr~F+BSN DtvVBJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..64baf38 --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lowertandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandabaca_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d66d09526df4eaf1ab421910859ba72028769da3 GIT binary patch literal 1211 zcmaJ=+foxj5IvJ18_)+B5NXquz?;6*U-x_e8fNUbd5We^mg$` zloUhnx^$%4UPN+=qTx1_mq)Vu&GC zb3X}Bai`3Syu|k_buMfBCAXe_y-VO*u3OD3*AqL!r;L^xfMb};{Wo8x4g7_~5l z@jpt)H+?1Q#GC*b#ydD~J?UJqrRaXdEKKT9%MDlzTxS@)OdT+on8LK~*9^l{yaO8S zK_*c!iPfA18}rmcUnnv&Om^J^fGzKvSTwL?;TCQ)Ec~-yomMgQP!k=7iTL|Aht||+ z2GXezVgw0>`Lgt@u46Z8pmtf7`7u{j?%2G{Yy8k&U0I4CMOC)B+m5Sjbtr6~*M%PA zT?@-dGenfz#$_0bC$45QaSy8o?pt_(hcp4#tE7(_G}v_3_i66bS>C$5{LtVvpJDBy z4?)TS*tYaCS6>nZD*J_777Rl<>4-OtdQo^gyjY``e(Lh>aa)8mnRg9G$+{>=Uy?cN zP;p#I*P-;$T$kaNI3VF=7zR8NA6+j2MgmUR10_82F{Gb$DpgK32CQ1OWHj?`!z+nb zQj>{Y751{$66Q&7A=x5V99eBd#C6-ftmb* z;S)@JCKDqk5J;F#i^2y8ZjfG|5J;#6lDYsHI>*#r@+-_!+&IH*H(0N~W-y3RtkF$p ze@b75Ob29<{xp*a0ZjZQIz~#F>_o4(qMvo5*NB47G0x7g5RK=e$&@DY4R_A4(j^il Y{=hVyGXytFt88~5H(HRJbcXQ!Hx=p~SO5S3 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..124b956 --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lowertandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandabaca_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b751d544dab3b19682029ab55a1ad74a5d87966a GIT binary patch literal 1203 zcmaJ=T~pIg5Iwg=QbPD@fr5Y(L~V-_5fPyX7DgW&MjQ&AVSHe2%cX{ClA7G;^k?aa zFf!v0@JBgr(vpTjeYx4(-93Bu?A~9$fBXcniK2=a;tIMn+(I|Q;3@ya^*Xm|`flY^ zR3$_Ax?ve|gCU;Hl@%lyrh*{D*0-8c6di{*cRktgWJx-Ln<^B%n6WTB*b~=7*?AtW%nYjVa!j}?1)FfZHClU>4-zcI3|6)rWnSvA!t;C zLawY5t7#1x%#ehxkmP0<>x4%DgXp`MQ*ckieLP^8{ij}`R194tqQx+pec$2`OpRt> zST#aSAV)2iJ{XM#U2NN~%viR}xZD&8%u{Dqu1uADYnjD`m1Tc)k2EYmXGlo9g~c$O z&E2e^Vi8XiENOU(Wm4UCYWk^1!_2G211g@@AnSeU&YWWNZrm)aCk>;kjNY%=fD_>PAcc-*1U>S2OQMl(^H3@+E$L>rVb6!Ui87x&~IP>35L0* z{aHAQTXkOLHNMv{xoqy$Y_s@!hrlw<>sFXbyb zv6?oJ#SF>k3Pomyv2*tjVBmcnvl?y~xQRK2seft}$ixsM@hpas-1~O^pj)K9v>JpK zN1kCqQtj)utFr61RhLTIR@Smr*5#&%W1fV1DH|WM72fnj_7(Zg_+7hgU;#yjxU$=D z3`4p6@p;+}>@1NZTOuxzJMJn*QG#j@*Cn@LO_T%LdQc++KA>XaU48iH+4TIupj zzCzWm+jYT^*pQZZ`+Lv6I@H>QU#yJcicL`opT!P8YW4CDUu`G1zQQg JR_To3*&qIy7XJVM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..8cafa6b --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowertandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowertandabaca_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b7f2ae35460c2d747223db7fea9a8357469403fa GIT binary patch literal 1224 zcmaJ>ZBx@g5Pq&jQbMp$pimV^6}2r$5$X$;7mF_+oQ^mGonidIT+2}dO;VGK4nIpr zgpnD4fIrG{uZ1=a>X*yj?e4SB?LL>EzrOzfu!fS32%;K#3|v7k!{7n`$ny>E)bktF z15uLz*WQ< zat-&B@FaKkc$L@qZr$cqW4Gqo`B&QnzGXGVb1wOo@Ts8ThR_(M%Kt4_?86We8ioyw zVDyh0Y##Yi*hHKF8AdxeZ#>I6CrjD=7&9=gQVloc(Qu7n_@Z>kp(BMGs$CNdsZ0kn z+=61Zq7$nr118ecL0?F6GmLk`Lx8R5TbR~x+rS;%Wk~DvRQUL>s#Y4-?GvVgJN30Uq7+Rh33 zj-ltiVDK2p&*Wkh1OkcDYEZg@i___20*SOhX3jz4XGrbjzCu62^;1lClhwZf7^c(_ zERm(EKcO!}u>&$qJH;eM0Li~(kCRqXo$TdS_DUyvi72QVqwEwn6Pa=%H=~Gr!|W;M cyF?PiADEzZlHjI@PPzlR+Jao8HG-$V0UKE$1poj5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..e64bb25 --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lowertandabaca_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lowertandabaca_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/Order.class b/online-compiler/java_files/lowertandabaca_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..8e33032242e4d9c72f022122dcdae2692b9d5ba6 GIT binary patch literal 585 zcmZva%T59@6o&tDnSlWW5xk3dM-ydh;*G?_V4`S(VdFx}&|q;cWE?a;i90tgT zRSH6sei=bM1dvX9W4WQDz)-N<8{zrfY4IjE`B~fM(mFF;yL{xegvSusbz4GZFC9_q z*-hb{@TNsO5%P2xhD)da!5LC@pPQG5yc_uISm>`Y$b!MByFJeodr~2dAm*B?1v8kU zCs8c~sstL1)3lnRnQk1>l~=GQG8l?9s$(FGI0 CC3)ch literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/Order.java b/online-compiler/java_files/lowertandabaca_gmail_com/Order.java new file mode 100644 index 0000000..a5f56c9 --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowertandabaca_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..7ef0d2aaaee2e55071d562491052ba24b5f36c59 GIT binary patch literal 1241 zcmaJ>TTc@~6#j;`yQM5Gw?c}7h+JAws-jgXf>I?mDMBp4L?3WkChgMg?z+20N$`K@ zvkyG@qz{nr;1BRunD{S@5zn+lTOdv{bLMg`-*?X0{r3ClD}Y60LTH0eg$np+eKpiExW;-g9)b#1JfV zx16!IMBO?YL>E~<6Q!EL9ckU8p%;A=L%gnW!)1uZbEgrc6EBp-Uxb#1viQ9&(T+h} zP;pVi5QbYr@4B9-Qar0h;G+$9x|LibL>}Q1yqfMICnFjzW0YZ_$}1vcnMLkB*F6Gj zx*j*ZI+jO?CNvFB=@7;+u3|#NB;pLcb-1nm83MM9c8bo4gT#i4DTYzQdLtYPwZ#j( z$Tv$>t{a<0tD0POwuF=6E+x(1$Xz6-o8oD$S`f}UFBtNHv`vQo_{*~h6B`Vjd5;$> zE8MQ@tGGc(&rxLv<*k}i6wA8w8vYx4M$)3ZE?Ji6dJeZ&gjcq<+=zly2zPK-#XXt8 zIfk)+1=GzPt0IyOqK%v`^P*=tyA1D}D|@2YaQcLDU88bSeb*M} zs5kR$G;zAQjwdcM+%WRGC(=R86VZHGw{7a#k)q{#b0dsF%bF(D!QiedTosE9<7b$j zM?l3xhT;FKQpY#gQVJ9F1KiDuPSa_KBqJG^It2Sn8-}a2%4fhw{eKNJw3n(s z=&X=@*Q4g9=lpG{K+J!D_D^(0l_JLC9yUn;PVE;_6A zv*J$$q5)|*F70T_5u+)i4u`Y*2=^gMLhZvq_6uV1BU}Owa799Ft3#Y1a1y8l`3fB< zK!ZRSIwCO84VymsJw%ZttvJ+US`-!6Rr(!(7K#+n2K~x0IiMety!Vl&4>#)(W^s#T UkO1ALnZ|uOg=n{c2UtSv4+BdlbpQYW literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.java b/online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.java new file mode 100644 index 0000000..0c2b3da --- /dev/null +++ b/online-compiler/java_files/lowertandabaca_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lowertandabaca_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lowertandabaca_gmail_com/TipeData.class b/online-compiler/java_files/lowertandabaca_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..12c067393203668d1d0a9be1b06915aa6b3da27e GIT binary patch literal 988 zcmaJ=TW=CU6#jVpq;fC+5bogurkHT)C* zhCXP*gFnC@WjqTt&_LYHo-=diJKwp?+24PLzW}_%GZPU+4a8E2Bf*fl;@7<5aM`K6 zZ(fO(W=I^_($*&o(Ng&$i3KDLm?_*r>K42)@U?IWr2=wVsgHc>{*8(?#9@$E0tlFh}^sx>CKMU!6^J%5ux` ze9#wj;M0YU$D%rYLpKyP?l=uwi|PVO4A~3i1g@}}+)+L2*kb$E0`?fz>jC$zzVO_j z$GM!GGo;R>6kg5YzAtGfhdy5k02pbB1U%LMaDeJB#tx2NiN?lbPr>3(z!zSbDqBLVf;Ic zmDmtz;0Nx8oA?lGqs@eWhyEzg7e+|HB$-Br-YuHn)>}QX>6li1f-%7gHT9YooOQ>LU~DtFg2MelSxEy zQKTR)^(VM-tqTRw(zQRppWtthBGx<4Y=q9@-ZST&`|de2-~W8s2XGfRQb<5Epl84# z7$&ymP?oyV@08YB+ip8z5Vt+wi|#OJR-tZSj3Lpiii&+e7XYHNt~!B@ibA4N-yMO+ z2P4o>oivYj6-r_Trwp9V;0*HrZFQdaBezG(f&uL|Ys!xolpcnjA30Iz%HC26XK~KJ z`3x@LBE!@%8V0@-PcZ0KHMV`3VZIwYbHhmbTe2nF(hvN;7cY~M*Wc{)q}SbS2ffn0 zp&QDMOOyA5Eo#}C=ew(eUds*FWvd$>kk)6IwwnL!sn12;JioJ4s56W^k!(L*kvmFn zphzB%ks6q%oXuvHA>{;vuguT*kK+6_I2wB6u2jN48_AMshmPbz+jcs}Ay z#nTk&)3#GPv8l&lq8Dno@Bw@%f;(qXx7XLeLo|4)`H2 z*xYFpUe^wUsTlO9mSd?^hS6MpPhWda`{;_&J!T*l!#FN5EZg#a>OgY zT@&suui3ORURB&|?eI?D)~G&Cpyk7GP_!z2*AyF8usIUca3v5#C0UnJdCKLT9if`C z?!|T7jN%qn3>1RgZ!;{Mo~Y#<%9befa_p63gPTgaM+{#EljuA4pqq54w(u6VrEK|~ z(s_vkD`z(D9(BYJ_rWB4Jyse#fj*+lZM$kIQ3~TO!_}95+vd%TPmP)Jgc5oa-vcW0}S<;cw7$2lvQ|((FDS;xT6a0d$=No&W#< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Bank.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Bank.java new file mode 100644 index 0000000..a2e28f9 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package lowertandabacanonsistematis_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..4ed6c519e56975227f91053297da954627e97bad GIT binary patch literal 1113 zcmaJ=-A)rh6#k}Ly6v*1rToi}MT@p5ESl&|5r3M17*LZEjM0Qlw-Y*ayW8weF?|7_ z!Atx}yw(d%xbOjd0w2RCAf9a-EunFfojG&n`_4Jv%$c8Or#}GP$87@h*7tr%kK(v@n1LCY8RHE78P8ra(t4Uz5N2@J#3ku))a)H!y!9VpQt zlGmab6FZ%_(zBlX(p6>U3*IPZsDx1y8H_PZHF#Z=JlE#xg;X`N0>xbw5I4VF=+Zl7 z5m&m0MFSI<)G=jZ8Z!)I1L89bHN$LSh>HOV`#NSBEXR8zd`ea26>f8v^2)Gsu4Hg< z*x=GRu)T)$$n)xD<@tgkTJowirFNt%p0*kl;qUQ^6K)XNWthyr8kCJ8SytSx@A763 zZ+bWMBkr}EVgS5fdAEOx{dd<3QR0qM zmP!=kxWSOE%AoGK*)}yD*;U@;s?OakuX2aivTTXL+;&~zmmD4hBG9qQuyjHBAVE6T z7#98yr3UY+$09D#V+g+psCN*fagJ8=G&7oqmcN62A%l?%oozrv0t>j@gZ?6Fl=ftF zJ)_^#HfEzISeeVjKOm7dHa=sE?Dt5`WfC9BlOoR@vOmE}kCR>KAmec|7tR4gs@Va? zi1Zc4{3+7FH;jknL^|a>p_T}Xia@8@<1`vD>3L>ooJJBkdZNonVU3t~F@|-F;~_nw zT}+~kDZC`qYtmbzXjzJsMC=UHjIq&SV>C`W7dxr0;3~~=(wn1y88>NVkhKB}w=nYu D*6t31 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.java new file mode 100644 index 0000000..b04b22f --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowertandabacanonsistematis_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Fibonacci.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..cd3361f741151bbdc41cff7d5051c1c6319c7a7a GIT binary patch literal 1110 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(l)qR*Bmp%k!3!^Nx=di`cDLD`Vz~Dq zyzmv)}p7&&>Jt=kzClH9Rp9LDYbjfQ}eL`iLL% zvdx`?^6SQtuoOdVSvpd!GDM4|-66y=WWY?|3KEy#^%Gx-7NOh@Ic2v(BI%ajc+ydI z1{9d23jS>7~}#)yGT0;3pX7#-ltptl1iqAqs1!z77VItSI# zZidPkPhbL9875l1DQd1`arIWJLy~;O9py8O7dJOc{q7ksTnn710{TG+138AW?S2p* zQSI{vx41*RGANoW>F*u1xU}~yw^hEVj6tip`+_00B^~jq(`pEBhc|4pXoPlxeBSkE zQ`%)1t}AXew|P6n8z@j$20$6iy4&$Au^|K2Ap$^@BKNUmC z#60d8xEmCFkD>7I%B6GcHbuGH)NTVexTRe0gyB@)Ong2s+BD$60I;LrQf-gc3h~|g(8PaleGCKA7A7EceV3?&n_zgrcggm)+ zp`S^Qk##*CTaK=1t6D|-1|u{49Vt4ebEn7xq)g}DS9G#u^;1lSmfT8KU;U`DtTy%K z>~|0)5=NV3-M$EVs0FAVtOV_`!N0_XAmzp5SdA8sbA3hM{4^z(ph( z7H#*l@FaJ3c!M{&<2t_OOVQ@i^0!-UZrR&Sw_SR*Nu4TA>jU2qKD9R72rk21^`DK) zLl}dpA!T436KC#HJ5b%|3Ixb7(ZhM;Sx%QWRS#pzz_cng+(<;jC5F^#>qtOH8dsEX zGYsim4>T%9IbYX_)trG0vZSRiB!wBK`{@zDF#8(jHC#7v12-9p|0i6i8N&c6=`c*@ z-gU@?bEK(QPK%%u$kRP)!seuVM$IB)2X^3R6DU%kLp$TRG9%xMjL+Lbjqi&ej4CNlkJpCyq z2?Ch>OZ7ClB;BiC4y&K`s+Wj@>M_BNan;OK%|cNT`Hox1xYH+M5`SQZ)>(p^BRbh0 NsS}XlIxzm@kFpaASvOd5#;VVe7Udirmrd?R=5zh3%YKOg`A8OsNB5@x0g&HYL|g z4>H5>>OWIYH=`3F1zj4#h@7fs{ZQtkA_$NnQpb5@=|+_}MYo_wL$3_gOpisuS%$7! zYL7uh9|mOW1{wNdbx?0RrsElvSPg54VuZSB3x~`My$yE{VA=aTMipGpa1mn+6aUw` zYS$Q=sG9~uckF3}PI;Cz8QsVecwlbh+feE8kGDaLQ%Mz~QNwhi&NC6Uc~QvmO=y@z zk|F4rl}LtgEdD2+iYvIP;F^Z(xN)l8Y17RX1VhU{w`@^6MXEKQ;*<`|zIpY1`Ca(6 zircuOU|Pcr?h>47<&%3ZNg|oDZITa7g_k#rFI--*8$I;mrPJwnhT5=T?oj^rRoxH| z-C|Z)8@$4Z2C%tbktz-CiEB7|QDk&mCv(c6R*)!3pA4bZ27!68Yg%HOq17T?(zXWB z>2XT!I>I6!MYmH%{yC=-JXR@aGOFvQYvsg}F546NUGbArWEdeK`sjZ85R&(Yb|I-s z`Zj^di%RP~I^Beyc0fFJ4YbC zGRSxpr2PbaTZxZQkI`SkP$O7A5t2b0x{#us%sx+FhJ`xFD4iseAOUp$CAx=H)mx8F zm!lW!(R1?2pnn6bgmYoURzis}$>b9*m2f$XsS<8A_=Kno@}+eUK@6dvZdQ%gQW<%f IRv%V=0hc{0VE_OC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..63e6e74 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandabacanonsistematis_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0821755f932252a90162ad6c2e42043180002809 GIT binary patch literal 1921 zcma)7-BKJ?5dIE7JIgTqWZCee0X7k3cd=MCi4is?*=0ijNr(Y9A}Su1!|t%NGi2rr z7JB1F-oOie3ahkC*h;E=0N=q2U&2evJ~ImphDv!cGkwnK{<{0??lXV<^Wt{^x6#ni zhIS1d209UA=-=Z9JZEvcnp@f46BWr2yJ^~{yv5L-&XhI88Abyo)5#SNr6{;AKV0$U zzAsm$D>xx)XzxNd3=KU7deO&l)pEWOuH^O(-{uu=JGN(fQZ%?Uy{&44o7PsvY2=pH z$y1Tr^)=y^0%W*&g7eTd?N-!e-Hjmw z!^+ffA}1Q&U>G=d9XZf3f=i0GQHGK9322mye5R~ZRO1FxxJ*=fLeeqA@TqzPkhEik z>8IaQWe~eFtUiE_Nu)Jo3}i9Iko|v5DiRsGYo_$=YLOmJ-qWShVx|-;T&q9%;m;rc zjw8n~Sm9R1x40B3+mR_*6Df~3gpT*|frhIFuHpI_E=!KTZ3zbLfLp#;*(E;HrA(N8 z&^Mt%ULo8t@DXMxj-9}$tSo{)D#dO;{r0bWKPSJ_@iA^`xNYDL3gpOftGPX&+8|f( zJZc##1`mY0Pke59r_=?$sN+n#nlF_~is(tq87Sc{LkG2#P06Jo`7P=nHEcFcz|<;l6UfC~|&!mbo9>2#YOxvkc@ z%ZcUwh=v+mQqWf&->rywQ*}z>%vevWNg|`7<48}seE+_XHD|}`i{Wb>9NQWysx~_e z6T#30Qy00A!?0ZQyh3pvGW--}v85P-F3^Qz32$QAaq9kll*kY$x^u>G?Qma2 z4_oS+=aeF{)qV{FN9SiF|<=}t{iX@pu_Pf1?$?b#Hg{$8|g;m%pA z%{>h!!`rXqeO@{mXu`){uS!E7=8nsBy|q!_w;`dfWReoSW5yKk2dr1*6$h?Q(dTDo^K-vP3sTN4zON?w}e}jI6 zH=7tcHCBHe6+tfsP$o%ve@tJ7&rU!lXr&^F6Tsj()VZBb_SR=U8sy;c2vEgauq8 z21hB?F^tn~{uVJhg)5jL={SQ;(rU*S^lrnK_=>)9%3zBgfhw(Zl4{t4g^_;&Q-AGT literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..13341bd --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = lowertandabacanonsistematis_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + lowertandabacanonsistematis_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a00a34999a56b71c9e93b43af8198e0b44ff0d2d GIT binary patch literal 1237 zcma)6YflqF6g|@-TbAWj9tGvGC}>-hMSOupuo(Sd8Zj1{5I>M{aG3j zB8fl1A7#ALLRo_`ewm$_d+)jD-g{<${`&p{zy`7=B8VF3vTzOE41H1*cJh$x4aNG!%Xg< z$um6|LfpWxg%OPYQBS_9Gg27@$S~T$dFxB}oH|AKB4J@%hgx39V&FQ%@I~s7!Nde6 zb@QeeCXyY{a6>Ywf=R4qEZCT(eg;C3nPL3WJp|bDzJ)mh^A>L74ukW5&Fl1yp^G}| zGK?kPw+Xf8Nz;*Th2UdIG0c`_Q1x89Nu##QvdoXTs&d!nWnSY4_VUtv3=33pyAa#; zl&ubg9q_u)1HNZr5e`F4d2L*Vk!0#>HWT-;Y~X=~hj>Ke@cfE%*q|vp*&rZAP@8#c z^YTN3*8+ys^QMF;hhW>H%v`-m6{zeNURf{<g zTqWzGAOlI}tV_j_5J{5^@!TcDO|efZ%rNx%q(s_Y01SnkvinN-sG3qY7AMm zgvn^;y@p>BucRiExT^9+EiBBE_#*TwBZ%u)L%X@%4dIe|c;v|1G2M{xagyFwt57RbUm$iNvUcGF*Bp5VqQrZ0o_ zk3lo&$1qlDr?Wq$FGHpSGDj!PBt`&Ze~C_zQpP*cYpv*Ko#<7fpmU6}Q{0RvbMf?o iCh`q;PqB1KBu@N+Nm{1}Zkpb;-GN+hL2l3*!Smk^lPHt` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..d026493 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandabacanonsistematis_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..144cd1f22a1a1c37860d70470ecc06d86c0ad325 GIT binary patch literal 1243 zcma)6YflqF6g|@-TbAWj9tGvG2x?oDM<8S0RB7k8%`ewIdr zNa7FhM;Y&Ip#)0v`y1jAV9Bt2*2M2Wob^OLQ*IfUixwVYi3Z~N73Zi!FAK_GJ(WGkeN%6o(qiZWxv8a!>x0Sw}SQW zK{Mz^KUT=n*;nb!kZXcW)0bwFAb_F2M5jnC!_DZmF#1U|dW9(H9E0o}x0C5YGCQM* he8c^7%(aLli9aw(>lnd})9tpKkWWL%by{P1_8Y;PCkFrk literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..692a3bc --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + lowertandabacanonsistematis_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..69336a750b6798de5025782b1da2442fe4c08780 GIT binary patch literal 2029 zcma)7+fo}x5Iw_1D=iBGA%lnw$SyFFLaf|vEZf{<3|Ka{0Xc*uWDo-^TJ0)(Aw}|- z_#2Y1a8**VQQ1}bfc!7lQHEjPNw@NIN3NK)ZGN=kxpmK7 zb#1|GDipNG&;?CFw}u|X8EzQXx59S0xx=@4g`1Y?=#DFD+|`|}y&Bhzt%_C4FRxRk zl5Xx*xy{Wr;ZSr9ap6=yt4A^;wLyRk7g{)vY~5^@PSIT$ z)R2;)niaArc!#0?P3n+A#Skt@@`f3PGA+`HrbL##mp|}G4f$EeA?46< zaDQ?48;={#33+}l5*~@BP%IWD)#I4eFeeG?s|rIm$kd`BGPC|qGvPQEG~B}?Lk9`a zWEjY7hU#x(X3Gg0lw}R~QDPXZ@v4}&%nEm(>h3})?m3h)7}&zuootzUoVRv}^f)mg9(uKH zVXtxj0J}(z>-AuCNy1M&)75LDtUEfHXH8NA4Jq}>kSLv;%ADA>Y*8SE*)*lJd;`!I za+=+Bg-t$PdRT+KArCp?VHQ*<0Y696VCRoMpL=YxDX8;qF^IPCSB& ziX8|AyYhtg7{>e=^%>I5L#rzC0lmSYE$|8zd&KZ_n98PO0J=z*lp&n4l4VuBdYH`s zD71P2FtyMvT=;q3#hqY(fa}ezmSRHDLs405zr{So8WqA_cH=%^FiKig2Z2AXe0L< z)MH$1VB{oNezar-J?O^7QY<1u{l&vXUqP44e}^NS~=xEBXsR`pZ`IPh?eT zZ!?K2y*&+#Ehdp$PE2Me8o2fnA1866ftyX^%v5I*^HWMJnlYCN@UsnZ^WBK8Y(d_+xaJjiZFC)Z#>|;IF8-c5KnJ Z4PS%Pf0WwYrr$me=uM?n6*X8G`VUI-4YmLP literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..03d9d19 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = lowertandabacanonsistematis_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = lowertandabacanonsistematis_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + lowertandabacanonsistematis_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e7467ddfef24f242848d6ac57182af9dc9c3adb6 GIT binary patch literal 1228 zcma)6YflqV5IwgAwk%s7El;IT6tykN%1gx}Sd1i^MvR3f#1G`QT$+pRUfc(!KT9J* zB=HCMql~j{X;)F>m%FofX3m_MIlJF~eEkMs134Wbgf(;-=td92;1NIJW|dnNbGvjT z$}U6CnzW?5&Ja$eiy9&fiAIoA=4Ra$Iosy-ZO=XS+=6QhUelo=+>1UK8lndJF~G21 zRUd@ya_fMXc$r(ua-`#m8h53$U#W3f-7l+}`Er*k<-PK|`j$Kq1yNSk!H#f$~!5MmnQ28J>6OIL-uUzeI8K!%Yv&TCs*tp+H&4`T+#{ZvB*JQ}Vs#4k$+ z96Ba2>5nkMFp+A52FH?37j3O**_LBA8?7URYdOUh%hi&%iuP zhKQ@0i44Q3^i?<=3s}^!WMCO91gq?ddF0Vb&79-V`e~ZHVLX5D@v6hH+Uh;XDFEA4 zVD{=wx=4LJQwM@!ATKTP%Bz)xy~9gYy6L0I?jAR_NZWYhS+1;!qI4v=a~AbTsv`k1 z#PS`6o8nN}BFhl9NpNId0t^L$a)++4DP~AISLQqzi1Rf|VR}J%c3EsmpH|{;;-2^Q zgc;IYh(5^>V*V#XR?HV5J-a}=Ko6Y{=UVH_Z;^-G@3n3QV$6tGt~xL LZ-8yk8N$<_ch@G$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..82f15c1 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + lowertandabacanonsistematis_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..113c3d663027892ed0486cbe620b1ed55a8441a1 GIT binary patch literal 1204 zcma)5YflqF6g|@dTei!q1q#ZeC~8}jm6w7=u^34-jTnI@#1CXzhGww4i~GRzXK6%; zB>n(@l=1GiY}a6nUuI`#?mhS1bI<(z_5BBc4U|;G5LeKpp&LC6gU9@o>kV$!_3i4h zsJRS1>(Z3&GlqCBUr~@?m<)oXrEfM}QL=5`-1giP&)sot!3`A(;=M>hQ_!cO9|H`l z4eOJzU2Y!oDz9uADkbr)pN@M!^k+^i}D|g^F=Z z_~K16jORkos366BMI~0#8nT!nJssiFHN#jZJOUU*-^Q$hI~wld9)tdW;)S{~bdjPa z!)We(i%>96nvOK<1fM{jgn8v;%a(PLH7z&ma6=?8$I!j7xU{_DPw;_;dFTuY*J>p) z4CnIK;Z!VOQNfaiWvmdaW!Lp%kH)B%9EV0uI`Uxi@}tKa4#Qfz>nNuPY|C}U>nHgN z_4UF!6bu7pX^J%ylcz`|iOEIV?s` zFNT!=G-#Ld?MB}&kpAeQ^%4C&Mx1s)rf?2cxP-EQj@~nr>9U3p!(_`z+PSq8PZS)7pKLX~M$;>Lj^K428iE5DgrQ-`z%arL zi#7XLI3Bn5d4-$YvMpD-o~UzAx_i|+m$g09uIJuvQ>IOE?5+#3UlJ~5H*6m?!}P{K zbLR&zf~ba=fl-Y8(N6J1C8RD0kYTKg^Ujf0r*euO#JGV86>8W%i-zkAvCGsxgN_7l zD()s35~(hzpO1XHtW#Cf29lT|I$hzBnPH;m?gMOj-^Q$lI|lCJ9>e_qad$}@Lm%;J zF~n25?Rr|%q}fQTO6Vb^8HP)CLz+p;_L45IixB1*lDk_CnzU_YlO& zdHu1;Yc9i5hYf$RKG?Px^H*=uWor19y)PKT8`2V+&3Z*RC0?n~%^-2T-Dt~_=JUR3 zd9p6b(v@T`SkyiVkhI7U-RM=gCJt;zk|1p_0Y-dIg#%AGBknjZ(JDIQ0&v4@$Q@vpIO8{aN zI*KLQsqD|`%aHGa%+g6!5+Z>3U!o^SD~WFOax3~pH+rE{LX4f`Rx}mOs4~7GdyWUa YGTJ>%QV&x^$8;BLr3JQ1YXC2Q1L6E6^8f$< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..d9088f6 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + lowertandabacanonsistematis_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8444a23a3afa193366e424e23dcc4e821682bce2 GIT binary patch literal 1229 zcma)6ZBG+H5Pr5rt{lf(3ls#TC~8}j6A=-LU?KX!5HS>*5I>M@S?ZDAUA^1W^k->A zh$Q|1f0S{yEyo#*@yp)s&df8<%shKPe|`S}U;{-RF~l`=8MuLNhQSm5k(+hy)XbgA ziKt43?lsG?TJY-rNafBakKO32y7q5br@R3=Mq-`Z2)p ztnPjip5)FEukb2&T*tS3DQqq+|FC9rtA1E@ZS(a$W!mwMgtx_gu_t^=Z@3X`hUx8p zCNK102uTeo1H%~kqn=VzWu!6)kYOamdFxqDhdM>~B5hzyg&JN0i2pko}9 zs(Dik@hw?zVTROY2AQzhGKW?_DLNe%U( zfq9q=3F)@67>2XC>lt(`;IW2915dC-BXGT%c@ofM&7$v<3aGWbwR!m=;B}v2rPGKg z%?NB;h=uDnxiXcy{( ziH~&1klemvxG9cZPZSvXJW?NRF9C)kPQ_y>Jn|W`n_<&;g&)+Zw84m<5-_>xB{%S@ z;+3UnrLSvzUdakGB)u5D$rzIA&Co8XbV%PWF!eZTeM+Zg#Ayel^JifB3up&t=sAU+ z|AN6&jD98)BPS3@oK}Ov`v|U|Zl4iItOYXH0U5Z!_(A?F^fOGHOV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..cbdb758 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowertandabacanonsistematis_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..4203556c8f5fd5029e72dd48f9750878949725bc GIT binary patch literal 1215 zcma)6YflqF6g|^cwk!)REw6$=QPj35Rlx@q!9p}@h!~J2#1CZJ4s}R(7k6hh{49+K zk;EV1k22ofmUaoo_+@q;_nv$1nKS$A_m7_dR#DawK~zJ`z!mf`BoFu}UTku!QQWK^ zh?-*PS(cVmD-6+GzM>({Fc}0%ySR3wMA>op(Wa*kJ+-YI!A%_+qP^&Yp`qWv01^y~ zP5ZNO6u0WU%4^)REmyiqm|RJBuVHf8+^gAU@%0W>+H~r|c_&;dZP+1PhUtxe7B2N- z5Gf65149_T(98CbUyWKIK!)KC&Ra)XZQ7LGhfxD#eyU-IPBe@&q|Zx-4s>L2)faA( zA(QKXhQ%o5D>|{7Hju>(Y3T|@#|&fL@DN}SeI2tJZWy?UTMTpmCtRQzLyVNP7)EmM zTV#TJq+5|zgP`NcGfYSlV%>ICcHOq>Qc2s&TDHo%+!S%lk!mkx<3qN>o1VzNqSzV# zKJOTqN0A|}>=qouP%eMDh>m->uVKN!A|4Qy?KFx99$jj&?7CzCQkDmk=N~=ZbQzY~ zI)s^qU|Sw6UEax8sM~eBE*KIU(h_exvr4Yv)h6xqk;*%VEjQB5Yum*JY&w;fSp=y%9`G(86x3orx&sL4=>ze5rFw(U7J z@k08H(ifdQ@0$rTWVi^u!U$6SE1_A+cOQLYVE%KY@gc1qAxbk~v~U7eID@u(g5G23 zg|A2+W8@1RF$w~KM1wI#UsDWuscuBCFRf=}Z+ZlB_Amqx3H UNs?fSX7a(?oKuQER6_} z#2?^~GTzyivIJsG+S%E;_nv$1y=V6KpP#<~tf62chPZ()3)j%iFtE=*^IU_w_1s2f zUsM%C_lk6-T4ji5vSkAahUw5rdb#yOB?`XJ4>y|Xps7mA7u+#nAf7}IECan3`q0m? z((t|rUvam_E4<2G&kbatgu|5#cIyt8joqr}x~{5fBB-i{LZN z7XL{gpTrfBfc@c|&>kLC@sUrpx z6PVHsoMxEFbU>p`$!E(Zv6{7z#vJuD5Q@wUd z3<>46pa>+By_~?r13WaaWZ@AW(-b_vp4)HIfOCZ)ATdyPdAND~smU7w!*aV9QI-+d zmLBt$PqJmI^p#f=4E;svig!(?BK$30Y0yazb$a`trA(U6`=+a;Bg!(6WG=W=9BGi` z$dD?YGh7#Yo-gtYy*>$$wr2o?5vRhQ546-bhVn@@k1M zYE@y5loz9G8AD268``C`4C&bgrtc@MPw4F_;|-$d6voaml1DJ@Zx}ej=vOi^ zasq+GX|*W4m*D#7^cjJ~LXd?vNdGA&cI@vkk1=_Ine$-%WzY=zFob2=>Fm$x$&l}W z%+s4@k|2Q5E276pFXNr)l`#56CwiGE=o};L1UFKdV#;37M1J7z3GSa0NfCcwiq>g@ So1sgc?m(`FkZZKY@bWLyxFr<; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..a5669c2 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + lowertandabacanonsistematis_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5599891c7e5175cef6ae9fed837303de76042e6d GIT binary patch literal 1250 zcma)6ZBG+H5Pr5rt{ex20)?u;p{Q*^icm!?FBV@um`0316XFN5ElWM<-POB24L?gG zLL~7A_@j)oEwpDa#xHxjJ2THbGxO~I{Pq0@fOQmgL=e@`W#AgR83qpdN1m&5r8WC*kD)&pCZ6<&9b%vCeLFh6US0`8j);n~3v=T6(Un9s*B zL*=)MG96c%^1U#9ZVNT*`v&HaV~9z&m4sn9ow=G?#{(>ASTvBwLmG|i)pCac4Ln!$ zeG&(?oHsWwJ_Nk(Gb~>;D9k?u+tO#@>P@ChJ$UBs3x;^fa>VPvt_W|NSL$@rOYPrj zw3JFCdmA{?vPIeQEixA!DvmTs@?=PqIt(|&f$NC^L!U>gr0pfZV92R>AcaRhy5)C< zF%WW4idOb5H}IH;! zI>G8M0Sr;-FqUbjvOl3OL!k{aO((@9MgYmbM30eHQtjxKX7p-1dYLGw93$)uw-V`6 lB0Hmqe8cP+<~u|Z#2*-^b%Nj~iOy6Ta;*uuPHO~De*>gxD?tDN literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..7b295a7 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lowertandabacanonsistematis_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lowertandabacanonsistematis_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..750a943ffe7e1d83ef03005be7ba84d7ce8e05f9 GIT binary patch literal 1207 zcmaJ=+fEZv6kP|}4jqPjxyq&7N(YsCS1bsz4GLD#l;DF8S+6h$6<&d&G}<#^v5Y zX1jDG%8DVj;&_gF#?YR&cVp`W)4$kyeDd_&pHEXJEOZ&@w$OuKhKwse3SV(=pO<)< zd(sP>K#3|>POx`S<&L{omeowb@eV57=N?0sTjxR3IhxLI+Ij7^-@<_Q*;f&+;}YV+ zDvm)685p)Og3&9iizhl7k(G7gK3F){g(U3|DzYT z>b;{5X%`TA6)+5?^LabOpXYC|T^8N(j%7t;Lakw1Hh5V{|AgU7vzUfq z==3F(+ZDlFLCQ+Kmc7oi>E;S>=cFcDm^Uj8+c4W)iH3_Dcip0+M79GD8SDbJQSw55 zay7}!SB<{8dd*;MdY)rg2pQK8 zrGZ&!U^){pQmsKI0Xk_=2R1<44?EWvbN~PV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.java new file mode 100644 index 0000000..70386f5 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lowertandabacanonsistematis_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..64867f231474fbbe34334cc950e3d92599af920e GIT binary patch literal 484 zcmZuuJx>Bb5Pf^Vogg2F$cKW39awlj0Mx>S!~~TDLt{afV?!3WJ#rivdVh(HwHBIK z_yhbmwkCeeqA@XXi+Qs%@6F84zI;4A12{q@0Rs^W(IjFp8SD{XaA(5R&^hmqgc~xL z4XI>!$PlU4x^b)_ZXuDxI+B0ro#iYP92=-7_sY_kzP zsFZJD-@~drAa!l9+s{|6Hdg8aHPAI8p!L%)WC@GpZBdjy@f|V7-YCkjz0#Dw0GCc? A>Hq)$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.java new file mode 100644 index 0000000..0a4321f --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package lowertandabacanonsistematis_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..41f6797d1b3390248aeb27f66b0fab365785a24a GIT binary patch literal 498 zcmZuuyG{Z@6g{&%7FG}t5JW8Oz(Oi3Pzw_h6MV!qG!|r7CS+iDmMjZ~-Y>DS);8;w)kduQf6?wxu4czywJh^hqx5fjlAVu&+jM|{p3E?2|GS$`y)kRjfZ zN`?mvky^c*L;^_@RthUf{es(zX(&8G`7TAa)a1e+pIto#wvnfo)XM?Y1a0%CVg%uzM=VmZH7}B1ocyGSwP-p}&H1 zIU8?9_p6(?$UeZVJ|cZ%u)EJU%{G?o3h}i@1SVM}V3AIaVhL$%&`koyJ7SFGNV&3P GZGHjhb85{1 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..b0714d5 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package lowertandabacanonsistematis_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/NewsFeed.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..46153f226a0026e0c55c70501fb0c1879560810e GIT binary patch literal 632 zcmZXR+fLg+5QhIvoY*nuP;)K?%At?|!VeGxLP)4WDIggkMZG{9XB8INyU5;vcr3V} zRi*X;`cQ~5A%e7fv9q52=bQQ0f1iH+0kDTn7X=h;SRP6!GmKsF8y>`5b%K-Dm52;O zc}FT~b{UG*+PMv9Kopu(s*VGf!9KYrp;it&2J1{jmkvfK9Y#{9NH`cH)>pw}bLqmz zxQz)9lbGuBx<esBCcRlW8u)f3h$n8B=#j~?dmsSkZ|65eG- zBxFE$$}zpoXDzomUW|`hWZUZB`k!V|^=9 z!&RHNc*K=fnasO$BeRQ6!ex9B=_EK7x7nc(ZF;E#-4+a^4XMO&H))CVjJIOSSR_^q zQv>#2z1Ged+)#JZNF2&sJlqFv=Yx}n75cCFDuBjDnf5RAHBXUIEN%P%yQc%g8twTt zB~igTs&vk!N3c+&xMu%`-7NZ*uxa^2VYB29ht0A-8a6h6;={KGOm976{*C2R9pGS= QXbW(OHAKW3`cL90;d#zjr1p+;viWja;-5_fJ~xYmV& z3qQag@M{!r#*KmrBsa-D=iHOz{paf z)}@lcCPTEiP&KwUKU?=7)RH-YzL^Sn^yPDd2>1L004(8G{9@UDMv zCXq#-iChYK^#4(;+_VWrLSBb-^9Nxq(kmVNQU#U37u;R5Fo+=&!zqkll%emR9ENyH zBZ#8-!x8!+0;!s73sn>23`>r8E&PD12Cs9QD^InhR_B3i*P1SuPR;h*(vjZ~K0|EB zYY1&cDpBsZb>W}zxqmU?1?-Umh60WH7>FWCz$uD#>KS6xfkF=EUN%{t z&!Ow~4#{k~`~V}HDL 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..2630963c1ec6063a66872e2af7b8e49c9e4d3215 GIT binary patch literal 1254 zcmaJ>-A)rh6#j;`yQM5G6bdN{qVm&%QWZs|C`y&sqzJJD6TQG`JAsAm?z%fgN$@@N z+6ykc(hEqq@Bw@Z6W_uZ@k~p!{KQFS&Yaov^L^*c?6=24RoQKa){S8Zuty}RN*9oZ2E;Z`-{-h&}P5aC0fyk zb2`o&=*PhE)Z4xkRm$ho2z;Uu&U7+Mgh&!D!K>Lg1sODO5tkTxt9(=B9J|crb5jyn z+n3yybu5q4O=udNvJnhnSjUKgQKT5U>Tr+8X9&3}+X*^H0n#fv#uze|^G0}-s=`aW z%x%hRD&$<6{_0wlo7QUCsb&_vituvWrwRreg^U$UTRg2*OTt^`B};uEYn!1b_3|{_ z^a?|JQS$QU0(a~7I<6D!GfWvGMW^PK#k{GaM*pUsP#meqbB-f@>2Y^K$aSaU$23eu za2t1Y+*Q?_W*GX{J=5NDHbthvx>4YHUY3rx&G5dt%}0ifpiihEmhguPjFv!@9) zog8yq-gdH0U=QVG-a9Mxz6T_R|-j+53;l93FJ?Sp-$4Z{^$)n_0; zkKrmNXs=9vkgkz@7uO5p)4`UhP%^lO)=zXqoua@Wf9~&)>`P3JE|DBd2IH|kbbdfj zU@EkW4$}3yt_7z;iI8#}R(>?qNYYeU2cr31M7xn7p?9M<{{_j^0WJW0xU3+y)FF-# zI0aOJe1$fYU_c-W6ERrmgiGMJ`zDh2(J7EQ-Bo&F7=g)+sAzMytU0q8HK&I4o_ cz>Ru_N!%nECP24nW^s?S2<`6U0p^hW1DmTY6951J literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.java new file mode 100644 index 0000000..8f08765 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lowertandabacanonsistematis_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/SecondPiramid.class b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..29a2659968d4b65a9ffc93b5388cf34ab4b9d980 GIT binary patch literal 1056 zcmaJ=%}x_h6#i~IWy&}}DFUJeMGLl6sZw=Q#l$8=lcFRgxNt#kr#Eov%-m+?7Q>#0 zaL>ZEE;M1`1NaU;gj?d@nQ0SfN}R==d(QpNcmBWsIsFFUIi6TZAZfy|k-`W==71ma zvdjIw@|)&?a5TfnQ|U{+&X6n=chX2RAWOEEjVrJjWem{4y3%Alvi#D zNBONS8E{Xw7>t@~35JQf^u_D0*A&4vZ@Q#0$iiosDZCrby12tI*3jH(Z}LuzH*tF~ z@wj4Cn}+HJj@Xb9Wp=>#YLqA$y--SrI^dm6q4!lQoEX7f3k4KStVC@pG33u%A^k(u z7UfvPDFR3c72=jHN+TBidIHL=i0mJR1j<^JVu_nDy8yJp0 zMUA^|Luye?<32-zt)x+o{uYD%%J)T3b9oqw(8LK>z!@~ceH1)kav54!m zA<>thIi($;Ge^=q{b>`BTKNk0i7t#(h@XKZMzMgKedsZn8uV7lnswt@E`5T$u|A(W zL8f#{K-7XT0-M)=A1cazVkb0e*fwJ0`L;g9Hfx8VdarQmZ5OLFL~AD>b&~C zbs^e@A-gA)GzSdna^++KIZW7a^0u@XF>oYx^+O<)X_`QAzgDD} zQ+Z6Iz%cLguBdC(=H{a`9omJ4D-)7!`KXeZ5Aq;esm^N-ikPu+FOONwG0cqd&yeZG z(P9_39aK(=V3@M8$gtz-FCw6LXS~JRTv2ctr_YTHPtScWz0*-J8|~ZzE@hC&;-2qR+x@H z3#YSKcklokHa6ovJ!IGz-iTC}x+|(lLz31V^0v{z6~oujim!o*(>GM5C&G<}*4?OA zyPf8U=7!<%RZon8j~1HDNNx1Gu3gl*=QX7fwH(R}#S`sCzHnRI(_MGpW!r8JTMP@0 zh=*=Z1b)=zTn*0|@<&REpziT76rqhL44bz)F|I%xRfd)SLusg!ZeR@y^Z?>7MZ-Z) zfaraaO2irQ%+^n^Z?s`pA{rk9X-r^w0EwXr7U_W(1!u32-7nY&OUs>7XV=OQUn+Gz zFVpJmX1>FowfdL@e&B8_WcrvN2t)tt^t?bTj*x{zbP@&nS84dSF@xtc{AsKZCPg}z Y_!RBdD62;UTESz|IV5jm2T!s17yb?VY5)KL literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/TipeData.java b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/TipeData.java new file mode 100644 index 0000000..06f59c1 --- /dev/null +++ b/online-compiler/java_files/lowertandabacanonsistematis_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowertandabacanonsistematis_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.class b/online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..f4453935b4bc3a4976d23655703be9be981cbdd3 GIT binary patch literal 499 zcmZvYOHKko5QhJTfq`L=m*4|6urc654gk@p2`f~RF>G9rX6TTCd61z;;(fe;E;MoB z0X&m2R*!B>=tWg^_5XiW>Cf-?4*=&lGLS%0hh`#$G(&ODA9%;*{;YF5nG0Joqk*PX}K~B&ahK?^S84B)oGuUFNSiu{Ahm;xR)X5vzGZhTG6xB13L>7D4r&>ub w$*K_L;;>gQ_Meb@fnLtPqM&?<*jI)|b&8xic{3=%K%F|o`$9>LI*7H0Kc84?`Tzg` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.java b/online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.java new file mode 100644 index 0000000..ae8e58b --- /dev/null +++ b/online-compiler/java_files/lowertandabacastopword_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package lowertandabacastopword_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.class b/online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..5d3b141fe45b841795dcbb59e50292c34684c94d GIT binary patch literal 1108 zcmaJ=-EI;=6#j;#ENquT>A(GvDpf#Rs)^oE>kmn_rd1P~8ly=wER(Wj*&(|_8(zR? z@Us3SUh9P>z3>5i0w2RCXgmu<57RxNRT=O-INFQkYk5`;vgU~L+boTYIL=5q=;#Pf^H+y)a zEL)x>w(NjB_BX>?pn{H(9LiT7Z|(|JlT|+v!HR)vxUM4`oL7z^^Y5Z;_gL0Np?fgh zBi!N^RorHH*RQ+>>;`>8k{#h^c1T{US-e(WiPso%)1@+Mbx?xuN_JG_==D-7ng>k6;raNifcjx~mr3(AKH(y`94 z^nWPzc2_-?af#kR@P$Bag9wcav|6N@(L9p>4)%o%MlN)=0Sz%M;c^f9i>P7Rv%?!H z{hqctA3nwELMr+Jv81v28IQ?+kHkVM_K`dZ^4uZ&6AH;mvU43|G)m^u05G7M9bkk= zUtuhsAqjlLWKd41Q_fRriJ+(ubgDf{qXCm%W{SpH#F3%bnMVTa#Jr0MY+w=(>HX|t z8fDDj6`|gc-Wo+qQ=~W|=a^-TjgK1RQPR2GNp%HRX^xWK4E=fBq?JL|DhjxTxj(Sx B3~m4b literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.java b/online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.java new file mode 100644 index 0000000..67d7c79 --- /dev/null +++ b/online-compiler/java_files/lowertandabacastopword_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowertandabacastopword_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..45210b142c33853a47e15b159dbc59ed1a4b98f1 GIT binary patch literal 1201 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 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..33c3e60 --- /dev/null +++ b/online-compiler/java_files/lowertandabacastopword_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lowertandabacastopword_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lowertandabacastopword_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/Order.class b/online-compiler/java_files/lowertandabacastopword_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..413cdf4841b08780d5da2be9aaab524d41ed8686 GIT binary patch literal 593 zcmZuv%Sr<=6g}xt>6;`QP3(>x^bcDG}P$Kq>NLGU*gV<3)i|( zaN!5|1AdL-&A3r8f#fE+=bU?zynnsE0oX*@LIhD0u@vGk82T>wHLp0_YgG;#7s3u0 zj5X=WV1prAUZ@*e8=vj_4{JREivh;g3eiwYpqIeAvUOglbEhK;dx3DL6X;{e?5pnY z%_OoIFp*0kkHJ5RwVNwKk&x<;Zhk+kMXJh?FTJ1^_=3Bu7KSlmVl;&@j57@Ulfw{i zYXni0e>g%vL?FG^>O$SbBty|rUEv4ZYw`xS`Bk9WUFA1VTP~N*sjb|~q2ClfLu^|$ zg?1r5QSG=5;UDvcLpw3b^cV)qC;y2sq-z1UFAsP-%r`Or*K1e}gH=-<-xfPkQ(B?s zvi5{&OwiNl76CbeLE{vyCTOOcM||-G?2!V70*(3@h$2bA8H#o48Di9dLJsC`Hd!s@ z&~tl-WHw!WfRW8qpU}Vbj3Lbu30Wp#Qfv^)q@F;A`10tXJ5Lj1FJ|eKe#|HG^k?RD JVZ{(z`UW!%eQN*! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/Order.java b/online-compiler/java_files/lowertandabacastopword_gmail_com/Order.java new file mode 100644 index 0000000..a6d882b --- /dev/null +++ b/online-compiler/java_files/lowertandabacastopword_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowertandabacastopword_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandabacastopword_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandabacastopword_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..4f0829e31c82f6a7057858ae905c5fd127acd8a0 GIT binary patch literal 1249 zcmaJ>TTc@~6#j;`yQM5Gw?c}7s9ai5s-mb=MX3@=K!_!n=mSpM2`p@P*4-&cg8xIG zec-_-eZa&Ae}KQj#D8Ioc%~&X*cxApIo#iDZ{T+t4jU7HTtOtEewQxi*I4|X9)ythE)Npdd zae2oRrpr!^GgEi;6)CY$Lfe1`Y zGYp+zdKv)}4;cFYZ%Q}6&X!7;p_iyf6X^cHpmmJ2K9Y=NWb`xGN7^u4qE&weLi7$U zW1RNd^atq%$u}M5{Mb~uX)=-u@1ywx9Z{z!@cW;icS-gpCq|Y?j;6vLiG8%cLw9I0 zvWGU(&6;k6CnL#-b{x`vH1$Z))LHxEb9;z)AxXmQLeJbMq|#q-4%o*<4Y8>PahSkq zpc>>$w4ewJ0&&<#z(G4adiuLaB1=|jm{&jxx0)fSJY}q;J7HSH2bwp;SOlh4zTZQjL$EC3Q!8f;-JT z#muI$fE>fJ!-t}!WRL4lmLAZ`*Ia6!e5*&bvHK_w^0nky(?lMN2JWR%z!Jma9Datl z8%7H$W(jI1c`#%RtTNPWbtycG*XLc{tx!!`JCzZ-8Ucw^X1l{7PG?Vc<4r z)10#0ay-6r#T@u_q2uvrPT$lGMT^^Z$I_yiM3o_bqU^vCPy13@hz` z`(;;nPB7$LPR<$9M^Xx}Wpm#bzJaF41aZnoU#^R*cN`o&& z`Ubo4?=T9nYh-{QxEpTb*H|8HCj6W9XMw&jLINhq407~7pt-MO5ie-&qgW?QgluKf XSz2vSR*y%rh9_h*XS1+ey~L;Tl0K(bCLcMhfO*Z)Ecl{igU!fSf^4yh5j0%8W9f`waGh z0K-*^@im|!iEFS3$ECk827~fj@eM{p6JIIhkhB|m4r#l=a~QXshCbr6il0>c6!Cn- zn~J9{s!!Wa?ZmQH*0nM>d2#<83R+p1qG<9(I!s$JFvUW9c~571g1tZbxyLE~uuT0` zaEpJ$$r=6$v$5`k(!GcbVU87YutsWaa_|Hxcu1p9cSFK2h9@m#@WoAIkV?{=R0T4{P}zG8^AM^q8P!b0WF3QbcTroe#na! zcbdi5`v;;f8T6;7W6BkV(OiC4Uwu!0G@|s48HmL&jtdM0%l#-k$(;swT*o(kDQqrH zpQNx&r@7a(xoPdyUAwr(oi@W*%anoBT%*Y;My^`j%vbg2h0mW9y1trL0*D}iq=8fn z(@3A8S36QMh?N@<$>dg-xak((c%~z3(i7Y+UnGP}F4;Z> zy)V2SzHiaVcun$pdz*Lqx<>VJ6qgUffuc1x@akgSRL&7q!-672C0TP_=}V7ywuNlD z4L`2qW)!zjFi=#v-)2}iy;ajWblalX%duCEbzYaQcf{~zFp0il4|Ibr))M~0mg}~I zPWe2=fs-?iJ4YQc#C$NxUZ0f*Z=erR;g(f1r6`ASm*MKmz_xfR6Hs$zd?AHWSVrdB}v3c7#jv|cA|mLww? zTK)<4jW$$vTGel58dmRw_R91vokmE`C$+B#WskGD1Pr%b3T4xwddWx|xum8wej##9 zMk8IA6h$KJZajm)CI}!!Ocv>sco?K+vDC+Z0fQm{a|y&Z!Yc_(mbCAfnq5k3vxItr w8Q=$IPf7OB6(9o!==O1t}bh{u@u2L-YQcK`qY literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Bank.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Bank.java new file mode 100644 index 0000000..d1f3e58 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..c1036955cf4cf6cb231ade8264c5d2f281167b66 GIT binary patch literal 1117 zcmaJ=+iuf95Iq~GapF2nn%?P!6jDeEtqTZV63Qh~p{NCgcw8m zkRNf&=I(*@Z2wSH6+^5fU8&X?w0vP#gOX>D?WqWUgPpN9$rJORXnkyNQ6%HlZ zJ8-zP_o|*_J@mXrMR~qph?cz?nbeka#nYCvFZ><8Z-)njb{Qt~uLfmgNLCcDHnw@Q zhc_x-%dd(J8Ini-W>^j7P(Nuy1d1$UD=_5#{W0ktc@1H8 zJJjvv2Cq`ZZH9OKE$9KeK_8QLTLif+lGkb$&)40zbB4InZi)f$e&yX6D)#@sUWhWc z?TS>Q7{@h+Y)u9Y&&{@J@W`+6CRYvaW_gXkHBXk29a{bl_JtfqTj(4E8WLE*#UAt*QKNJw zqos^~S6iQr9%E%L6aRoj+F1XLN94apYA%!bNINOoxlR5jSm|-{3ms%UPVT}PU`RDP zz!;If!k9ln8u*6su$)MzoF_CAVNnt2RC}CO114S346V~hB1hMB87Zt0^A5&P!Z;q# zMcT$BDwx7cLcJ!vb&8gyNJ+#_G0hko9X3Yeq;s*8>Jl!Kjg#ISz00^xUj}(Auy6x2 Fe*pg?5L*BM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..f06408d --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Fibonacci.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..c5b8419e705a31f386c361d27d6ff77dce327823 GIT binary patch literal 1114 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(l)qR*Bmp%k!3!^Nx=di`cDLD`Vz~Dq zyzJt=kzClH9Rp9LDYbjfQ}eL`iLL% zvdx`?^6SQtuoOdVSvpd!GDM4|-66y=WWY?|3KEy#^%Gx-7NOh@Ic2v(BI%ajc+ydI z1{9d23jS>7~}#)yGT0;3pX7#-ltptl1iqAqs1!z77VItSI# zZidPkPhbL9875l1DQd1`arIWJL(+W39py8O7dJOc{q7ksTnn710{TG+1388z+x;Ls zqT1&Uamt`zuB1;=v?z_egBF+ep5?a67u7LnHFsYyq_(6ZUUgax;qCB-O%{#NPLR{P z{)|ey48wKBt>!jwhj;@8>dXKrgIRYwo+UP9z?!@Wy%4mK?&!JeDqnfLy)D$CyYHuB zD4CeY9RqiRqVF*j{$0Ctj@_mxcN^Pn;s&>r>zy!s>TUfwuuJ-qnqmvTu;seVPP^J) zP>6BGDJv2V$*SiSF^eA3*W#) zhPl2f2PJQy!Z7oHC{0DTQe4M0O;GSf=n>Hj(LO_`97#q}pZ@{&l@x|q+JoOf6hp|9 zYZv;N&M~sCr(?^}6>U|kXy0IDhQA|4ayoa4EI^0p-1~}7maKk?$LwmU?(Ec(n(@lyUZ2+9Md_m)*UcnP;AvdG>z&{_zvQGHN;!NNVUaZ~^@c!+ZP_H*M~=%+;+u zu`L<;7cJM4OAN_Uxv3$=Fcmpjp1E=$Ma}p5!D=Y?L)nnN;EoOr$pH+)&@g1+BGL@= zw)a{1lDj+H_1wS;q;R;j0@{URxvkBX!!3Jr+jGoU>y)kLwm$GR5m0)=i(xb5>;Ft% z9l!`O8nOmPF?Ob&#(~O8We_04SQqDwZ@C@n6g`Lu1CuJ$@M0DXml(3AsbdBmIb2cA zn_|e7x}fofRLf1BSmg~AP^5kaLXw$bvgaNHjJ&U5M#FUjH*k}|{Qu@fePigOZn_NP zrFU&Y(L8B7)My|5Cht8Jp*Z7uAH-psV_5HRWX)td?S6Yr}T7gC8noGrz{78um znR<`mirDphQDqqNNqclW1sI7r)pn)u$w#w-PP>O=RwY_8>J2aSx5Z0Kk;$Ib^qi6r ziX^oJy}<-B>W$DTqjX1mADDWKv_7J*$4Jr%n5Z0qRZgI79AV%PdgUvI4>A6QOpKgB zAW2#c3RiGxx}7JGLtc7|#fWQM*J zlN14r|0Q~oRFdmPFGkT%yU`0oLFE`@$GDm))iae@MdUkf9pg@qNQU?WQ?yPKT%PC@ OyO2u}umlQGq7J2XcTz9qi2DTrlXX{*H-8 zq>;oA@ZAsa*?%zZ)6#ZOV|+Q6*?X_O_TKBv*Poxi0GPsk6#)blG-x=35JTH8-{-vwy&R|Cs70SwbHT?;~#Is7^Si*WaFmg#@%Nk?r=lMF<#a% zhBQOiwJMPe(M0l3JQd@(s^FT2>$q{MQNWf#)B9?2q|bsUlrO@@~bb1ytzbn1QdWS-hEYi(2h)+OB( z4?Sa3*sHw4h=#DXSCK3Y?ulo*x*_tqqmwynQY%QHq*aEsU;~~`42ecic^F5guJ$4XCkXDVtn+dLkzD^TJ zpbRp40@8Ynp7qp6s7L56VW1u?e-)BJ3p$XclgvItJHu=ZWSDM}NtggS{}SCrs_L#q z=gQG@wdiU2>!5Fatb}t>Bo-s75y|8eE|qX4ikl_euJegd8RScAKf)M5FTJiRulX|a J0<8fo{sIbBE)xI% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..cb4c305 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandanonsistematissteeming_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..52c299281484b7e876043d9388d88f9239b8d9df GIT binary patch literal 1929 zcma)7-BR0D5dIE7mJ#A7#^I+8;H0$J(82vlO2KJ}jYEKvkOpu{X-g00U<=CN2|U( z@a39x1t&xetsUrup`pt_H+mSRE$3U|N^b9R+p#^Cr0crd`>t)VXPGmz{cc zd4s$axLsQp9(gyM2sFd!%4>b+I&cXI4SfcZxO^_1wIk(}vLHZ)%cnRGT+?nwPS%|m zFfgc04JUG<;SGkq6W5Ug9YeUHxEp2|N}qy8`N(BTIz=^VAcd<$rza#GGYp=oM*vAX zmY;g^162pH+k)Y6<8`6qeSDzdLj%`w;~bww$KSC8gLcR*U##vCr|DuQ zWFY9DP$8!frVV_I8H!^!Fe)jFpr4AdxhLQKb@yrVdmW$PmWDY4w~;4Dj$6s@`_u~A zyysEtP(gSg+bxfA9lOlsBU4sM@~B-UIr>jpP3t&5W#|d(955ELrQx1|`&ea&OD9xiNT#E_ zGyzn?pQ&sgGR!nvA(~4h;BXRiukK_@l;XUzOJw$}n6|j@*LQ@w&V#~qQlo7gkT;r1 zYR-qgEzPxtnT9UMCv%BnWI z3}eCI1>~6ap;Hstki)QC3%pEm9x?nJWwEIkf-cgL6pc4D7tgbaQ)~& zL=T(lTNjifvekr`=a#i*N|B3$rekE;uUovD^673(QE7zwxRH{)>f5s^M*Y2H+rpi< zRGWJmOoq2#$@`*oG|+^Pyk3=tKFl3g>56NizHdQ7UCksV)O|;58<_eB(0h%(rqN0g zFfefpHt`bL<}o^+L7(^)z0c793mq}6)4Q7#0fWrD2(FuUHwdI90GVup^t{B-=EQH% zkMU*$BWK3y@1r8HT~178#v6F=IX+5awt<_hfx`F;ERbe$f&_zGXs8mA1l=@F>Vmrha@`>-(dFHhO= A4gdfE literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..fb77938 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = lowertandanonsistematissteeming_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + lowertandanonsistematissteeming_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8ceca20906e4f8b6bbe3bd8fbc3e1f862a440d09 GIT binary patch literal 1245 zcma)6YflqF6g|@-TbAWj9tGvGC}>-hBKWFBuo(Sd8Zj1{5I>NC4rOR}7k8(c{w$3M zk;EV1k22nAphTghzh z9f^I#(7h^Msn!^x$yCWejA5$jB)!Z=Ly5fa^TuXf9oJP+`GPwp3`Bd-3(G*Cg?|<@sVu1Vq8|Lih|b zg?|#r^fBfc_E8|>kPw}sY3=6 z6PVNuoMMGP!SG=h^d&1x1do{Z0rM7P$w`5AA zdRKRqbVNx8lFWIRiX%~yJ{jVL4#N#`KuXLp^!cPlI$i<{g`DySO8Des$RO`ls+?*J zS+$JGXcoP?zb{@%O(t5E!im?Z&5=ygUA*RO|8ajiz$yTJ4_rS%bgJw}vHKq7q# zmOh8EbBdl5nCUMVJi*v!GBI)jfkbJwD7=s0`swxwfkc`h3l|^*=a|?@e}#F98)umA z1nVD!X3&peWa*@{Kc$@^*9MuRFU=%I0AqiNPLNW@+tI7d=x6QdEK$%oM%fu|#*>A3 kdO;KUhP!82>JW(&e_)c?xNHB~CPQuM^oJd~sJnLkuDUX|STYB8Gb!dopAqhi6w}Bq? zGORV+Pu!E1b6`2H;|pJM+mgbko!i2x@7HZhH1=z*oqx4U*)~Phb*x%V>~Nnb7;Xfg zVY2*B0>v)$Bc)-$z#xYHsA>B|Wu{UHkYOmqdE*J^l0HQzkv1@*LJc=^qv0mQz*XwV zg^p2-sRoWSjAla6Xj6*WicYL14Vajsp88zUHN!~TJpvebPh&>I9Rqi9kD>7Y4Geq7 z&_P{w7=|)>)tKl=OT(%}kIs)60XYu+;wnBwJcMmv2Z&^6}bm&Mlj5t|9I(G(^ zyMVTLhOSfSxi9ED#qejkV&nt@iPLIOcsIfI(CIRP!~&4nOOW0RjPB*WLO;W;b4;{@ z)!&3-(1QW2kfpM((#}u}L1ySnF-Z`>@L!_Sq?VB|dM${45=O5O1(jono#S>YQ%>b( j6_Ibae~$S!kreR<#%LWUxCwgUW(fH-fLy0FhG)M43qC5j literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..57885b9 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + lowertandanonsistematissteeming_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..bad7fc6cab683ec672d321a7a5cc58cfb4748274 GIT binary patch literal 2037 zcma)7ZBrXn6n-u**<@MXLJGkaNIOuHh>cpc($MmjQlM#R3#1|{Ucv>IY))4u0+>ckMGIOL zv}tHZgrVnvAM%{R&Ar^p_JJt743R0_)ZN<*t?5ijL6l+0charg+>tA0ZJQshcy7&e zS6y51stN_IF?2vv(5ayd-3(KP^}VoNZtif?G9BGi{Y?8>(X?WZTeYd9zOPNAs=BNBq%JL?P4;U_% zxl#5E?uwN3PMMaQa`#2b;Z>m`hYuBeq~T*+KgDRl^0p1Zpd50;6DzyKYPygKIPhf@ zIOHY5ry4%P4Tg>#Kd2-ld|4GD(?9?4_uXfSA64WrrQnu^+nARN$af$LpR9Oq#!c0{!b&}7#1|##Ueu+ ziO^)|Pj80mZ(wFhaT=Iq4fjxF7^w1!n77O_cc19)KCK)Qw@dZ(rz!c_@F*TIbO(y? znGIM~@KD1eJZ6ZxR*;Dykv<1N60;^*S!bARh$h@~C}l9X`LjEj67@K5?GWkR#DsX@ zRkww`#{C2AAW5#*f)OSeKlV&luZoiH=wzNXNewix)F(r{cycOpV%M@oo)l)&q|)*& zKyS!tcGnd)`E=-E4fcdQd&dqkZvAY6_E?*4GwLAm#NqzhF`-}HXH-cMY^mE;fxk7tK!wd zYz9E#ol}8pM>P>PHrzMQIgij*17e;V#;Wd$d=xrErYHxoDcaPn6jSdtqb- zg*|V`@o*Fv3}a^~IIlAWB>CZYyV8Xf(16QyIkwOsv>+~Tc3Q>dO-b)IF!>ik&k}vz zKr5|)f$T9@_7#+kW5k|A&Hj#_=ji{9Obk!x*+q_kM&X?V*G0Qu5J-y;@_qxP`xOQ^ zvVTB5#>F~@PlDy2m#m-*eb}It%>E_488(|Bqx2;!i4s8nIne|3ca>~Lf8|Gi-HiT) ztSaqoCUB*vtB%pd1hUKViOhH%*IwY01U|3hX2Uo$*`C1sq!OPR3H#C+nxWgcyd1jbVDGFiw!$INmJy8!E09 cTl8$fx8U@SQoGyq+s6TYskEw~3JZh(0qZ9bXaE2J literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..2f02071 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = lowertandanonsistematissteeming_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = lowertandanonsistematissteeming_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + lowertandanonsistematissteeming_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f0d1acbd2b29dd811e28bc0d4cfd0b184696fed7 GIT binary patch literal 1236 zcma)6YflqF6g|@dTbAY3@>B{%QQM-dyi_cL#Ym!Q#8_xT{6Lm6G=tq8+?~brXK6%; zB>n(@l<{s`+Evu}WoCBg-gD1A_w0WE@%0;kb>wwK5Y^COpc7pT14q`0WmYYxVs7mp z@v>s*S{05^YYfqJrlcXpkgNv@X>QaM&%3Tw+w#@1uZqg$maRiWv>QDzH1rziLqEet zRes>EvYZ3Uk&Y)k#cfLok9KYgr?OYEEm7SoOWS<8L)8j?`CV;OobVzqOXpyldql*L zp(+ehg@4k>bz=~54G9B782+WRVlAjo4G|#2a0}feiw2gkOt8|em`6U1)y#Vy*?<(a>WAm=eXHtGU(No*oIUJ{<5>%2ofk^{+% z4Dmvn;RZjHF3&Oax@0;!UIGk;g7SxoyA(4hyem2ngyI6={`00^05wx=*2JKVje$BOmFC zQ4k0uN~=NXy#&`sZyymzqz*FM1nIxP_-^(y^fO#P$7DM>_&Wp)`jEg1or3C*X=li_ zKxXJEU=kyMkw0XQl5@sd*{k*JC#~$oCWQn$$BlS8o(*Vx!QFG*Z_{Y>FhM;eiOggR NY^@HqPHO~De*%c`DtrI{ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..98d4cf9 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + lowertandanonsistematissteeming_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d1e3d01918c0cc4d43820c94053cb7dd8363e315 GIT binary patch literal 1212 zcma)6?M@Rx6g|@dTeizr3lx-(qNr_ARw$@g1dEYG(})phLi|CNGBktTUEH0;^szJ| zL=qpshce#XmhBph@z2cc%)MvMJ@?H1{Pq0@fOV8r#1L1|rJ)-=41>qUsi8LvtFCVy z9P^rF=vft(kZTO_T)wIx!7v#F30vQ2N?vvxqq*hD6HjhSha08}1@T@ap(*Io(2oIz z)rS3vJJPTY4a>G%;Yw~AQn)m8Q&{!=x@m~Ue$6)Z*SmCE#jAa2Zi-XB!(F1F*%5q( z>B>I|lzK6Ql!CN|VT}Ay({|IpnMxr*hLI5Gts|^9eacQEqhZWX)$GWLf*TC!tE(di zD#kJ43pmLzo(n;vqLlJgl~_${$YO>xb-AQthOtg~1TcucjadbEG~C5KhT{JV7;4AR zMXFj1qq+AjQbAv-OQbkmkwBirdF5s+wtbSdY?*ZplP568(7mu&Tw3-!`9Q-wbcTeq zTZs(Ax%_oF6$@BYP}H!5WrDSxx_<0YEA_JLQtL@eBUrrr=ot-{VWnMplv4z@<-XGO zoqUz*dSM@OhJlK(_#4kW;LeV5(4d_p>AHK;@*(x&oo7j5@~UtJ9hWVtkz7XxWJpyy z3^(|Z?eG#qpF?(|7Yv?Z^fMhX3Ic(| zY1AmakKp=g_X&Z-0+6{j$iOAW_X=O3p5x{PraH;~U%+S3k2F?j<=_64W`Y?y{{jy?G+H%GPz{qrW-0_*3&7TC HjN$oj;2120eFU~ z^?&Bi_hA?@4RHe_82zKA;)zO3oe&_yXb0z=C!BWm6y1+81LG>xa03<%*BRoMsRITb zN!(QYO)w-=9nc^r`E*&Qs-_H>m?lbnF3HR=-gOTEHob3SM#CKgcX5wl{{Q*Aq>iD7 zICU5jshw6$&8gCih;PaeL7HK(ojrK$(kizIn0{Hir`L# zXU#X#C-YQXmm%pu1Rk!}l-VI-Blnn%Y&%xhRM@Cc7-7Oq##9W`jexq|PLB8X$F zd3gP?Vby$w#Wo|sVgs-(QRc7Sq|4OsD|eqWMAwDGHyZXH_e$1Yjc)ph@2z@Eo;0KP z4Mz%_mxV9LTyUs;5+mu7A-3MFaFrjp9?vrjcqBtQUIGjUoC*h$d*q`Fzsvkkz(Gk^ z*^6$&tME0U>PcJ?`JB=frb&AtdY2)@)VrZmObLOpKgBAYobuC|tos>Gm0cgqk3;ZII{%lG~ZD(9dw=9FyH(^=km) z6gq-MI;rf>X{YDh0hysMRY`;Z5`T#vC#@tq(M!$f7oF&Zb_sEIj$5%*EThW!hU_^W ZbjxVgKvm76Lvl|q0FBO%UP*RXvgX7zVaYTfFhDBjN7xqdML6lGOW+)@V|Dc70o#mZ+GXN#>GG z71JQnOfn?5I}A6)iQ|eQL!V0%NXILHp@>uIL<*ODhOA~N`mXT&I+ZpU@l!)gZhG1A z-KuzHDq895b3U&|3o|r+F?yRZB-PuYQ&P<$?OkB%k<$8cpn2o|DIL&ShIA^so>9qN$o4(`rscr1+w zk;Dh^p^SI8rCowC{+XGbx%b?2&z#v`zkmD$u#Ae17~&cd2CkrsA$?$dvdo6%)XnwX z1HPvix)y~a)DlCyP^@Z5GK_~oLYgZ_idS6MI$HPDp|3WT%Pm`nhIlu6U})$y(1#Sm zd_#WbuCkn(kT>`B{vy+zg5-5Ph_agWLyGJ?%8x%SWE zk6kuow9o{Y+xivHDu&O!ze@cymaJ1M-Ep5 z@x~c)g*IqZkaDrA6RSxBc}$U>9#?eCFwzN+0EW@mF|FZ-ft$F+VE(^&p>7NbQqy4= zD!gwJ3h$F{hmNah zXlW5;8i8$kv3z-_Sfy@PWsNhW)`Y{~`1US2$J%YsP7f))b=Y(z-Oh&ZC}H!e@B|%K z9BP+5NOok%taTW!@O|m>GDELR2BhUVKz}5tvah&HF@}A#!9BmBnr2N$LV_KN&^M*; z?(r8QV3fV+?%BXlm?G1~=rzWW30@1WGJykWPJji^lEz2$^%!wl0mG#eu+kZ{?Gtn# zLoaz|dc^b7Ym#cJ^YJ{j{Au*P@VRr?{3WWJ&>z@3?)6yB!+M V9>z(636dk<23rcjmT8RP*&pOYCG7wJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..8042f75 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowertandanonsistematissteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowertandanonsistematissteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..83c004a0be93faf6b2753e5bb08df65f9b271ffc GIT binary patch literal 1246 zcma)6ZBG+H5Pr5ru04(d$Gf~0MQsnIz9SZaV)TP)gji@o{6LO&sY`lyc(>K?vos<^ z5`Ta{$~b#1?GXquX?OQ-W}bOw=Gpu6_t$R#t0?G*A+DjzzzuXW^dHz?>|EV;Yq^cR z1748~-OIuia)lwD$(A)F7^Xre;pNtkBro{BeYDY#hYeYhKDQkm8sbUxz|hcZAca1L zwYv9}`_gu+w(Gfp2qbrGDFWKLBi!0<&9Oy&x8gauciWV$#4Da#-4wpcU^{&%*Q6NaK1Dx>O7@MAj>dh>6ZG1|K?)p3CvTq%^K3KC)4s1PY1Tc)r=n) zSU`>;A-yIPfn>6m6XzvI2HCK_sJ(If|g>b%7|U*m&|&}YxouZRwz0X zSIc}sDGRftz8GE47)*72=wvD>(%uE8?kTO$>1h#hIsv2B37B;TZRZ5ZW9Zg*^dDp7 z8<|Kow5G@rFetp2;8OJV1%bpukogu!-xVWwU^Ds_rZn6(a0ho8=KsHc7p-IH zqMo`8>Fm1}r{+{?M$~VrkU)-Mw(8lTBg`7Ny+d=^EY8o(n3a$RW<&T+c*wci_AL~P z2~1N9S{E~2Pnz<*Faz!gHS>E0W>H{BNUv3dVJMrsTw2F{%xhRMP{acokLTA52O$l; zP!0kT3ALR!jTaw6ZU+pD=S_<8kHEHcTDp9at5Of1d3%B(S+QL4I&^Bn-{du$PI_qs zTaA`tX>4ypS6Ys!T7gCGvP+jEeUeleQk4$FHL>scqQubWlQPM?02qh_mG`CaDMq(~ z&M^8T0ZP@%zu|@cu6SuFKIu!kpH))BB*`&GPc?>=dP-!als0Ma0#k36)`#@<2ywE2 zk^Bi*{tVjo33`s9=f9x;80pXCViW`diPLIOx`Ip6>0<(kH9@A&L6T?4Z0Em1Kf(1= zjCYdN-vSt<)FCXArK&%nonCkwWQx8NlLP^z|B^jQTFJDtmzvqj?d(OOplS@WQ`}5t mE2;dnBJvG0r7Y^-Z&*-b8x*XfDZvLH$f2CT(3v^S%qfNsF#dvn zVe~->4}O5Z;y)PoVHzl*vFW+aUVHDg_CCM=p8W#w3@avD&}txNA&vw?_YptlS(p0< z*{!`JQC19z6~}kfQ-;=zy^~lYnEoZ!k`t%z{(PD=VWGo7r-d$bGc39CqX-oD_qi|q z&1><0$CGxaM!>+t-%t*>}BB{|5#Q;HsTt|vd+s&1}6+(8p+fR zBd0H^KGj zr&d$Ud{yt8tJe(HhVP3Y@A5Ddp@GK?bJrwj#>~JIhKc{1Qb{8jFhylm?^>BV15LG5tfm|$Ul&%8BG8H literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Lingkaran.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Lingkaran.java new file mode 100644 index 0000000..7cdc671 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi, r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..c709d39f34e3589d17d1c26b2156c990a47dfd84 GIT binary patch literal 488 zcmZuuJx>Bb5Pf^Votz*b@}Xd12NqITf?Al6n4prJp|K##u^|iG9ytySy}!i9S_@4q z`~m(OTN6KK(U_RH#k|>>_hx2yUOt|l0UV)h!$8DBG=UgQhV+ond2P(qpmyFH3O8gh z8&b*ekRej3cH&q;+=89JDiVL_&SDx0k68YUM7h?oko0TqK&sFQ1HrwzjWwh!q!Y+s zogw=Vhaoo63WjLqq}s8t!LUE}uS5`X)#u7rQ>h#AP)-SjC)J=k@VFdzUEiy~spxI%P&CzX}kP*gqAHnX(p@w928i*i{0*d5oYFn>>u$VR* z(Svg72I+fPx6Mg+71+C+x1K;9-rX_4=UG4@7LhOMQh^aXVx BXu|*i literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.java new file mode 100644 index 0000000..726d149 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFive.java @@ -0,0 +1,11 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class LuckyFive { + + public static void main(String[] args) { + int number = 6; + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..ed58c34d229297bc3bb9b8db5c8094e31685aa3d GIT binary patch literal 502 zcmZuuyG{Z@6g{&%7FG}t5JW8Oz(Q&RYGFcRf{(a{#)1sXgbeJ?l4Zfr`z1EkT4-Y7 z2lzLBfR8(9qj8FR@64RXy)&;L&o2NDQMF(oVj`MC3~`3+h|hV$yLyJGQ?X_ z$?$+7Qmc29NFZs#N?`@5UvPUd4TVQ2e@3KYXDKB8#(5xBXorE|Uem%VGA6Pqrx&E~XLaqi}`D!Y)5f9~*vhbuD_J$spZqM<(MrY=X7i~Eg zws3qkAeAG3AQ&xUCvB>l3ugkWk}m0cg81t@`JZ* ze-=2REj79D$7fehf^FpKHT5z;b0AK!NV_e{jB;$}3GAKy;5QWbsPV5*{s40Ktw}nCiRV{HFM1?A$3I(X-2r1$MZJbrIk-dxTO%aa; z7j0FkeE=Q`F(!>@T3_s}$7jBoGroWL`5VAT?7AqRXv6YQLYZN@&%g2@=BgWoQmMKQTn78>iiBD@@EEM7hRFM)Su>%3UwPFEE70^v?2(8rM3_pX0$ zCXq$XL_UQA2L32kZ#sk`A+Jlih5fJ=>DfoVR6#ZH1$S313}M*BND8AEW61rJ!w_$4 z1W}ZKI6^-}AXRI1p=M%&!FIfB;Rjqbx$;y;YGoeC4$Z=)ywjG;rE}WwT>H>(3ZEgi z?KOqABbBIh-Ma9PdEKF%7-cGkf%3_JY7FUWz#EqbydCD7nEPuwEQ`UadR@OEcBH1X zLd|7u4pSJXH_|NvvIc|3Nm`B5OizIL;tSX#1q?+R^)V1dl7Q0`>(n#Er~}13%-w9V zQp%&}_72Hxy7B-co2fjZf9V;6nk5plOu(erAe2cxfei5#&_kD>CdOXO&?$YLPZa3$ L%<97CLu~0Ak?Db0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Order.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Order.java new file mode 100644 index 0000000..fa4f5b2 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..fa40440bf98c872da6db0338fb33313895c7e116 GIT binary patch literal 1258 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$jRne*xMX3^-fDlVC(FYvLgf89guDer|1pkLV z`@n-w`Tz+J{s4c4iT}bF@k~p!T;e1%XU^=oeBU`c^X>P+R{%4}M-f0!N60`J8bkXg z-{KjI+Z&n1wM|iy4BE75oAN$GFqK}3Ai|(Oe(QR|_oIlSRfl1q4Y6asMd_LL21BIG z{c_$}7j^GK1nuPgOl;IF?kVq116}B*9O8A2TRuY~HGdL8F8xBA`9)}HXfxmI5-sS% zIUVN>^kd+7>TO?&D&=!(1U}ISXF8cBLL>>7;MH6w1sODO5tkTxtGpuej$PvNxhV;( z?MrUUI+jQ2CNvFBxhRG(tYgH$C{hevb-2glGlX50?F5~p0O=JSV+@m)^G0}-YMtAZ z(^ROrG<}kyO2u2-IXX6ZA7o8KOm}=9R>psiMaIrk+qdsnD~IBYo*{cR|Rqv+l<= zWTUu^J38*FicT>M{p+A>}2U1PQ$xy@fAGrVelc*u!N7F;Is% zLf{lo1@aYIu?7PIF_?(MLI+%W19p%=hOAQ14{6bKT+``&04Vqz1bNl}s#T(}^Y=?z>uGq;(!#dOb) zaL>ZEE;M1`5AZ+uBis^SXQm{yDPb0K?>YB7-+BM|d-5H?3p}xqK+=R^BZVP`@dJLy z%P#l#%5QfMgrgaTo=IQoHHKuqu$@Ml0U5HjY+QlOFyry2s4Cy#`kmDKbPF~2b;z)k zubs2ibs+t{N?}ly0fRM+F^rp-u!(!JFN}I8)WRe0s!hR6b?v1pZxWv-R>8fBg(*y% zn6YsUvka55+kOl~sufuf#YJIlo4CR7)KwouK;bvIPkG45GuJYtQ+O2q&Ys7myW=RY zTo;b=8=ErVo@_7}Rn-s-V>RiEH*IfM1Y3O9C5=HAKErhW{b1&WZHAG$=1y~iw_?1B z+x^MMRipaURXcFRx{N3@eZH5YWXb5IQaaQDZ*2&@uNvXl5bj#YqhO*KwW`FBJ8y^d z4^>l?yItvaZ=E|@1s#Tuy#+c0c1d4RWn2;FYDzWRt;%3VJ(@nltxii^0Pn3ycij30 zbl%@Yf_ zPFoUv37S>f6Z&UKnxm7p0jc6Qu+Ma1q(b}*Br%M6+&qIGk*Ps%s~NLqJkO?&ku%oj zvd0)Noe&VUqa^$E?-vOpk&qza=NF8YzT#>`oQR2+A|&}wk_!v8ElAVAo8-pABI!!7 zu|fp52sH`g4^k!;*l*hFQ%s!FV-j~_vK+yIQKDU<`0mC3Wjr9AMe;+e;xT6b1I?}t AuK)l5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/SecondPiramid.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..340acf0 --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.class b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..c2e600f97a8d7f906a8199104329b38f9d613381 GIT binary patch literal 1005 zcmaJ=TW=CU6#jN8vcoY zLmxEZ!5`p{GML^VkyLtV91>F3tn}&>Q>*k z&PCfWB=)6}=8z#;Dxc0Fi8%{)3b&BD25%01BV0o1fQ%L!V@Fa~KX_7^rtt)KYgvk! zPGJEVhGm!cMO~{lHy@?x(atwq8J}!R$K{FnI1jRws#~*>Mb5&V6c(|>kelJ3AwCGB zg)VM7D4%A*khZYO@XXO)gh%l@Tv1>drp}G@i3^vaopoI7PiA)Jz&_nx)rG|bYD~_O_{Xsh_{XQh74b)tG)zIoW7w-9pP^^wC)Fk z+RZelG}jDIh66DJK3(YKoz$kU?9xS@J5Ey?QA?u4kUiB-;EH04JGx&yD6&d1i5-TO zM!@~zKzMG@=UiQ#Go+4{5?ZzX&}L z8UvztNh%O$#N#_Z!M@RkVU1{b3`8-9{1_5K6=I|ZUS#b3OyVG89j@hjh2CB)PJFG< z`<$oM+lzmPwHO;=9{7RVp%5Qoc`RJ{-=q-(tuR6YHqm)x=)Xq;P(cpQX#k>FCrpHN ZMdE4NZBSMZ$Fz(`q_at`U>8rY`WIfe{X+l% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.java b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.java new file mode 100644 index 0000000..89e7c0b --- /dev/null +++ b/online-compiler/java_files/lowertandanonsistematissteeming_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowertandanonsistematissteeming_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/Angka.class b/online-compiler/java_files/lowertandasteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..ab675d3b40bf30bcc32d23a38de12ed20f8584d0 GIT binary patch literal 495 zcmZvY&rZTX5XQfSLZN^Z5d4D}@B|+013)xt!U>h6hKmQXz=jmsEh(+W_wfbvpos?` zz-KbX+3LlFJ(DFzj&0sG0J-1vg=hn?+A*LZiy5~qI zJY`6>JEJTz$m%fi$RYnvZa=O=;gQOZ$W$G~Ajh|cfg?jZ3&Tmk;FeEZdeKNJ8EWmjO#>JTcF3p8E57>E8@3+> zQ_**n*@)>UYIC$urEgUy0oogBiaT^`P-c`<$8TWIR50vPRBa%MEcUQZwUSRK7&)D?_6?MNXZ(8I)k4PA|m!LP?D}h_#I$@Jne) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/Angka.java b/online-compiler/java_files/lowertandasteeming_gmail_com/Angka.java new file mode 100644 index 0000000..ec40e41 --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package lowertandasteeming_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.class b/online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..123f1808760eee8562bf769ed54b10b89fc6eb2d GIT binary patch literal 1104 zcmaJ=TW-@p6g?BCapF2nn!f3S6w;CuS{EevNhyy=g`yUaTooaZs%bK6-1rgMlcH>Z zHSk#;65sFvQa@M#D_|L{pyJwzAW--Zu@mW9p7GqbTxm*QaHpK35=M38Fvc+D@P?>(Zk5XymaJ10NbbsjxW(;KhaQzh zT+2NwYnZ^KiYXn_m|++jpwBSW46}t27X?cDDrOm$ZSRfnDOHVA!NMW!gCmDq_CeKi zjEA1rFs0`UhIqxR(UjS-T=BH!914GrAKKvtpxo7eMfi9z3XUEx=39t0v#vBt1;!TBIVD%Kem{tug(R94&kj7Jo|M`kXU`baAoTDeW}Cm7jric1kPnWS)`4;WJQ2$&$!S7`HR z$O7Lm9+ne}%6UR95f&ALO0_3x)S%O?%+WZFGzxSxSCGLvG4Egu8yLp}x;wj=go!D< xB-Cs2TPL+VDW#D($24PXbXXfrlF!8`)fHT&IZ1vC^se9reQ6Y}!oW?;`~e(o3cUaT literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.java b/online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..2cdf853 --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowertandasteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e68989afdbe699a91575a2fafaefc9daa971f420 GIT binary patch literal 1193 zcmaJ=YflqF6g|@-Tb9MbmRD7vMbti&`c^E0#pnmqh_TRw_<;;C)Wv<^?yQENr4b>L z_yhb=#yi{6F2V3+=FZ%E&pmVQoj-qn{RXg%nvMjL8u|=eLO;Xs9{<8CHg{W<)vZ0T zEgAY3E!UDu49P;VsUgKM6$M#dW#vGMn(y<2)llw-vLSuJ9UU5y0~my%VaUK`q#4S# z_f`0kyE{CPLO7P&+H5)8vNyLqr}Ac<3e?=zC%z^Es%UsIIEI<}h4rcf7=fuFV_+0x zXP(eFplS{=CqRa=F3vmOayx7(dk_-_CRM88#XK6WFl0_k#~eDcxTf@)V#pS{pm7bV z#imZIW(?$zCkX=~$;~j?3y%Rt(bqAj;f8^mxWzDgpU3|)W%9J2&mJfC6A0(pF?g33=5r?$4SOu+rw5pe^YGILtlD3 zf+1bET=6z^wuHaNw`{r@Bwg3{+ha$)cptjbazxV#EOOUedK{OQ=TdpI-eb5Tc0FHI z8HRisH!@EFMq)v=T`7Eu(X5~&_i)Us=9HXz!wdaw@!C>kGH1tlUQG`2G+hb$X$hF> zCy-^TQKP*NOno_8AJgdxl4JoBr6aJ?3ABwP3>-o)eaG-2#=nt^Q4k0uNvlEW3NB5z zPYEOufs{KS=@Vo(NY80vP{K_9RV7 zwwt{eWk2s`FAxP)V~ibR)-2S`QdtrCiQC7x+aqEUe_)E%X@Z*}I{7Z-QUtk7YXUF+ E0U)dw9{>OV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..1d77981 --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lowertandasteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandasteeming_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e2b6aa595ec772e1ac46be6e58aba4928914f687 GIT binary patch literal 1219 zcmaJ>YflqF6g|@-TbAWj9tGvGC}3NZMSNlrEJi<=MvR3f#1CYkLmArL#oei8Acb&IelwjTWt3~ApVpD{a)$${d3{!<`bLP4*fTV#z z3qu(Gr;K8QGP=Z`02zkcIPU}LoinEBZlo-X>QKv%SPa}`7`#XwF_;*`xbE2m!&tfv z8tp?aQ!$;-ghu#VAjGM?lR0>+p~7N7&@qt9>YlbV~a;~ zdNd1aGNC4rVVEwyI7Ju9Gm8}kh9dcLb zao)GE0EZ!={1z_5P&#upn~4WlGVsvCBRr-l_(8=vtkZCvd>GRFsk^+ndHt!*Yazq( zc`u@rBd{$A=C0mkN>uhMzbqK~3epqr>h7)xHu-LiZn~+{TSqN1(sVx5JtbXHlA$DX z-lO8UlDtdh8mt*J&NPx7x02qik<@c2c$j6Xj-m6qO)flmA<&x1X`t@K> zypftr>Z-UGw4N|cnv2mJj3KGt2IPHK`_5>_@24njKUB@u9 z-_U=Ik*{Q8C9F9xwp zJDvSGeHn6XkQq8@CJ6!<`A>9;lrq|mUTH?ZXh$y-1)XD;JQ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..b1b1c80 --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package lowertandasteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandasteeming_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a01764ce5a6f4dace74fdabce05acff2ee408635 GIT binary patch literal 1211 zcmaJ>ZBG+H5Pr5ruN=o)3ls#TC}LZb6A=-LU?KX!5HS>*5I>NmEcHn5uHNlw`m;15 zL=u01Kgu}Umg^Y|U-ou)W}bQGnc4gO=jSf~8z}0CA+Djzz%ATn7&zshxmn{*)!aEc z6&1;Fd(Cnzxy}&J=E@op43kYK%QZI}QWQOpH+BM94`fMtg4;SY#JkZ0Lqo5DKJ+t~ zHTR3~BzKOvFNLrzr+Qemxm7!?xVHIrpAzhN$HLp%i-Gj7&Q59;q5sQX945_Qs5rd8~OeoDJ8OE|9 zXjF$nuB;QQDFYcylZ?KQWM&xcxJLk+-uE%1;eml!JY<-?QL|7khAtA)VHnANXz^%v zk9t8O6KVoED!cU2s@Lga%k^c(ab?Emwn$)(s=G2}Dr8&DEX*%2sTMvqFb|U9@h z!%#MNJ%f$~Jk_vh;2D-kdDp9&rvWw8Ec!n6oD}8F&FfDAulWos?fRoMBe1QpD_pk(cjgC!VhXx+Caol%`Lg(Td#A!7syqDnm==KGH#F`*;ZIJ#;j2+~^LqEs(1@3l&)lWb%=tBxCv{Ttv>B~?E zL1yTrm?Q{brJo?T4Q+i7mRlwl>h($ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..0c26fac --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowertandasteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowertandasteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowertandasteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7018cf48d62a5108eefe3f8c376e7b83547206e0 GIT binary patch literal 1197 zcmaJ=YflqV5Iwi8Y*`jsT3!W#f~aj#R>c<bf0jms zNa7FhM;T|grCoyI%iX(oX3m^BGxO)~uipSxQBe^?TtPy^HS{o~4~;K|ZW?w&-`G3k z`;wt&S=d6ZFvJVRnt~+5WauOueXS{Z#dVG5hA)qNxg}k0SSl36d(j6?LBECpq!{K+ z=PP%mVb={$a&8H`vD>f=Vealbmi~5|5^T72?tb7NWz?Jq9K-bbmHEoO7(_-vR>Kg6 zFO;y=q-+*3CqRbb4$ga5*lo5H-G@;PV?n6qL@Wx%8M5c8BL)>YTo3e`WXKgdpivFV z#hOa2rZwa-LlSyil9^$w>mC6Ny>DPn!A%XfaGPQFO1(m<7!o9)%`j5<*y0d&je0=h z5@HfXh6zFSR~=90tBze4QaEGS*>@|_8~cUQv#bcUpK zT5t?Qh2rHTD(>Tff<+Av@rbY-x1k^U)JwhMdDLza)CeyxKl_I1F)X#qk1~zGwkEE8 z`K4H+YO7A2Go;pq&ENUf9u14JXVOa_iMxH&nmuaBrf*AO@tW`inJYGxYXo&u`pkNl z;Tk`1TwZ4AcWLJ6dJZrcajG0h?vjsYH8;8Eo3b^Z>4;14LLTatGcr4z8y8I+w9^d3VkeMkBjBj3ox z$O!}z56=XFrI4oArvwrULFU^asWaquN0-QZyDLHja543_8?WPe6qhH?jF zj{X8BNdg%8Pjrq(WxNx;97aFyL@%}}WZ5ZZGlfhkpz#xTPI0eGqgBHsNiaonYflqF6g|@-Tb9K_fkIVeQP8#^MW_!f4~vfvrV%61g!q9>VWM;t7#jKvTt|{& z*7m*#UvhVk2T};fa_c*Fhg|Tr*7*(l;7x8Gg!7zAHI^xig!7U}(7(*u8 z293&4%2jn@HEzJf1gRJZNp6PGPIv^c8GRR%8m0`~!+nOSDGAiZBdibC*l&c!+ro3kHgKL>=+`df_0XJ{QVCK%+oP^QQ6Y zQ^@UrVewp-DE|m-YZ^meQCj3oav+1OlRNrc}=8`(~K6It! zh^iG>_ z2#aK?>d)xQP-=rr(oQi+5J37r*`qWonRfP4Gkdw6y+{;PjbV0*JE?3Xm7i8beqiPl da~&cn;t!0`dYjD=kP=bU@mety4y0N6#|KnP(SktCwf7zQu-4KG;SX%~(gm!j!2 zXxq|}evu)ZU#)4SVz2Y~W$eUYFhDD95)F+Q1_)f1?F+NUt*$T+d|}VUFvyTTbZ`G| z#*x9Wj%*S+jPxm1@2&|<CIbB94M(k+~L(($XlC%C<3U<~6rCX$%M6vOa8H4M>? zLJ&p%mm}~)1k!15t=4qRFw9%-t?+#Av^a?hn^N_*&81aux_05%YYC4bvgfvhav&X1 z>Dmq9o$`i7I}xgM7)J7E{|PXpsy=UC9q~?3uVbm-XV3|QQFXgsQ|wDcX#|=Z$`9r+ zP1mAE2;>GDt+VtuO 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..b6919e85689cd390b9060b619ac16a1c86f435eb GIT binary patch literal 1245 zcmaJ>-A)rh6#j;`JEbfw6bdN{qVm&%QWZs|C`y&sqzJJD6TQHpOxlI*?z+20N$@@N z+6ykc(hEqq@Bw@Z6W_uZ@k~p!{KQFS&Yaov^L^*c?6=z3ut3O8M*>floBT8Fprg5cz~lifT4aK?ZeP#3hE_s@Rk{+bRkFx#1I7 z%kzch*RecGH=${8%0@7RVU7_UqewAy)!`nG&k%A{wi9%Y0;E?s#u!FS`;Bxd)w&?S zvP$(@EmwtMu9oa-X3<@jZccbqxL~7xv4UaAr?u*ubeF}NsXmak#n6*_c^YMUg`vIZ zi_+$TaO(CP*9q+zrVNpyU2{uv-cV7ae^XB=YE;`f+x9)*70!b6EB3k<(=ZjmZQS9w ztBN?yF!Zl!hP7pH%1nc7qptI!lzlGZ3IRa1|4@ zSEfHm*GRsL^TPOauw^Qg4DO-z6CF{fDDcOh`#U825|g7#B*&7$cx(@yAJ7w+3hknU zbY9oB;8Z9PQjWvQkER+)nkwr+G{1{zHxeXxH+u75kW3xm0E1{0ld=-KZefecxtzz=EBIIeN}C4d&n6w~{H+93s?pOZQdkYxZj>KP_+ WlVq3x-J+SrJ<=kyyN?H$L-G%!CMiw; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.java b/online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.java new file mode 100644 index 0000000..e44b600 --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package lowertandasteeming_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.class b/online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..30605f0a3a003d119b5f5fa07011c516a00fd6a3 GIT binary patch literal 992 zcmaJ=TW=CU6#j*!sWJe)>Urp)E{8Ce?elV!tPIJa` z!|`-D5Od(Og-%AJK6^{o6b(d z4f>qR={ZCCL`vZ`9PazVH}Hh+>Q*P_6=%Grw^!4`R z-(eJDBV>RdxEpTbBP@?MQ~quGt3Y2EApw(Q203~+Y38d~#B-YYC^iTaA)7@yORFu) T>d{zM@R)2S?W@?sQ>^|4-3Iri literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.java b/online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.java new file mode 100644 index 0000000..3ce2d4a --- /dev/null +++ b/online-compiler/java_files/lowertandasteeming_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package lowertandasteeming_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..9d82d161ba263a0c024916f3ddcf2e4142be40f6 GIT binary patch literal 503 zcmZvYO-=$q5QSgEz`y`9fZz{mUqg(faM zfM+ts>d}n}y{N9Pe($U5{``Lb0C0{I0|_K`XnCZNW-u50fp=Z*&%3wNg|H<lYqRNo2>L_u69}HHMBGY(yv(c`bw0CJ1LV zmGDS1nS0!ECwAag3I!1Os)d5bp~m)#@nL9{&J=ylm3| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.java new file mode 100644 index 0000000..1cf9c88 --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package lowertandastopwordsteeming_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..3d69780072d7d696207e36b857bc082e7a7f162a GIT binary patch literal 1112 zcmaJ=-A)rh6#k}Ly6v*1rToi}MT@p56ixJ|h(AqG45#%Mx@?u0Jg?re6akiLM= z;3fVfUh9P>T=)P!fsf%65YM)awxMy8ojG&n`_4Jv%$c9(XFmYk$87@ zM3PO4F|pl_Ys=yb-*#0+`GPk}87g7aL zf7sx*vtN~s;v*^R6(xPa5G_lKrqs6Wif7Hnf$(?vffH^J+GUu`zaEr~Az4wpTHoPb z7jIN#)31t6J0y?%&9E9Op`#>+3Y5>i9ieK{3Q{pF8Mub)I`ZL}6&P~=F3Wb0WnC0I zhtoO6OZ*#yMKe)68fdTK*39g$zb6w6_5b2`u1p7y65+QQEVk z>lyu?wlNz$#mZbJ{sD=!vGEy?$$pR2Tqg06JSp2b0PZDc%7=0YDZq?&DD zj7VQ$%%33*e8YHHPNZGVQ)-E@s0ehbJx-$mlU`?r#%UyxqZhi26xN7&7h_n*I3Cg) z+QB3$n8GVUy&=6dik78FNyN@E%@`XUHbbFrQ33a-)|C%rlPmvNI;23ad8;udE9 E0MH!{M*si- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.java new file mode 100644 index 0000000..79c2d82 --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package lowertandastopwordsteeming_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3562361e5bc1d3f9c01e80decc14fb3a26182cb5 GIT binary patch literal 1209 zcma)5ZBG+H5Pr5rt{jJjD{obSR#DrcRK+(e0>$VD(}=Oqg!q9hu++nQ!Mi;PKT9J* zB=HCMql~lH(jLJWzwFKJ%slhVGqb;b|M&@D2~`~lBsKIHxP)GY!9D(&mu>Dg%d1;^ zVp}rwE?BN57a5X;VnaiUVIm5$yzT`0L&Jc9%SbcK z+1`QhC3kmtAiezq&)*585RTDjQx5mSL*)&$^X9 z48hcpF))mgbFI`5shUF_5Fo=y2j{JCxoy^z-H$N?<0{qgVjc}w7&2$2V-6izTvNJD zFk}lI(6|I%P?Aa z-{KNYk!C_76LJbgYNIY}?r@n?lgQbj9R~RnX2{WEopU{zlOIGb;Eqs(ylY?PKctqNJezUw6(m2c2AfU;UraUrUehRrAFwD0Vh?9)LwwAAQ z@ut|IMqhY4f+1bAT=6D!wuHaNw`{uUCwoQysyPhv93?W(n4`e8H81rPQ>d)xQQ0ah7)1P9J zB7o7qWRKI9WINdlQTFpr_B>HgHAdJ8uA7CLS(;HqzT?gb?sbWn#2=WTbCTeuh)%u( Mxfnq%(V4*VA3+=*GXMYp literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..dcefd75 --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package lowertandastopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + lowertandastopwordsteeming_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f663f899e92971a6f52b4b22ac780f8fe405a12d GIT binary patch literal 1235 zcma)6YflqF6g|@-TbAWj9tGvGC}>-hB0dm{Vln!`G-50?A$}kO9m>$|PTieK`m;15 zL=u01KgxKwg?0_b_+@rx?!D)pd+(Y3`Rn@+0PDz^h#+d9%fdBuGYlT_PdroQZaK5L zcO>>TL-(3=rGCy3O{R(lVhmGFC#f#~YhM?u7nXrO3;h^i zSgERG;c4!cxUW_1Sa~I13*kt&yjym-tnThBC-Y{T5^X3|DQM-1E#XskONF2rX7c~c zo$bL8;s%B-j9~PSataN~=ui~|$S~T*dFM&@f;mO^B4J@X2(?tmV&FQ%@MY?d!Nde6 zgWgRsOeEW&;eKROMUz;~SgL74#VPq^{(AEhAwKT z%P^Mw(BjjaCe4PLP3SSC7-mb-uPE1U(4g&-Eb$uG74F)+#H;+!US67yVSy@c)nU6z z+xk%0K6gYg-g_1nkzt5w)xu>MNv5u5GjSiw1|C>=h(|OH<&`r>bsBOe=li4w>N0O` zUVW_ds?V@`(UUOc5Nu15*{e6HB9;A8l?1~;Ub^CK-Pse~7T>GVO)qtPyVepXP3e8z z)zT3~=}R)_Tq=%hsa#4Q&vzJZhyxN~mZ8rhA=35|U?}92JJ7--A4B>%w_M>=W5^mP zn2csY)xCZ3S_WhiS4F-U=nAu>y$HR@2;#w;pB7M8Sg2zegV>+!MN;@EtJ_Spk z!`L}R&k4-*7Yv?Y>@%6@z0ulFj(|nseFWD}w@(Np(gaz!02w&P#7_Dv%v0Pr!*nM& z_$>qs`Z0`E+6CF4(w8CI2AQK%z$8WhV}FTGkW$9m(QD1Ce)L z5J~(2{wU*ITdqei#xHxjJ2P+IyqUdUzkmD$uz{kA2%-vlG~7Zj!_bNG+0g5TUDJ1t zPIyH!^sbqjA6RvWD0$=DS6RxjOLCf8=fplhZ~j(1<^kALsKxIA&xY^WHJ-4s(j`M@qxEAF7FvMZs-`>Q$dLap?E={tdPq>4 zVJ!2Z&8O8(>J5oa=rLre{L)9W(V&Yh;mWivWZE?>9>Y9Ud1Xph$hMkZ$S*JXEq$yZ z51k<tL*PlG2?lP=&bO_T7 z!M4Y+aPuZxrc$>=l`{-(n>K&vSx4O2Gmh$X(@!ezH`)V9o!RwlX@4a_3;VODG5D=sSa& z`--76jC~;!y*66o6(P|q=Wfjiw`|EJ(Hh$D#= z+WFa6>B~?EK<4P=Gl>zv*k7VkG&AEt^ja(WWe~mCp^#)3xSPl%az2gkcyxg$T^j8g UCaH!gA~PL;t+&87XpP|2A1g*CsQ>@~ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..c81542b --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package lowertandastopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + lowertandastopwordsteeming_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..248840a27e892952f06d979d153fbac21f6ba1b2 GIT binary patch literal 1213 zcma)6ZBG+H5Pr6;TsaO}THXo*MN!+LRK+(ef`w?*5HTQ4h#$y7m%5~Pi+6jH{w$41 zBZ)u2A7z}omi7q7_+@W*XXcq_o|(O0zkmD$u!6FV2%;Kd2CkroA$e$iHj8!Bt`#@- z4*9-f=vflBP|FO_T)v_q&M+A`30YiiC|-6Pv$5f+BTsE9hntoT4bfio!O+leU;qh* zg}OZEjxz14=_+}2ES;*WIJbmd+pSrqsPFDetN3P{5^XqD?!4zNWj168mSKARpLt8Y z7(_}#+Q1NoFO;&?pllXZK!6Ox9h`TLu-mLDx(}lU#{5u2hAbM!8PeyeLk1lgT=jLE zWXR+?pkXaa`HD`grVV5mC9Oysu+c!wmyBaf_kwU%Ca7F~mqnn_(pP zp~WTWBK3qsCgeEs3=@KMSd*^Gu1UKpl#q7TmMZI-7LQ|&M0+J_AF~y+?(ytv@}2R! zdB?y!iVSfjTW}0Rx%}lMI_}}Vh6Mu;@Q|>iQ!5^N)YD?wb*cR%tQl-xeDch?%dps% zA_j8}iV%r04AO zm%?Y1zBt(P{w!gJ<}E^RFoKl-MrfDvhmXE7F#j>q`iM@C5v3h4S~vwOoI%?;Mehmp z!dE0uF!F^=jGRCq(O``cSOQ79eL^6S0A#KWk~l+Vr|=E>DJGhj>IVD20nob{AO?%H z^RqvtFGHyVGD|0)Nt^&i{t}&`Q5o+R literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..57eaefb --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package lowertandastopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + lowertandastopwordsteeming_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..872fa63784b3e237bd2d32bc01969969ffe001dd GIT binary patch literal 1248 zcma)6ZBG+H5Pr5ru9U+$9*O1N7CE#l@N~YR(Glnw`)7Q(#gHvqC}f^UA*9mZwjB1n=*vVFjo3! z>OvR#kTlS5VgQ4GRI_nR2^}he02u~bIBz}My&z7}-54@4tV2y1vKY9*(0`daWQbz~ zx3qMl3?u0lXjqOyrW_|$V zx(uoG`zD=6FR3#mHG#*FVVEh)THpw)!fW!-TDJ0Yvr|?n;J#HCo)a8$?zU|6`FsqM zRDH81%azJfAB5#|N9ayZo0vh4A*N(A3By1-b2W7w4>4z8-b5acs58>5<_-etcdqFB zG#aEhZ){$E40z3FSiI0D%s&L%oX*14n@pKBcrNz@L!xB6;!WUGgty5nHM;30^|$KH zIi-%h3tVM8qHOy%nTswJ$CWKzN}nvX8Lo+a>4^eEk4HmE+e?7HkW+DA36Ff@w%=|> zZ^%Ipw6<@^z}pqCY|STiW#nh{lwq7EF+vYCf~0;xv`gx-q;Ch9eyOxB(CIOvv;&5+ zr(oH07~7}lIzc@91-&OoeI^qlClE-KR+GXtT!L<&5J;o}GI;@#ILF9#_ABD2xOs-# z?O^?n0QxC(0E@KK*`Lyvq0j=Epp#}2BY@OjqK9c#Mq1HJjp*f8^deEvIR@Do?j+Nt lWOh;$`G%=8%(jUni9aw(>urJ?BRb literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..0162186 --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package lowertandastopwordsteeming_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + lowertandastopwordsteeming_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..2c6c5a5341d9410a8ae2ae2f80cc3e48a768f68d GIT binary patch literal 597 zcmZuv%T59@6g}lJ10#qc;9K#HB+AwVMH3UFiJ}RHjSDT%V0C6n#zEqjxO3yewJtPq z;RpBwevQW4aifWC(%!cBoO4gx_pjGC0GlXS2qA1Dl0Xy&!@vc<<|UiE?b2c6LNt8_ zV_mw^uP}rQ%XMR`^4Yonur^|_7+`Fz5e>B%`U$)%+voW@x4R<0=L=^hh5?4uzUuwn zj3bR96PX0E$o)~Q-CPlhgjAPwv-?3UQk9N8>H0O_6Wl3V7{RECu>{63!7%hs4nwq~ z5kyh=;RyT?fppvD<+_O}hN7){!t=S?;#a=v^pw{kap6$PY1`q_K5Z(ebm+B&#}L_8 zEuo!AS5&)BLwLu$Vbe~8GF^sT;p9IdhGfm>&C3Jc3Gz)W{Pi1D#9-A_*K3L$sVS{M zb5;Ao3?}J$bPIu8!Ju)PR+BW-?IT)z0ehr?Ay1<|2EvFFaF$}7dWHyfAfJJ`n~qnP zGU&U#Lp+_VKEOz)s!tePdB(722?Z=uFex?&Wm1nJMSNNG(Y+^$u^)4EO26h4S^78g Ky0FCnyYvm0L4QO5 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.java b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.java new file mode 100644 index 0000000..492afdd --- /dev/null +++ b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/Order.java @@ -0,0 +1,15 @@ +package lowertandastopwordsteeming_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/OrderCase.class b/online-compiler/java_files/lowertandastopwordsteeming_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..03fde3dbef7f5cc75ed22351cce6049ed14e0909 GIT binary patch literal 1253 zcmaJ>-A)rh6#j;`yQQox0)-S6QTb^>sfwaf1hq;e0VS4Tq8B)AC$O;HS$C%(3BHG3 zd%=ZQdI1R+K7dbQ;#(Lao@t4;LY!pg%$Yqu-*?W;e*Jau1;7mQF|;6LB5WZ7gQ0z$ zZ}P0e-PP>V;<_j)24l*0Z8gmhN@td%h%%Uu-gv$Uf*4|GGhtacg?N*1LHV}3$`D=S z!CGFHMa_FIigxmTCRVEs_qBJ2g-&!)4)MCmoq!>kp8pp?F7v{e`AKML7&G5$60PXP z853tMoI_u8>g_;@3gwek0-vmhvt@RX5GleXcqP|CLHaFRz(t0h3f~ZU>6W;9ZYu)o z28z3?hUHZD*w^=JXzAsDodl6Hp4!+>zMB>G$Xk zO+0H7Q@68b^reZ?)h+<;r;yb4VI6Q@DrJ9eDG`*TNx`3dm@&F?3|9>POF#x~VTC!U+k;8(42PrIKiD6-ee}=dl zMhjg`JE)xJz%XxMm0{0T*TSQC9qw!8UMsId*$amPU3498*%xi)RL?9|yy2QN#OkUe z7%~k@iuZxj65bha*`$dPSTZb?KhFxtU^Z3YwZ(}Qg46#T?uW@!_g*WdeeH4gozOki z@iPf*nRtYff$gwOj~Pni3$f&t>Wk{AAEVBl@U~Xo4a3*Tf^UH%r*El9Tll4hQvJZK zO{Y1bxnp>CIOEkLh~Pf5th<}H%7#koB{J{NCh!3zl6vqCy=yics7$E_ZXc}4iH)!^Ev49se`%$bDCPKO* Y@p;;9QdUofw1TIkGfCdXKAvIqFAmnLG=t@G zUj%yxK9_bN`BuYoC2z>Bro-(P-5l%91|_Mu&5wLt1eDeAVvr0o)qmzJ4`2kQhKzwx zjGZf^b{I(E5PJe-80+G^^KG}on4$+UVPH~)8eYtz;R-|MEOpGFBa3UQXHyK>LKigN zhjOv56RQ~mIpnF0fskZonC!X703+`knALF8z#MKd%>B1#QM(xWsEIDac;Q2vM>IW} zh3z&8HH9LTP!lcgaGB%o4$rm1Rv6?{m?uM zp{w4GU`SVOSG*0KZQ-x;?H0WZQg1g7+VZ1$yboPzJECp}Hkm6f6-T=BTuN_Ndkj~^ zuIGy~!w_jx((w#nB<57vmBJ?<%?>*49*$X+R>`Q>ywGom*R~>)IWOe}r5@x-VF~(i z37G0f(8*MCqrDGIeLY$q)9ne8bOI(y$6%#XXq(3vID%gKis2)Se<2eiClE-IR)fM7 zT$)~=5=bHfneTw4Pm$d$eS?0Ct0$Q51*=aFWGHkLi*!=ipV7`x?t;wHO)*Ik!1!OH zCrKsQZuC+V{k$8!NEB3#F?NFMW}#}9<`t3exP5}VJt8LY2c~G9Cb$`*lkY+Oe0313GoBj)}vV3=q**z*Qs} z7F_O&V87{eX$O+;);w48n%u2B+-}gx$-myFBwKb4}9i-v0q!xyO|1|4bKP;HxF zNM|~r(N+|*6`fd38n7@$oeYE|GsAe-Jp$PBzKv-OcMROcJ%;Rm+jh}0h8}9A%aF>v zZ&PW_kS1cgbplQx%P?2*8lfYsDsOm)){0eFn4h)EArGvk@SX6GbGKt#EEE!$p~~C! zSgt26xi74MJ3>wPzJWR984}WKCt(=LWG|=I@c;`N77Y~ekf!4K_549dv(A@-K=^9R zytR4xG31SaVd=a#QT`FwwknI4Z?YBY!MgWBFeJ;iE8c`oRrp)H+Mt_$>il-ItxuZP zyU>-kBPw=aley$laU@L7rSxXG%WzHXdA=wz43KywZ7%?ZB2J|}DSYzL?Vvl1!H9zr zv$Ah`pVVEKn#^_-h0^+nPLC0%9Wa(V0n431 z+c`nsG4$LQ3?3u(nM{nFKp=5i4GLFqNxFSPAh8z6%sEK%4C$TRSLi3Weu|sjVD)bR zhADIeOSDtjpVF71*a4ZQlVXw}fYe{2$4M*cPV{msdZiP+L=;qxQFe-3W~OZBW)zWc fm_5aOmxxLHfeBh~65J%wnd(5UwjiI;8pHG7`0*zZ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..fc0fa0e --- /dev/null +++ b/online-compiler/java_files/nareshpratista_contact_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package nareshpratista_contact_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + nareshpratista_contact_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/nareshpratista_contact_gmail_com/TipeData.class b/online-compiler/java_files/nareshpratista_contact_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..472609c386d70636d282d89763c7166021ba64ed GIT binary patch literal 996 zcmaJ=-A)rh6#fRh4u4ri0;pUSxF6|=2m5Io=d|Vm0_wyiMsV?g_3YfDn?_dFo40B`n8PY)# zEupwiP&q4rVcNn9Lq+jWL~amrBPr~8M=QfS=KRv<(j(2UoytJG<%Tn)8u~&o%rvDE z?_<9$!c*S%$dV$kVpuGH9v6(kZs|Deh$ESRr~VP{CW%w$-e_$i6Y}6h7*}6JS!^;C z&a@Z%qSWS|?v@TptXj%qi($DL^QaVv(2u*EtKs=f22X4}McG0nY3vTe*6<3Yy4GD$ z8+35c>mw>thdqX`qb<4x4pMo?)rBXbt)|x9IH=z*Zp3oO@w69+G4Rp$42G&cdcU_6 z4eog@X+)jDIaW%94Ub2Wh%7v3*uGcOxKu6F7}oy}rFkCIg$*pz>?h9z%>_+Atq)0C zBgsgncYcC>qYc9UPT6EXky;Pdy>YDqdNT0ix z{tjy)b%QD32WAr`eS@XGGUVT+KMSxZLY6pl^g77XjXuIGsxsKFD>ipqmDR01 zv8@;`FG^RcC5B|N)HIM{n2Lg=S6MkwqUQVjU^P_xp=u~!aL0s!WIqOA85p#11!;y^ z*Yh22%YX-Rv*mDUZ*F@|W|+LVQBjW=`lxd*!&vcSyLfa@)OG2$2$e#K zbT@>}9j@}+-QjsVw8Nl~!W=o;GV`vd^6Hbw2iy_*s_t5tM};A!yf%qpq*yx7H*p^i z3_P^(2#=}Rp5LnMg>-+FS`Y|d-yV;Q*Iz7cK?9l?;U zOIN%Loh{+7@hzKn2B@Ly`|UxaOZX7FN;;w`14-_hONZl1dM=gE)O!k7#IEOyD#M^p zb4KPVU^o_3+f~A+7()h~b`Qn8dO*o(HoVZ^7H^~$lRZ1X^Lk`Zps`BO+e#p#XP>N$ zo-z9Nf$2v^>l6BWiX>UUc=-sdd;(+R2>pjJ%il3{h_P?vViW{|Bx$uMUE|WU`-~uo z2r}1!q)(9BDF1+Ygvnz}_mcJV2C|eof(5d4_2=|usCFT<^rw}i2rza*_5@8yuA99W zWxwcVFOURXW0W1^dZt*ZBG+H5Pr5rt{jJj0)?u;p(t%Zicnv$AQoRfm`0316XFN5#icIv?(lBUgrB7m zA(Hq5{87f)7TPlqzwFKK%=65%Gqd;m&(B`~R#7$)L)<`@g=^?$=-=mGc%i}FdSSh` zFLo6}_p)@Qdd3jX=Bfq~3}ek8=@r(FlqmZ?KUxpfVW>8gFSujEK)eUNunhEBxQ-;l zwCni}Z^(cLa;NTa+1T0joWh$eV&0U8;w4vnQv{UF@*-3W6P5qwD)nFhDFcHRhA{k( z{EeeP35Qe@A;WN+=bbOzbESmt#fXJb4Yj<8$G{DS!Hd)phlvbs=~|63WU_72=>1E% zs!6IQEZCT&@&!VXn_;vQ9wBT--@%lDyB6+YnqmCvT3wWhp^NJ0GNiK~TKSvZqS{Nh zPHYL}80M;8BXopa;|=e?Ua^Y{^Rsp(_7i^T+H=(?>-*siB+^-0(P zcZBZceG79aFeH@MO2ROd&0S7y;sF*6ELteyA+^Hu>xKQ08eAv`f$(*2dDD3HIpmFi zVd=aeQT-9x*8G(&pX91kgBRXM!H}#-SG*0Kn(#MytwATfRPL?A)+ADk-iNM|j;P8& zlDq8E<+zfbOX*XUj>0vu=lP<<(C5<>l6gTe5D6;pDdAI$DT7Wk`Xd2)g0+9c3;kX3 zT53J%OEW&F#|o1)dNF!}F{JbpAuFZlkiK1D`YqD>h<1+=Ckq(KpMd4hU~HeD=NM-G z8~Trt{z@)JK_HSitro#GU6M|p5J{{_GILInJVRzX{~hKDZk}Si1J-{5V343gSRzYj ze@b75Qk!Ioc3Me-2+~)eM`>0vZS-;zz0yW6kp!J%n4RKwDqBhAXS9$Xm_5aOM@WkF X17oy~6Ws*KnQT)&Yf`S#8pHFyO*kFX literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/normalisasi_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/normalisasi_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..3b09e5f --- /dev/null +++ b/online-compiler/java_files/normalisasi_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package normalisasi_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + normalisasi_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/normalisasi_gmail_com/TipeData.class b/online-compiler/java_files/normalisasi_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..ae7f8228255f03488747c6566e5fa2c7323ea140 GIT binary patch literal 985 zcmaJ=ZEq4m5Pr729GtWumA=?gX{8Dki+*XMv^5da*aTk^n)<;Hb%9OUa<@zF_L}fd z{2Tf~6F&F@{87d^sDTFJU2bM)_L*m9XXk$Z8U6zB3eRmUAYvh!LJV<+%oV@pRfns~ z>W9{qXd8z3p;XcwGek<|^CS{TTCh{NgVZf}bKo1{5=sXYlxvKLq^^GSq%uw83GUXi zlyfPCG%^gUF7JuDR&8!RNz7Vf2x!wSRl9Dasa zKgn_ezBo-FX-21%bfDu3OpP1 z#T@wbLB}&uo4%eKiaK|krZl3KK#3uHuARUYg%)>ouW(dgl|ll03~P;m`-Q&n+@Qy~ zn(Q;APL&c~-Qm73d<#z*c4s;Gnbf5o+(h!fkfo-hOz=zKQ4Fiol$@^sGNi)*1 zy`Ny;Xu+^SGTa6tNMdsY384y6@&hk3_F*P|l(CLCHoN)mK{Q5sBj5e9NniIM_8nF( zI>aLI19w9sHpJ@4nDFn=?*#h73~|^b7m=a&0S$Wv%XmS<9>Er27RXm1y+o^Rs_OAb QmhpsqHrW;I;~Ccf0<)9!vj6}9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/normalisasi_gmail_com/TipeData.java b/online-compiler/java_files/normalisasi_gmail_com/TipeData.java new file mode 100644 index 0000000..936c4ae --- /dev/null +++ b/online-compiler/java_files/normalisasi_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package normalisasi_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/Angka.class b/online-compiler/java_files/pelajar_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..76132918aaa632d62cbbfb04b849b4ccc0960dab GIT binary patch literal 484 zcmZvY%}&BV6h^;+mO?2~ihzn5*ntcC01%CuutFuNVdH`frD+QNA*D6(eS863XyU>L z@R^M9PIY6#EN1S^eCN!~e15-w06537iX8F^Bn>hO4EmBkaMS0ZYu?V6j-4v5Af0i~jppvE{8d67AZy)dzo*x|vTh#iKy<@h|{Nr#6E z-tkjE-E>vxs3|Zs)UivEEii+;7AkW0e&t!0WcEUL(4Q)3GPKs@Uh;V62Hf*!b`+Qw zp}XP?(p9u@7^-70bZ*jM?!!AjqAIvt#u<>PmWfn|Eusb$Z8{;}7i!|E!z_FB1Ds%FkN^Mx literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/Angka.java b/online-compiler/java_files/pelajar_gmail_com/Angka.java new file mode 100644 index 0000000..c4de160 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package pelajar_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/pelajar_gmail_com/BookStore.class b/online-compiler/java_files/pelajar_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..2f5e876e7e1d1ceeb0c3869ade98a052855822ac GIT binary patch literal 1093 zcmaJ=TW-@p6g?BCvEw>Tn!f3S6jDeEtqT(Tq?AXbLQxAyu8I&y)ifD3ZXDaPCzY}R z*1%_ZNPNQwNc~^|tbk>(f{JS=f>e#L^1Hsbb2&G-epa2Iw;k`O$8X#6^Mfo{Cw9SzkE(hzI+JEp9veHLqnp^1P-c zy+AM|t6rU^?6&QSXYJO32zL2_6D<(hWtc3z9;D2Wu_UiGcevlf>z3CJYGTul$RmGu zSdGf2bEAX|Wx)L%Asb#j%%-rU;~K83C`AWUW+?vqGq!u|HHFzdiSC(g@)}j#VR+YX zwFm5qKH+ZN5n*wg?6v*M#k%`4=ZL!NrT;(mB&ytTEL)0-h8qlpx*aw> zx6q*mqqxp}E}Psf@H%&RqrjFJj4js{LDk`5C_)vh3`-ZB4>F`;jbY*cP-^C`do1D- zHGcFYKz)J~jdS!hPcx%=X!$$X7YZ1q5HAA?(pbRd9`qMcleA_h*YoN|LjA0$)ct{s!2a~Wcg;#`nLw*~i qRv@JeQfHWEjExTKqZ;{KjJLXit2Armw@B|YZqk=d(F#o5!ptA(hXw=y literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/BookStore.java b/online-compiler/java_files/pelajar_gmail_com/BookStore.java new file mode 100644 index 0000000..9168e09 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package pelajar_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/pelajar_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0400e300575bcabf742d80c21d3616380b6b93ba GIT binary patch literal 1171 zcmaKrZBG+H5Xb-9qF0W?!j-40K&z;2QO;+@B3O*RFpU@sO^7eZ0!zJm4|um{!pG8x z5J~(1ekkMYwX{btzS*1Gnfc9sXJ>!^`S}aL3Tir1NNX4{Z~+$?M%w%fw;b-ZthMd7 z*pUnumu%0L%M9sKxv3$;FdYZkzO{NFMJ)*U!CEBuBiWFF;I0l0=|K#^&@gP^60!`1 zec|vn54Kt^x1FsW-?iRs5VhvDKJj%CQW?WfFc@a*|1DA-#3)P+IRj%DKcl;G5K7^a zTmmwT_c-qY+v`fC>>*4Vm{O^RpYUk7%#b@Rop9*L;;NC7TIFS>D#SG@j(UDm2d|8kmMIq#_P*-%vzyd6WjPyGshOtulJYUB>+}H5H zz(YKuM*Bg_YDaW;RxJ!gpl*)G#;eZ}cS456?s1bM6WGpJRnPB~n{?2Z{;pui)@@I` zjofV!tn+P$c7~{#8~dFBqYHQ+dD3=8(++KN*E~8Lm$vUwd9&VExGMJiKvWrq1DY{1 zPXVKepxT}k0mW!`*lqVn!mEapoO;8Lf*tYNR$_8zXLmu33yL&SDSA^Wm}=(9GSz(1 zcK}R1E?OVc-xH+C0wya*V3iYSn@1QtgkJfEkwZ*;B^RS05F|~jLFo#YrQN3lNyU)) zE+l(`{AT4l^dnq3#!Nq1J!>FGsbg3qOI3eHUxsQAGDm+(NrnIu|Hz)ADarS;m*VW_ xz3fGjplXb>V_Y*!b+ah)*nntP~VFP^@ZlIrGw9G&ARFylW)b3GP z94m(YE$K+L%@B?!3I-w!^DQUorm{^XGM>kqyA4%usJ!w7ubD6q9>5?h149;uF~YE1 z7gb*7-eIZ6W%cmbt)<@X6Kd9VD|zL5Vo&&#%5noZ42!w{CQ1)r3{eB)7A7$H7x#SA zSE5Fg36Np3gY({#&J|6H9z@K-v<|i0fW^Q~hVkpv0fUJd%;`qWGt9(0puytPiGoS2 z7A@FVqTcyJk(pt->mC4XdEdseffWmPaF=1Ww^5xQG4xUQ9EPd*$9D48oT%&4DG^iz z35KPj^ee7oH)(`+Q5Jcfs|t5)UgTANYHzHsM6gQbwMpBKt88^DY@gSJ9^8EkYe+Ff zl-tH-n20BOvzd5+4FeA?Ji=pYz3Y`y zmhOE?6sYW1Zc#9d#itz^!OJ7fr5eBHwZE0_$BOQQ{BG(K%0W S3$(*_2XeawxkG0NFaH2T^B0%^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/pelajar_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..7f4e38c --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package pelajar_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + pelajar_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..2391d155b96266a62a377b6c828734e3ac6a7084 GIT binary patch literal 1164 zcmaJ=YflqF6g|@dTeb^@7AVN8C~8}jm6wV|uoy`+jTnI@#1CYtLo>DAt@|M9&(eqx zN&Er+DC3=N*{-Sa%k1pjd(S=h%$Z-mfBXcngQAKEq6+#n^kaZwq-LBOdfhOq`u=H+ zS6qgHEny0Gn<1Lbl@-JoX8j~#>ANkL7j4^U?R#$1a}Qjb8x0i-qJxM-Q!u1q7zu{O zCa)Vc!#=4t3{gL+SPlKn5uuj6%BR+zIOm7lp;np|!eN*%{kKtJ5Ti&cNNE_u_+Q)) zT8_&bM412?#si#pwlF(1sXC6dhDlkfS)qu6TMVh2)}erkDa=TrW*Mfk0cd#mLawY5 zt9cC>ERc2%cPY#;*-Z}t`q_7|sNk-Kd$`Xq-78d}5knuTXEID=KeU_s_e81-vr14g zM%`i9>`WNu6oPHLsnC0pE7M#rt&f}`Q4%J9>orcf zeQ2E4=_F429W~p&BF*1>rYjn}EF3}MqDeCvuCPpMpDcA5?(#Fs<^_f!n`}kf8-USJ zQt`~?Hs!>H6H<62lp#Gy3F?96*%iJgB%yS#ZI`7}ut08#(36TFDJ@UCq_h@&`#}0* zfY!(K_XJVe0qOiDSpFKy@g)W?pyt0~Z8z1QPKe6V>FheuU5}COGY}*Ihp*4aRe*lcy3`PI| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..4df4149 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package pelajar_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + pelajar_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..43cd58dec0627eef756d8fecd726dd68d952ed39 GIT binary patch literal 1189 zcmaJ=ZBNrs6n^f8bd>V80Rsmz6m=U)MMQ)lIEa2QL=1x^#1Ev5%j~kYv%NLh&(eqx zN&Er+DC4=^=xS#Ca(jBuInQ~{InVv|`^QfJ+bF4sA+DfL!!7hPjMk0MhTbsjn!bNp z=T*VbziHa0*kXw1@)ZRMhS?y>= zGV`)EgXnu$P;g(v13YBN^bRVV5kntM&t{m+eP|aC_C!-R?HWNP zkf&bDAI)ZyE_NMHWNk-eJ;UM&EK*B1u56Wj8`{BBRy)irABKw@NHpQykdGLxl1;6YzWh_seE#;%W#LEJ1#FW z47sEB1#g;Tp>EB?c~_7QSNi0+V0J#V7~_5~ow6 z^dW*9rrQ?;5(_{UJ0K(1m_9CigL;X~74CGC<#U$|hLOTLS+e>DeHn@&$O8RICJ6$V z{6}`0G&2=uZwA>f!|as~g%rEO-DECVkTkyI(G{L_X|#LDP!BUiW;O)d3c$AMjN#QE DG*uQO literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..0565d13 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package pelajar_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + pelajar_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f6674dd095fd78b6adf2b2ab8b9f9440b00e22aa GIT binary patch literal 1175 zcmaJ=ZBG+H5Pr6;TsaO}THXo*hoZJcsfuq{1PalpA!0z95I>Lumby*v4)69%`m;15 zL=u01Kgu|JE$tDEU-ss9W}bOw=GotWe*OZmf{Kn9;u;bLuAzq^UAMkirH19yN}Kz2 zejpiomV_hZGDAFHsA@ruXvu-+zjM#Ah)H*EnA0%crW^3Xy`XEfE0sy z%o|qS^7d-BB^rANu3dV&L#UhHA@@FTpUN0+1cPCE=hC4X#J>j$|Qg$Ck4UDN&!;N?}j5A~}N=F035WVvZ*CTGT$7RjUzj^9{w$s6E{?Fpm;LQo1cThM|1n zY7rd|@KD2ofk${uSguzq)dN~!sp9+GQ|q%rno57 zx?;#E^^=uRN~3QAOg%F?pU~e^#K{6ii>F}4b7;G#=skg6{D$-iM!u4ZQ4k0u9-avT zOCe3S&j=(Ig3Pr+Qs>C+7QaJ3#l#t=y24 zBRfY@8Si8-h1oAU*$Zt7S$2jSnS7?GX#Bw4Gu-deX!S5jBbcIbm>sa?5Nw6c7*_uR Dt4R?* literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..59fed7a --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package pelajar_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + pelajar_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/pelajar_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/pelajar_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..51e2f6577861f0d319e14ed9aba01a5b9e56186d GIT binary patch literal 1210 zcmaKrZBG+H5Xb-9B3F*XLV-e2;1JZdAVsJTSRO1syfBRzfhNQkWQ$9^(z~m7dnSA= zjR=v%58#I~&bH7VsqxL;-p7rZZ&?F^0*eljY{NPNXP$9zWR*WFwF}(i7a)p&{Cbei#}C4BSMV zVYVUayvDtQs?DwX!J%vC-s}-|*J_BDT=HGvQzpX=VHl=M|IJhA!w?c0h7F8h^qTaY z6JH9O6cdnPw9R?vS<6k2*sg>kQ4gaQT#nqlw3*J8}Zg8pO_Q*_R7Jyu;vc0Us2E0stFrrwwK;(HE&?vLvKBxaGhee mpRY=tO4K!KplWEKRnx}Hgmv;ZC`uppjtpaO6lK^1{IvOUrewvfb}Kei>U47!1%V>x7{e!7z#UW&5&F=Vnh74m@EMBS6hWxLjY;FHE<A5YjCl%80W3H(pP(+U2LbU*> z1ZXtQ&?-kWT{XfhZ(z@4FcfH1$3PHK63&vXT+b1r4iwVR_fyg8QW`_|4~VAX)hB4F yMD+zDtFOo^O2DV&p_8qVN~az{f_NDW(Iv-;IE*N^H^BF8u&w?sowI literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/Order.java b/online-compiler/java_files/pelajar_gmail_com/Order.java new file mode 100644 index 0000000..c695ac9 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/Order.java @@ -0,0 +1,16 @@ +package pelajar_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} + diff --git a/online-compiler/java_files/pelajar_gmail_com/OrderCase.class b/online-compiler/java_files/pelajar_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..d2971146e39bf45a82ff6698fd1bf7f28b24ea2e GIT binary patch literal 1234 zcmaJ>TTc@~6#k}{-BOko3WXE|QMt6BR7FuKic%#u0U?%Pq7OJN6S{P}yY6m@B=|q{ z*#{nc(g#R*@CW!SO#Bzdh-bD$TOdv{bLMg`-*?X0{r3ClD}Z_AqX;0VBBUV}Q1yp~IllVJ^)aG9a6#;YQ4nPu+1&^-cc zx*j(@AIsxR6PgC6TofZ1RWYVv9BGDbA8xCEhOjN8ouYH%AhWJwf?>cG2H)n+##W8% z#zxtyWmlX{;pDkX*$Oq17GKg$@vL4e31^L$4EaFXCPQ!f)mdnnb%u_j$II1aZu|Nw zZV<$CR2ia0tL~J=qAtD0{)V2Cd?=v{mgTvg!|i3^Rjf@nu3#pLJGiUjp3K}V!^po% z>E@1A71;*EMlu(9*|VHohWE`SJyC2peag*EL%1VLmQ}6WxwC|tZdwf2c5QKvdNa>P z_vV@lc;X_@4Wp=gA{W6N5iM49+oon6E?cfQJIolgf@xA64DPzZRWZ*ndWPwF1XMg? z82Y~|wR(dsr7%OEo*V&C!$6^Rl1_sp8OiX(A=qcyFkGcoJ_A8&{A-w^y;S`{XNBau zgt|028w$*XQ=tR2eWEL>6gmF*^Kg%3e{yjQd&GvR%7(pmM-N@ymW z3`@gNX-89z6ipd*C|1}4;UaK=D-vSBhd4&yBv1+RHQG^v27wrK z#9^QdHht@RNFqyGX{g7vC@QY2^dA5%6e+Ithm>P-Kz}58A0*8nZu$|Xaf@Vx0NtjU P!+knMY4-pRv4GSc=~pC` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/pelajar_gmail_com/OrderCase.java b/online-compiler/java_files/pelajar_gmail_com/OrderCase.java new file mode 100644 index 0000000..386f3a7 --- /dev/null +++ b/online-compiler/java_files/pelajar_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package pelajar_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/pelajar_gmail_com/TipeData.class b/online-compiler/java_files/pelajar_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..53c719d2d36fa81cefbbecc4ce9b42c07e5d7a79 GIT binary patch literal 981 zcmaJ=ZEq4m5Pr72Tsfg2mA*k+TB$lIWU1Om&yu>OJ;9xN zmhN0iB8?2gs>6q(p=6KiPnI6g&evROpJK~rl}Y$G4~n(qMcqUe%LX1Kk;4kZ@*IAK zm>b>}Qp^%mI$1C*8CYl7aD~k;xp#iyaLYdLDW}%9T=9l$&Jb;=zFig+9c1=7)$-rLN zlSd4t+wNQPN)1JAQv9S%r@W_?H)8lYUEK|ELi(1=zAgMxQ>kI#)@Re4^4tk*k6bYa zK3(W!9_rJd=7yrdZM$V@QC~!vA=^=Q;D}Dc~H zuy3?s$de3@fd~>Pj3FUZB1(SXWyUe? z;3fVfUh9P>T=)P!fsf%65Wn3vT0&!!&V2jLIcL5z^UcrmvmXE+;EsU^G#ybBLx?e? zkNF9=94?Qn=apkoRSdBWTiR-qLCY5oG-%0(8ra)Y4UwJS2@J#3ku))a)CG3A<15i5 zlG`SYiQQ1wcC8nlEmc{0f;Wp9Dq++_24f6UP2LbCS5~=tX{$O#zT#5(#Le#%y7aIt z;@a}4XkY@9I;KoaV}@aDfIh=eE7&cNxGYdO&@s!f&=OwNt#B^a509GMb`Gm<(|YW> zjk0n*!4NIEHJVbpwiM6W&5H2$dBq792rU^V^REYqGbGE3R~vi0)x#TQx9wHMmK~5s z{_e0ER8B`n3FRw~xAugpyEQ)*!;*m;xTzx_oKb-x_wRCSdEz#N)jf>vv2F1xRor2C z*YCCm?210&vgQasw@dcgt>Wdn`!W}Z`<<2;0PlC+ZI@#IRrMrF+;Pgb62&-fF=T7D z-*9ENLp?@ujkmaJaGB*b?(lk+EisroQVOr+aNifcj#Y-GOU?%w(y>Mt`hO_(bJsl< zafNz6_(edif*6f+^fga2qj_lgJJ=Tr7^M&{0~!)oz||h~7g3|MW=A(N`h9J4HhPMc zxlH^65@}=eGqx#ykJMZy@sTnq%G{;+6Rh+&#f1W_fMW{FA tw@zwVQc5Crj%mi&=&&&wC!dSqR@ZQy<~aGy(SI4Y>C2#K1s2vZ^9Sy22Lu2B literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/BookStore.java b/online-compiler/java_files/percobaan1_gmail_com/BookStore.java new file mode 100644 index 0000000..2c832f7 --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package percobaan1_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/percobaan1_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3b4217ae77b1f99ca5bc73ca1dd726317839b3d5 GIT binary patch literal 1177 zcmaKrZBG+H5Xb-9B3F*X!j-3@Kr5(iQ7S%T5hzAqm`03+Cd3zHTb6p*yTiLZ6F!zk zgh=8C@Ix7AucbW#@y*`c&dhKAJ3IU5@2}qg)=<_FLtI0jfotez7(U=%d9lTvW^uEA zAR3aPf5mbvxylgFicJb{tfy++wGv5+ERWjTNhGDky-#VoMjKI{8GBAp<3(~7c zz7#eoCLqIDm-F7UoQ_J$9>j!!NtJ525s!u`hSYiKh(kvjH&vge8Pd5fG{HkxhCXVX!!Vxv*sdMk67}42nnX$< zPqM3`#ceJ#+}Y!qR?rIkYyu19XsgUPuFS|!BI9#gsEfL9U=c-zgml{^hS6O9GGE6M z9%^`G;4z+1uU)TMJP7Feie=vyp1M398n3?uyyY`2cTOA?8Ns%Pt8{rMU!#M*a`yy7 zvSK;nU0~ORx5eu%+8LyNZXdSCjPBq=;7H3BHOsfiU3TbjTw1O}<;_Y@;fC0EJyBv9 z@@UM+JO_+Kg39|+cod^qey82T5wDt0a_Ut#@EYQcrNpEzj_;zH7-VUxV)U|NFxBLf zWvUUQZy%U?VzfS`zh{V(1xyr9zzS#3c1|#G488Cj!^ar^MlMD{AV{26gVGf)NxRPp z5(^;<9Z2#F>7Bw4=qI>wikV)rdfY&YQb(~&ma6`Oz6_-!D94-X~bA)Li|9s?NW}mxAkso(x0Uf zA(Hq5{87f)7TPlqzwGVp%slhV%rn3L{QL!A8yOQJgbnmqxP@MZ;S>Iar>fj7r*;b` zqNo^pHyzheTMXfNB5xqVFw=5!WNN3WM8@-YbGM=D4V6=#;58El!hPt6WnjRcT6^0_X19VY$Yg>S0mVQt$Q&ct^@gPDxMf37@iAG62Oem;G<9bRR|#H85&n4CDXM z&ozA|YQ&lV8OA#}A3VpsWJ=Nfh*_A_p_U9-4BTcIy-FQ0n3%$}?$r##RJ;QktUsN| zo5X6)f{l4>4X-HPI+{%E zx~NyQjxbMJ3(?Mn5Y;uEo6Znk{RJ!#8JGY7 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/percobaan1_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..9d05c40 --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package percobaan1_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + percobaan1_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e740b6b67d3b3cee5c575ea159ee59111a3a4884 GIT binary patch literal 1195 zcmaJ=ZBNrs6n^f8bd>V80Rwp(in0x*A|k>N97I1DB8I^d;s?@=%Pd*j+1{G$XK6%; zB>n(@l=0kdbR`hK+@9WZ&U2n~&U63#{q-Bb7K$ojh%4yQa1Y%KgJ;H9L$4clP2a1W z@v30x-Y{)bY%;{Nxw3);!&DGtI{J1~@S^J)%{^ZrN2KU;63+*yE}%*54cCwG$#VZFthvLT7@1AA*mpxVHhJf z=$D$F;1;naK!%YJ=c8-dZKjmni?oI@nW{MvkAnLQsq4}ahl+7b%2`b@jAuj8X#a&= zStV988Zwxr@p)X3n_;XI9svxZA7W0yBMpx+&oF)GtimxdbkP89hSBV&R{daGG<(yo z5n2K{YPa;+Y&7U%$MHnQc0|TAES|sub#?8^RLQrVSz26Okt=(uVG%k*LO3lfhT&}P zb_Eqnc&=bs!wam?#2vS$pZT;%z36$|l`Av?i_;%GBzP zbHW)0c1@dq@U04W4~$BkZhC2|hmDrtXcPOsEli7-P0u8E(WZ_KVLCRIPwsXYZu3*e zC`B_kKp?0_7#D|0+59^$iNlGkMcjDUSQ%9)174b=p}=Gq_9SotiDcPhC&E3M}Lw@ zf&fPE$WD`H#=`84Ap3Qgz1*gdVwZT3%qH`a#!o!C#Ip{KRu2=@!z7WJ3c)r5uq`@c Gc=Hbo5*Q-@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..b4ad3ad --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package percobaan1_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + percobaan1_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f50a2ba4259b0ce2da527e3fc82480a43fb2c22a GIT binary patch literal 1181 zcmaJ=ZBG+H5Pr6;TsaO}THXo*MNr$KRKzzdf`w?*5HTQ4h#$zcEOklm4)69%`m;15 zL=u01Kgu|JE$tDAU-tHPW}bOw=9xc#fBgoqhO&+bq8efbZlH%Dd1QVyiw)DR7q_ZM zye1iXR)j6&Dnm4vuV{!fOa@NEDXupqFT1YU-16nIFL$KNO-qM{XfOI;Xy`XEfCR(r zF?VZD)imwJ{kmm}#(vGQitly_c*{ND?nmxXCc_EAFida$H&3Y-gGgye8yLdyCF(m( zPjZVG6ClHI2j_z;>^4h^?!%~oF%@b!A&Z7_hV(`1kU>WVH&ve|88W#JXt?%LzM>PW zX#-izQ0qJ{$;>d;bq@gs-m{p~aNEEg++`TQwogHe7-G~on_(pPsg*mJ67^izbwY|G z&oCjV?hVJ2*$u}&5K=gH)^=ppGc6v+JT>W!sDI8@%!bdiZ^?H?P3yja1r!FP_q zLe*|K2b>|XDQy1Ux2hx(v)Z7SK5FXjaZ777h;84N!r~R-2{M;$D%VtXQ~K0qm*F}; zbX;Cy=yyqLbiDu=3^|n#C3nfku$tT4^Bc0I%Vfw!y^x2#I0Y-5L)$w=?+Nt6cO*|R@{LT4oIoJa z;EWMi0!ey(Mj(*@WWEiOI7eo$@B{iOCeAR`4OVLo+LHlduuM0V{W*OZN*$0n`cq8e z1Tb<X_=$UGc+jQMs$r5^Fh%XicEDBxur)d( Gc=-=zZWBKM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..984f4c5 --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package percobaan1_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + percobaan1_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/percobaan1_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/percobaan1_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a76bc5bf0766e5ef72ce9953495d2df923a1e89d GIT binary patch literal 1216 zcmaJ>YflqF6g|@-Tb9K_fkIVaQN*?&T4>jl_+|Fa+7rZZ&?F@}j|kmcsKPNXP$9zWR*WFwF}(i7a)p&{Cbei#}C4BSMV zVYVT>s$1dQSvsiM+^Qc`T|4(?kAQcrhIq*(-xWR;Gu#jo!&K?Nr3!r*LPEo^ff0=U z!+z()m%=8}1jsPj#(C#i&LvUG?#Gycag}PgA&-Vz48vEYLk=A&+)+|ZFr?CL(D3yO znX*o-rVN;vCiQ$F$;~j{2@e4_qwirx!+is@ctGM_E7g@s3_T>D!;nmWXq9jFij=pU z8iB=-VOS`;^}rTph1cC>B z7OImE4J;tX5R-1J2*XG^(_LD}5|%Zr7|7!hb;9*(xubykn=AUh@KkGg(|Gkc;B}v2 z^-_;8{}60z`U>4AnKEhc!u=>1;w8%wZv(p`yj@>dZNHE;L#A0c?B>O3Mw8-;Zclk`JHAAh62<8EB}rgcvbP* zQhbtKBfg-f3ez-s5qf|TB-8^TE1|}azCB>-CDQtsc25u`3mD6ufn_hC?Vq9V6ngd> z22YXvN-jo0Ado1n2Bj;wIGsKvkVq3`?h+(^fz*EXJM=T$KF4GyS^WcmVM-mrDp{)f zGx{+K@_wVD&4rK=`_^T&P*AnicjLsjSJVh zP;lV`_yRtS;>oyCFoEPGIsbRgN%H>n`UYSdMFRl@b%f#wLt_}|@GD;Ga=TrsHao)f z7_<#(OK*!ISX`=WJ6oT<`wwF?0)qkC&N^YJMUW)%zHFZt>b%<*g#%Am(-90Xqz;|y z-BGzs$NkxI2KE=%*`ngD_bnHsot9h>AR@uNP#&nFwF@Z^jp?`cB z!ab!RMDd5=*Fyklx64a)9eIZFo^Va4$+^AOXj@!%8>VBGs%}fT453}8B~<3p7L~r$ z6z&Occ4;R>o;Jg9@$^41L!#z!^Wup2e19GDf9vxzU@&S<-!;XaR7k^*xvJ{GG;;JD zss%t*K%;SrRymsKwh>-_0ed8ap+KWL27-u^aE5H`*Gl<>ZA(~E9 z9-yUDl_w0YJYz&r0zM@VootO%I`s%r#LFT^_naVN60>wlzvL5H`X_TLu?1hd_zhq) BcmV(a literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/Order.java b/online-compiler/java_files/percobaan1_gmail_com/Order.java new file mode 100644 index 0000000..11c3cb8 --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/Order.java @@ -0,0 +1,15 @@ +package percobaan1_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/percobaan1_gmail_com/OrderCase.class b/online-compiler/java_files/percobaan1_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..d6beba5153d12da709bd97c3d1a8beda94a7f972 GIT binary patch literal 1237 zcmaJ>TTc@~6#j;`yQM5G6bdN{qH<|LsfeOd6s1Ze0U?%Pq7OLTPTGa-?z+1rlHmW) zXCHX*Ngp8L!5`qSF!5g)BcACJEtfdS%$du%eBU`|_uKEouK?yyh@k}`6=4k#C=4B& ze4FP?ZdGzCrA?vx49cuw8U6!?P$s(`MU+8(^44*M=fx01n+i=sJK`s7i@s}E6^3Y) zd)0zn77gpgC_2dcxv11l?n>*VhAwnd4DqJUO^+d!Svrj%pM9y!{UWq9l)3K>iB|OC zf{Ke8`Y~`a^p59?8pX5g1U?nGGwj?dA@T{A;I({`oD6EXj4KSiHNGVZwxx6bh2axe z%k#PAH?Ta;HlYbPa~(^*Lca452S4|^kiP0MVDP?XfOI)-&*EQ zLtn)tp*%;GAy%~Ot}Ye~={5d0^n|2DIi0s{-}7DWEDOJCm%W67=@{25r%@s17FgJmIOBV;DZe^gIG8 z9#LiguS(q>u%#4c>FblD1=KT8XdS0hKS@S1GIjv=nKlg9XqC@EhBLq$Yl^|cE4JBw0 zh{HevCOYBJ=e~;+a-@}kdPIw&;)Y7U0?td*;k#$G`vF`~vU_`z9iY8i=J3M}i@D$**|L;qs#P zp>rv^njvv$OIsf^L@U*^1thUxz)ayDQg`63YhMeOP%0p&#pZ~}R<)0wEp)LrkubPR);%kU>#X(*GgiCVWk;x-=f~T!GL-{ zIcG?nN-4aC!+l@)2A(l&&vas5fd*;}YyXGR43E2k4Xn_-hfjoNfhL~hL)w)|Gt%*$ zpJ3l;!B8X_9s^MC4XftNY+Fqb&W8OOy^zuZ5F#Yq>-{Vyf@`UmmvFcxDs zNCQ7`KitG`usqsK_&4cq0)1hG1Wb}?HtgFKE`ISR+h?Y!>MZtu`pDCnH(K OQ?i+~-^CuDWA!gV5%cT- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan1_gmail_com/TipeData.java b/online-compiler/java_files/percobaan1_gmail_com/TipeData.java new file mode 100644 index 0000000..3f6ff5d --- /dev/null +++ b/online-compiler/java_files/percobaan1_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package percobaan1_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/Angka.class b/online-compiler/java_files/percobaan2_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..b8e39f60734d34e60e451494eefe144aff62b2fa GIT binary patch literal 487 zcmZvYK~KUk7>3^hV=zEq2r7ty8+ee!D@3CvoKQ(-xOgCCG-R-KWNaq>AOCBe5@^rfJxZ_T3 z-|Jn-#fmeeuKc-RD2^N{ZX$0cf;&EQ=_Ex-$x!RuZxb^VtdQHQYrg)=8KJWQ={wa(fciz6<~`aqX=Su($8TWIR50w*tgeA1vN%AUY8AaCR4L5Tc+e;f npOAZjZWdlqR9qtFOr)sRh}4PApbP^IIw9W|%Ic}ZINSUIOkHJ> literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan2_gmail_com/Angka.java b/online-compiler/java_files/percobaan2_gmail_com/Angka.java new file mode 100644 index 0000000..3e45824 --- /dev/null +++ b/online-compiler/java_files/percobaan2_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package percobaan2_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/BookStore.class b/online-compiler/java_files/percobaan2_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..15b77a46e2a4da76253a9259f6b0548dc8a1d96b GIT binary patch literal 1096 zcmaJ=-A)rh7(LT1-FDg1QvT(~qD5O27D@D`h(Aq045#%MyO?SwAf&NjPKlD>e? z;3fVfUh9P>T=)P!fsf%65Wn3vT0&!!&V2jLIcL5z^UcrmvmXE+VBJ6jnvST6A;cKc z$NYp_4wpyP^UATPDu&pGEp4^Qpydk(8nom?4eafyhRDwE1cqViNSYWy>H@pm@s(&2 z$!(Ly#BQi-yVeWOma42g!JEYll`v`|gE5AwCU1z6E2~_+v{juVUva5?;^ub>U3yp+ zacy~2G%$fl9aAQzF~cx6K%Zf#73>yBTox!C=$K_#XbG?CRyddIheu6rJBL-bX+3t` zMp?O@V2GC78cnHPTZ(7xW<_}Wyy654gq94G`PYNQ8IonitBpP0>fw#D+xDtr%MQpR ze|K07DyO5Pgz}ZgTYEy)-I||@VadP^+|-c|&ZxkU`*%6EJaHSs>K;b-*tU3;D(*16 z>v!7&c153XS#yM++a-JLR`GJ(eVGfy{Z2~^fcHD^wo9@9s(KP7?l@&ziDDeL7_v3n zZ@4nsp&p~S##>x9xXkhzcX&O^mKe+(DTP;ZxbF*J$120pCFg?-=~$x+{XdlYx$7Q_ zxI(=j{34)ML5#*Z`kJSi(LA*L9qbDQj8X`f0SyT(;A#*0i>Ogrv!fds{l2z28$HF! zTqgbjiL|l#8QT=UM`|vU_(+))W$se^308WX;zEdw$0=O601T*R2#gWwD~$Owq=9c3 z56X#z= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/percobaan2_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..462f21e9a78c83bdc296a39c020b8bfc00523a77 GIT binary patch literal 1177 zcmaKrZBG+H5Xb-9B3F*X!j-3@Kr5(iQL6ZeMW7gcVHz#82Cku>VfcW5<;50vn#Ilf zfoMpE{uRryk0PjFj@hWG#mVQ3gKa2-j8 zxkKSK+&bsZ(r(k{R%^H6+Qqlq1TH(x&wNYxRLO877>3!(f9sS6FalFU%D^bbE=aE) z`BK=Vn1BppUCw*Yaylw0dk_-_CRM88Mm!p(7*gk@BMu#D+*Ey`83@gSh$j)GXg3ciExCacQ{@l{YIrg&Shu^+btb z$fGeM^Bgb|2`cYP;Zclc`JHwTN4#o2$*EV}z-x#%mJ*Y?IKGQ&Vvwb&iqXr8!Bmq^ zmZ?UJzI|ZoiP8F${+=OD7BEpb0V|wA+d09&G4#TB3?F0s8@U(-fgo{O4N6zIB<(&Y zNGyabbRfwyq<0EGpr7EzDQ0@f>Tv@pN*%>AS*rRA`ZAQdka_x3N)iMZzao2*rX=0X zUJ0{bcC(jBf~qmbPI1f3Rm{SI67m!GPVt~8#3cQ|G_5m)nfj3r*;a* zqNo^pH>4xgCPO%$$Qy_-%(R@Oo7!$Fk?}m<+-azKL*sq<^fGn8U}6f>x>qv{Q}GUHu>N!+ zZxX9H3pVDdeZEj+W|-`{2LM~%_po4K(ZYQ!G0fiBt4^C3dZ>X8!$kaZJAZ3h)O+ca z2`z#I!+c5l71yzwG)TK7OT5lig*!Gc@hU&E*H#xJSf&cwylux-wmK5F&uc=D@1cbi zq!=Q~ZR0YG#S_=FnRtXX1CK2{!BgtK>y=Z-4H{}HSLdJv=> zfNe`Ief=eor?TI;CBZP1m5%t(s1<~_%L`R{>8B3w)!X8useEcUO4dYP`jX5Uhl=A$ zx(=m}X1ffx#UY6<%`o7R@aTF8FcNUe94g_Fk0JexQ?78TF<{k-C8L>h8(vYolbTHI zx~NyQjxbMJ3(?Mn5Y;{+=UDHz1Zg1xud8*gr+z3C!eo44+`) z8<`k6fk47^S`s^_Cx5^^#ho+Ec7yfWYX*ZD#X8+|_LuZ! zNOwRM=ub0=5WvI@(J@lWWG8x~75%Ccy-pN#j&XK|yU}U{{u5t8JYk9 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/percobaan2_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..e38527e --- /dev/null +++ b/online-compiler/java_files/percobaan2_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package percobaan2_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + percobaan2_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5be0e076432d1ae06ca6f57280bd7b81ab773a84 GIT binary patch literal 1195 zcmaJ=ZBNrs6n^f8bd>V80Rwp(in0x*0wTf?97I1DB8I^d;s?@=%Pd*jdE1)oXK6%; zB>n(@l=0kdbTtsa+@9WZ&U2n~&U1hN`S}aLHi{}@h%4yQa1Y%KgXhKF7I6j~9h7n)|-j@V$~JxM8VK5br@RGzEPc`Z2&T z-{7L^R1CvjKB-xTSwE>dmj3RDfcM2I7rTbb54lU#G$#VZFthjHT7@1AA*mpxVHhL- z&@VMzk6Xl=02xL?oDagZ+e|6D7ikS+GF5XT9tHOqQa7a|4i)2=l(U**7|({F(f$j$ zvP!IGG-NPK<8!%3ZicZ=cmyzreuy~*k2E~SJj3*zvkJ$=&_x5Z8Ah`oTlIr&(dhv(cc7UB~q@w&P`7!{P}nP**puOqF~anWe?GRk^aK8Wy25Bs`~u#W0-B z-L9Zw3CjvrG(5*DP23SR{oJQT>P6S(LaxvVj5nWsqwX@SxBHILjKH>JR=9nWD^shx z&M9XY*fVYZ-nS}T92%86-SpB_j~Xq((IyUj+cPa*HeHk4MVmS{JkznMd~&bDaEG5c zf)^P21c{Bz8-SrmQ1Q&;f?|fOW;pZ%?)r6VZ7>oi^-5uC$?-*%zcnST^leEmN)=(2 zloq2G7ei9M2(pq=cJ%E6lTVM%7xcG=I9WhCe+ibqhH`v~o(rh?Zy3D5=vQ(v3Ic(| z>C`B_kKp?0_9cPD0+59^$iOwmkMrN5USi@3)174b=p}=Gq_9qwtiC~ChC&E3M}Lw@ zf&fPE$WD`H#=`8)Ap2FAz0#(TVpn*O%qH`a#t%HX!m|#IRu2=@!z7WJ3cNa>NEjsm literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..961863a --- /dev/null +++ b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package percobaan2_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + percobaan2_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e84337300413713e0da959e8f9f9b5093a4dc9fc GIT binary patch literal 1181 zcmaJ=ZBG+H5Pr6;TsaO}THXo*MNr$KRKYhaf`w?*5HTQ4h#$zcEOklm4)69%`m;15 zL=u01Kgu|JE$tDAU-tHPW}bOw=9xc#fBgoqhO&+bq8efbZlH%Dd1QVyiw)DR7q_ZM zye1iXR)j6&Dnm4vuV{!fOa@NEDXupqFT1YU-16nIFL$KNO-qM{XfOI;Xy`XEfCR(r zF?VZD)imwJ{kmm}#(vGQitly_c*{ND?nmxXCc_EAFida$H&3Y-gGgye8yLdyCF(m( zPjZVG6ClHI2j_z;>^4h^?!%~oF%@b!A&Z7_hV(`1kU>WVH&ve|88W#JXt?%LzM>PW zX#-izQ0qJ{$;>d;bq@gs-m{p~aNEEg++`TQwogHe7-G~on_(pPsg*mJ67^izbwY|G z&oCjV?hVJ2*$u}&5K=gH)^=ppGc6v+JT>W!sDI8@%!bdiZ^?H?P3yja1r!^9^o-zIc~jpFP_q zLe*|K2b>|XDQy1Ux2hx(v)Z7SK5FXjaZ777h;84N!r~R-2{M;$D%VtXQ~K0qm*F}; zbX;Cy=yyqLbiDu=3^|n#C3nfku$tT4^Bc0I%Vfw!y^x2#I0Y-5L)$w=?+Nt6cO*|R@{LT4oIoJa z;EWMi0!ey(Mj(*@WWEiOI7eo$@B{iOCeAR`4OVLo+LHlduuM0V{W*OZN*$0n`cq8e z1Tb<X_=$UGc+jQMs$r5^Fh%XicEDBxur)d( Gc=-=)j1xfs literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..a31aeb0 --- /dev/null +++ b/online-compiler/java_files/percobaan2_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package percobaan2_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + percobaan2_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/percobaan2_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a7dc4f2797759514189ee13b677d162e18763fda GIT binary patch literal 1216 zcmaJ>ZBG+H5Pr5rt{jJj0}54npN41)*!3(q&WThDJ+ z4@6Be^sd;hE!P<0nQTQvf?=W+WPACIBPmM0&yO}k*$m~D^aXcxXo&ZrABKhj1J{vc zm}v^X=2ba&7x(H8w;Ovk&&j{pA>eJhDPD5Pw?#n33@?JjFj@X@sbU|7U}_jPFoMy4 z*l!&LQaD7K02xL*IPZMhJts=p{TMSau2Kyz;?Zz}VfdnS#GxaNTS}@4hIFO_8ohoo zThWQtqyY<4q+TE-xf#a0;Ss=A^j%DAxMyGn_etCit zLUr5H)I^p^C{6R?l&6k2e_^P$MWxV*MDV7W7ByC>*7hMxO| z!DFPpl8aFg2qaFcLFo!ENvBTl=V=6b%Fr)Dem!42@x+!>@R$%k6fl+Uy9^ zW6(CFExj#N=;tDx(y=RTujaXeTV(^I7}GHx#{?!BhW_zk z2=|nN5XB#cUk?GK-7YWHb>tbwd%`uHCg=8Aqiu27ZJ3T#s=6)VGK6-WmQa~XTU7d1 zQ@AI**`=KjdD;xa#nb=542hb@&5I-6^Zj+q|Els4SfkFoQemYuN%pi7qhiE!c zd4QHqRh}@o@{AEh3HX#ebh0&4>C_`g5ig4v-E)G7NzBqI{gO{)>7UH0#1?$*;x}Pz Bcme 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/percobaan2_gmail_com/OrderCase.class b/online-compiler/java_files/percobaan2_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..34aea9173cb43928afc4ab551add76a996cc2bf2 GIT binary patch literal 1237 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$jRnV#wMX3^-6d{&iq7OJNlXmHLcir6*N$`K@ zvkyG@qz{nr;1BRunD{S@5zn+lTOdv{bLMg`-*?X0{r3ClD}Y60!|=hcBA_7%g`snt&2nnBxGhQ^gR-ETy7z#=pGa}Q1yq4)DC!-oJ;|jxIjaNn1GE3Zhp?d_@ zbUki*4J?n7EohpYGGUBiT*ZWjNhBEh8gSeFGX!lJ?G&982gwZ;Qw$@va7tE@b8~jH zT;sa2S+Z)WRcA{$S?*H80?oWd^SUXX)oVrJtn;EFA4uC|7)ZQ2i!Qmr&{gnwsk*}L zhQ5lMgz_9!hH$~EJ0-EKORtf?p=Tr|%IT72d9LShdqsE^Ys-x)NQZF;cU9bz$(v^w z`&TU8+_9=6)g;->=Q1yOmb1(7zO||+icP0axw&NscPwvN)w-QIOQ_|h&2W9!7U!t9 z@@zJ6rnQDAF0$M(3c4pUAuJHlLPfW2>etbd<$Cj@j6utpCe^{iwxsun4U*K z#UrZh|5d5mn`|kCN&5Qa@PT>;3a!(08Yam|2B!|eKGTNb8m;mf@Kf(!#|-VI>JK_A zB;WO_`RVz9FCB~r4$$$5uBcMv_~XyRJ(5GQxydz>Q}IA=^Z-2{FyK!I_t8yfwQ*Jg z>0m4<4acP&O*!H;Wz>;KZXc0;#7L<97|eY^JaL3ezyYpGh`t8I2?8g9N|3M7i6S%z zM4%%I13j?mbKgS@Dbh+nJ*GubaYLnF0cfE}QEe!o9Fqh3Dam_3Y5FnSh%kp+Btrz~ SHq8v~(NCj1ls zhCXQ02Y-M+%6JxPN&|5>d(O<6?|kPnXMg{>`UT)Mo|_0EY#@?E6fuU(1;6Aqo6COf zL+3(tHAC#cl9oPV2$w5o3B-{wU?y<~$y@N&*wexxl=8_b-<%Lxs`k;fq;6?faHpQ7 znCT>zkYQMH_)s*I>~j6d(gRv~noI4GZ~3$`b)V!xzLxCQO=OWXa4(5GmKkyj_!*+3 zAX-2%Pf$6_f+1~SjiERaZdY|UmoLuy4!7*{u5xN^Yb4%s%^4yM)e{U$O-qXRzS9wI zn|ExoLIN5h;0Kq zL0cX%Y~NgfB`?)b)TZ@MJ9W&vTDfC}ud@YS1E-`XT=s0?Z8wz~`lI@MnlqMLj_vVC zEP&4zIvt7n?Co4rG`MZIEG_DBlo_&T%Jv;m>Tp{PONS*^Eyc0Ru-f#wSEAlK{*Zcq zbIy=Fl~TA3n|q${3_NAnnd`)&0u9s{HvSK#8J>0nn^>iJ51tUs0!=*0`?M>PW~8IL zKf%7yf}ub%I0nK?o6{gOTwG@ z8hW8gFMI$W%6PWLw4{xj?3};vd~@c^ncsf~zW_Aw!bA*l1Bo<}NHOHD`3F5)Nc%^zik2%a6Fw8))GXN`;iP+8h!&s`k-$q;6?naIc=H zJu_)!kz-i%cuzEx>~j6d(Kcy;=28cgTRE$a(uZ|Wt|PDNCh}M|u#(0q3Jl9L_!*M@ zXt#)BnxJ}~2Sdid25s((z`nThxZ_@Ql~-#!ees5C&X8!ROTmzBI#Rq3y^iqPyyKE5 zL14*HsC=G9&0w}v=y%1b6M+~15gtTkQlDNcr33Br{yU*Tpc=Jtk6~wgVUD~}Jy9F=Yt-3O-qp&# zW%xSTkUQY0l($@7x+2(VD%A`7_36V+c(Z~I~fe6l^G5vot#<{d?YyKc+TqRx;$ zlT!E%mj{6e3_N4lojTL3QVrA?HvbQ$=^dR5TUe(_kG>d90nIwC56CK$WF(V&Kf%6{ z!ce3&3IlP>qcns>P>BTjfmb>6D3?0U87IY(UA7MsNs`5~{iQ^|eVF_XV>L0rBJcxC zk&zr=ZD@@7x9J^$*yAvXbAhxBa#+GctYDue{3Qw$+ayekd=|+JX}eU_)^L4szr17NZ|bBgR4#;s-LoP#5=syR#(xER6_} z#2?^~GTzyib_vEWvv=p-bMBctXMX?r`3t}@YC2L#Yv?m@3H=Pid;EY~4)eimv zmJI!iwr9&FhIFai)R1AAii>RDS~--W76kloHIn<0Y{)=xSBHl500v=b7&34fS%#TF z9N3|~*>bt&>|YhLR!UlSp9G5iDt0qXzlQ60btObs~$qZm6UyKxvw;gVV+ zWEku6ybo-zqma;pm@qJ@poX8wXt=_VJ8PXt=*Z)mn$Z+PzSJd6p1WFZ>ZEGMKmkP> zTPP%@876z>3BtJg24*$fG;j;I8OATnC>{?(9}Uf;eCcDmZ+ts6YujrPO9o|<+z<|T zxh!yRhZmg4iNazAbChT+EO@>w$WNjWa#yGex@%w_7DGn*Z6=1%Qu!jkj{A6^;h}*? zcuaHlgO;@y(bZYCFcg8hI35SDzeL;#85TOHO^Qs=woO&NxKnP@L0|bhf+1VCJ@GDb zw?weUw;b9Tq*<=-x9vsq{}6f7c14pMMd_MHhvU-rJ!)^(dkR;?t{;dh!%#pLqwtJi zBvDk`l_H=T%?>-`9!_MHHz}z%{3zHKZ)_zdciy`5$}K38qf+#uQZSX{DKeG4=-UUT zo))c7=JW3b98w2fm796_&q!|)Ntzfy`(5r`yBt3hx@m!;ijM3Rb0<~k(V zQ{*=)-=QDl>ItTMVD+eh96?91K#}VHoW2azF3BwYDJ2;q82<-)l3bGSq8DTIi!OSB uB&Z%^>;%`%Qr)b~DIq^_=LGk9LQK*ROwl?`bTcHU*ri;GDVJ$Y;pJb#)eR8< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/revisi_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/revisi_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..3b3498e --- /dev/null +++ b/online-compiler/java_files/revisi_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package revisi_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + revisi_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c3d9ae021b3fd010829fd7ea0b2489eddbf46f96 GIT binary patch literal 1208 zcmaJ=YflqF6g|@-Tb9Mb0)?u`f~ajliclX|9u^-TOe0313GoA&;!qd5yLES#grB7m zA(Hq5{87d`EwpQD{4zT`_ug~QoO|Zi?;k$_tfQnOhPZ|v1J}^YFnGw1dA`owT7I*7 zDE1{o?~3i(a*ZLL$yPKZ7$%xYwwK>Hk)q`L{A4qfjZkh$UvNi2J}M*=$1xTR#8U`S`$pwX)rvlX3K zO&YK;Mal(2QkY@9lO6$VX5Yb#hPwvt;Xc83$#kUUs<#q4KTD1y`3v*UEw)s*J2w#nrH#e_7hrAvzEMIC7 z`mDL1!3)kpyL472onge_y<|6`xd> zz2}vqFh#D5(Zh?uR1br8rm`S?d%)BSr1dfVJwcpyz*z1KEO!BI_Y8ff&~slgc#6~) z3NcCofy8Mws9eD%>GUaq#F`+pmmtXtq<3@Qpr7I9Ic|4~)!PS#sdNO(v{T)m(U+mv z2AQEh#Uw!hsee?DlULI1>Xl~oYP))wD5xHz>>Sf(rflYB6_M|lJI6wYh)Mi`30iLx S+$7PNYD2CyA=hb*;rSmp(;2A% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..aa4fa3f --- /dev/null +++ b/online-compiler/java_files/revisi_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package revisi_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + revisi_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/revisi_gmail_com/TipeData.class b/online-compiler/java_files/revisi_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..9956c084d03ffef613c6a7cdbeaeaeda0d3bdc6d GIT binary patch literal 980 zcmaJ=Ur!T35dST`_TX%x77J7;7A)FgrTRjm1x&0VlGHy*2|oCM+p?ic?{=HJy(ax8 zehq!lgaAIdn_!%#xwU3O+?_BX$snVb9l=kgbTS9tDV1_>Kh8cC!WvKM^F>n>O4 z^$(p3(KQUIJ*lKQU`SM|Cv%v^oDC<9J4oMvw?}~y9-(wdLHX90Nb34WUng7Z|QgK(UphY8*b!gJPvRZ#c+d(Z;pV6oWjqL z97MN86t@YgCpj?8+bA#;d@+=PJU#cgbWgk5s~^jOc*6~6u$uZzFf6pB67NH=Bm86D zamiy5STQVBK2IZOaN0WbyW&tr;LJb5ohVW2)N8FxV0=D!CrnSD1q&%`I(Ue(jjgC9 zj~L3=&6jGZ`=TD#9(U=Gca8Q(3|}XUy8_0fZ@D^iMNn>O-46$i+i6aCZUi2W24V_) zve0-O8k1k{v(8>NwV$;QR@ZvP-maA-y;|&jS)KewNYB%5gR*)&mQ_3< MpF?&HJ9vh|UycRxo&W#< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/revisi_gmail_com/TipeData.java b/online-compiler/java_files/revisi_gmail_com/TipeData.java new file mode 100644 index 0000000..4a023eb --- /dev/null +++ b/online-compiler/java_files/revisi_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package revisi_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/rika_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/rika_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ac41cfeeb1cceb1e74e1ff4857ef7e85cb431b83 GIT binary patch literal 1254 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 HNqfHlP9KF+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rika_gmail_com/LuckyFive.java b/online-compiler/java_files/rika_gmail_com/LuckyFive.java new file mode 100644 index 0000000..d5c712d --- /dev/null +++ b/online-compiler/java_files/rika_gmail_com/LuckyFive.java @@ -0,0 +1,15 @@ +package rika_gmail_com; + +public class LuckyFive { + + public static void loop(int number) { + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } + + public static void main(String[] args) { + LuckyFive luck = new LuckyFive(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rika_gmail_com/MyClass.class b/online-compiler/java_files/rika_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..a39674542d22bf8bbc886c871eaab5a1c28eefb6 GIT binary patch literal 719 zcmZuuU2D@&7=BKZCTq;rZ0)+a`LU^UNd@z1hV$O+!61ACjbEe}O+o z^g_i8e}F$qe3BN%V1aYq@8@~mlfVCd{{e7{CnjnFolJd@7qeKZ=psmC|JC9wl6h`I z7jQ1+C+SBrnfY%fmtjx{7$+)G#i@YidSe0oES-iHG&F3~VF)ybDhXfD<4KsklanYE z*czsRjK(rkWxPu2#e0<({c?-5^4rvi0%(D(WR;xo^HXTihR$ijRcQIAgH3Ab?1 zhgV`pMW&Kj&l?-hkGLv73j%vKHqdO~4(^$_du_YXA}_+&#(f-+Ih_-Ddx@t~|1H4^ zLWVN#S$Kd)CLRj3D!S`s8%KCd(I3kRYIFP58_8_OU0XLO6tG6=JPX1Xs(dPY_4rRq zY#dUvR;kzM@pXBdjD1=`TkrnF+BZ5iu7|1&4&0(|FB@pr88yniSHlD7gaXXHFUP@4 z?Zd&5Ph4=j&W(~khGy(aks>}+8+S>z_y~>z>c0X$ z&2R-a?)46Z9WvyeOHYQ|4C!jE!;pFD9|#R;P(+{-=C{A>S8a+aF4s@=Dd(yXGkwD-5L9Zzx!r;h4Bp z6d9DgA@TG*6(u6s7WP2JGPx~V3eOfQD%8rZ;7&N8pKwy9ct#O=PU3hB zjm$M2=dq~aI&LbsF(oz*rDMJb0)8~oaSOK@)X-0eGOW))CK5Ml^Nr?FMO{H{3K~zu zIvRz-)o}+KG!1`D!zm?CrEk6^fkG-HxZBXMg}Vw&hGHz?Y*@!V+-JxRqZg6V^X20~ z^Po?I&_>)HI^sQT2wh^`;^v|;&&`K2EPou>Vn;@curS@Nttb;~q*e&@CV7PM+xTD`eu>s`3kkZrU)cZpOG^b+bm< z>gJ3U>vjDLr6rIWognZEflgs7_}N zzWE)Sr##El3W$%20`Xg-&%g?bae;aQf(LN{m0}O60~YrY6-|*x#Unh9C3!+PDLnlL DnbyY) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rika_gmail_com/NewsFeed.java b/online-compiler/java_files/rika_gmail_com/NewsFeed.java new file mode 100644 index 0000000..ee0d492 --- /dev/null +++ b/online-compiler/java_files/rika_gmail_com/NewsFeed.java @@ -0,0 +1,20 @@ +package rika_gmail_com; + +import java.awt.Checkbox; +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = NewsFeed.getTopics(); + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rika_gmail_com/Password.class b/online-compiler/java_files/rika_gmail_com/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..4954fd5705ad3c67b1b8f7171c96df4db1d9b7ea GIT binary patch literal 855 zcmZ`%U2hUW6g|T(EUept(4y7WT0a-6UA6jz>5GX;Be6|rc&IVWKqqu7usFMD{8#D& z8Xx=t{wU*_rKBOP+2r22ckey-+%xm%@2}qgcJRVMM&OzbKggrrK!*LJZZrt?WgLHw z^sxh5pmZuf$)GQXyWJe=&{ED literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rika_gmail_com/Password.java b/online-compiler/java_files/rika_gmail_com/Password.java new file mode 100644 index 0000000..fc66754 --- /dev/null +++ b/online-compiler/java_files/rika_gmail_com/Password.java @@ -0,0 +1,20 @@ +package rika_gmail_com; + +public class Password { + + public static String pass() { + String password = "correcthorsebatterystaple"; + return password; + } + + public static void main(String[] args) { + + String pass = pass(); + + // Write the code: + System.out.print(pass.compareTo("correcthorsebatterystaple")); + System.out.print(pass.equals("correcthorsebatterystaple")); + + } + + } diff --git a/online-compiler/java_files/rika_gmail_com/Poetry.class b/online-compiler/java_files/rika_gmail_com/Poetry.class new file mode 100644 index 0000000000000000000000000000000000000000..a33a2fef72610778ce921ddfb4df8339903786f3 GIT binary patch literal 806 zcmZuvO>fgc5PcgbapRgMO`7lxE>P+u&>T1h^->8@5tT}*a_OPkq^opW$40hOss9Q% z6vTlaz>h+_wTr5#k)@fP*_k)*jrY&rU%vtDV#h{7pc(56c`}_z9h^*}S?@4XX?$g) zC{R0>m$DbgaN7GkK39`ep!{BkI^7kp{PswoxEGx&2No(WN+=6d2Rc*-^VwL%M{*n} zf%+ht$Y3O6ZQ`3`F+J0X!2Q9};e7%d8Uh=BdvHr)n8rGs_E)ej&^UjZDbm3>QAy0;MlzEP43L^iZ#ir`&yGiCh6^7|r8}`k>9PTg~6Xj+uo` zF2drw0WF81Olvdh(F^)g=Lc54@lb$6YpzY{Dy^Fr(BETJG0SAeG{2+In(MVsov%#f z%?`bRuvqjTz+$eBMh38f<_*9Bidk*_Ct8E=c+j literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rika_gmail_com/Poetry.java b/online-compiler/java_files/rika_gmail_com/Poetry.java new file mode 100644 index 0000000..8c4a5da --- /dev/null +++ b/online-compiler/java_files/rika_gmail_com/Poetry.java @@ -0,0 +1,18 @@ +package rika_gmail_com; + +public class Poetry { + + public static String Poet() { + String line = "The Heav'ns and all the Constellations rung"; + return line; + } + + public static void main(String[] args) { + + String line = Poet(); + + // Change the arguments: + System.out.print(line.substring(4,12)); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/.gitignore b/online-compiler/java_files/riko_gmail_com/.gitignore new file mode 100644 index 0000000..8e201df --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/.gitignore @@ -0,0 +1,13 @@ +/HelloWorld.class +/JUnitHelloWorldTest.class +/JUnitMyClassTest.class +/JUnitOrderCaseTest.class +/JUnitOrderTest.class +/JUnitPasswordTest.class +/JUnitPoetryTest.class +/MyClass.class +/MyClasss.class +/Order.class +/OrderCase.class +/Password.class +/Poetry.class diff --git a/online-compiler/java_files/riko_gmail_com/HelloWorld.java b/online-compiler/java_files/riko_gmail_com/HelloWorld.java new file mode 100644 index 0000000..259b161 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/HelloWorld.java @@ -0,0 +1,8 @@ +package riko_gmail_com; + +public class HelloWorld { + + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/riko_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..1a6de22 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package riko_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + riko_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/riko_gmail_com/JUnitMyClassTest.java b/online-compiler/java_files/riko_gmail_com/JUnitMyClassTest.java new file mode 100644 index 0000000..1470970 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitMyClassTest.java @@ -0,0 +1,36 @@ +package riko_gmail_com; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class JUnitMyClassTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void myResultTest() { + riko_gmail_com.MyClass.main(null); + assertEquals("MyClass Double Result", "30.5", outputStream.toString()); + + double result = riko_gmail_com.MyClass.add(20, 10.5); + assertEquals("is result = 30.5", "30.5", String.valueOf(result)); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/riko_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..f0ba55d --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,33 @@ +package riko_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + riko_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + + double data = riko_gmail_com.OrderCase.calculateShipping("Express"); + assertEquals("Result from CalculateShipping", "1.75" ,String.valueOf(data)); + } +} diff --git a/online-compiler/java_files/riko_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/riko_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..b65e827 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitOrderTest.java @@ -0,0 +1,36 @@ +package riko_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + riko_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + String result = riko_gmail_com.Order.condition(null); + assertEquals("is result = High Value Item!", "High Value Item!", String.valueOf(result)); + } + +} diff --git a/online-compiler/java_files/riko_gmail_com/JUnitPasswordTest.java b/online-compiler/java_files/riko_gmail_com/JUnitPasswordTest.java new file mode 100644 index 0000000..8135e55 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitPasswordTest.java @@ -0,0 +1,34 @@ +package riko_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPasswordTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPassword() { + riko_gmail_com.Password.main(null); + assertEquals("Password not same", "0true", outputStream.toString()); + + String data = riko_gmail_com.Password.pass(); + assertEquals("String Password not same", "correcthorsebatterystaple" ,data); + } +} diff --git a/online-compiler/java_files/riko_gmail_com/JUnitPoetryTest.java b/online-compiler/java_files/riko_gmail_com/JUnitPoetryTest.java new file mode 100644 index 0000000..9880af0 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/JUnitPoetryTest.java @@ -0,0 +1,34 @@ +package riko_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPoetryTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPoetry() { + riko_gmail_com.Poetry.main(null); + assertEquals("Poetry not same", "Heav'ns", outputStream.toString()); + + String data = riko_gmail_com.Poetry.Poet(); + assertEquals("Poetry class", "The Heav'ns and all the Constellations rung", data); + } +} diff --git a/online-compiler/java_files/riko_gmail_com/MyClass.java b/online-compiler/java_files/riko_gmail_com/MyClass.java new file mode 100644 index 0000000..c2001a6 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package riko_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/MyClasss.java b/online-compiler/java_files/riko_gmail_com/MyClasss.java new file mode 100644 index 0000000..c11e6a7 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/MyClasss.java @@ -0,0 +1,18 @@ +package riko_gmail_com; + +public class MyClasss { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/Order.java b/online-compiler/java_files/riko_gmail_com/Order.java new file mode 100644 index 0000000..1b04cd0 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/Order.java @@ -0,0 +1,15 @@ +package riko_gmail_com; + +public class Order { + public static void main(String[] args) { + double itemCost = 30.99; + String order; + + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/OrderCase.java b/online-compiler/java_files/riko_gmail_com/OrderCase.java new file mode 100644 index 0000000..a2af9fb --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/OrderCase.java @@ -0,0 +1,45 @@ +package riko_gmail_com; + +public class OrderCase { + boolean isFilled; + double billAmount; + String shipping; + + public OrderCase(boolean filled, double cost, String shippingMethod) { + isFilled = filled; + billAmount = cost; + shipping = shippingMethod; + } + + public void ship() { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping()); + } else { + System.out.print("Order not ready"); + } + } + + public double calculateShipping() { + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + + return shippingCost; + } + + public static void main(String[] args) { + // do not alter the main method! + OrderCase book = new OrderCase(true, 9.99, "Express"); + + book.ship(); +   } +} \ No newline at end of file diff --git a/online-compiler/java_files/riko_gmail_com/Password.java b/online-compiler/java_files/riko_gmail_com/Password.java new file mode 100644 index 0000000..855b57b --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/Password.java @@ -0,0 +1,17 @@ +package riko_gmail_com; + +public class Password { + + public static void main(String[] args) { + + String password = "correcthorsebatterystaple"; + + // Write the code: + System.out.print(password.compareTo("correcthorsebatterystaple")); + System.out.print(password.equals("correcthorsebatterystaple")); + + } +} + + + diff --git a/online-compiler/java_files/riko_gmail_com/Poetry.java b/online-compiler/java_files/riko_gmail_com/Poetry.java new file mode 100644 index 0000000..669a0e6 --- /dev/null +++ b/online-compiler/java_files/riko_gmail_com/Poetry.java @@ -0,0 +1,12 @@ +package riko_gmail_com; + +public class Poetry { + + public static void main(String[] args) { + + String line = "The Heav'ns and all the Constellations rung"; + + System.out.print(line.substring(4,12)); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rossa_gmail_com/Angka.class b/online-compiler/java_files/rossa_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..ede647df2cd0209519bc63d4bf0f9b0bfdb1edf5 GIT binary patch literal 482 zcmZvY%TB^j5QhH)Ern8~6u}E(UL z@R^KpPIY6#Sd*K++(iz@V@A12;V$EX~{b%CQrM!q5%e zrYE4qNG68P=@wTZav0{9wJ?coL3>ccd`)y2yij{DCea$z2desWk$aY4qFsm8; zR4j`w8uXLm%CzktaP4E) literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossa_gmail_com/Angka.java b/online-compiler/java_files/rossa_gmail_com/Angka.java new file mode 100644 index 0000000..3fd6c80 --- /dev/null +++ b/online-compiler/java_files/rossa_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package rossa_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..09c3689ef559f84b9d10fa0498e280f19509487b GIT binary patch literal 1167 zcmaKrZBG+H5Xb-9B3F*X!j-40K&z;2QO;+@B3O*RFpU@sO^7eZ0!ux-2fW)e;bUn; zh$MahKa_FyTG~U5Z}#SPW`6VE+1X#efBXcnjGB%V(i-{=0iQ40couo}tzNH%03xT`}$dH{nkGz=NIh%Cc& z;D;gKY`NTaHn)A(dc97}n%DZs*F;D~3_n3&n5qA_M0EfoFg4^1jAHDJ>c&ARg-c=y z$S~IBybWxxBapHOF=1d*r5b+1qu~-m?zD8mp(Bqgszp-_`BE2}Ja)C*)JfHhfdY!u zwNOZMGfeiv6Tmq78fGR?TV%y+T^ZzbT}?;-=p$oy{B+R?D~PIG7JSYVPu{H zMiN1_T`2;J(d@9(?%{-2jV3wuh93pn;+3t$DN?ypv_B>7s8R zn0i>WKBB+JNRtIjRF1$ZC(t&IFmMRH@)g5}82>^pMnND*npT6-6)sD=PY9BVA#)u_ z_5}Hj$~WjoxO|N1Ub1@9K#o#Ju|Srp{*=B9)h=X~{*;mo0mlE4JxNoN?`AK?+0VM! v3nW3+7-Pq{YL@C|WljnCj$6mL(-UHneqf5$X~NBroMIQb6eE{uP2u?;NCyl% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..c747630 --- /dev/null +++ b/online-compiler/java_files/rossa_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package rossa_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + rossa_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rossa_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/rossa_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0d78cf6a18cf27754bae162541640dee22474aa1 GIT binary patch literal 1206 zcmaKrZBx@g5Xb-5A}JwQ2vDdBq>9=WqzLr^%Y(&-7fweUfzB|#V6J%7K$Fzu;tU^4 zM}(0XKY$;~aj%6oisPHh<#zYC|J&XB`Rn@+0Bb1gh#{__$G{czG7KK@PrT6JZoRNk zI}m%4p?BGKZMn)2&*rKc5)2b9C)+EmA4yU6eSWkN%4R4xr7yUnLqog|{V+5P7`Tcg zL&o=lfbZ5FZZ~%KJg4w#o0wa6Q#|LAZ;62N7+wUzFje_)mQo*vU}_jPFoMxPgl`@N zQaGfSfDEG@&Kuu$&oxqXKgJASTtN?7`{jyG3ZF+hN{v8Lps}mMsHrqRdrG| zWxzs)3Ks}TW`^;udj#0>zJ+NGw+-CEUGn?8N*4uU=%LEF45{q9cIH-xsNS|)Cr$!6 zhPkTO2pwV7c*8riR;=Q}{H#?8d0;h#?}Ue(yB*tNv6#RNU9>IVay@Cu55fw#BUJzH z8JI(XAtAkX5{8j%?s94!_pzX1(LfOos0p55FC2u_+Cn)9gs-~FTbmajL*57&md;BN z)gQsOXRdVlBv+*xJoDZQhGfNd#p}?i34e>%8g$Z6h2Czqr;nQRHgu)!h^igfWG=gO zIWBF_rSxW{t8iWHd%h?!4EQvEw7mcfMV!j}QuySf+d;P(gAoTcyUM=lh5nv+X)8Uc zOVd541_~J(x)?pX7)OiLHPboLWarMkbMBdY?;d{t8T|tA3eQa}AYveDA%-|Z>WW|Uio<2M z@}YGl+L|GLY)f08GDM1{W)cY`4VV`0!MX!)41FzJLaBg~GW9W$ttuZqTk3}P1b3@x zx^v0GGExj1F7Jz)l5MU(*}6wNUvsH_$}OIkCh6lkDA$(Vs);mK4XjznV4Y!g4nIR| z5Z)G2%o3EEX)r7q*kai9l<)J)uFGxbvaQ_8g*^~&xaJJen(7FK<+?4!`@n4p?}E1+ zibM%48P?Pc!+|5{cs|W z7z($ux8=3!i^`<+$&k)?TPttK@O8Sk8{mZWEteff_=UPs{a{d?EpsYzC-Gu95Od(u zjZV~1o&GR46gBQR4O@$90!4;&Q#pYv@-6PDe*PrS%J~EiXyWyN`}u+J+@R07ygg^I z&ZQJy&EdW;d;?Dz_GczBuR#M9hMoUINxqY5U>BPt_3&9B8Iag%y-(gYSw=Q?@DuDC zZ5Xn&hQ~kzN#w?m5GoO+IPfxM9;f0bDdRMo>uvXrqA{}B?cSFhy}hH@cNm%I2#dfE ztb|T%gpILt%fCl|B*35>62zILpM@0Z-~m=pCaJ%`8lCMBW`SaPvP-nvrK%o}*Akvk M%p|{zLp;OQUmkh#D*ylh literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossa_gmail_com/TipeData.java b/online-compiler/java_files/rossa_gmail_com/TipeData.java new file mode 100644 index 0000000..46cc395 --- /dev/null +++ b/online-compiler/java_files/rossa_gmail_com/TipeData.java @@ -0,0 +1,21 @@ +package rossa_gmail_com; + +public class TipeData { + public static void main(String args[]) { + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/Angka.class b/online-compiler/java_files/rossaakmalia66_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..ebb7ae5ced5c03f81c5d951da4ae69ff8fb1b8f5 GIT binary patch literal 491 zcmZvYyG{Z@6o&udwy=OKAb3FtbYLMJ4Md|RRH!6tXe`J9He_HgWZ5*o2&4+DZIh^uBhAN{-B)#s~mu_GNzC}(yjU9oqY1!mZ&?I+3 zO*^#1ZA*uNqJ~lqW$bd~A6Ou{Q7U$~f84pB> z8cGH0k^Mw literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/Angka.java b/online-compiler/java_files/rossaakmalia66_gmail_com/Angka.java new file mode 100644 index 0000000..e83c076 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package rossaakmalia66_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.class b/online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..be7b34250417f1b99a0b5a0d72b69dcf0d75bf3e GIT binary patch literal 1100 zcmaJ=TW-@p6g?BCapF2nn!f3Sw4{&}+7u-ElTsd$3Pmj-xhg^+RnuhDxPC?Uq*6A( z8u%;^iEsD-sUIwW6|f9eP;u=|{lMIPX(>3K5gHkLVC{WT56tK5v3Sv9IQy7M>BCTTtnLf7B4y161 z^p4m~Q1 zxTbqt(J+BY6;nEO zk37#Zq~{BUc-5=Zl-V_1@vP+>34fm-+2I1AU53fx>p>eZqz%by)*f$m@tWba{F>M{ zL-NSq9oE9?>G&ui1L^bTo{$Z%9%K?&)^Hs+R20K=DlruP{UFml^(;~D97yNrwt0;z zZZo{=b=(DZM4xcCZi}F>OZHmL%H_IyGJVATc2f+1_d4&iOr`gCbtS6YwhdE?N)k62 z@^v$?JU8E_KBKtKn_ODl&GS09c_Yu38T1|36@Jy`K_CJZYYfYmoDVXjVx3{(|4{1b zj(aTP3iW^Z#6azW1dVg_HBU36d1&Q3*cS>Ir4TIx3Q}0W)h_fGQRB2`#y4~7J!NY) zeumY#T=D}_S#9ex9#i}tnYmo*BV{s_xl8dUl(XX$mm*{`N#Q~tFr?}cFhQiR(B{vP z1-@ZCEGHI~^ORa5EGh<-YEROrL8lv;qj4H(6zEp2AcJ*cZeR?X7{^1pH+z_bfhoKq w)En~KAhkRxrIEP6G-GUZSQ|}}&&6n~C0wI9Nq!6TuHY7ZX%wxZjN6#`1OMU(kN^Mx literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.java b/online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.java new file mode 100644 index 0000000..7e52295 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package rossaakmalia66_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.class b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ef9f94d490c5a36a1575e0ad7333cb08fae46664 GIT binary patch literal 1185 zcmaKrZBG+H5Xb-9B3F*X!j-40K&vQiQR*X#MX(rsVHz3rRv$Mbd{QL!A8C4w#BsKIHxPo4W!9D(kmu>Dg%d1;^ zVp}rwE?TZ7ml%?TVnaiUVIm5$yzT`0L&Jc9t4K4< z_+AijzVC3`;`8&HO@~|d=Cwt9>NfZJnh2urs`Oz9riP4xVT_!U zUq1|_a7Z-)8Advs_rB$}l~Q&;#te+BRKtsTG+blIoRy9_bYyWu^=g74Tj)UJ=dTnS zI;om6kVBr@7YIpihVgEA3>ZbnVe+57irU1`L(Ov;MhhQX^`qOO-dk>y zXeks)dR^Gu;WEeF9iFp8I}GwE%#x#}H0OFUCqIc?z#XA3?4E%+lo?XeYmpd+3&o3k z9S`tO!y^Na@r3&A`OWfPNLN^{27&O^1@g#v{W;`zz_8FhbzEc&+ZwXU#hqe<4*JU5 z5e(^?<%)NqvnBjBzGc%+KlOC|pfzrE4(;-IcLu ?Fo+c|nFDwC5 zy#TUIHD>hf0aH(n)_MASiX>UUSm_w7bP8?b7=1_3OW!bfgwe0$ViW{|BxyA$UE$KS z`-~uo2r}D-q)(CED1C>1jO!?W&64rC~G7z<>n>d)!RQ0YLX=}#$15n%L^>~Wfs zY$tm$%6`$wULXmo#t1vXO|wulOS4MI58OS${jLy`^aB&LP7-d4R literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..f34a15b --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package rossaakmalia66_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + rossaakmalia66_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..beefe0f8b6d770c5402a35edc5c0f2aaa766893a GIT binary patch literal 1211 zcmaJ=ZBG+H5Pr5rt{lf(c_}C_2ZHuRDWalS1dGuRrV(SI3GoA2=u(#U?(lAF(x0Uf zA(Hq5{87f)7TPnYU-tHPW}bOw=9!{)OVPbZSQyu#mKU-ZxXCbll{#cFF@Z_luPKI!WE(Wx zgIua)5~~>tHfE`Xfly>-81J};0Gr;oF>heO!X4aYnEPkH+O1;fq9(cwW62LK4$Z02 z45V8j#28Wxvt=1nJ=bo~K<%PXlDcZ43} zeG7}oGQ^bE!etmqrmkl*@c_#P9$I*W$20-YuVjzwG}vrD2!yXk%A1#0AM3mpFsxqo zAxt?0+mc@H`b(-rWxw>wf?=Q_UGcW=>B+ z)MOIZg}tb?gjv#Cgmy22xZVxA#kKh8+XbeVkj@qQdx9w4fJFKXEPVlE_Y6I!FwkihozXn(@l=1Agw5y0;W@l&4dCq$-^YhpD9{|=-&=EmYLx+J*bTJGZ@l&3wajTl!+CLH% zm!WG-TGD;N5KU*w8e$B|z(}gxM%@(!+vfEx&pq+nl4}cY>d+AFMh^@Py$1Tw&oFN* z$Km|g!;xVqow<(F zF^>feiw2gkOju=Cb4MO^F;{RLVf&rq!RGZRkJlWA)n>Y3O(AS!&hpn!GG)r^l{yd% z{Y7bscb>T~>}|eZqmv#g=FUlD;-~>1Jj<1)C`(7ub-|(>xhs`L;p4@&!VPh#Y>{W^ zwQ0s^dj%K_85Is)VUx|EbgtETAY|u{DVgad<=GXnDScVVo921WA0bTBm__K}MG*HN z2JPbh%+a?4)C+Xcx=z82VdOJiF){){qO=<1-b=VX zI(c zCTFbWy%u;sZ+R~^B_!Ad?!?patS{pm9$w&aTSg;?3CbZ!VkTR#7XfUY)(Bqy28py9 A<^TWy literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..bc63b03 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,31 @@ +package rossaakmalia66_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + rossaakmalia66_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..577e838d69868a8c4ede12f0b7e6773b00d9d6ba GIT binary patch literal 1178 zcmaJ=YflqV5IwgAwrrPI3lx+`LDaS=D^JBDSd1i^MvOoc;sPcfuo{3%IP({s(z%fjg|68xvjRB+-q%{m; z=tc`W4aXG*F(*KVp%CZ2EzK5N%1$DqVZ=|>tcXX!9ftIE>4-zcD8_uf#u-L)A!t;C zV!omht4R%6Op%0+aLLUu(hiRR2GRF0qu{=V2YARZ{ZG9@sTev)M3Z4S_p!+#m>SJM znl(a9AWvGnak6F0I?bAvn{~J$5}0M^oL^X6TK4DkSi>B2hJ)GZ8aL@6oGB-R`K>tzCwMyvOWohzOppM zJI^>2_AWoH(@m0O+&gV<8A<=aGhJzjigYBoOD6TmU1^zAK2>fr+!RNaEs6|1HfG)rC!%nFB*I@!3Q%_}&#sCs=@ZJ_-rhNXVK7BY6{80hL&|>uWTpHK zqi+XDe{|8gLVr&YCkx0FF2D*`Q1&m-eGawo75(QJ{z5KBK_HMgof@V05L_?aJ|mD= z05aPG>AS+{e&HL`3*5cLL_67k<3594q_IktU;R0K8Hypu4E^~`5(F^(m+TB}%Sf2L v7G%E&vlm+w((Dq`sa&ey)A)`@mw3{q(d=Q2dKf1%6Cv1o0JcGA3@`rxQJxWA literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..0879580 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package rossaakmalia66_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + rossaakmalia66_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..735a9147eeb3eacbe02b4ad708192f7ac6e19a84 GIT binary patch literal 1203 zcmaJ=T~8BH5Iwg=wk!*U7AOcvLDaS=D*5Ff~;T@|CW9cu*0-9TC^-&q?)qNC_sX6lxT!)xya&C|6!dB6N0MRA zv0az*4<@f0e0lk(W^$u`RJBe0^#OtJIw!)}=C0TmE>+a*2pq%I&VTC_doYNUg0zMq z4FAzWx#@bsB<2LjFdX8%bquS`ma==1(J(4gH9O)_aGN20T{_}WF@^~_uStfnTnHMS zK`~!ZiPe;bET(CMuJFjsFxm-^00z-_F{|L7hWmKHF!RrOg`;BVq9IxgBe{1i4#C!F z2ZmK6#02uxa{0Z{Xwb#B?Rr_u_OdQFMFMlw*|jTMCEr?hVSZ&vuI`bBdFTuY&u(Ec z4CV4SE2vn&69tPJo??lnZaX#o%%^4QCD#>>Tq6&RmmhszcNtdOy+>(AU|Vu4-n_|I zsMT%zL@*?G3`@N6&12#0^W!?*^wMMx8ZF_`HuikWGfYu2T!Y*ti#q0>VOvx_wbNm^ zB~EQe6dC#)5*(S=0E3aB(y1pLiWxMU;n4Sl>({BZfk>RxEQP6M+jpwsl_60sqi+|Oe1dc?)87i>WC5AN1z6z<%Haii&Y>2*VBj1hpUK52 z2m}(RQ={}gg6pT-X9N-pK<3&Y$t#Q<7QRBg!1yKZbdu%cmkj!m#wuB|`Wk&1iXq4> z{YfSX0vP#Ac7`-F8fLEt+0Vo5#WsaByTnW?mnuja-|+Afk2^G4J&aQi6GUb*1ltI} JHtCGv#cy}J8#@31 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..d0ddb39 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package rossaakmalia66_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + rossaakmalia66_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0b50d4e0e6b89b72d704ea3ab75da10578843628 GIT binary patch literal 1189 zcmaJ=e@_!Z5PjQLt{ev~Ex!r^hoZDasfwal1PjrqA!0z95dR{a6|i zB8eZs4`rOYmi7$lKYM#SGjHC^y!rX-`wsvssOX3xt|4LI3c485NBk2n)wx|OZR{P1 zeZ|nVByFjd8RGduRYQ_tJam#yX| z@jT8ySiCOz!oqIN;L%@G-M47VDJz6 zTMbVMi&zsN!(bcdjVtXIQ;P1vuz`^v)Nmpe4WkU%i_{T=jvTHAy&7l8<=ddq`pbo? zPOK&kn3$sWc|wtyVWi_80SvvbV_L%v12-|lF!9e`g>7O;Q1fhtq5QjM{%~5=b5Oe3&OrIjzg z6slD1nsXo+QtQ$duYGHegu?gg^wL9(-9Bz=j)t-6+e%uZDm_W&icRJ6pl(W^S?@4h z6^D*1$_%|O>5Z-z0R0iC%Apc2`50DXQ+R$|HMNH|9yDy&0fKm2OG0z41 z!4zpMM!Ob6CfEhKWdgy`Hvtwb9i0pG_YiTq0mH>pu;Mwiol|t5Krenl`UFFt$;8MB z1QHL=1c9ZHrq@RV5(`0QTOg@(ZBG+H5Pr5rt{jJj0)?u`RZ-i56rrM6UM#+RFpU_2Cd3b9i%UJ|-POB26MmLP zgh=8K@JAVEuh5=B{jxW^GtV>6&dlD=U*CTKSVKie3~>!T2Ckr&Veo)|;>9L+8pVzJ zf!LD_y~~zk$yJ7UE??7-V3-JlEVsCRBt^yZ_|ZlnTY=n^p5V3)4e>to!_Y8b;3|>~ z1<&<;&JS(gwD{uUZo}qQb9c|Ri?6nce9LNy=UnnF;Zs7xjj%CHR{xu>+=n5gGz=RU z!RQ}1*gW#3ut_)(GK_Y3-guUCE|$>!7&9=gpoSaqXt>5Oe33fh(2>CnRjvt!Os+#3 zEkQY7(@E8&0TWrOpf4o38OFQe5yCL~Hl{S(F>n|67_$E?*F~imdZ>gBLpt}aEg|d~ zb-;2OM3_LHVYcQr16!DN-gFPm6|*!yH)B=C>{jV<6_14g{RufL*vEA zfH!@HrSqCZ^+#yiQ&_%ylCMz>p1JP@L$Yc);&ouxg}24)O*-kPif^~t^GIEK8#vOk zMa}Xpa#tL>9G8~sQ2JE0t8iWHyPhaB40tq%WL^*qMS?2(Qg{@jTYk40gOLC=#LBJFOJhE(CJR}bz8F2k7*gt?kd;!SNZ%eX^&)9qq}?OL$pXd-Ct!s$Xgeq9 zJBD8Pg27{?Ka-155QrpBt3hx@m!#9jL=p>0rq4-|XUOanzCu62^;6vJg4MqO7$)cl zmdH}spU{_~+##8wol=q@g7ja|<1{Oo4thC6uXNB$BthjEWv956%2iW^X(i+vW==8J b6_O(Tzyz%~iEfhQWIL3rA>|saF+BYZt&AUC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..1e93a28 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package rossaakmalia66_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + rossaakmalia66_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFive.class b/online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..b69cf66db367525ebb2c69d48e8e64b7584d8b3c GIT binary patch literal 471 zcmZuuJx>Bb5Pf?GcXIM^h=2+fT7iYv(STZ*keHy7oT0HG%XuLS_d$+>gx+6bW37cI z7XASLjjf3vvuI3A++yDB%zHDlvo9Y{&j5~4HK0J%kw_y6jlmr8Ik!9>46XCQ$aP`{ zttA2xA2O)5dM||)q;wc*tRnq~ZZD>>>k})Sk*L^N780S=jYJUJapZEpX&{T74l|8B z)))%^a2S#ksbEOdPU<}!>kPY5IGu7n_PHl`qtPGwTzGva^sUa!886ym?h^etydubT zMBtvy{DB)?@PQ{2#10rrwaf3BmXD)>L@;dDdkh&n=Fa$(Pk#7@9nK=hZ3`*R{&v`x z!(s;oT9`ZvXjEuqi*(y2WQ57RN3c6`s3BRI22`X_#s>M4+Laq8+%UCP;-Ff&fq4(T t`hd)}!frobrCM34OVmKtP(d4~#pemj<$a*Xh1DYNKEh%&(K(q<=BvgdywOfgx*hLW37cI z7JdM~jUT|rEZS(?VrF*d|C^be*N^8H07s}B&=AuR&me&$Lw>>+yyl790dkX~qof#7c2z&dg|@);Dc z!BG51!;qLMf+236H2OM93})cZ=bTSn?nvHh4aP2)&cOEFW-qd*%dT7qOW3|QBIwv3 z35Hxxdg3f{ha$M*Lx*1C#CQyw=Joevt1r@6(i^uMeTJ+Ra(jBpXFqzw@}s~OU8&&G zpFaC)aO|Q;%Tq@Kjg2JPGTnB_GxCYOC$M`8s4ZEQ24YBK3l)l$^ipk~d?lak#1HDV yTjU?0*B_C+(b(PRo1(Q9T_s-Ch(V`TDHv3zKz0jRY*Qu$?Hvim3RJneqH14{s$|;$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..5ad4971 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package rossaakmalia66_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/Order.class b/online-compiler/java_files/rossaakmalia66_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..f6ad35d5d57dfeb0431734b4ed05f743146a6826 GIT binary patch literal 585 zcmZva%T59@6o&tDnSlXB5xk3dM-yddOi&~-F`6ivVA#08f(=&ZLWV)(lelx^!nH0m zap42_0zM7K({ZB-ZPK2$=l{+*Z9l)?KLG3?ZyEORvNb%&*k6a;evT{4%y9Fc_efHwi;6f&mim%hqMC#?7wC9eBc;jbM-=dFb5! z-HalIVIAo>G8p+6v3l1b6$Ns-6gP9|=OUfLi7Rcd>bZhjMFV3P*D(>tB&HaK`}i<~ z+e$%*{4c|=hXB%U6<2CHvJ6?*>2x^1wzw(z#zwtmacS0@j#W5zFNDhw+I233%3j){ z(zP1GJ>?CPc0%N7GmPZV`oS3zRgX8Xk9gbn*RlA&Mn4M%qv~|srr47TY4|bMRV|ps zG(CxG0Z=8-Xq=(dG|hD52(P|@J(IzZqfs3LK}1P7N49c3M~FI*OGDpJMJvl`#O@yu zO(iN%&{E0D3x?KSF{&s5pOS@6wni$QdIU-0We}sgP7rYb^K?o-rH2gtl?9d9lCNF< E0Z%h|jQ{`u literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/Order.java b/online-compiler/java_files/rossaakmalia66_gmail_com/Order.java new file mode 100644 index 0000000..1c921b4 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/Order.java @@ -0,0 +1,15 @@ +package rossaakmalia66_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/OrderCase.class b/online-compiler/java_files/rossaakmalia66_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..7bd59472ae69eec8860cf83b49a2a9f08c159755 GIT binary patch literal 1241 zcmaJ>TTc@~6#j;`yQM5Gw?c}7h+JAws-jgXic%#u0U?%Pq7OK2C+*Vh?z+1rlHmW) zXCHX*Ngp8L!5`qSF!5g)Bc9n3EtfdS%$du%eBU`|_uKEouK*U1i=Yhw6+sOlC=6X& ze4D2YZdTH(#Vt|t7?gS4)V&7`fn;hUj4*@x)2;LxA@T^9;Pq?|IT_J#8KVpXbzT!W%Pev4h3*kp z)AhLN`B)yOTF^8(Wg{5FxQYo4lSnf3`fyMBX9(Fc+9^864pJK`rWi&Y%XK-g)w!Yb zOlGrE=en_3vg+wor!1TtcPVMXX6|Ckx+$JD>P6wK^P(XiNZVxSPrf>fFtx$ZS@3wN zw!&>+U&ReVdX6eXq+m6il33EE*XZBSGm;kNb@d7`2LSy}1#_pyf@I>R@o!6|RZ}hVe5@ z&m*AX5ySBRRjK2fY$=5)`U2%>1N99QTBqqWM3RvVO&x%JrVYbYTIDkkp#Hyx8QM$L zA9PkozUxt!r{{ugnNT9QkM>V=MU^7QAAcU~k{pcBPOg!hN(6gi`{@3F{y-+Qhb}s+ z{#glTLh+C^9G7-9mcB~?{Qc1YW2M9ap|77wO2Wn1M!9%&JeHbj$p_%q!RB# zuO<9b-g3zkC$M5zDt?}pgu!m=&~J-l8G&d25$;C?Q^#IwZ35%-!8>7kx)WrQ*tYQy zI~I1M);wa^xw!zKEV_OBSeP9E|aI3|6|RmT;?JEg05FM%zFPX{?VR5mX^ge&A)+KFB5yv)0ktdT*mwjVDO2ZS=mZ)7Pse zzQfALhnNL^U_LSuLoAPs8~$zjqX3ICq=++3uY)Yj!2`^rOf&xii?p{%m>KdFNYBw~ Ui>i7&k|jJLpG|fd`*?=czo)bHZ~y=R literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/rossaakmalia66_gmail_com/TipeData.java b/online-compiler/java_files/rossaakmalia66_gmail_com/TipeData.java new file mode 100644 index 0000000..3992678 --- /dev/null +++ b/online-compiler/java_files/rossaakmalia66_gmail_com/TipeData.java @@ -0,0 +1,21 @@ +package rossaakmalia66_gmail_com; + +public class TipeData { + public static void main(String args[]) { + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/.gitignore b/online-compiler/java_files/seli_gmail_com/.gitignore new file mode 100644 index 0000000..22d5f77 --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/.gitignore @@ -0,0 +1,7 @@ +/HelloWorld.class +/JUnitHelloWorldTest.class +/JUnitOrderCaseTest.class +/JUnitOrderTest.class +/MyClasss.class +/Order.class +/OrderCase.class diff --git a/online-compiler/java_files/seli_gmail_com/HelloWorld.java b/online-compiler/java_files/seli_gmail_com/HelloWorld.java new file mode 100644 index 0000000..99943b7 --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package seli_gmail_com; + +public class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/seli_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..a88453a --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package seli_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + seli_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/seli_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/seli_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a3e94cb2f0f4b83ea355327f56c00884c772e200 GIT binary patch literal 1254 zcmaizTTc@~6vzKlD%&nwz-mE3WDqX}k*e{@8WJ#&XjUPTUrS(V3>7N6B$+3+FGnC<+V32 z8B~qKCndwKL#gX<>6y%i-$+Vfg<+_?u*;Br8#RQDAru_sVOtnum>C$##wZGTFccl! zz;GV7F=3(9Q^Zy~)*^5)i5vx@N{szo2bQ^yxiSvv+nB>+ z)7K{qrE+H=>5wT=86H;601D)%DVvMjEqC=m3sueGDZ~2pd8F2Z)1daqxGOr6fNO+D z5h@Jd21kfZsm6M6g#7lA;DOLbQGdY*rA4?NL zB8k5Hq0}=iR2rJ{WHy_)6;iZEV1J@#udk3K}gS}cDmfvqj(yWUw zdQFJ>me9sQnqlXhg&b~R zFpFC#IvDRtVza4@2y>V~h8$5QR{u^8j+I9|8Hx2ItO~W|R|7#LFRuB)j<2MZ&o9&F zP-=!*@45<7QbSsp?Z!o|CO;*Sk)e1O9ZM~VxEw{X@r{fl0%p7wu^%f@aWG54{Hy$` zQnAY5A;a2sq=b%xV^QbSw1x~?#=N0oqJ^)yn{6|A&9`V?6})3$V(xR(YzWuI3?AFE zK4BOywfoWPF$F54gNm(xp6m=oa}m4aE$$tKHv0cI!~^P?*EG&V8+gGOM2xKhULio(sHtpW{;VB&v&jnu9v0UT{MI zTQYv-d657A2&d9)#)+zlHEHLtc*Xsq9S>?FO))*{6bg3a=~S?zOnaLC(6ga+h@=ms z#b}?HKSgf-48yyp7(Kz*{5RY@!R@c~D}}qX7RV6D(>jb1`igX(q?=sZ9QQCq62pB$ zr!Y^L}SnvhTuUWEb)3-SS}xYg8A z#TphAfy4*!JuDG$#t9&#vhaP(y>rgFcl`Cor!N5Z(05P}Y%Rh_A5LdVM~6W&8~DrM z_;g>Ngbpl0{YagtL8Rj8;K}4D3^IYet7Dz*35vb`SYSO!UWOGE;d&^+7Hs%B4j(UP zlQ4azCQ&G8_(`Cmu}Zbc*N0a2N-qQ*|9|{LVn<0br|TW`$1XO}bkO)m)97@Og)gn&*@~bg&^P&CLx?80YE*a==dus-sK= z$B)$fw{~tT7PNaWR%H2p$fV=xus^Oq;2LwwL(Sk?DxGrF<~iMFMlM`X870d!2=}#F zSnbav+&5~mO|T;0478L9o7Q1Apcnemy)%^GF({xyYs#ke0jUb+w%M*4N z=v&tATU6hp-u-~~Ymsi}&ChQJteAr}U@^AI>JY@{s@)v8y}FDpuCQJ}16LUdt})|} z^&KT~*?Ju})_f1we6`Pz=V#dV>-I<7{HwZ_kLaOHrB&)Q>Q^K+?BF)DGU@NIW`@3- HllFcAYtMyW literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/seli_gmail_com/LuckyFive.java b/online-compiler/java_files/seli_gmail_com/LuckyFive.java new file mode 100644 index 0000000..faa2746 --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/LuckyFive.java @@ -0,0 +1,15 @@ +package seli_gmail_com; + +public class LuckyFive { + + public static void loop(int number) { + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } + + public static void main(String[] args) { + LuckyFive luck = new LuckyFive(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/MyClasss.java b/online-compiler/java_files/seli_gmail_com/MyClasss.java new file mode 100644 index 0000000..5d2d609 --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/MyClasss.java @@ -0,0 +1,18 @@ +package seli_gmail_com; + +public class MyClasss { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/NewsFeed.class b/online-compiler/java_files/seli_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..24cd343e43175930a9a2cedea3fcec863dcbedd3 GIT binary patch literal 945 zcmZ`%Yj4s}7=8{ET59K55jLE+c^lxidcOp-#F#7^k(rc`5I-!XJHlCd!BRB)SLz41 zX!Hm8qm1uqAq&||llSzzx954E_x$<$<2Qh9JX4WjSRQjv>TW$V%yuTikge6b49d%JpX&f(a=E!<|%;xHx3us+u^mAF|yJ!kkwh>NfIpwregw{I}C?**0_)Q&KxU0fqC?yikhYj4reTLjfR!F5!!zYV& zq5&;JA3OfY;~(gS&?V6=8BVVG)P5+#4kwYzcZ7Th3$wSiB{Q)`nq}!Ff-K=9PgbRy zMJJ;(*EoXqm3}hN$;z;_=g1mq0-XzVD@fhRBa2@{Nn)$&FBE%O)3kevdBN`G%!=L1 zn=AI4#urLUTk3Sm@+tw$+E&ST5vz&+5-v~Mek89#zUoh~-Vv^}j&b$v#xd5~->|;< z9h)aSD>Mp-kw%;h6tP6#3d{tckv74D1VE$6Lz;jkb4bt(c{Du2<3y4t)F*?d{{X(e B#}EJj literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/seli_gmail_com/NewsFeed.java b/online-compiler/java_files/seli_gmail_com/NewsFeed.java new file mode 100644 index 0000000..e6cd23d --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/NewsFeed.java @@ -0,0 +1,19 @@ +package seli_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = NewsFeed.getTopics(); + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/Order.java b/online-compiler/java_files/seli_gmail_com/Order.java new file mode 100644 index 0000000..b8db57d --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/Order.java @@ -0,0 +1,14 @@ +package seli_gmail_com; + +public class Order { + public static void main(String[] args) { + double itemCost = 30.99; + String order; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/seli_gmail_com/OrderCase.java b/online-compiler/java_files/seli_gmail_com/OrderCase.java new file mode 100644 index 0000000..57a1fe1 --- /dev/null +++ b/online-compiler/java_files/seli_gmail_com/OrderCase.java @@ -0,0 +1,45 @@ +package seli_gmail_com; + +public class OrderCase { + boolean isFilled; + double billAmount; + String shipping; + + public OrderCase(boolean filled, double cost, String shippingMethod) { + isFilled = filled; + billAmount = cost; + shipping = shippingMethod; + } + + public void ship() { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping()); + } else { + System.out.print("Order not ready"); + } + } + + public double calculateShipping() { + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + + return shippingCost; + } + + public static void main(String[] args) { + // do not alter the main method! + OrderCase book = new OrderCase(true, 9.99, "Express"); + + book.ship(); +   } +} \ No newline at end of file diff --git a/online-compiler/java_files/sinonim_gmail_com/Angka.class b/online-compiler/java_files/sinonim_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..bffe860eb64db2708fea0b4d9532d70e3e2ea1a2 GIT binary patch literal 484 zcmZvY!A`<37{~tw#$bSqA)ulLZs0*40HRS7PN*a^Ts)967E;(cGBy+6#~09pCLVkM zpUD`%PA?|((0*$E;DMCY*!CdkO-t)Lz^loQM*NGUi10h9p z#*prGCwb(M*I^VH6}uGK0yAi9r6PCdSDti9W+4~-?nFnOp|KG%kiwrXd@j7H6ZpLg zxmaXja!i8hPyFfNB-JBvdIZb3AC8!zUD8 kpj)L^logjsI13r7H6nFlbEv>TlTOI@g^GIWFv%YM0J~mft^fc4 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/Angka.java b/online-compiler/java_files/sinonim_gmail_com/Angka.java new file mode 100644 index 0000000..0426f9a --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package sinonim_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/sinonim_gmail_com/Average.class b/online-compiler/java_files/sinonim_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..510c8664565466ef8529ed8d6f4873cfedc51c75 GIT binary patch literal 733 zcmZuu-D(p-7(J8SnQeY*TAHn`rvCqI8f~-}0jX%jAQaM8ciTvaP&RQ1Q?t7z*#rbH ziUh<i1phsH$wN~`_7y>Gv7J0-~W8s2XGfRQb<5Epl84# z7^ZgIpEgSagN8Qo#ftU}$u1Vf@(6&3q{E&xPjQ*{Dc6@^5lzBdMs z55}OOI%yv5DU`$<<_(<6;5738O?964BhRN{;eckFHRVT!rH4HkL{8N6Tz@5nGdOGD zTn6WHfnnwt4FlhePcZ0KHMV_;VZJYeFp&Os$9H9SyB+$adqc11c05wu51&%Y)@0zV z5B!$b+jLvqc!RV7!>rZ(XGJ{?`H(?prBG*>bRxI?Y|Y(OdILrBbBxr$b;{IiRvA)G zIOwQt1sGj^~PXP`J2>376m0+axP>SbCjP-oQn;%BfA1Q@PRjkf^}NnC|RIF|mx z1PtnL#WxrYO?;)2L(*>OIi&3d&tcMb8v2;eDt=n=GsN>TZz`Tnkv?rZwG*paS=Y+k zTj#JxlouQ7!;m_~t4fomG0^uLj0hsYn& KZ466lLg_C8td3y- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/Average.java b/online-compiler/java_files/sinonim_gmail_com/Average.java new file mode 100644 index 0000000..66d9d40 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/Average.java @@ -0,0 +1,18 @@ +package sinonim_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/Bank.class b/online-compiler/java_files/sinonim_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..02f44977b4a0e342638c81140591cf7168142c65 GIT binary patch literal 1078 zcmaJ=Ur!T35dSS)@7hu)TrT*7igGd_$18OY67$3;eZrY=Fd(GV*32#35 zA&g&w=z|&_`~ZF^<6PT>5*qiiJ3D(bzxmDV?4Q4BI4&`yJX1Q-wD+4fH?94;V;9%C zY%`3tOy$ewI!#Vk`D%5mP}N_oeEt-m=xgaf01+gRG?0p68tHR1YR8@uHbr-QB9q+i z5;UFSTi2ATrd+}8@?}D}62nzoW0Nm&zlK`K@Z9=ig0`oK4v* zM=^^z1KAknah+jmNC1XVCkRLJ^A`aMdkk8|X$Xe+wkgGH-#!rTEjqxolX%TiAA-w%;jVq&RSL&T;p+BZim{ zCfVz!^56~hAu8OmYNit9FzzwTzVdC0x3WGpVb&8$1PaS4-ty(sEMtgmNh#cl#XV1W z1|BjjUdVe`ItCsS`u|O-MSHnZGXzf~7^9&3hfeDa(lR6&$X%1(;B}JIU%EwE=-Cd5q3A8L0}UE zkRm3FbV@u7Qgc}9fsLx?e? zkN7b!x?CL=pC25Fie`wdOC|LNgOM-n88DI$46wH+1|nO(6BveVB57j;sdH?n9ca-Y zlGh@QiS3TA^olQhskEbg!5gIvl`v`}gE5Aw2Cs{%!y(&$qZK=ewR^veUyZpcn7YMBwCiAZcDKjJ;%`5dC-t6Hm$7}f&u_;6H$lo1S z!?NkzD4_%G^X87wHLn_^Vpy_p4cATN!viWXVs2EhBBcYCGO|DSpiW$wC;)S?u}4Tfx026azm z+tgqbS9z1`I#*d<-@(36z$k^zGGHKq1zheye-SlGYcjf?G4B~0v(Xc*%w^&q zkVsn_pYfRD_ejlU5+5m(qRbtNKcSc&r?}8T#^V$&oCAhby9107=_{=HQ>1}!7!S*d zbjo>3EfE$Kfl0N;X|!O|Rm{*hjU;k(9hZ^98Zqx;4C@%jL%J|Kn1q8Vydu;a@>?Ud qEGZ=sJHs?%Y;@Qfjg!yC&Q@1&mF774&C$DzoAhN-w1OgTVdf7?76u{! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/BookStore.java b/online-compiler/java_files/sinonim_gmail_com/BookStore.java new file mode 100644 index 0000000..cd71177 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package sinonim_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/Fibonacci.class b/online-compiler/java_files/sinonim_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..fa5f488e222dc44b9b7804c904c56148b76547ca GIT binary patch literal 1090 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(@Mo+cl7O0&;Dr}BT_&)!ooRNbB;5ND zUU}sU=!GU+_yE3!?;)Pu5-e%sPBQ1r+3$R3&Y5$5{W<*!U>#3vL=d%LBw!-OkUrwa zyxipSp!}wOBpl5UTXChU*BGM3((VxA7_wj|a0Q7=@Y;#5MT=0XLr&SPkjPc#x1K9? zO?!g3mg7h=WL^qS==_FTSCTu9`z&wUNMpo8CV^3mF^mrIWiZO<0e&87Ak#*3SqrGEDe7_J4*Qvv-TgoPZ#l7K6|-i2c4la%q=gxTd+&*yimJ zZ=paH7yxCkYpUZpV#5tslNX^Ef^yMYyiiK}+T-nQp%2x*pNgSmV;*-b+zpbu$58n9 zyskV}4N>kEuv@GR?r7zmFnsDQ@j0+d`ijf_rtk|}N;Nv|<^F_vESDU2PTFDsyf@Eo z!!7r|&pAbvH=8wA3u>S;)sy8}K8{6(2x&-cN-4Z*ll#8#Ej(nH>&tS`zJlV3BCw53(X4cGjz(4WF*b`A7EceVVI>o_zgrcggm)+p`Ym-BkS{YY$dvC ztQi&K8?4Omcce&8=T4CY=rEo8P%+7pHBT`aT5_vdbM2$Svc}Yxv)@6KNEoGpVbaZz z*MvnY4x3hnrgIia6p+Fq&DIh|P$BD6ny+A@eQVCYhud VMY{PyxZlSEve|TA!XrG!Szg`R z6WfZRe^I(pEiohu#fE_t!&DR`z4FR|5>?;l2dkml4^>_Hf;%P*BnL1E%fOI@%Sbci z0_l3LbT*p~m#xih&ndrMCu-Gge&%Z;pfZ*hV=&Cr{#&FnfDzaRG8RTLc1CyoAW*^~ zxddbw>vG=v((Op3>_JRenAEA37xNgn!jL&F9dnq-;+k&K6hpSqg~ktFDK<<}HDe)% zJoPOQirfs7z3>a$fqzzj<&>{>#3ajBys_FgubG?7UofANGY#PVi+wH&+|>(#{&Zo zEj+?wYP9D!%X=Z+UAYg)3s$^F@VW$fp@2 z^As==3##ra;ZuwugHF4LV_rR+WRQj5u)o!xmoF38hJCFo5hVC$JD%hvNn z-##$?xM+Pse@~Gl3z#S!ft5~RY#d?W5N7E+h7U3Rja-a^K#(M@7Nu)kns%QNBoRU8 zI*{}UvKyrzFpqHc7}LFE{j7lurH*2OEM5IMeHkiU$SnP7B`E@oUywaXQhu&5)dY7r7K6muXGl*-{fh6g{0_CJe(C5*FD4q9j3y`xXQOVbP*Q1yV)%Kn>W$#>@=PLKXU|zhjk_ zNJ^^w0N?!ppZy2R+gS&(eCfVD_ug|)pT2j#|Ni<7zziO$2q37SNy9mW7&`X!13g{T z%|d#0dynt9452Au3U`_zm`LUogc%0QLBdMU9lAVg+xp?E=k9y%nrn02P@y2$j237L zS~awxonh1wrez9at6=D&xV2*$=|>xcnmypQUf}E8p+cJFLtz+R`EQv_GddAb(4`@Y z*eT{~hmOk)B20h`u{zEZTbNanl-+_J4ZSi|vwR)}=NYY)Cs zXOel9SPg54V}z7*xJzz^-bT0&upE5>V+t;6xP)&*G`LhU*G$ zXt;@6r=-nU-gc2QwCwA)!)vEl^?s)~-uztp5PhrS9_}m1XqdtSg0t*Gde5Wh zPiGy6+w$r4va#^m(~C|+FF#%`mrLeJhI#7+)o))BCV%W1+uUB)D~w3&jr~dsl9JCn z(-j8K3rCPUYmyYYD=d@HBP$I8b9~pbd4{3YrXD1-2GHpX%I><{rWi#yS+np;rz`lp zvU$m=u34VF!xx2=C-!%DPs)bE2sK@R<}QGUoC~rdvIA*v0+Rzs>olG2AV?O_lR5@V zoj}<8%9UMqg(MBv1yKsDiYgpl>tv8R{|mOBiY- z%h8t%+R%k8S+e>Z?F{pEkTE(*CSd~T{zrBXbyaUYJ6FzLsAtd0Ujcm^U?q%3kywtT p#wC+4xLm^3C~lW3*{)U!+Lgj(QsZB2OO#c(1JWU%~J zAGr=(LPA5Ifg~=U348U>lcG-15+K9n6P$;xX*VMz>rM<97*wW)6FJfF4nyCu>&StQ zAzV=$4Koa-Pe7x2=Q1Uoq8c@j!d0Tp6OxV@22a%^fTSJEPd)vas({#?LG=N2j3ccf zV_*W44E^U>Q-m>eR!!;Kl>$ASJf(}p#Y{1lzg~Ot%j;kNi6cw4Wp0&yi%XHR9hs6< zk@9$5==d0)X!z8?b=)|^ThZ~iEy182aLX4fyTo0(mjJ^7Q4FK}DKtbseolOxBiWcPe3c{cBP!c`ULfpGVU&n@qirob0< zl4)0R#bQyBI*vI5Mcid*qxP{Wx%6fvu%>dRlpqT48Cbv~!$6(a#GGT7xqNKODoLK? zwj@XYORH%e$CnH}VLb!JLbf#AH}C)}3~}j%stn0=l$R!eO86_4?IVWiX33+uL;?;c zD|db;Q=$~-oE;*wXW6vH1HZm4+%+B)rjr_KeV@G1j8PLl@@;9>MalF`I?mfvWiCxh zlOeHu%638QIu*l1_vkc6doxK~OJXeEzy}LSe7KaD%8WPg z(F=T*#7qOXSObOemzXEb_QcXqyNdP&mK%6@8tn*S0au8@VM=ubqjYn>M~qJ58m37) h&R~O@G-50?A$}kWUCPql9o}tC`m;15 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 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..d834a89 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + sinonim_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..99fa3067a06d8390bf9cad80505acaf9a0b77758 GIT binary patch literal 1185 zcmaJ=e@_!Z5PjPsSB}F%3x%S2}~Z0>9+D+_Y3Ehz?*7nt~w>*AZu! z^Mvi#!rHG{rl{{%9m{yTL#SK)v$w(dVVQeWNpnIl3^SYmty37l2oegC8b&ep7xmJq z=W~k~6ClG_2j`tD>^4iv9>lnY37M)nA&-JdhU8W0kV8cpH>FNf4CzbU1R$Lmz2pGo&(mt=i2gk>ph+4<&*QEfqS-WFe+m0L!;nksM&=d3NGPayL$V$kCqi-LWd~kF=p}(hyk_C+C&cSk*P;ktEnM6*~_>TMq?ssXldYGafrb&*O4%liFY>mzc GUj6~Sj1)5f literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..8d3759d --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + sinonim_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d192fda66672a4964ba680de83bcfd4644a16ea3 GIT binary patch literal 1189 zcmaJ=ZBG+H5Pr5rt{lf(3ls#TC~8}j6A=-LU?KX!5HS>*5I>NkEOklmuHNmL^k->A zh$Q|1f0S{yE!Q(Oe%YJbnR(`!nP-3f{_zvQ7K%Dzh->IEa0|T*!{^p#%dA;W)!aKd z=M~A&yCEDQHyPsDTv} zzHnSe*vD1d61C%sYnyKm33bmq<=&3v^8@ZvDZ`E6FwE}$w@{%EBS>mU85qUbU))O# zUvir$6ClG_i1XePPMaoW_akj!LZupR#G~OhL+Yk<#Gzvn(`ryN43pUqG}?S2SJsKu ztbq*XXm&oAg8^J+(ipX}tavST&zvt=)8#W(2k+utN7uu1u}&xTl<9 zXjeG=U0|PZ@4z~#(M>;%^swHN8m(bJaHOz#S@?q7MTa`Jq;MT7pWN**+~#Ml#|sPt z9x08?8-S5WQ1MK1k77pbMmY3+?guq$Z8#FA#7bd$$ql>;ePNMVgERehbl422M6p8gb*1Obfy zBRfr+nFzBtn%OVI?BzCv6uZLRWHy;sG`{1}6`pixw0fAL9;S)RObE8w1lyuBhF5<8 D4K5a6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..367f853 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + sinonim_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7a756345728988282e6e9bc5295c28d4cb1d1ddb GIT binary patch literal 1175 zcmaJ=ZBG+H5Pr6;TsaO~THXo*hoZJcIThcq2o|DIL&ShIA$}kSEOklm4)69%`m;15 zL=u01Kgu|JE$tDEU-ss9W}bOw=GotWe*OZmjH-?Vk{VJ5uAqk@duV^Lt%mK^t@YhQ zz9$)a7KJP15<{|Bs%c0wOhiG#vsRjtSAE}Zu7~m{l$+A$wxdHsvKM_YH1r#|iVTAp z2-kCkvr~6$(b(DZ9P8~Cp|1P;-2cD>Dr0yt42G$-{}!qAVgNY}c>{wOy1;w08A$FB zT>@kn>fpThh1;e`*?kx>Fsf1wFXquO#*jZR9dqa?;F=oJ1Vf?N0gX3aDb;jhHD$oW zG|esGlH3fV-S8M-6nz6T8g3f6h1(1xmxmP1hap8%a~Xz_*7VHxxUq_H@_494v;k^jdHXgT>P2 zB0BElfrfbl5AlewJil%ohO|Jd8U)-|>$4-{<>%0D1Plx9p5shouq|y>F5i@D)a|Ob z&lxgn!sYKmXO|RW?>6YBk0!cx)KVF3VIy> z`h5}_ndbllv7qXK_08;a03z0lv|uY_Whzo_ClB^*qXxDxcb z638j_la*6Sqi+gKJu^BV)87*$$pS{oCt&3>Xxk^~J%(QXhU_thzmkhl5C|k0ohbs# zAWOGT2_zAL%(g)?XDDo!ze7L4_$em4$?AcF9?4Z=ut1io{*1m1l@7=Z{V67C0vP^B zc7dca*2!LsvY&Ud=i3zW>=f5?#avm@_<=j8xYwo8>S2OLFiGPuJ77x@*fO07y!Z=& CQW1Lq literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..eaf9e4d --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + sinonim_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f54d1d3bd79272aaf2391aa0ef3c13d8296fe25d GIT binary patch literal 1198 zcmaKrZBNrs6vzK}L%NmnRG#H&DC$;}`m8tvhtU^i5#nG8@dYX4GA~(MY;R5YSQ-%` zi66iZWjwbVTM2|@yS?o>=Xd_++;ji_`~3&NDoQ$1NNeaaa0A^80|(AG$8I=Y-Co~4 z;5Et6y(~N-R~XXyLRCYCVLEmazP)xNc_|2-qxDE0MzSIU?zlQMq_gOOp`q76ANm>c zq40c9xI1;%5sjUi@7f=>h+5$_-`m>|f#Zt3O&(G@!%wgnX3N(mD`qhWQ^SyfVT@eR zUpWdTcS$w@8AjTijX-!UsTAFVF$3c&)bJA)4L2Ev&Qm80Iwmlsnl;TZk#9qj4Ja0> zI;om9ki#7HFXWQU4C5X51Tgl#jd=}s4BW*%D*1A=F7%0^i@NABjOIT#1;pn?-4|Y+ za2XUBhArJvzxdx=EIoq-s;a3q=lL=xzwlh>xLlpt0|Se&88Xsuq6m^NTuz|l5gu!J zV&EyBQOEtDZXZN+n06@)d7zHai8t@QMouGSSZdXsRGGjw=d5`7OQA}YzV-JwLw{L# z{A1+q@?g{1ZP1q<>gv{EbK>YEK1H4sF0YDEkh$bhagG$eN9oOSN8uXZ_XA#J=nZJt zXnPJAOgNSHB@f6aE5g=fQk4n2no~0C6+a4U{Jl_eCa)gnMKwW~qbW<#bxXli*MWAX z8aaA)fvI~(>vMX0fi&%aG3x}(I)k=-g6uJL>jwsoG5VcMjGRD_G_3}O_Y$s;zP=<# zDuyhyApK{U*tUK`Kf&ZFW;(&@#w!JV7{U_mRQ6Z&WGJ>F^Yo^aWC$>NMf4cW%Xm9_ zIgWnaj$R@OD#r*r#Vs>mHmwCEgN B6jcBK literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..fa81d5b --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + sinonim_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..703f2e79f467a64dc9ff63b09ba50c649788aba1 GIT binary patch literal 1210 zcmaKrZBG+H5Xb-9B3F*XLV-e2s_Mm$fkI~eZC_+%49eZ48v6Azj;c17(zNf?@b7b;O_}gPW>OlMI<`8ydZPDOc4= z)sz7f(^NW7_+(}n@3=>Rq4x}CHQX_97xx$@y6bdRB8DESoz0NWzHj9YyF@jYcAZEG zp}o*jzJb9B|#1x(xVP5+}XJ#Gor z!}|snP+&;-PAdt+NH*79SY9>dCI zF{1h-*w);Yx=(Uds=;&TgJ4Kjq%GbAR!z7&yw;$Tek%2Dvo(R#o_B%mOG{LxC&^s4 z>2lncj!o%Pm5#zqap<_B#4zB}1k&~jFcfhrANs;2A6(Sy;Db7CS;xq#u~1 U^%mi#NX~Q{xgH`nXpQ07AKiZ%fdBvi literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..385727b --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package sinonim_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + sinonim_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/sinonim_gmail_com/Lingkaran.class b/online-compiler/java_files/sinonim_gmail_com/Lingkaran.class new file mode 100644 index 0000000000000000000000000000000000000000..ffed5e63ca9069524cd2dc225bcdf5e6661ebd6d GIT binary patch literal 1187 zcmaJ=>rN9v7(D~+E?t&;x!=mIbWy2y#iA11pkNhE3I6a08Oj8f?xoqClJEe=SMV*2 z{!qdXAHY}f9gN?w8z`Z%>0I|aXU_TNo8N!WegSxnRRe8k*O4%hgvQW&#E*I2;od=h zYwt)@C4;tVd$xSW(4Mn)v^9dMpSG5oI(`4=)3gB-T{^l=^q`kvJhVOEv)$bTm)p*6 z)pzq{+dHW7fO`yGPJ@R{>twF9VU-j`zli~b@2d&Nb_j71mBJu~bPSsq!RQr*m6K2k zmxTEZ(m7Z@*KYgycY*E6iVOsI3;m>Z+{6SX8HQb66Gh*va{0lQhcpW%_hiU0lq;32 z2!HOKz$BqyU>X@6GbUy+$1u?10ET2;9Y^Qqt`k^0%G-j8tV*sXxm&j#hD6cd7Yse* zQM_%qdm`B8dk*a+C~1_Yq1?w-Tnt9VZv<7bZmZz#ixe#@VU(H|zAr-=@cJ7e5B>eH zM?>DgZQRjuSLNUy!~Eq1+upHX6Zyz%l$Lc~m40x-@TJ*I92k+l;@-X^!uhiA*BbT0 zb)8K+SAg3mb^2Dz+4b4m@D6%2Y;~3;UU;8D_kW>*neO6tr@t;|asm|3m3YqcmWKuDR{}VI)B%0gd`aT2Io*XiP5s1p7u4 zh8*?kGtiEddNedwp;;sd2pHLk&o%mQT3=}u#j96JB0cHNjhAVl+W8!LV_G1sbd}Gh`ezK8ZUwE?nzE z6Bj;!FW}Q?JRLWh&?fC^d;ag7)Ar;0?H#}l3I=@e>j*>;gvJoR;Mcs=<5ss+Yh8%8 z%b;yaOS;<({z9>#?QVbdA3lw(5DW%ryBma|7Q!fr4`lZ|*WkT@$Q`=E%!d$Xh*j*H zznftsFs>sRK?>=A5$m^Cq@qCffa0bqUM|uu9Xrx;>#ifXSvD|%NgY!WOk;*&e25Q2 zu&)$^DEu^0lAS*kf5;V=aD?2b@rOG{J-W=l9H zyw#(f0C`#r>B8wSDnqpH^7iEs?|c3_mi`y#g=aA8_P}Y2eW{R!7js<|fjqMG7OMF` zB|xKbj#gQk>8cT2eFb|WgCR$wItKg*lW?AF<$8tybs(37evk-PSCSaHyGJ+?tv*6a y#H!C2TYEu9QG6a{7CPA)sdVZg#E6%|2wifNh@)7bQ~DxbNYN)*REaHn+La%P1a}_* literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/Order.java b/online-compiler/java_files/sinonim_gmail_com/Order.java new file mode 100644 index 0000000..0706006 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/Order.java @@ -0,0 +1,15 @@ +package sinonim_gmail_com; + +public class Order { + + public static void main(String[] args) { + double itemCost = 30.99; + String order = ""; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/OrderCase.class b/online-compiler/java_files/sinonim_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..c715ceb92a16311735d8c08bacb61b28fd90ad5a GIT binary patch literal 1234 zcmaJ>TTc@~6#k}{-BOm8TOkEOR4y$jRZ&!mqEv}ZK!_!n=mQSzq+Pn*U3a%c68s;n%z=>sG@_yhbECjJX!#4}r>Ef6P}IdeIe?>p!0e*1m&6~F>=Q3McF5z-Kb!qBYu0qq$fmn-e!EV5O3<-a2XP*<6gmFFG5R0S@`Ztv|#{) zDlTXk!fnM8^tKbRE%qwK#HNqhui9(A#BTNr|6tGNN=c^WEgaH(=zqiX1T_7 zW3y=0GOJEWI63Z8wnB}h#g}zcJge8XgtN}K4EaFXCPQE9)mdoi4Tg?_$BWe!Zu|Nw zZV<$CR2iZLtL_xVk}kc*{)V2Gd?=xdmgTvg!|fH}RjiU5S1=pJ9o$uMPiAh8Vf0_6 zbaTh5icEuHBbiIQ=vmG#!~5ovo+vh)KILY~5bo%*WmW5T_AH^Mn-;_MU0a-^-psSn zz1ijhp18cnqSFvbMlw8k2=W&|v>jV0Nv*CSo(pmM-N@zBm z2us5;X-89zBuyE0IF{c>tQQFqYA^cpUyw{4;UaK=D-vSBhd55)Bv1+RHQKQS4FWOf zh{He^Z2H#skU)mCQc#a+QB+)4=|2EkC{kP-2r0+pfc{AGK1iBD-1H;N;12)>vJA+Rt>fYvT!zVjw?s`VkDGVW?9(kWT$zYr zu~@%gYnV`~y=tjnl?Q_}h#W?2jJm`<))PkKC^8}-@47?5jCbv&u51#YAy&bIs)KP% z*qC&215*rRiQ8TbL#7>D5XDttZQHoTFc(Rsl?-PY0ET@U&`f%8&=L$zauV zQ!wP}Qi(U6U{{1&eAg$9MHY%-qWHc)!_qdxP{VMqwZYp7-o~BYB$Mh;9U8h5dSYG1 zl=&Xt%W+a<^ipdRnUJ?PgxS~4C^vw64vHw*Sc<=-%uu)}yHtm|B`V$OcYkS}dq#&x z3?D8R;vCo|eZ^JN7g3?Eb*s~^_GffS(_^@G)D~C3FW02oRy~byPEq5&-;hRBvv|Oe zVoO<6;?rSpUn?cTn$M$1L^f6!7W#6$Ds&r<8D{?vr4H}riFw?lX^2;fdXnaW_Gyx4 z=%lVkX6Y-~C%Q0FA$bPU7{n~*&Y{O-YSG(j-mY8Er?V$0SZg!WCm1Q85)k#{H2e7X zCkaEbkRsv7XAGCW;Cf7)N{AO@B>7L13kNh6$Wmk5B?}iLIk%7H3sW9GB)Pf nFPh&ojGobB8g~=20>Ob{qFto;?kD>)9+J)>`4Lv}1XKS2hb9Ad literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/SecondPiramid.java b/online-compiler/java_files/sinonim_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..bc26408 --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package sinonim_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/sinonim_gmail_com/TipeData.class b/online-compiler/java_files/sinonim_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..84e2f07ea7ccd19f334fd4b77cafa82a604ba15e GIT binary patch literal 981 zcmaJ=ZEq4m5Pr72Tsdh$Dt&*Ul`2#$`lX4|) zht`#78;1C?RMMO>L<+@b0`o{%u#>ol)GQ-jgeuh{- zye*`dCMY&DU|6)U#<1>7rImCqIxd&aMO(Y&hU|+s+;E0yRbL8*R81=JK5$#YYw(ss zo+yD8!*b#CEOrLFt^=FP^A6~~^9hsayl4}0>6 zA%EL_sjhWTl*h%7+jPd;MtcK>uani?0LP?nxw>?OpRZ}%3;LDmG$%ZF0vm(Am;s+G zbUY80$xm}bQRR+Pmqt|PQDDe4wG+4^*W!-uTur|zJ;d@`%|5mRiK43!}kB7G{EC-U>B=2?BO#a-FO#(u{QM;3wEO z+AwU843B{b64)F;La0KN{J_h!eVmS;q^;A9&F)tBC>kTZvDN*uNvnGl`wlA`9by6a zf%~Bm8)9W--16_yuLN4*4RP2c7m%iRhX%cbCA^?Pk6@cHbL7jBUZmYFW%YO@i+Dml Mo9q$}@eFH!0sjW`3IG5A literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/sinonim_gmail_com/TipeData.java b/online-compiler/java_files/sinonim_gmail_com/TipeData.java new file mode 100644 index 0000000..4568f3a --- /dev/null +++ b/online-compiler/java_files/sinonim_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package sinonim_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/siskanyoba_gmail_com/.gitignore b/online-compiler/java_files/siskanyoba_gmail_com/.gitignore new file mode 100644 index 0000000..e9f12bc --- /dev/null +++ b/online-compiler/java_files/siskanyoba_gmail_com/.gitignore @@ -0,0 +1,2 @@ +/HelloWorld.class +/JUnitHelloWorldTest.class diff --git a/online-compiler/java_files/siskanyoba_gmail_com/HelloWorld.java b/online-compiler/java_files/siskanyoba_gmail_com/HelloWorld.java new file mode 100644 index 0000000..8b64636 --- /dev/null +++ b/online-compiler/java_files/siskanyoba_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package siskanyoba_gmail_com; + +class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/siskanyoba_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/siskanyoba_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..f67c2c6 --- /dev/null +++ b/online-compiler/java_files/siskanyoba_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package siskanyoba_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + siskanyoba_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Angka.class b/online-compiler/java_files/steemingbaru_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..c0d9845ed1cb92fec42a370d33447ead2ef2c014 GIT binary patch literal 489 zcmZvY%}&BV6ot<~OQ96`6Z`=U?7)S60Ek9SSfP^CuyH|#GHD9^A*D6(eS863XyU>L z@R^M9PIY6#EbiR7bIvy>^ZEV$0pJ|RIx@&=Pz6{b>Pt6g21tiZK4kt;bC)d{Tu8nHu91rVOP}NW~P{%GwwwM{zwL}rS_X|%`64?!$L4T^D$%#x)mmoEk>?1 z>nZ(IW=0nc`cSztpv1^g-J{bH?TmKyj literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Angka.java b/online-compiler/java_files/steemingbaru_gmail_com/Angka.java new file mode 100644 index 0000000..41119c6 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package steemingbaru_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Average.class b/online-compiler/java_files/steemingbaru_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..12ab8528326d01abd5361f5f3949eef179582c75 GIT binary patch literal 738 zcmZuuU2D@&7=BKZbFzNSZmgM8yQ%XlU3Jx66l9_mi!kUmmu!_%VWcsX%qAIGS`fS# zQV=ioCwSwvUMPr;UHb$43H}Bd;(T-Ljj&w2?~~^|=Y5|i`Tpn20f2kBnL!GQ1~mr` z!7#C759~_M4!V`~&W`KE4C0O#c=25Z#V9p3j4`Czbx|`9X#gN#luFLr%e7WQek-jII0u<|JKg4l{9*Y=k)n8SGu z7jn3Wd4{PIGz@$)T#$+X?;3{ec_VU6-T}!l%^o z4KHxl`hLfaHtkL?IUsGoFm1H|`H|m;%+RdmQj=laif!lFs=X`q8p>qq1gVA_6s+B@ zGi0o=A35$rFBzX3Iao}BP^L@tPm(7EiUC3O3cbxzXVm$^XRr?h7_L%HjsXQ}T!TS4 zk^aIMH0p1~H)t(Ie5F!A+H9!>WX%>YVBEA?>WI%vep2#N#PboaOP+3#K5JTyQ!7eU zRjOR)<%4%9DOI71vd)+2W!gx9E^aw1LzN8$dw=|M$f^D?boEtun}5XV8U6{giSLy3 zy@VWLj#WyqPHs&~@B|rn$YPJq283S__Y!%$#suDA5+%A(gnEoEa19F@t}Bev|3;b} Np?E~o7#8J*%3tEnkZ%A0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Average.java b/online-compiler/java_files/steemingbaru_gmail_com/Average.java new file mode 100644 index 0000000..2b8bbc2 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/Average.java @@ -0,0 +1,18 @@ +package steemingbaru_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Bank.class b/online-compiler/java_files/steemingbaru_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..0cc24c695411750305050627229ea0298a4f6302 GIT binary patch literal 1083 zcmaKr-A)rh6vzJq+ugPl3(}S%R*FJtQK{crYY=IJU_gx}7~=(*wv%@0el)wYB;0x7 zLl|Fz=!F_Cd;lNHc%~(xgvQJA%>Ma%@*BW&l%g2Hr~xg85Oju#1AfSh z7I#|3H}wP2kPP}W(=p{L!)U&+r>}jWb#z7P9y1V&VH}qjW_>AyZ91(w_k#VF%}r~+ z;o8M@?sOQ&+NKPg);c|$fca{5t5DTntbG2YQ2JV086biLk_J*SOe1|xOYMmGHc4;; zQk2~8sWjc9TAqL!??uJonHyE{U*-KHPcaVv`3STRsk zwclY_INL(gIdnUs*srnQjt$=7J55XY3)`;S3A*Kr5(j3^E!;io ziXq{HMfML>d2k0#5fyG(HB*Xm821>iy$WoLx3dAA#H=r*P!7vV-VU6nS;i3Cavb4R zEbjZlH}H^Q@j~6h$}#Ym=>HF;BigT>4ukqX)HMp)f9UkSL0*O|BO6-&3HFT!)OLES z&nh&mehM0^(04Q&Av>Scz9N)6&gBy@+)gQ!ONSaIBW>i9n%4Y<$T0^ET!-T&{&t2RnFG`~ac!VdI`3Jd3{yhKy literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Bank.java b/online-compiler/java_files/steemingbaru_gmail_com/Bank.java new file mode 100644 index 0000000..967387c --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package steemingbaru_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/BookStore.class b/online-compiler/java_files/steemingbaru_gmail_com/BookStore.class new file mode 100644 index 0000000000000000000000000000000000000000..11a41128dec90a6ab250d8271dd11b1f128fab67 GIT binary patch literal 1098 zcmaJ=TW-@p6g?BCapF2nn!f3S6jDeEtqT(Tq?AXbLQxAyu8I&y)g&1;Zv2SsNu_Ln zHSk#;65sFvQa@M#D_|L{pyJwzAWfA@OfbwiyeTT4TjTPjB^wk4lDje>ZgHp7rAM}i zYq>{d4O5s_F{5J^a|{zh^chB4;c217MS;?Rig|`S*%S^bR=M9kJaV{YAJ#m_c;tCa zQ+mE&h*!KiO_^QG70=pERrve7YKI$yb{VFNuZPJqq)o|d%{|`g;Wg81`!%s`h2*in zC#;9wsd%&?1L^bDo{$Z%9%K?&(QpmdRTRT2l^6>Devjpzcuiq+%h4^|Hm{N64#T_t ze0#vI=o9YNZ4nf9DZO^9e9?E`$^db{(-K4A{h4E~B{4TU<7|o9A_I^G2SnFz7q3EBuPhgFpl-))`hVWIik*6&nmo|A$gXceBSb zE>ZV~PYl#7NYJ=IUyC#|nnzZ@gMFcZ(GsFj>cJ}QJ_1yiVQZ0c^4Dd#3UZlt=YpgOw8aFq25rw t4N}XKQW}YK%reHtN44=J<+&Ukbp=;xPEx)FdRK9izBG!~VBi+!{s28)2rvKu literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/BookStore.java b/online-compiler/java_files/steemingbaru_gmail_com/BookStore.java new file mode 100644 index 0000000..3acd9e1 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/BookStore.java @@ -0,0 +1,30 @@ +package steemingbaru_gmail_com; + +public class BookStore { + + public static void main(String args[]) { + boolean isMember = true; + int total = 200000; + int diskon =0; + + if(isMember == true) { + if(total < 100000) { + diskon = 10; + } else if(total >= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/Fibonacci.class b/online-compiler/java_files/steemingbaru_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..dedbdd188aeda67f9a974c9bc1e929a698c54525 GIT binary patch literal 1095 zcmaJ=-A)rh6#k~&?UuE)rBD!|P_<}_N=3B(lpkYFBMGQU30`=C(`5on_ovyNl5p=s zc;%HZpck5O;RE;@zK3{rmtaX7caoWN&VJ`RKQrgopVOZJHt!g3Mvu|*&}|; zs}^?-s&Cpy!jKG!Rnsx$Izzl%*&RU=BO3G+t{`;@-a7H6unFb%$SJ=S5}9uGt!Fy2 zB|X9IdJ<`d+)LpJS!|kZ*Wrd?J}c@vvKZ5lOJN)n4C6z58PsmTMAYSoJ4}*@P3NFq z+09WolPOH$D#Mh`JEGw_2AA(lc}S8kxg&js$@1oAWzanbhHHWIOh7*jp`pM~qzZ*i z@!H($?H$ZoKq8fEE>R6K-()CUlKK1wc92k+l;?BM${L+@|c6#0VU_pJBOO87yT`>gS zUuX2{>iw5=PSN0&)iR}^S5&2bvLY)cvCI%738_uT5njXMzAt*gQd7P`%Z+|VhR)f-De?d*vxN^el`MJn6w{%lu$EWXKPoJ*%zQcf9Yl$RQEC_^ zSq*trXta{hY2|1{=aEJU87$L)tzZl_vOc9D+rR{FkXIJ$j6kY}n~XlP#IX=E-@!?{_zvQDyljXNNVUaa0&ek!~6U*H*M~=%=PBJ z*pUqV%a&`&6^3N7)XSYhV;(=fu|! zsiH%g3CJ+k<-GMRx1*D?2Qgt_Ql%PR%%kB7L-wq6%%LNPDb=ZIhFq}=ji0_!YUreD z)<7NwYF;2Dxfv#V;W1zoeI0We<_+AyO@^s|bSi2RLm#!yWf(8MZ�Qiuz8iB~}V0 z5?&WJceu=RcbDhw&<=w_3Jc_D>&&~J%*ziVA8<#g%erk~5hg=QdTkQJXt8vWuj4N6 zX}E9T0UlDfJ-=n{hjf8vH3)>Su8&8?%TFP<1BRu}nd2g3*!F-`F7A{XbkG;xu3$*l zELXeef}0*l;Lmk!6J<+)ToQ|l>Q6MLR7DhxwD z4H}tefRR{Gbx#VPVl*r0w0k(_RTD~1z3zqnj(BA$G1>D2yr^ad1)8e_y{-f@YWm5_ zs3D_oADDV(v_7K0$4HU|Oq7qo%BRq_jxlfqz5Er!M;QM?E=EBhNRn2A(iJXEyH5y` zh#(6cNct4Ht@1bM$GCcenO?Gb;6RpAN3lefs{WL|43#cqj{cOA6amKnl08XNlIvzK zN7>K1*-Ior)fi(ZxRxo_GUWv&*-{fh6g{0_CJe(C5*C3F6eS5t+&54Nghh)I6-X831J%JM4rXR>7OK!!{T-{c zL{d`a2l(y>`0PJe-p)F>z4Ua?z4zR6Pv6^Le}4V~Uq8kwf zJsP5jouI#VKsgO!O@Ius2F@c}H)~8Ox($6A`emqQ`78=fGxXF``wS`uFeJ4aW*A5| zK>hVkrSdAV8qtuzD9Pstm&^?PO?Mw)#rrJA6r9s=9^(x0e`r;ciJ^t$GZ}i5PpkPW zw?*2Myo45-UH=v@KmPGHj0vit$}C}8Zo+*o5)LZe$($P=7$p_wn&sKsVo{g!#C~t_N!e8xrOpe`1O^b16GFR)Y(x6CfXPv$^&XvWB1k)+ zFMR}-K8CV+gw{i-=?~~SMDKetF&bkKNRU>I!rKY1gZ|DENT32TQ3L5b#=vI!Bh(`d zmJx3T%SS*m=s*v$w3FHA=*uwQ02!l`WD+KT-oHfmQCIahqH~q#g+}zOd=%*45G&(M t6v^dCdR#L3gbQU{isD8Yx0-w+R0jFdI*c&l7^G3E^IEJRFVPyn@-Ku89lZbm literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..7f78264 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + steemingbaru_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..71ee92a001eea91c9a2852b1033d9d983523fa37 GIT binary patch literal 1891 zcmaJ?-BR0D5dIE7mJ#A7#^I+4;H0$J(82vlnu6018;1ZTAr0V^(v}{~!4{S!A{{Y9 zd((@&K`+{;=uA3I@FX*RfWAX6@)Eu5bdO{}G&C2I_MEf(?e4d`M}PhE;!gmxsOxA! ztA;iM?T9h-?(qYjwYXi$u59m#vSf(eG;LGfVrWfgN*dw}!-10NWDAE<THPX>FCAdUk1@pbOlttqG4@8BPR; zVRZSej&dEifP{uV14&#w6Z`5RIjmF21juml1m}Tk+RZS@x)TEi29>GdL{2ok!_ar^ zI&z?62$vO6!wf^|6VPb#xlBo?s74K>aD}+@grsAJ!Bh1JAZf?)Q%`=PQXqDFP<;R$ z<49}B7?{8$!=?YBPO-+&Sv93^R|@oSa+fX^7c<3J{#xzv&#!*@JB}IE7?7t>YmMeo^Vy!c_7?*>~qUI zTJnDB=!78}*P)$)z_Vfi;ygr3CSK*T4c683yXSCgvQw%;h6f zR!QG*VLGX+*7wO9O&fLML*JHWU6f4Eq~p9z zRp!#9G#L`hr)(F*uH%XvLzhd#M&dERg@{sqR|=POI!%wZ4G5rn;p6rf+-8gG3^7VCbA)i zVY%jcnc_TT_%+I6Q!xZx;P#Fsys>4+srma+B153)&KbkC!+jAwY^rabQ;Nt|6Jm~A z)~YE*E)JTGktM%w@oLJaTQfza5o&QgC3)4iXHty%d(pOqJ7=jj_cWLc@4b=tdFg1N z2_Jd8Dh+*@JFd`u)UO91Dy?pyl_X$b;s|WwCA5trbUcGT z@jH5-q5mlzF|5(Mn-l?q%)1D#n|9X;q$L2EY=ZQ>#L&jXAJC6*sezGGWA$HA5p<&u zC6bi)NAzX*>I7trRw|M>0ra0^JwShw!4vC^!20VG>peP+(cVlFSCbfvH}L*K5+5uj zrZVFVeE1xnCNa~%P1ZnR`~~Jovpumi)UKj^j^zd(oJKoBSiogsaF|jZ!6;qd?-HYv mxQc0#jx*RKtyX+P?-qQE@8}z+47TVIsL)C$sfs;V82T5W9N@SB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..2157712 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = steemingbaru_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + steemingbaru_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b5f62a036086fca38444ec9595bf85f6838734a4 GIT binary patch literal 1207 zcmaJ=ZBG+H5Pr5rt{lf(c_}C_hk~|6DdH;@!D94-X~bA)Li|9sbSX=FcX+pF(x0Uf zA(Hq5{87f)7RnjaFME4CGtWHp%*@YU-+usDN5Mo4aRXfzuA!S@@Q{DvxdwM@xy{O< z*i#JMtJ0NfjUk@Slno>prdm$Y%WX83DEK~aZieb8R3+sL?wBwT??Ept1AP|yF~E=s zln{<|YZdN?yETW)#_pcyJV=NWEkz>yz`}d&XuBjk+LwZLoF|2F>sw>_#$=0U}6H3TCFLDiF5}vsz5$d zHi^}Y1sk&@U?3Ek8OAT&BY-XMTbMI2Z{arXFxdZ4t0NRc7fI+cjHN%c8MHb^`jfoEZP!z_IuLfi9idxz&%z>d z3<>46aT!L^nXB1M+{dzk2NoXU5$W&wwcKGyZOs*eK=`_$ymfi?G31SaVdY$fDCG!j zd+hR8UovGX`=wVE3VRz0(1G)rFS?}^t^lSy42 z>qR|Dn5Aip(cZ<7)O$gyr1LTTJwcpqKq`9zmOX>9bAp~@nAtBFJjU2( zGBI)jfyC*wD7=s0`swv4fy7!M3+EsMXPDT@eua608>g7Q4A!f!8T4ZqD|FM@pV5~g z-vODUKg}dT0AqiNPSK={ccNEY(a$^4D?~x(7-grpnM@ax*#%AH8}6QB>5@p2_yd!4 UP7&NREwbH#Tx&tD(;35y-_ng6@Bjb+ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.java new file mode 100644 index 0000000..7477b18 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitBookStoreTest.java @@ -0,0 +1,33 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBookStoreTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + steemingbaru_gmail_com.BookStore.main(null); + String expectedOutput = "diskon yang didapatkan adalah 20%"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.class new file mode 100644 index 0000000000000000000000000000000000000000..760ca32b7d930587894d1e92b3114b31252f5a88 GIT binary patch literal 1213 zcmaJ>ZBNrs6n^f8c68-!ybP3=BBP`E&`1! zP|8+uppmq)`#<`qC+%&B}Rxko-};fHF{unMX(=AkB+9P}MG@alX^C_>rm z!#%6!36nH)3A%j=WYp~-E29RG-W_1-8q)fhzMddS7LYBRffX*G?Vq9Z6nfzcdQUO* znT{Aafk2Y98Wi3|aNV@KOdyF6Wabj2=K>@9g|E=haQhtN?O^o-Pz<`!j}@|1_EmZ_ zlp>I6`ch0%1TgfM=qydka1^~3Mn8?BSBQejG04twCzGpW3NwnxH#|7UT$@OS_yeP~ UjuG5AU1u|bTn`~PXiebRZ#z*MV*mgE literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..cfa47a0 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + steemingbaru_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..dce8eaffe969f02c9ddaa949c3d00a1f33e649f9 GIT binary patch literal 1999 zcmaJ?+fo}x5Iw_1D=o`S$RJ_^vI~r)5G!{F%NH&(1}q!ffE+>+GKc{dt#*~&S*l1L z6MsYU6{&J6HY&R+ACSMubMggwNTp{bi=`lb*xA|X?$h0;yJ!FS_tozJ?x3cl4ec5_ z40IyG(09NOdCubYUT$UkK$Imz+xm7QvCd7Yq(bY9^ux7UP6{tPDs z#xPcVtG9d%{fKKAFp$87Qwgjdk=H84O@Is+S~!nf({9E})?FAfkW{9I6Ow3nhhgB2 z>ySXlFfJ*!Mi_?EEzmFn`AkWtsKyMWaG417gd{OT@S#xT)cmf!nx4jvRL{ci>a`bF-c&Tvd1;Z0>&RbIUtnEAU0F zMO~6F6bg#l3CtRpQw;T2gk@SJYEclGS^uZ$Z~_Yk?qQLkgF4P;7))=5;%{PRN^u&6 zWdrw7WEiUQikNroGM7(HxlcP!a$8b7gK2Vp);x-b484u=2h28D)$qu`V?1GqN~ht8 zA(1`@KoPU1SXpP7ZgxmG=a9?BNaoL;WJ;9dyt6~3_YxE0psMlIu(&?(Ay~50xwgrM+`rQscb4XKo_~aV+n7(=r|R>7G|>n6h1j+xOP+%VPR8! z^PGBwj+zkj+_F|pDe_U6bRibiAhwz|bt}d6`^{E9eN1z)WZS}>x72ue8Z3s1GZdVc znFeb4(YLG8?bM(Fm+2;Kqd{mxT;18Ui>qsq-W_1-=Rj+TzOJL4cEC{f7%cl5+QuL_eZr%lgZ}`m2`pPbAgpY%_r?eLZ!IFD8&( zj!$JK>$vt3A1Clx9XFc7nd#01=BKszR8mWJh80*HcPEpbudoE%h{Yca$5c8mu~NtC zNjllU)g{C*LTrrEn!+SeK7}hZ_~Ue!O`wRYl;UJ7;IApTc5KnwhHt>>9i?=)>Dk8t Ned)BTpb7`W{{i;V0TKWJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.java new file mode 100644 index 0000000..387a756 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLingkaranTest.java @@ -0,0 +1,40 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLingkaranTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataLuas = steemingbaru_gmail_com.Lingkaran.luasLingkaran(3.14, 14); + double expectedOutputLuas = 615.44; + assertEquals("calculate luas not the same",expectedOutputLuas,Double.valueOf(dataLuas), 0.01); + + double dataKeliling = steemingbaru_gmail_com.Lingkaran.kelilingLingkaran(3.14, 14); + double expectedOutputKeliling = 87.92; + assertEquals("calculate luas not the same",expectedOutputKeliling,Double.valueOf(dataKeliling), 0.01); + + steemingbaru_gmail_com.Lingkaran.main(null); + String expectedOutput = "Luas Lingkaran = " + dataLuas + "\n" + "Keliling Lingkaran = " + dataKeliling; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..ea6d1adb51cf723dbd17cd25ac54cebd7fc24eed GIT binary patch literal 1198 zcmaJ=YflqV5IwgAwk%s7El;IT6tOMJ%1gx}Sd1i^MvR3f#1CX!F3rX6Ufc&sf0jms zNa7FhM;T|grCmk*a(DL5%$YN1=KlQk{Re=*;VyTmswP8_4AaH`*39=}2nhvA z4Z|4uqm5F7YMaEK02xNwIPYv>wHQ-&AI3C{`>C1?c@*4YNM4l=IaEww($_4-Fp+74 zhIPni%PO&&){w>w$>?yG+zjKL@DN}SeHXI|?rE6AeTKOkH2X^~hAxuRVi?VQXz~cA zN3$Tg2{nc+>G9f07o|K&ThdKChRI`?XXsvBT3%W8=k-v-0(6F$E1QW7!eZ7>2oME6S zEdJIrE8N~SDs{T)BPsVzn%hS5zxOOxn7k|;LGFS@JsPf%7L`vFI}Eq@k+gZ9A#T%# zk$D9$6bdRFx!k6hA>mxpc`y{`FDZqoCF$8!zAb!OshhTW!CxTE(2_;y(M6E(9|c(n zf8*%e1)2qV=zL6nPY@*w7|Wf5qNr_AR$eL=!D1xQG-3pr5I>M@9h$-JF7AV*KT9J* zB=HCMql|a9WxEFT%k1pjd(S=h%$c9RzW)HQiL#0q;tF~+^rDYp=-4%tP=217hws47S>Oa)28*0)+7FFTIW+VQ;;-`n*ZZkQ?*#QTwireHwBAW{qk z*W=t2R-ar2A#>F_5>PRLNvYNp!$dv=jVe$o zR8?X%qalY`642!yg&D@X=@Gyn`!?nj+|h6s_ZV{jP%9LQp@$^27{>DN+YEvmBmGHY z!b_k)O1yG&727_^S+=5Cn?;B!b6b^X-rB`cWvLP^KBssWv_d8LD~hgWT_ZEt{BqN{Ip9;f6=!G zq(Ay-eMEnc5vLuHEuMoFFQFWqqyG$Q@e78|F!q^3jFLbgaauJhA0W6vI(fSg z1CqML#6j^Z)N|atz;w4*zHiB35E-n|PIiAvUxrc$GDm-sNrC{z{!*PKw~U9?>p}Ii ruzI;eA;T_kE1gdlC5>;me}RWx8toY-X@)5xGaZ6$1Yn!A#_;?%i~bOv literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..c7faaab --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + steemingbaru_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f1faf71db58433a34d6591eef11d0bff12e7c3d8 GIT binary patch literal 1195 zcmaJ=e^1j;6g_W4I!a-%!C)#-6m=Vus`v|s;4l(n2pBh(5MoGI9;0M!XMbq;SQ-%` zi66iZWxTH&TMg9$BT(@LMh!0>8ii9Br!$>mZ zJfCyRv>SEZ4fYzAZZ`J}$I{+x6Z9tkIbu`YCC=pzAbhD>g^O(2{XsZRnE zTmpH9;i}Uz4b^sh)zdAWz&wMxyVasuI(AX5a^tY5Rt%Hd1~00wx!&{--;2@RRj>e! zA>li1M24|k{&F1|_whi&qJoEbM8Z36Lpus+oLbrQxGN^9hsLW9f!_2OmOAZ6$wpw? z>sGpaldn<3FP(kPklZkBz8P3`?pF1BlWqn{-0fC-@n|6L0^2t&UNb$D++~~E*L`Z3 z%BMDZ4A=O9CyR^{+=LC7BEpb1uL9G+BwC*3FN{TjGQ3znOuy5 zKp=5ChbUdZCF%Alfy6?P`3^|(9NC@1SIDQhc82L*vUv1Bno`HGM3$)jjJ^z|F324H z2_^{w$owUHl6EEA&0Y?(pLeqtI~3CF3^!7_R6)@AhT<9S^=Pzvn4%u0NsgH=*h&bt JN@ol&egi*<7*7BI literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..158dc3f --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + steemingbaru_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..e72d525b3364b1b9192c2877f836df4dc90152e6 GIT binary patch literal 1199 zcmaJ=ZBG+H5Pr5rt{lf(3ls#TC~8}j6A=}PU?KX!5HS>*5I>M>S?ZDAUESL=>Ce)L z5J~(2{wU*YTdrqNzwFKJ%slhVGqXQ`eg6Sq6Ga^{#5MF7xPe}V;Zy6AW!5dXX6{x_ zc~vs>uG_9HHyGmCTvZ)|ap<@!$O05}&$!rK3RiKb7 z>%?l-Kn8OppwA__878{n5x`dT9n5REYv3O4Gi3guRwxuh4@u}UjA!4s8MG!w`jfo>VFwYu#c zbB3WE+vRTqr^3a)RjJcWKk0hVXfGYjVlQx|?eMbg+vF~~)UhRP&!zIooi4*Ie&PvU zU>FdzZe(5oj6{NpCz1<_8F8AS=zH7`>eSkBBu;HCh3O?P5LN!#RWv;#T#D z*Ca#Fim-)TWr*hT6%BEQslZ7%#r3A-W!E*ETfRK@<&Jc@Y3a}q?L{994gCfNkYJei zBs8bB_v@A^8v8ZJD!$nz=q>kvyYIP2xeO-+#4xk@-%O=m3?ii=ZD0t)m&orl zDWgT436Np9gY(W6cAF4mr5F_bqhLPNdR`#G%q&rDVSaIYT zCInT!;dnB;;n)X43dhdcj?8+d#p75YnO=$d$85!H_&ocXd}me1?ig4^ks&Uf797J+ zE`K$Nj(fPTVadP)JR~f~trw4c>SD3%dE8Y!G=s~FPrljk7?#_Ghna?8TT@oL`jW3u zwHwX>XGm-co4@s~DvgO*ZO}^}$+~;onm202wr@*e@rv*SnaehnYpS{_eQLAIaGf7I zE-x|kyEJWdy#N>tIh7A3cge@Fn%ms-8?rT-$&ibBArF1W@!cAKDHNmh zun6s01Sz!#bW5pmqi+mMEgYSX=3OKl2ic82SzT&kdGe8=rG-0jk6)i6a8Op_eh4%lh{wnk?J G&;J10yA_uJ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..d6949ea --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package steemingbaru_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + steemingbaru_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/steemingbaru_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d42a1b5ac2925cd1dc8dad1443a5e430b1d4589a GIT binary patch literal 1208 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 z04 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/OrderCase.class b/online-compiler/java_files/steemingbaru_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..7ea593fc16231a72fbf02adc43df20ebe7b2c362 GIT binary patch literal 1239 zcmaJ>TTc@~6#k}{-BOm8TOmb3R4y$jRZ&!mRH+i16d{&iq7OJNlXmHLcir6*N$`K@ zvkyG@qz{nr;1BRunD{S@5zn+lTOdv{bLPyP%lDl#yWf5veFcy~HVhy9DgqjUP#C(m z`3_GR+$^V7i`$~)F(?bVse6kI{zP&kgb;)J3ZDs8dx4DThKH)rNbD*xQYo4lSnZ1HQ=_#X9(Id+bKFH0g@XkrWi&Erl?VsirlGh zmTO!$HcM75wd!mMC(B(bS)f_DXkItPvwE#4oONC_(lPwZ%E+ ztvs7gINjRClMq>M7zN!E=@1r(XrZFpHuYk(WVzn_C}Yrarb&G;xa$g6MTTMg4Ab)n zsCdLM@_$o$?@hK;!X$lva`-^61`4gyqz#i~B!g3jV4rEjaE(@Z4fyHxU&jpXrRfjS z6_W3I)%^5)z&96+2M*BjiH@jK6!_!M!#$EivDwKrl2h?OZ}b2?A28sb3+|(vbhV)? zfw^ETC>_V8A5A&pG-cM2NNyjIe#A(q{TR%BK|FDUOTYoHN{GG�df?fl83C(TO57 z2t=SG3Ijc`>4V=x3@NfoKs}~KQE@}1p8;s0Oi^tppd3>G`Yp+GKUw;5tC3+Aw@HQw T&>fm-JRmJhyG1<265@XV?^hor9h!**k_?$6 ze#|Ql_u7@W%_CtchU9bGv(+X;yinXvA;o|!*%~IU!DN_oc}LWwXL0q;R)=&86!%oX zuv(~JvNe=%d+lm*RFwsTF@ZEPI;KtH&JBgpI0=++$-C@PFf)C7TUK_7PZ6u&Zq>jH zW_8S&xPf_wT;z5b!;t8P7DO>FtbHA~81m#wxD;oT`@Ms<%Wdbtl5V9TEa|m&ZJ)b# zi$SZ&mS9NNZBM-ExlQ5k@uou>jVwHd*~0tLG>iKTlMThK&JOQJcpZ0#GmT0_#c0T$ zZ;35Cq|6TaUJElLqgPU@K>578Bh;a61?eR28z`WtqZIy2nR27E))(YnzJ;XULS#35fb> zoPGTJlZ44oh>`H)Gp5R4a6KfBMZ~KilKjWXg#j83q^P@fa${hHbY+-WCxSbK%0c^$ qgpOtQi-!0D(--s@$GwOwPjFz0Xjdt|2hqNUN2D`IevAz~#r!}0^aX?f literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/SecondPiramid.java b/online-compiler/java_files/steemingbaru_gmail_com/SecondPiramid.java new file mode 100644 index 0000000..b31e30f --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/SecondPiramid.java @@ -0,0 +1,14 @@ +package steemingbaru_gmail_com; + +public class SecondPiramid { + public static void main(String args[]) { + String output = ""; + for(int i = 1; i <= 5; i++) { + for(int j = 1; j <= i ; j++) { + output += "*"; + } + output += "\n"; + } + System.out.print(output); + } +} diff --git a/online-compiler/java_files/steemingbaru_gmail_com/TipeData.class b/online-compiler/java_files/steemingbaru_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..3d3b999f02f9a00f69ba8f775e1e0706548626b2 GIT binary patch literal 986 zcmaJ=+iuf95IvilQv_&GQqEZS-smcQnWs|HLH}-C1uPgOW z_zidfDGz)AAB7kvMM>2NTb|jOJ#%JucKrL#=of(3cwr)fsDW4taU>XWm;8#?9WF2G zA3B$!s~HmewzTyjL$q2uTR;*E2Fw)hA$1GhzV@|n38exGT5OGpY*qj0*;2Q)C%D_l zQ_f5ZS>za&T|N*^CA(aIvUQ(UzUET<6k9#6O~S`@P^>L48Yc267J*gkZsvgybs)t z@J@NhAy16Jl3}U(d0q+zv#kQJD~{|Coc>3+8G;t?ta zw!+3dW~fZBz?N5PAnKD2OnP<1yIOhI3}0uDcmte}zT>jz2*1)&Y7h(?cgvjd+zLFs z9*Q~e*@I4oqA`0vHxy0oIBi>tMiNzq{F!nBS6ChHsDX80u^lUkZHARrz4sym}vD7d3_hNC<#d7~kiN5|`{5y=r z*a&Ih2kwVPe1zq(G3DQ+{|WSk84@r_rjes}ou+*U1-ztbk7A855%O82Gql>Es-BEx P4Nu8ulD&gnJjd!^65#b1 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/steemingbaru_gmail_com/TipeData.java b/online-compiler/java_files/steemingbaru_gmail_com/TipeData.java new file mode 100644 index 0000000..71e8f70 --- /dev/null +++ b/online-compiler/java_files/steemingbaru_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package steemingbaru_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/Angka.class b/online-compiler/java_files/test0106_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..5ccda08690843f5cc22f69044192f84132365654 GIT binary patch literal 629 zcmZ`$T}vB56g`sx4Z9-qD1QWD9jT7 zeHxuf2Q`7tsr(`RSf-KxWpb)QBQUq8Q*HJIs)OyZKT{7y zRQ^>?VkO{>vQWljnQM#hi#2nirvhuE|IHs#n~qX}-r(ElpO3)gI*o?g<0cl-b>Ka4 z8T_0Ym9(&gWjf3X8eX1}b><(EX~Pi_i>Fw3u*PmV z^dYZ>XLv49KetlU9z5oZ&Sf6)b=^mdlbq^UY60<4U?DIvJo_Zi@7Ll6S&@h8K-;m%wQ4>$lX2p`fQ>?=5 zbq@E|I|mn-ze30BU1QZMRbiDp)EMhT4!I33-7QsnGbUbOqrBTjzcjf;#OZ&qXpOxj Hs^HZf-3x-e literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/Angka.java b/online-compiler/java_files/test0106_gmail_com/Angka.java new file mode 100644 index 0000000..3158d36 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package test0106_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/test0106_gmail_com/Average.class b/online-compiler/java_files/test0106_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..91e2b4852a814ab728a0cb638dbf776f79835476 GIT binary patch literal 950 zcmZ`$T~8B16g|`3*`>9}S4#*%<0lpn3aC|tkQ%Cyq=;^z+BA_2byK#qT~fA0--sbG zKI%X4iD!M##3FBl`94owV+KFr*6&)hq6&Yf?+KOX>?$DECjz+m8R2a{8i zskL%VdDXR&UrXNEaT}`a+AsyWD{4n2tEyg3F0WVIQXpW>d37(C7cdedc>#05f96JD zARL8+CD4`i>h6PPZQX6GsP(EV(3|y3s+v~~ua&n+GuZI91%|T!S1`-lsj4o}pD1Sk zD#-;6uU?)V$=m1=2o*C{+Bu{tz)G*^NU)mL$V%sT+u-qG8x(Y8&7)n7!Z?qMHZGj7 zn|rYxxV0!Q;WDlIO*)SsYw-N!Lkb8e!&SA}2(DnnMna%ZOFVfT#VE!E&Kaz_^tgbrlUW$2(M5*MB7+Wn$y@6yx(kN&#V!~z^g0DIhL}^3G4wmRg4yN=G(V{M zA@Z`#pVd6OSRZq8+0%LV6&lG!>h+8e<;N8)WJt^XH zjOcqJZocwoG2NfdDgH;63W6-J765;xgD2=j=~ ZN*lLq%ou{x{RJtye(LGoW|M literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/Average.java b/online-compiler/java_files/test0106_gmail_com/Average.java new file mode 100644 index 0000000..31a4f01 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/Average.java @@ -0,0 +1,18 @@ +package test0106_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/Bank.class b/online-compiler/java_files/test0106_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..b0427a2309be28c42ae23a49ac32c283d5cf626b GIT binary patch literal 1185 zcmZ`%T~8B16g@+CyZu5CS||#p_))eXv?!vbicl(2Q$G?23Gsmp?WQcW-KO1YeDlE< z6Mun!g6Kmvn)n0!QN}Y{3_+mD_RidU=bSrd&hI}zegRlU(LkTTsB5*|%zS2Xw_2BW zZMW>y(|OrAG@uC#9>_N`U6YM!`sLn%RdxmZ5ABBSE(`d~)V6@O=2WZ@d(a@+H{F)qsOD1J{?)k;?-jFuC9VPx#0}gsaPyQ-oA27LRgWNvDQe_& zC|RrrXFKUv#Bzyf$$HK}it7JQl<(NJiq#5WMj-mEQ?JSWM2Gq(+LmjnO$a7tmDY0v zHqRSWbz~x##~rFBn@y`x5g0d%sWZ*TWVrwq1Of?9u_cdTQJudpFnb=ug*b{it4=N{ z!otObs_|h2k3b&}9_ZcnV!GDfhbl+c?>S=v#ys z^lY;FR=s^_)9JLz*1D}68dQd#Q|Oqat$g0=`naN_`EPKaW)zJ2^fv^)aM4Ex(hFYF zhcMTXUISx4cL8NhX4K(N>k?-)8_lg|Sl zAvf8)2@HY_5@3WCMYQ16CJ{x9JHoOO<3MUPia0cOU&a`7IxAsZ;mW{O)_Es`K;xJ= zp6nwFeir7VxV8~kjv|rOzT)~%m^(wf>FtRw(nEK&E-QA%YtU1r>ZLECv$|$pDiXqVj=U)@GD#?b3A^{(%3% zZ@wjd)(<1m#2?_V@fQ%!?T7|J)8zErd!Of==e+zl{rVk139B+947tE=2a8LKD|@vj zcN%+DuW77%UcC}{zAYolkUHc?+-PvOW^C^t+SPy|w(7V}P-2h@#T|y|BhRu`NQi6b zLyRF=c3gX_)7-cHXMDe5Gw5Zn${Rb}cf|SZG8!B>ZHCG6|1_8spOm=_LxtV)A1#%@ zcifs;+>sz99!g-Z-%5yV{EQ=uAsK_`gjbH+f!)+Fj1dy;b*P5HUM$Bmo>HKI!r8oO z${1r9{yWQh$7xu$uOLTiEvH@g-25>$ByTwuZ}Fhc-8{E=gCFEojABx>;R>ZFT&7nb zrZil|G&Pd9TDEJ^7z!K33*fV~rh*v;HY14F1+l;|e_7~%1`y0S4L5L;K?%HG>lm_y zi#bgd3s{t4Fl53uoNthZB~e*lOZ1E;!~GgfFmuUZD3jCPw8ajP_?N^9ynr{z-=MmC zO=L(^0$#0e^48f(s1>i{SMA4+Sek*~i?|@9U1LVyk1$eM@{1u-QOKP<2NYB-1jdN;1(|OceW8z^U}B<+ynd~V*)ED*%nP{^ zgxoD;$i}EPnQBwWswBN1X%d|!+0!I?mSh`9;TCi(6W*kkH4LJRA#BrjKgS4mk;4%t x!m{Ujr4jx%#g3qZJH!*c^Ra@vVXhYLktg9kArgq4Vwf?O?pM= 100000 && total <= 150000) { + diskon = 15; + } else if(total > 150000) { + diskon = 20; + } + } else { + if(total < 100000) { + diskon = 5; + } else if(total >= 100000 && total <= 150000) { + diskon = 10; + } else if(total > 150000) { + diskon = 15; + } + + } + System.out.print("diskon yang didapatkan adalah " + diskon + "%"); + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/Fibonacci.class b/online-compiler/java_files/test0106_gmail_com/Fibonacci.class new file mode 100644 index 0000000000000000000000000000000000000000..349f3109496e9d651cd3754be63d4b8e8ca70c29 GIT binary patch literal 1101 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 Twr4%r7JIOb_heg&D_H&mv*s*; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitFibonacciTest.java b/online-compiler/java_files/test0106_gmail_com/JUnitFibonacciTest.java new file mode 100644 index 0000000..e639cad --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/JUnitFibonacciTest.java @@ -0,0 +1,33 @@ +package test0106_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitFibonacciTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isFibonnaci() { + test0106_gmail_com.Fibonacci.main(null); + String expectedOutput = "Deret Fibonacci: \n0 1 1 2 3 5 8 13 "; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitLingkaranTest.class b/online-compiler/java_files/test0106_gmail_com/JUnitLingkaranTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d73a6d78ed33d763f9396ea84766c5e78cdb5390 GIT binary patch literal 1466 zcmd5+T~AX%5ItKeZ7(gwYC%C{QIUd3!5AN`ApwO%Q^m+f!V}rH3oQ2Dt$X*9^k->8 zNF>pBf0S{yg$kjm`sT~d&fb|bbLQjz`1$o4fF(RhAjU9dWoQ=`7oP3z`$E-stJ*KV z*$R{`t6=}5Fe2C_g9PFXLx6zd|`FRoV(Wz{mIbz~cn-LOUqpJAfhGEus?(zJ5f z7|~q6U{G=n?~MvN4*8D5g=aGBf1xOaC5FDj%r-;(rLIX2eaNJdf|o#+VZ3K34}-|0 zz>rJh8v0YXiQxqDmq=_hLo59>Mv$aH#KhU(P9x#;Eb*7`BEKTdrl`~)d@`~KkMwSw| zM;ZMt|Ee+CB=LY@Z7VP`)b%4-Hu`(j1gr6EfsyDVy`$6XoSSD@`ehM+~cf&ZA}BI}Iw23Oj>G zV^DU(M-hsQ>E01SN7Y&Pj*!|skldH{K-ahkLuu^lr%2SpLYwFuujz;iH^*O{$+kYj zRmh{DCiiG6YMh$FEdjaO@vGZHiToE)&N;Q^KXPF3HgsgFa!tAEAGu0%-VG!T4lNJ; zP-4irO`}`RZ4k*geW7iobAYtBWW`91%$^`Udy2uG6AT^W`s^3nIL58d^eKi>I&_#rWNp8q{KD&< zKpHoyd}waUhA4@O3aZ-#OCZiLa_lv{Ld^>f3tQ!5Q85f@6`6WuN=6IMXP9Hx+d7*3rUHrG7RKrcNyX@RaH0`Kqie8oCJm$ruv3* za2=Tx7_wS4ap)fo3i?&U^j{+lo@hWJ@P!joC5GdmrsRH6oy6fUV zX;Dnz9_96W2pd`}ox}r%&7DAtP}Lfu%4v*sS!+4-x>m&IKj%)W&A}_4rRHV9I}S#1 zkDF#)I1Xm;$aeTKLoVMQO>5kgs0bg`v=9<74F2!hE~j1>U{SavAa{ zsEPwpMwQb@xFG`DIeyi@aTuJEigZP6N~@u%tAI;(tkixIB7M;qvR1Wp%33wj9;X*l zKCMG!y&)8%eSGc|>A5pp-#f*~2}b9>;Km7VeWs@vCTPu)Bao&wgJJp-V|1Qu-L%|s z2UBD*+$HK5rs+IL7N^~Yd3qkkIm66e_Wmgzey7_uv&8`;m)M*RTfU2JwkI29{uf)W XC)+|7+hR|)r5&~z$%_uNHNT65$WZXz9;Jk)zB}! z-3_F6us%s=QB*Z2}Fja^_CWE zN_nlVD}b_b_@HFaaVT^gu3Qsr@Rg(#Rv8A0^Lq^G*I`ZA7(mWJ7Pf^EhN-@xYz!lp z1w-D!4Gd;+8)FsI;$Itk0kNt{JJ6@$Oh{+ABUVYC~ z(%2W5X?-jshB^1Y+DMfRMMCd3E*m!aF%Go!#haihBT2MtK@e(B%P=6;jJqxlLnX=< z9#BSq+rObys4{rOu(=y35ry@psBs!yL)H^#-cTX2`7gPhZFBIdXQ+8a@Q#BHxyN;@ zA#58ncx-w*$51G?hms7M5|zPG*$g2^ewwnm%-wR=4z*C_44yD-{5y{X-9HU#kBmCP zBN@0xd=#O?@TGr*$dqc({Uc;|js^FHJ`QW#iz1=)#^>0pN5yubi@bZE=Q84PP!orw zh8m|~a7_fJXZ-pvu^H^`FjiHuDUD*ruS1s15UJTDIQoPs|BlWyD01_z8@VY54I#V)q_o@|u)HMT-ew#6>C Sr#;!0dazCOWLr)uSos61mn_-< literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..e12ad3f --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,31 @@ +package test0106_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + test0106_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..fee6c65aba7fc7e287efca4268749ee88f725611 GIT binary patch literal 1257 zcma)*TTc@~6vzKlD%&nwE>((($e@S?k%BQkSVIB^63GfiE(uR$+YT^fFLibn)34(< z(1egkqVIkvfN=Xb9A>-YB`0G9E>LW*Hpi&!r%ExtN93Owl_RHLA@ zu^URgDL%*RLezHX-9nmS_{2N)O1>8!m9{D;qN*93DADyqZ)+vIfML>Ys>rCc+R$P} zDX+10O`&WIJ}4Qs4My7r*RDye|Ba*wmKpkrvwIBbw^2>l=tIsy7Pf^UhKZi8Yz!io z1w-D!E%aw`2L%hG9Z76AVl4s(W5|#r%Eaj3b6^>H$d#ekOoEC~J6^>XL~^65=kIw+ z8u{`vt&e5QFysDD6)CZSSm@pQRlUYPCZU#rco&|^SQ2$53?uDn8HEJRxU1qYQlf0( z5e4+O`fEx>DuZc;_1#d3IPyL&;y~ALzWqdVu zGz6|0J#tWD_|n@!Y%(?4y&YtCjs*{dK8|YKi({em+NZ?x<6lVI*1|q3UnT)8>eNC2bds< z;US?@n51(*Nt|}$=H;au`vOz@`N!vY@{?{`WTOX+T%*}-TCsyR+m%L<-=Gz`(&js8 S&%4qVy3oeE(iWQ;Ed2p>k1AIH literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..28be915 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,32 @@ +package test0106_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + test0106_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d786978552b41fb61aec8468ca8fd8c198f8d6c0 GIT binary patch literal 1268 zcma)5+fGwK6kStlFNc;wwICugs7OJiV2lsekN|;1Q^jygcp}qwfFb8n=gcAL_xJ^x z5E4oB-H$TvX`#~4R9|Lh&#b-nZOyOW-+usD!OJ9K3^PWCW@&lp_2IE6lzUhUywdwU zUzsgkmwH`C;>f+gN6N@0azpg6bB5MK}K(!l_-8KmJPkz<(b8_K~DvS~2n zGq{698uu`oM4_vQon~mHm%$iP6o@LZ`0)&q*3MOwFF!_JRq9<)btN%Xf|_vmg;v(S zx{R9>6*A0L{;Q2t*_*v8F0(@+i=7%d@aMkJ(G1#qiZO)<;)v8AU5v}chYSRUK5s@S0(Q_n1BmznhohV zn8q{P+gXM}u|1U5pea%1AD8VAvgBtdo9o<@mDM97bvcFS3>*K>qlNCD2E&Ng>J3&S@mv5P|I+zx`Jn24^RTbWLt5tDCXgkVQL6YB|Y{zG4h{t5G`Tt@db-(+laG z)wC2eX$k3Wajy}LBohMp1Eq6S` zBv}lPh&qNTIw#2DwA(PRuEIE%m_Eoqxxma%x@|LC958%?&FQceyV&M>vQg%@*a|(_ V7P{D8^kiG?!8YELZK+kk@*m}NF6ICL literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..5d4acb0 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package test0106_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + test0106_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..87e56bcfa08719f0a0508aa1279333f1c0e84301 GIT binary patch literal 1177 zcmaJ=e@_!Z5PjQLt{ev~Ex!r^t)jL?DTtz2L`$PlL&ShIA^t%QSn87A9p3Gk^kZp6 zh$MahKa_FyTG}HJ|Jj?{nR)YO=Ix)qzkUN)MMXyhQ4KKzH_*e7JTkwUrG{zOOB;Jf zd|xv3tO#4kRfcH3P}2}+m<)o1Q(9|EUU6Nsx#7!WUv5d4o0bj@(O&ey(9myS011Yi zgm|xnhTc&92?mJfL-8R8)xCh+*NKOXB34t(7um877xfg>-X-FFw!tf>HTTM@L zi}(^C!*B=ZgDdPdN6PNQsDUw+YB(W}hH-}UMd^@3M+P_5lqMN6`3`8f^Kzl46RT+h zS>$MN9+%{180&_I0E6h;n9*>@z+K#By%ImMWgdU9~?mFkXG}&4$OY+-^F|Gz8mHSNZBqp+?b?^}B$5p%CWH+?kH?c``27Ei&7=g@Xe(R%{D_#Md;jC>;(qaYASG&o}f zmOzqjpAtwU0GVxrB+il9DgJs{V|=4CM~U4E-r4aRL~* zCObn?8SiAT1li9!*^6xoX?BKNseG!aX#B+eGt75sw0fAN5lqoIvK_G10PF>w5xo2d D!!Zz$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..a7e656b --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package test0106_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + test0106_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/test0106_gmail_com/JUnitSecondPiramidTest.class b/online-compiler/java_files/test0106_gmail_com/JUnitSecondPiramidTest.class new file mode 100644 index 0000000000000000000000000000000000000000..76b52ffc126986ad207d65472c5034df057ac6bc GIT binary patch literal 1276 zcma)*-%nF96vw|ElWms`a5_*BDgN9585rY(GbCUj(M%x@NO&UMR-k0}cJ}s?>@V_J z6G9@1zWYZRPdAt>F4LE`r~RH!&*?e+`Rm(v0IPVOK#ZYaWoVaImR}wm`9d`gYT7Tp z+YOYh$eIr7+sX)E)ptmgK%8OxM4XCZLj*^~t?G%aS%$QZY%{VIYozcQX3K4f(#7?b zm21X`*48ya$vJEr6?7ePU59JiBpZIMD2!Exp?qPFA^t|!rH3J8(n!HeV2ojA;8h+* zkx79eo5l?cr*In+3FLZ`sI)>W{WK<#q>CsMr@xy&Kno<%A3>*KBqpcns2181P zm#s&QPePezshwlVeQA$%or^G(#%_FyL?g_1(p==dbAhXnM?qa4 zQa{u=m4aIWxEJI7|BA=pRdi%(a#Oj!neH!Ja;2mvr`Dq{8AI0fDXp@u|7ecW3H3US zBV@fN6{C4_{v7G~3ykicWBd#^=fC3C8SZ?cqZp=W%#tIJrZIyt`UDfSo^J27-Ej{y zWHH<)bPTh!9wv*^?5=rnd5w30x&7?Jb3Fb*yB)IA0pr(bUYC~dp%wblDDuB(xxTc; U9@?|Mw52|@slK%3b_OfI0fRjoQl+X05`N1dIL^mTj# zO$do3dhbIS&$Li!XsX#{X3oqxzw^1jet-V~U=`0CBp7CmjLq`O@{9e$Kq!B|8U=-S zJE1aVRhMss5oLOJkYpG=7AK)uf9740}k!b&z40>g&qI2!_*O z$a=Ve!8C3m=U}`miS1@=WZ+=}DRM-aSp7R594lu^DwH1@K}G7asQ8jdrKl?WU7?kg zFD{ejNW~0urT?iSB{mdGvs1sU*W{;0XjCBIh9@dkL|qHR$OxmNkf5p3x;%)qEIN2V z0sXE1hSrfzVU}TYC)6^I{1aK@)VR9xTgJSuBccT_xtne?cvV<5uSni8FcBBrH0#oJ zF@rf<+Q$sz`F2lQeWpNFcv!SO7$!SI(Okyvl-3T6)WsB@Fl_ugj+S=+Fc@4FUydCO zLCKCDIVdoE>F*%6nOg1s4$|c#$pdMQq8b-*EVbGA+z@`8Z|AwlyZ3pnV%`XA@_=Tc z#;F(F5WtpG z0s{R+u%6dT2bTNVJa8<5XueV~ojudF<=MYfyd%3NFpShM^H1phv=4$mxAZ6~l6nmBv)>%$eD&zBAK zp2v>1k!?pi}*nMB~tdfBnxJeq7IyD*2H+8ZrnU}6z_I5qjGD}$vw**Gd z734K(t=Dbm&~k%FlWU%o6K$f2m4uEYZc8Qa5H;0;ZOY#Y&ZhUI$FzYAW>|w+ty<+n zb~2SqcR2f*vO&yIAzcREm4WvJrn*620C1mdp8C3W@Le>p1hy*ZRaz_sVyR9#Ssg2Q zsDYz1)I}}>YqDsyDivfmIgw?7k<{A`T1^oIat1ERfm2Mk$i5GCaTL&ZD|NSEZQ61W z``SuRO9E^z8`zu-l{-!^t;TbPtKh0mo+9{#n;z)2@)-;W(;6)Yt`VL>a%^}bgY!@b z1?b86#}j^c(w}*1A?REQiy*NiN}`!w#{dR-Vho}fqEC>&81MM6l4Iy2Kl72pF^nX; zL+cC({{tOvLx+9n5TVC>Xv*h9eQ^MbBl#wpI>ltV zfvMCQ9;rQb8E~LVdfaiTBMalPx3{Y&QM3XnXMF4}9M5W&i*H literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/Lingkaran.java b/online-compiler/java_files/test0106_gmail_com/Lingkaran.java new file mode 100644 index 0000000..0b36d8e --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/Lingkaran.java @@ -0,0 +1,25 @@ +package test0106_gmail_com; + +public class Lingkaran { + public static double luasLingkaran(double phi, int r) { + double luas = phi * r *r; + return luas; + } + + public static double kelilingLingkaran(double phi, int r) { + double keliling = 2 * phi * r; + return keliling; + } + + public static void tampil() { + double phi = 3.14; + int r = 14; + double luas = luasLingkaran(phi,r); + double keliling = kelilingLingkaran(phi, r); + System.out.print("Luas Lingkaran = " + luas + "\n" + "Keliling Lingkaran = " + keliling); + } + + public static void main(String args[]) { + tampil(); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0106_gmail_com/LuckyFive.class b/online-compiler/java_files/test0106_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..69c816831907d394a5467e106e74e63d1223b438 GIT binary patch literal 626 zcmaJ;O>fgc5Pjo(I0;D;5|S1gS_&Le4!B&nr1XMRsgn7Sf^y+dZQNDZHnuBgQ>l0U z2q(^P0Eq)XpueYAKHfSNs1ib!cRcgSee;j zl*U20h)&M;&6)O56ts@jnF?kqnFg;W$2zit@~%mY-4hfB+halTd3vO4D4<$L31vYu zG>Lw>h$lLGqb4&gXoqQ}W@D8ZmtPf&_MMpvHp2gT7*e0k5lWHXaYhuh;S zZldF(ea-3Ud~S7I$1QZ}GF{MgcS$yB@S03ZzE<(DhE?45u_ox`+SlPa?qFR|I&};h z864#Es%%Q%oqyQjZjyX%fgJEPg2u?I=;Vbuy_&ia$#b+PU_>5Nn z3wrN8>92qIb?Nj9aC$wqbgBjNDtwxZt3;gsy`={FxSQYaVgsA(P(qv7CVOnLUV--m N6_F~D`^-H&_zfDfgc5Pjo(I5r6lNz)b@C@npt9B{dCN$CZtQYG^t8Rf#E+PJH*ZERPLQ>hY1 z{s%gL$J$2) zUK2Ic1xukx^|N_0*7-{{o@zlS%wjbisodE3GFdHNo0(uc{J)YRyHI5+SQ)$u|0s%z z+@zD?&d9?JbX|0==#4IBg-)7SMvq#vIi>d&V3P$eh%AWLDjE7%#Z4D$f^NxuwcNxl ztP5&q7C|9{!*XhsPpH284>{aWT23#JL;gn4iV78Lzv-?pt&trXH>~@y_+WP}5 z0-K;{J{aKe#KqFOi~@S0uigKQ#)q=()7ml!xJKJtT%d0;@^BqX%vkUnl3CKVc73n< z_&r)5(e8i3%3DYJ>+gPjw|o^?zB}dpIwP0O8~i-7_~`JoN?zON?t%+_+%9oFqBhv6 YhAwLx?6t{!1I`aLL_Aiu7(2N48%|D!1^@s6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/test0106_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..ec814ee --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package test0106_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/NewsFeed.class b/online-compiler/java_files/test0106_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..3bcbc7dcd1832ab78e6096cf4f385a839b39a5cb GIT binary patch literal 801 zcmaJ<+iuf95IvhXv143X99k%)rO;c_n^TZ@395vUDjrN*$yKC?hic=llC6A+>`kkF zR(Sw~1RuahA;xy2DhlFdcP=|;&Y9WYe}4P|aELcLN(@U%q^fn$dVAgvxeU(zICPH1 zb$TSkg$|8j?vh_|C*V=vIq6*rUolkQ$w;b0hH|6XVbDIr7s5mtH47C~8D?D>iQ`e& z6UiCx1%knLW1j~dp2*C<3utKNQ*oPrM?Ag~n(1o{Fau8TH%Ej*dqY9E*g3 zI)i>PB%X0(V4hIUgg-Fwgu6p93|kXSilMZd)8uM+i8URs#-RBOy_-~t(84-4XnygC#yMY<%Gfz2QHt6K9=1(v zp{b+6P|sygrY&q^hoLgeDhQ%6-9BFpPx>_C`aecT+EqN1KBdjv$mM3Mnwm1b@ZwS8 zizAsWb7uTM_Oq8Hl7!HY0!n1j2cT0Y&!L;qUD^Hy<2Fy5bY^J^;sKr3oo!);yc!;2 zmLgg45LynpssF@Ww`|*9SF;~`-HN^7b*uJM&)xZsXP>@cb@wYa@6m0l18B8`wgM9y g)F3jTuPKbR=GF(xV@F)^ATm|)nrFau6-l(wW4jZfmvjSJVh z(8Prg;0yRNXuPc(O`J()?#$ftoqIFyU$1Wf3Ru*kAfzE|AOe+P@Pc3Qe2d%7e5HON z8XkkXEp6!)7(&@xO)VBa+xH*(j#}I#0F6EvB-@wG^GuDmx*~Jn32UYg0}Sz!bN%}= zia`u%FbxbN@yDxr(;*dEI9+l~mVzpzlRt8$?NvQjaBEA)2u3xG85qX|!|*>j43W04 zAVl_u5p+TTX*aiWH4Q0-F;8^7we_`))278`>$Krm`HFicT!!$jb0++{r7g-`t1jGQ zUT@J&m@;jKk?hHTScX{DC^y@MqAgPSH#XPX*#88XS7F_U%(zIV3?xSe+EK`Vj3BW{nQhLX_6!XZGS0&=oSn!~{WzOA-wR{hA?*3plFySi}^sg@C_!NcDw)p literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/Order.java b/online-compiler/java_files/test0106_gmail_com/Order.java new file mode 100644 index 0000000..ea57a68 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/Order.java @@ -0,0 +1,14 @@ +package test0106_gmail_com; + +public class Order { + public static void main(String[] args) { + double itemCost = 30.99; + String order; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0106_gmail_com/OrderCase.class b/online-compiler/java_files/test0106_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..ade124cafa548222aea34b41f96f40368ddec6c9 GIT binary patch literal 1113 zcmaJ=+fEZv6kVscDP<_o3kV`XMVN|G5JaWiq+EijK&&A_AIP+ww1aJ@&P z@Zgg^ltdFhz_0K-j8WIjR0K3O>DgzWv-jC+t-a^VkB^@LEMY@}PhiN_EPHBtYVM$1 zQ}yaW(Ws?&%#vniRZEi)5a>BnU#RJ-S}&(}3Wr+J76>iqb=_VP@GGf3fk4(MX%YC* zAtQ*8KzB~BYun9QK{Fq#g{meH%Na$rx~H1Dn|IoW?2!$k(7`)1KSIg(T9G4a7DE$4qzAkRu}`!ex#L~Rn>H| zFUlCgC34iBH`OZPC6!ZEJq0qUC!yukcQ16OfP!syx3uPj@u$r!^p>lsao zm-L>~jr1-V*aWAkwTy(6K>vAqt4+PiUW740QS%kO(IDrMqG8$dBM~UL=?Fe~4&#Y3 zPQ;XqY1|?mwb9V(B{p1HOPwO*1-I*DoQzo+w=qYdY{R=0NGN}&F!nCyCEOE;yRgp^ zl96$M1se`Wwoo<8)H42$4ziNfX6DSvc?sBm`S*R6#0A8fKv&*Yi_ada4R@3zEDA*O zM$;^68@e-Z(UTdTbRNWIP=2>hKJGZATqXKxT0tAUevI&YZhVMvb*{mLPOh>SK-)#H z15tGIgvr8>0G|T1SWj+Ze?HJc>>XXK@b7#3?f5nAU~*=Bmv($05WCRA;2Xq`Fhr-v zbvlpG9o;%YG=X6nDS?r#54iFP%6^QHZYV9JTbOC#jswo`f*T_U2O_^We#V_FCnHN( zn*{a%z1ZdymymS9&w2o{fJHaIz>H!n VxyW*Wr+)aoQ%6yOHLgCa{{r{r?b`qV literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/OrderCase.java b/online-compiler/java_files/test0106_gmail_com/OrderCase.java new file mode 100644 index 0000000..8e36766 --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/OrderCase.java @@ -0,0 +1,22 @@ +package test0106_gmail_com; + +public class OrderCase { + + public static void main(String[] args) { + String shipping = "Express"; + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 1.75; + break; + default: + shippingCost = 0.50; + } + System.out.print("Shipping cost: " + shippingCost); + + } +} diff --git a/online-compiler/java_files/test0106_gmail_com/SecondPiramid.class b/online-compiler/java_files/test0106_gmail_com/SecondPiramid.class new file mode 100644 index 0000000000000000000000000000000000000000..7e848b360b64035e2ce54722a85cf29a129a8bcd GIT binary patch literal 1021 zcmah|TTc@~6#h=TWtVjkD6}XSxv1C{q2L8Cg@$M}(JVqzLt=a&Lp#=~?QXMdNqqOG zknpSzU^Ma32jl{KNo?)pVh-4cP)=eE-bU#eZgjQc+xImTdy9wC`}?*8Rd z2m|GnbLlM$g9MluB8>bSzSmIIk_>DlFk&LvC8%|QgL61fF!w~YAvazSW>Xy?Ez!Aj zhpUZiBaSgGd7O~wEa~8Nfj}9ZIOSj(GyHa_U)xcj~S+4AMdeX9Y+itJC zWA)Vw=}QBeKx$te%Caq;PWf$XU$uRK*qY^7eoY`+EHwqRO?OWv5kY13pBuTmfIZuwjmRsH?(kEWY9wnF-nEpHMMqt@{%8TO$-_msLpr;Bg zX}br7^+FO;$cFFCF=z2IMq$J)6Ei4KDcSEUXHOtk+$voNKB-fUV@@ElaGd*2h`cMX zcv%q2Xav8 zE3X$ENa_4hf}N3GhYieJ(ij1wFP(i(jeyu{spOTn0lYSeuSHo+7S8l>=3ty zxHrW7sjnRRboxfuXH@18X9Ur~GwBJ|ixI=f43I6xhfB literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0106_gmail_com/TipeData.java b/online-compiler/java_files/test0106_gmail_com/TipeData.java new file mode 100644 index 0000000..6a9cafa --- /dev/null +++ b/online-compiler/java_files/test0106_gmail_com/TipeData.java @@ -0,0 +1,21 @@ +package test0106_gmail_com; + +public class TipeData { + public static void main(String args[]) { + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/Angka.class b/online-compiler/java_files/test06042_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..5e448fe406861bff2e8ddb7411c8a51e77452461 GIT binary patch literal 631 zcmZ{h-)a*<6vn^FpKh{EO}eqs8ntO{A@#y7QhJk85TPJMEv)25Xqjw>b=v(?HnW27 z;|u6T3tsdAd?qP=vnfcS-kdXM&V1ke=FIP#U)KN*u;rj4uxixI?CkCAzCMW(spFF{ zOZ+!!bS@p#1UhH(tMp@;M*hd?nF@`-!oE(mIS{B0w+#oCRP#tPJ zIk)_YR~7^7;CuLUK!q!gn$cn9GYjVW%PTZ~lx>&Mwn4!nV{3kZd5KjM576e06(7^A z!t8a9_WPZ~?^yhaj@P@yW9w9fb@EVStg~{cZE)yr>Drqs@f>UA*)|3x; 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/test06042_gmail_com/Average.class b/online-compiler/java_files/test06042_gmail_com/Average.class new file mode 100644 index 0000000000000000000000000000000000000000..ab79ff08f99db57cc91be5b6daf0dc9f24ab8dc8 GIT binary patch literal 952 zcmaJ;+fGwK6kXGEqqW>yLQsrXEFcsrRdu+^c1R16Uk6d$|-FRDW^o=h#@gP z>L2*Tvp#5Il<@2y_zC`kG2-gb#E=*tX7<`^_MTa5&$r*74*|?$&O$)otncjjQ^~2B z#Co|V-RgSDtHtl`It^KNEa(C~6}c&}B_ZNq7-%8jZc(3kZ}vYM9-x0Sa^-QRR~1ctN!k&xo`lvNiPh!wMc zrR4mETQ8?Z^A>sq0>zA(wvT8FFw?6l60D^aGSm6JHh6s01_c#a^Jq_@ATHvvg-fUW z=3eahPA!ZpxJs{Hlh&gr8eA{_kOF+laAYkN!ZnOqhzay7iKmal7{j=LvEAyRpIAms zO*YDO-~SI+tgX9M>GIKHF~iLFd|4F`#Gy*FR+XC>=}QtzTr3k6fsO_#ThX04UzWC( z<+d8Mg$WCBcILchqvYIkTOSf`fAM5XFTL|AHHQEZ|B$=IJkBT>jj>PYcux>Ohd4T@dc+^Nl&FRw8zApAn5j9)H;k)A>`-X@b z<3!(MQT>%SYka_kLE|GvT23_OBthM@hh=(Np<0^`p77);y>0Sri}*RYmvr?SJ$Qp& z<@)}KGhD|6`5cFd{ ZYgo8#VOA5I?k^ak`=^@j9aaR8`U7#SwRZpj literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/Average.java b/online-compiler/java_files/test06042_gmail_com/Average.java new file mode 100644 index 0000000..e9a55fb --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/Average.java @@ -0,0 +1,18 @@ +package test06042_gmail_com; + +public class Average { + public static void main(String args[]) { + double[][] nilai = {{75, 80, 85}, {90, 95, 100}, {70, 75, 80}}; + double total = 0; + int jumlahData = 0; + + for(int i = 0; i < nilai.length; i++) { + for(int j = 0; j < nilai[i].length; j++) { + total += nilai[i][j]; + jumlahData++; + } + } + double rataRata = total/jumlahData; + System.out.print(rataRata); + } +} diff --git a/online-compiler/java_files/test06042_gmail_com/Bank.class b/online-compiler/java_files/test06042_gmail_com/Bank.class new file mode 100644 index 0000000000000000000000000000000000000000..34bed16128c0cef6a73a21c8ecadc2581dd6207c GIT binary patch literal 1187 zcmZ`%T~8B16g@+CyKO0grG<)MiXUYQLIDviMTAlj41OdfB*X_YZ8v41?KbUJqiDOfq_H$My9K>UP-?!9$F<=z`tzQZFfb$XQp-qv~{O!h2TRl3>|)f z{%yN%y=d2pR&z%dtCm1y+bPNFu58+Bf0ESP1G^bzK|3F~+B8E$G6mv$M zTvCMj%L!HEau|<5BL!Tit1&NZo8Hn{Ni&K8=P08m<9aD$#0@j1Y31*T9J9&i z0S}RzY~BP0!3GF0#EK$X@M`0TBE}tIS&4BVwHiho8oRIJ8gn`;y%^!jz;)JnCxbwv z7(1ElBMW{O=AyW<8CZ!Tk4=m7qIm tzsKq)Z!ZQhOGY*6B(nrZ9#0rGOk;x;+7eUVq)ND?H@(K}Q}*;=^DhIe?{)wH literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/Bank.java b/online-compiler/java_files/test06042_gmail_com/Bank.java new file mode 100644 index 0000000..c46022f --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/Bank.java @@ -0,0 +1,22 @@ +package test06042_gmail_com; + +public class Bank { + static double hitungBunga(double saldo, double bunga, int tahun) { + if(tahun == 0) { + return saldo; + } else { + double bungaTahunan = saldo * (bunga / 100); + double total = saldo + bungaTahunan; + return hitungBunga(total, bunga, tahun - 1); + } + } + + public static void main(String args[]) { + double saldoAwal = 1000000; + int tahun = 5; + double bunga = 6; + + System.out.print("Jumlah uang setelah " + tahun + " tahun: " + hitungBunga(saldoAwal,bunga, tahun)); + + } +} diff --git a/online-compiler/java_files/test06042_gmail_com/HelloWorld.class b/online-compiler/java_files/test06042_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..7240fd3877f63af9ceb29f0fc9a323bae1fa3c0f GIT binary patch literal 572 zcmaJ;O;5r=5Pi#6X{~}F_^sdxJXm6k9xz-?jE6=|FnI7lma?f!`eDjq;?L59CLa6& z{wU+Lm=F@;WoBn)-vQS#ozS&|p2d;H97zsx)_`nkk zB|CJu*W;0lvuVfT7xWuxDzzDw2WQZuWGnqO74br?vYsR>C*2 zh6?EnCnUQv1W;21G506bbRc8j@llk*s3mlJG>P?NA20yLEO-(of@O z(1egkqVIkv?$X6DSC^E=o5{pZI|0P9$FkYJcIGBPW#R@PRJs=iRQqjKoy zxAy~Oib3_W*rQhmNrsVAaVGLL5mfU#rBhip44JTD>J77Nv=lzWj2Ek@Fu&0>vZ%Fa z?%Yr)Sc8vR1#N@zw!w{SQtN-C$o)D)UvA-mA^A3}NEdw=%peWd!7#&gPggF6Fqj5I zHiJ9pPvb5o9E^7)vD=J{^fQ=5iX2fUR{wqmj+KW!703?_za;gZDAgp9ys#{42SO_= zUtK26iHaEJz1wR@X$?fu?ANcWHT9_x80E`%!I_E_F^fSE8evoz5HjU$$m3AUf`d5< z=U?qNwGMR(^9)=2ftFENJChYoJ*%r)Y|QIAB%1%4yXh8#mxV?1lH_dz6LP^#vo2j1 zvv_I?`;1{c*Xl^zWeQXU)q?H7AlVs;<~nxAD;^uE3n@Hj*t|WCSi5%^433K8iKG5| zcIt?pXZYHi9@#Xlc5ixm??iH6nv<}?MHESGHor7PEy}f$T;iSk0#^}l1QmHqV^HDL z2yO^q>%}{N4VS^)4I8>Fx0D@|vCijZ+c+vPO&I-h31sa!(kW}ljP@kG&`8rdK+=2C zVzf^#ULdo0iJ`*_jGSY1@jJ%Oaqk;FCGddOEExhBT8A)9-vphf;+xnU4>3&=!y`f` zFhl2lk~rNUiN58yV)AOr8e|`H7U=1q{VhpoJhGzNs^6JV#%@eAAPzk*J zn_XX-VpD2SlRI?pAkHv)ESe%;7k(|jRX&y#!;lIh(}>Kr(NcH})1|hF3i9hMBa2## z*48D1f^~SWmEU#9b{#GqliA=)MFFfa4CLnb7~-#js&p}cbP7qh4n`QJ`ab1i80jP! zGAZ1^U=p`6<{*0|iS1Tsq?f`t67&#dV(ssy;8=a6q0h;m&LsT5R1eNSj* z_4C8HIZ`3RTNWWx@{RK3Yrm;NMbx722Sykb_ykRq*5zTKWx>G% z3g}PuH?$6P0<#R8yS|oTP;bgAr@l2*z3t2!Iv|?&g1gBMgI9z_^Rnb!2NQ6?O{*bY z7c-c%rG3nh&2@Ux?lT3d{93{GAWeRTqPd9ODHRWm)P)3|Fl_ugj<$9GFc=&a7X8{s zK@(82b4T<%!{`3=(57jv`_q#B*zy{ky<#z@ct=APjGYLD{h_O&KJ6hVS?5SIRYtK(-@)2AEW(b`=srT zdzd1P;Xa{bn5O+8X`G~eX7&6T_Y5=pnTMx%^n*@2WNQbEUZS~OTJ8#Mz9)?$|BIIG WNn5-^d)kw>)PpwBleXN>;Ms571uF#r literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitAverageTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitAverageTest.java new file mode 100644 index 0000000..14b01d9 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitAverageTest.java @@ -0,0 +1,33 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAverageTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + test06042_gmail_com.Average.main(null); + double expectedOutput = 83.33; + assertEquals("Output not the same",expectedOutput,Double.parseDouble(outputStream.toString()), 0.01); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitBankTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitBankTest.class new file mode 100644 index 0000000000000000000000000000000000000000..98ad09058dbae00a2f04373d6bbd59c0cccd93c0 GIT binary patch literal 1341 zcma)5TTc@~6#k}E+Ab}{YC%C{5HAIhA|XClLjnqkrizhE!V{UcLmBAq*4bH-{wz%h zi6r{&k5bQUq0-nCU*^o2Ip_P%_2;i|-vO*(DS;Tnw2^^Xe6hH^v|o3HYV22ixA<0Q}8RD<~nshLLOd2UT31k^2`%*a=MkWP@TpBkp zn8Iz0CXnw+VyhJx>83G;BoR?2*8Xl939Dzz%99^Lw<7hns5B%YmHnz{>nYx2O?vXsCBisorwr@Y#}Qfg4};310xEj_SZLwV z2$b#M5kryTcYlV!rfRMGGo-c;C3mGc^lMxMfz)RGb0``?p`GYFulXSrZl1rnkZpaI ztAK}IO&-uh)HpST8v?Sm<6TQaFPc(}BAGCZ=wD~TyXFbstdZ3N>L|cq9c>V_{D@V-$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitBankTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitBankTest.java new file mode 100644 index 0000000..f931023 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitBankTest.java @@ -0,0 +1,36 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitBankTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLingkaran() { + double dataBunga = test06042_gmail_com.Bank.hitungBunga(1000000, 6, 5); + double expectedOutputBunga = 1338225.5776; + assertEquals("calculate not the same",expectedOutputBunga,Double.valueOf(dataBunga), 0.01); + + test06042_gmail_com.Bank.main(null); + String expectedOutput = "Jumlah uang setelah 5 tahun: " + dataBunga; + assertEquals("Output not same", expectedOutput, outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..553d8e9ebd39d29546d8f2a9d9c245e2810d210b GIT binary patch literal 1269 zcma)5TTc@~6#k}E+Aa&lA{Rwu@J5SBkq{rOAprwXvxyzEuSF23Pf7>XZ3;;t$uNBEpZLYVj}D8QgnAfx-w(tdaGA#~X@hvqk3*H78#eHrX zHQ_jz!DBn!S%%SkYc0)HQ=u|CEZH>-63$RHm$j$7)dM4RDUBx#>;JB!8Qr@KQizPN zv`0$tto|rPk>N}46tV5qM)yvU**+3H6y``(xgWQ6}^{6Ti zNDx&{+u()>?9h0Zm*OxuTdJ-rVnbThOmvA^uzRF=lj`U#CXlldrCZKQkIp3hA(_*6 zfUI{E#poQLJA*rSj-kCX44>lW+&7GzV&W_PO5hHCa|8szk_5}b#TeZu$>X-*xQi*W z819ijfoZz;lf~(@X_hb2IOmwz%RM;5qo3q$G21xMi@IWS+HCm_wnA4ns{Ajuk*;j> U9c)j#vMqFBo9N26*zDlhAKjNPPXGV_ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..06eef86 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test06042_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..49bd5da697cc77395cf30ec28868b4619ccad5ac GIT binary patch literal 1294 zcmb7DT~8B16g^WaZI_mhYC%C{@UtLNB*X`6NWeg%S;bf&;fZY90S3D}b#}H%f0B=y z5E4oB-5+JV(?X?MYJ8cQJ9F;2UuS;&{Q3>RDwY$7F)SDnnx$t;E6e+bz9(z@73CLR z?*!7gQRPE(Q#M3NR8&yiCR_q>hS6iM;T39La9G$XAB&1%NUO-yBU3V3cs|37+k!|{ zSZ^A!rnT4Hx&$a%hj&^A9fw@U;nFq1246@@WR+ncKex*ef2pd%!2mL8q~Ihl!Z6)8 zl!IYpQeeoYaSekh+`xDOxvnBg&Cm!xjR_Lxx57f4WHp4u!(()Gzur^*#!W^u?>7Awx;*YeArlXQT>TRe#Y5ZTM+~`qdp50kQ=&3BEZSLQ$j?wV7r7_gwF4t`F^R_v8~@Iuh3=mQ z!JP$6l;wMwKo1%^-kojN;9(x0UX zA(2GC8h@1WOe>Yfrp9bCw|&nu=Qclne)$Su1xqO;7>ZU#cHz~+^3u^sAXM$BqJ!e* zeyHr02vt3<2`dkTQKDRvdn8RE$uN8-&PA~%!js~5`Ak+ULsrMO9@|}OqzD+M{H8?d z;#$MXRbxbB`-Y(840enP+Xka;gB!;r>wlxjmlcM-!ps3f@~y5)4}HjGk%5=O5W{58 zt2_)MmjOdQi(BZ=;10%880`pRw-H$xWHF93T||*M{k<$wZa?I!P`;0YvNU@x3qS$@tiT4BNwMr_r_;jxhR}2Dl$KnJdpNOSGkBHY3%yPSk$6ID+6=9 zbDrTU;&E7&$J8)YPF3QT04|xl$BXh9yj>leiri4HyLxHoUA?I;)TQ)>6Ue)krd8gx zD$PmyL(hW70orYmiqSkidx`Aq6$TG4F?@lM+0VFrfxDmRR|5BG%#$IIqj3;J^o`Ma zf=;q6b3DK#?HC>sI)N!#_tTEk?5BIcvOFaEXr!BJ60V6kPUYl0vpv`op ck>`KW#=6qxI%qGu(&oF+Cc4rVnh`Ai0_}4}DgXcg literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitManipulateVariableTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitManipulateVariableTest.java new file mode 100644 index 0000000..44b1640 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitManipulateVariableTest.java @@ -0,0 +1,34 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + + +public class JUnitManipulateVariableTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPoetry() { + testing.ManipulateVariable.main(null); + assertEquals("Result Wrong", "Pembelian Gula berjumlah 3 sehingga harga yang dibayarkan adalah 120000", outputStream.toString()); + + } +} + diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a4e2ac0d36c1e5c504dee4ab9be413a90e1b8888 GIT binary patch literal 1349 zcmcJOTTc@~6vzKlDs7jAVzr!M6-zDmheQj?EpjeQfFsL`mr=2 zB$DX6-$~<{77E3t`eHWOnKN_F?_B4{udm+#EMXyq1jD2jk)D4&zqoL4RK!- z<<>WED3pxBM66!h5@JPYN1MLykJ=SdmIhz?qSe)`1LIj z#hx}pM`Pfam0T1Ves*^enOu!_cNdwRW5Io)kHadb*%nH#eTrQ#Dl{{l1`*FGgD8yoS9}? zlXOEbhyHyeZIBkDb$I3+_RIwa_RleRhPyLgaPJHcKGRhKkLaHxL(o%7B1_*OhG;)R zCw9{uqZlKJ;W42T7^i(NNt{;WX7SREb%BZf+|zSB`%b4#ve7gAYns)f720Ui9cdK# aAGG0)wAnV=%Z{|U4z$sZwE0E`uYLmyW=sYE literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.java new file mode 100644 index 0000000..c2c0a45 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitMyClassTest.java @@ -0,0 +1,36 @@ +package test06042_gmail_com; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class JUnitMyClassTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void myResultTest() { + test06042_gmail_com.MyClass.main(null); + assertEquals("MyClass Double Result", "30.5", outputStream.toString()); + + double result = test06042_gmail_com.MyClass.add(20, 10.5); + assertEquals("is result = 30.5", "30.5", String.valueOf(result)); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..0b115988ce5089d5c1f948a4f2d391d60eb7f479 GIT binary patch literal 1364 zcmcJOTTfF#5Xb*pYA=VDLbV_wvUtIQNRbd9tRVpciKdF-mheQj?E*{ArS927(vPJH zA(2Gi{ZPi)7Ag%*^~IOno!yz=%!&=~# z-tYO!Z0Wkx>mro9q>)6NVfa*>iIOY)8Y z)mk*SZYY$k!6&W!jzOVgaO0ZP5^oiSu);7RnNFC6OvYO}P6) zD=S}J#?6Te8H$yE`$tM`FqCGmas6Wx+mUaSC*S#JDpbT>_5HvIqXM6>smhu>3bZUI z@t8vT^Zy%K2RenP44ZqtmSNzY$vUUnHI&;j<_#SX&3nV0beq9z!lHRq@{WNCxZtMQ zkdA|C%-GL;&QK_}tJ1181*-hxvaLdv>LAqFKdoOL!vFc7P#!sk5^r{aBh1 z5=r#kZ{&;dObdm^raYNVcIM2S^E=o1_2>H!04rF^AjL3kWNa2+FD@?~90fx82bCx& ze%K9_+0<33cjz{QG{ew|I2A=-gh$2A@`Q3n*5I>NVas5oWpLw|)Oz14a=*gRQ<&XjNWY7!(m@aUUF6_oFvu{`)s=$*^yk2k zcX0>3Io!i&1|w}rY}aEW0~ce+k|WB*>OXLivGSm&Lis5P%2WVR_9c{ z57XvY#SAmv?KPyd`eJEzYgg48-%3KG0{K2XRk0%GY8XaF7!`$t%zA6`Fw(M=!8C<) zUHf&dBb~(z!^Uo?WgPjZvdXDvHRU&qc}+(|3*K-i*JSXDuxMVEyk%e_F1V@Jq~l-; z&un3zGmI3P9cgr#0#)Hr$#$Th>0r0n`EnJ`PVe3MJu$?W;@a-@_%S! X9clAzw3i)e3ms_V9chb=3|{>O@V_J z6G9@1zWYZRPdAt>F4LE`r~RH!&*?e+`Rm(v0IOI|AjXilGO|lAmsXY!jsl_T2UQ&u z-tC6UmSt6kwQXfYplUm$N+8ZKej-jqp)SIs!dB%(RxN|Co3_!kWox7e7-matiPDAj zmX&M9h}PCMLD4yE8x?jPvR#L3+aw!)ttgCDhN0a29z*<%u1OC=Nc%{^OJIy)X5dvG zMv+c|A>-o)hEuqWi3GAeNt9cWm4S~*B?z1sB0W@uF)--f3uQp8>hLv4jsIwW+mv@Q>| zk;McaP*{IzuwjfgNjzfM+zpM4bp2G;IMuMB>TPG!i8Bd*^wsBHj#Z z@{k&$#;FwC62QF}@Bdjm2CuA}rYbj;YnOxbdr~o)C-dj<^A{N1KgakPZsxz@)*0@6p`#e4Xv~l!;M17K82y3?T2Hrk+U~fA z8L}Ae6FP=jS`U-OX?EAFTwdc{U~WJ2@EnhS&~At9binvEn%AY}dT8@~X%zWiv}|A6 VLJ#eEU)o|H+EicKQaghezX7)UGROb` literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitSecondPiramidTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitSecondPiramidTest.java new file mode 100644 index 0000000..e030bde --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitSecondPiramidTest.java @@ -0,0 +1,34 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitSecondPiramidTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPiramid() { + test06042_gmail_com.SecondPiramid.main(null); + String expectedOutput = "*\n**\n***\n****\n*****\n"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } + +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..272188a3877bf262c28b582afa8a62b46595f16e GIT binary patch literal 1259 zcma)5T~8B16g^WaZI|V%N>LFRRHPtMB*X`6NI)UMR54OWcp}qwfFa%8Iy+0!zvDm9 zgpf$0@BS#`oh?)vnrb$gnLB&#xnE~~{r>&~z$%tgNHEM88JeY+ODoFO!f@rUzB^P@3JwRl_DeMZQs<-11LVsEBsW_X8u03VdQsm)7NBpk*U*OaTW5&ugOCa zLyglcxFG`DGJfNYIF$WP5b3JiR8}v!8;C_aLFzQAjb2~^Su0ICWv%3BPtqTfH?0F? zy(bi-eSH2L?)(LY_RleLhSB+NxP6AZU+Gr@_i4?NBjD0Hgkkz}be@QBVs|{iBv}j( zi8_HPI`@;sX}4ikF2gt%nBLDmKF7>Yx@|FA958x~&1tjcJJ{yBvQg$Y*m7Oj7CP9T RcV%1b!Zy*BZ7Htc#UENPDyRSe literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..b2af931 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package test06042_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + test06042_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..94b1f7b4b055a5e6344a90d216d8c8c74002b8fd GIT binary patch literal 654 zcma)3O>fgc5Pj=>I5r6lNz)b@XiKS-_JAvdxTN%gRH>5rkc@KSP;J~**fzE+XH%&X z$NrI?dM*c$IPe4bJzV*C>r_HT9FXOiotb@a-pqdc`QEJKcw{8hB8xuh2FdH zkEF=tIvw>l2OjRA?V@!{o&K=QRzWDXs@|9ru9u)Vhj9fOa@$<;yqs7xAd2OH785g>^U*I}K bt*}!CZPr%UYmNCDoFAwO;j!|Nv4i#BZXAYk literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..e3ed968 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,14 @@ +package test06042_gmail_com; + +public class LuckyFiveSecond { + + public static void main(String[] args) { + int number = 6; + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + + } +} diff --git a/online-compiler/java_files/test06042_gmail_com/ManipulateVariable.class b/online-compiler/java_files/test06042_gmail_com/ManipulateVariable.class new file mode 100644 index 0000000000000000000000000000000000000000..6e7e1b11dc60a8f7928e9a63b200c8a8e95f980c GIT binary patch literal 997 zcma)4>uM8G5dKbXyG^65n_jGKHTBYNdP{HCOKKb+a2b8==qO zEBF%nBLxK?z=smQOrJVh zT<$E1=Gug+|UharM0pXNv<_+8t zn7+>PvZI}v@=eSMB##t3bhLCcNzCAG*!(@h*~4lJBNkG)j|Y@bwpz-q39JnZ9mqcC z%$s;5Fq)yLC!MAv8$H&g5YrZzvk$WW$Xpg!%CuF3Le*uaA${6YjxGvcc z4)~}@pT&i1bA13@f_Sfd>R<9YepS8J;et&MZtr@Siv@7bTzw$I8`qQ8;48;d@Qg2? z!Ti?youmzag9)RwseS;@8+?u6CdTLqlfNLw57uP6RrrqdPt1Ir#G@ZYbladp5rGy<9*$4&op`5m0PrB%q!q6W@S>nu#hjf%+hb{nxW- z?5A(#IP?WJ28k!bkxYXkUMAK2BFF@G2LF-JC5fC&1gdtw=kx@`N1i^1NX46HoI3|luV~wxbY8#0>&_zrJnyH zDDKN#zQCgb8++8Ol KnRVDxLFX?S8hl>> literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/MyClass.java b/online-compiler/java_files/test06042_gmail_com/MyClass.java new file mode 100644 index 0000000..d0e9a44 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package test06042_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x + y ; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/Order.class b/online-compiler/java_files/test06042_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..c6d5db1243cf91bb763d0ad81d5c12184d7899c5 GIT binary patch literal 895 zcmZ`%%Wl&^6g?9=FO!nuylBfK;n5~(X+o(GQXr~Sgo>I{q@XNdQ8|f~PI2PMaX@?t zJ2ouX0t-Ma_yB%@p8>=fC#X~@9?5g>+&TB$bMJir{q-AwIyR#S2`u>b$gke6Zf+d( z`j&JKI&QzR?{#f23SD6S$a-N_9Ba_4?6;5XjxP|oD+kiA3uwhsOF-XtyS4!h@dUz% z2qYVFU_To7+qU<_YCE=o*>F3S)3Q9N{OO_YAIg!yQsch`)CA%kchHr-bO!><#l~?l zP2ZD)Uad5H6xpi(8ovEu+>318p-z4=WGG}u_73wc%Ng7GhrZn}#E?_9x-b7d6bQRY zyQ+DHOduwS+;&Iog19d**YvH<^F3?$R}ve@LbJtZv*1!IhP(g_2wX|vERu0t!*UeY zPc*stYD9_zR#0Sv-7%RmlVsAZJf>!!%5AG(Gf>7_6srQMpwN@y1a4rRVulLA6sNUL z&Cc?AoI&c8dO2s$9*rHMjix*HI`#vpW@!X(V_k8gKrLF(VvQDu&wrGDg*&ApT>gyM z2O1&DMi2%8XJ{uT7r4*Si>rQ2!4C8wX)eu~t)yYTeuKD~-hGFNncXeF=XEVex5$Jl zsZP!Whn!>@laUNPMUf>fki&T_aMzK-B9=&UfgYd!PncSWkc+r9WqwM4k~42!ZmfPm xVeccZu6;u3Sb@njjPuqx5}Kq;1yuP7j>4;qYt*Dj`Chng(hAYuU?hZFe*jf0vTpzY literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/Order.java b/online-compiler/java_files/test06042_gmail_com/Order.java new file mode 100644 index 0000000..07d159c --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/Order.java @@ -0,0 +1,20 @@ +package test06042_gmail_com; + +public class Order { + + public static String condition(String order) { + double itemCost = 30.99; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + return order; + } + + public static void main(String[] args) { + String order = ""; + String result = condition(order); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test06042_gmail_com/OrderCase.class b/online-compiler/java_files/test06042_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..d31ee487af2f64487f7702a9cba2bd8cd2ab455e GIT binary patch literal 1252 zcmaJ=TTc^F5dKbEx}_`^mjZIHiqICJ+(c}-$kjqB5HUpbfh=WH7JGAdYc%nf`04`> zJ{Wx{MiYO4PyPgdhcW7RS_%P-=V4~foHH}ud~?pX-=Dt%n8lg`mq52;*v`o0$i&!g zI;)$R-Bdms-LUozYf-li1s;K>L;Zyw&FHywbYt((NI3%DX)|X!vjXl=cw4};nBO=2 zaHCd54ZH%4Ni%1x7qfeY^+?~#7y?={pVBkix@F4!iPPg8n6^M~^1mSB0#_KDDrR)Y z*g7x^1v8fxXbC0HfNePzo$>IJA6L+3Ip-*6Cb)6xBRkT8Mf`6`$bNk2ALs|?y8&@zU&~}l_g`%0^EAU~06)|vlUcFE-a{B^Zp{4MpMo#L)WyFlicR5GuoO~sdKp=EEgm>q$s9-^$xeWV! zLn@Xeu$qGGk&jci(wt)RKR6^dPOq5ZE&o=&Xr+u5Q$E&)(+@B#^Wz$sc9-Ysro|Ud zsc;{q7SuJ7WB5MMaKTS0kLg4mrFvqksOPR$PKzEH{GGQw)N7HQ^%9!i(Pa0`@%HEO zYwC`c@qtb1{voZkgsX3$9iekb>nhuIM`&zF9HAkA9x5e(U}E4sZ@bF~dde02m}31H zE6=d%Jeo+1h6KNXL>8%3$93G`F2=|{+$6U7Q!7D)6<u9d6-?abK$ mAG(OVo9KGWc!TsZAC|E~?dDJ3I*jN)(f^pC?eve&=`#-nj$1MB*q6av}+w~cbjEP;=4bE zglByKqlu3`82^X=!Kiqqt+5pnANHG>?=t6{`M&+~>%%7idE`w*1d^e<6V5NqFD`6W zYEo4+}U|?JB%4}77mF(Kqwp$7XdX|-^!n{ByoFp_#+ z_)Dl52Fk1C(i;{A1z=)GVD#Vcy@slm-M~fyqb5eW6tymJa0X`u%w1V+xN9#2rc)gt zE!DYnhpUZiBaU&cc|su3S<=DloPfya#Pbf4xWLDg^}6eo1!hmGI0n*YpVL=da&Q^b z0#@j^5Cn!(C-Ab6BC6es46d4(=~n!DCvbEudobqy3hrjCsjir*uC+X8*XP?lb;%6fZ3 z?4sWYO726|oT0ASoYSQEq7=cI1|r;X_-IX@vRpY3h-D68y={hVS{()pPSHB81g?EN z_2M-8>CwesnPG5UjSm!zm3`!l{65A$BK~aVJ%$f47N0!8)By+gO;k)y>>YjUj9vK? zi--wp@96V8q-PG0)g+?OB&G>QW<2%4B48hFl53jL75W~KQh{DgGSec0McioCKgJSn pl4cBdaSOMp+Qt;_a2G|68G|r>!ZMK%KltyCe8)JGml=p)8x)-BfxDgxnrp)L^F^7d66VT>dYMND9GR2DBxqY*ftl)69Lmg3Vy?hM{$urwOD*s%w^c6GM{oma z1F3UNYoEJ;auOIvhAh1vNoR&&%PZ~>84$0eLlGtgCjU*l*|Y3@<(s(0$J9N$=crsm z+TLMqBNxX6ru0Lz%$dK8k&c*2U=}$_B|9DE?o;UecHu(sNu9EZd4bU4AopF3yeF`9 zS?>R4&@~?(JGl(p*+=|?B+Vk zcY23Xx_^~mXQba^2h*1{M!@Ju_kd#~Ahwy$Rt@P>kbrG#Su~C|wW2ia6C+;pdVW*A zvh>7^o(|!%=7>44kDOZ|M2l0#)!?bfU2u;s9K-xFaL2i7Hwd`KH8Bj}KFZSwu49Zh z8vF|pMgp~Dd_5W4NE(%?YYuSkB!#D~<)W8BU}`j}45^>L?< z`+Y2&`ij~YrEhqBMr9r*OPKoa!D4Z)qe${MixkR8<2^D1nw23HJi;pD!`Q)NtdVF8 hZ}5axh{)F{(Fzm2g{QP4%(8}O{GyC}PFx5t{s6@5**pLM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test06042_gmail_com/TipeData.java b/online-compiler/java_files/test06042_gmail_com/TipeData.java new file mode 100644 index 0000000..b5681d0 --- /dev/null +++ b/online-compiler/java_files/test06042_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package test06042_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/java_files/test0703_gmail_com/HelloWorld.class b/online-compiler/java_files/test0703_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..e49ab7efb7d70c0deaceb5aebad3eba70be33a13 GIT binary patch literal 570 zcmaJ;%TB^j5IvWNrL_uz;1dB?;KGu)V1Z#{Vq7$8g29Cga)FzANgt+MO#CceXyU>T z@S}{=V$zThH#40xJ!j6${r>s<0?@;;h7?0piJ5A5+Gj(@5J>RHxl6;AGv~| zXa{5N4tOY|`VY*gM>%7t+5ej8(g5=2GgO)nc4DTlLg_o*)+#YJ1A92ou+LD6r!5mq9HPpQeTp zS>~ZbyOmZrW-$7}JRFNl8J#Ad-1{_|hX%+oy%CV2FFGhijVg;WqnthYK<+he8x*59 yh_Fu4T>L*e?ctbWq$VABl=#a8+VziPZop?DJ=%UBZcaug}!8>u3q&3Y?hUujXw z;4YPPIsa9ymCoWm!`gPFMXZ8jQRTF}nhY9XUek)$!k661H92_2x755Wcne?@_qnOp zgyUcuGj_NS8Ab}ttu!`Gh05rlWVg^yI78K3)SmH{_l?k{EFLke{=1GwboVkyATqv` z9tpv-@}m?*hA-Vy#I{!(-91Ha>rn7em_t?NejE#JRzD|x5Eq)A&hz$jmdltYQB~}d z9;%$S!3`1Eq45q6#bIzZRiZ0mOR({44!R;TC=K1O&m-1RI2lQMyl%$8ExK8Y-JU>t4oMC!5fA16zev-GzY~w%=>XOZAu@&0bW;?P`<$tjacVwGy UV|(0@ZJ`6(ct^IyMh8#+0LPjx=>Px# literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test0703_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..4f132f8 --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test0703_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test0703_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7a78d3c45c643c418b8a880b194529100e54b84c GIT binary patch literal 1292 zcmb7DTTc@~7(G)eZI_lywV)s}crDlBB{8vv1PmmaRg47^p2)TxV6eMWXJ?!AC;6xe zA(2Gi{ZYnmTBuZOjW09v&7ALiw=>^=eEAAs6^{~#F)SDnnw6(3kM|FKPuBJ;$}hay z38ZnO%KPS~Y>1MmsGzz{ums`^qsLyuE7ZK;u&`A=78S#gR*|Vkrew76e1;jf1(B+- z-ZWxOYp=O=2~e~SZ?z0M4!MrQrE7u>K9`ipD#Jj2ZkHkcLRE!>0c6rh!AW3*VY+W9 z2gAsuz>rPj3I6G&1Zs>I@Nq>-@ph${o}Ci2TdZ+qpMASPE; zyxOj(rM1s5)x{~32uZ4O@XEHy6+-f=LB zd)zeZ!f`N*`?kXm7;^dcXj z%BOXRtk;BMv`@^RB0YbG;k{Fgo?vYLGp?TC`X_pdVUpG?IRa@~GZ>*SF;3^H)=kSD zH!)2X!!4qYVTR6wWO3SUm?!69oHNYsW$&Eg-Z#2!Gg}-mdWp^Hu;shh=6bSG=6|r| Xda^Bcu`TsvTkgR&*^_OhRl&ob|9?2j literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..4dcc3d1 --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,33 @@ +package test0703_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + test0703_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + test0703_gmail_com.LuckyFiveSecond.loop(6); + } +} diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/test0703_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..54c907c838d9866682acbefeaa90e61bfaa95a07 GIT binary patch literal 1347 zcmcJOTTc@~6vzKlD%&p0#cDwXWDwDUNb!=GSVIB?63rrpTf!6BwgU{=OP!r1>BrK9 zkVvBMekYA*S}YWs>WkTAXU@zyzjK}MKfinhu!!dtQVdgC#CqY?!i)XGz?1%dB?^k~ zc0#Gw>npw&$J=ymA+PYq6x1 zSKqjzP%;J|lnh%2`If6NZy58Miij4x=61Hp;1$oHd0Ft5fsVMxb-gBR z8BVQOsX=K5wRjx=3?OFFS>t8G72~%rMiM zrW<-V^zS2SowOLOBeQ34X3sIOcZQ);+?@T4Tc^15iLO$(NBxevH#%*Sjh^9O((D$k&_((($e@S?k>VvWv4#W;B$^eBToRthwjE%|Uh3>DrXNca zLL!O2`=Qh`EmRts>WkTAX3p$6zjK`*Kfithu!N@;QVi2t#Cq|?;i$N_0KZn_3AkV3>59Dl#gqG_+V& z%4=*~QYagP_ezFsgVDCZrE5~_e<&ZvbyO2J`jB&wg>7MoVWOui8-vJY z!H{=w4gFc%K*7RjM-rQjSc|~H7&7FDGBNtM99Tvka%Cvilb|BhmRIowk=&^2`8%GH zMn1nx>q8kc%((wjMM`WS7J9pWQLph2NvLHY-h{_8mPB0+!$^BtMj=5n?uyutlqg%c zM*;n*{;E=u%3zvdZ97yVj{IX$JYhs^f zp~k5fTob^Qj9+;oT(%41LAf9fssSkjo+iCxsz~iJq<;3?i2S zLq3aZ=+EFLMp7trB(d3uj0mzAMVcH@CRYD;7AY$axiS>*g^!1nOg1M4l-MZf(ODJsv4*17TTj zaq0y(1h6IJSH1}O|BrAg&8CWVRjf%niz8RuFWB**Hqs>1=T0DR$DU4kJI=Hx>4m-y ztpg;zBP~Yz=-er?b7vUbJ;m?|uFrkJjT7AZOiu}n(V8biAWLfwL-eOc=se!MX`15> zCP-qqOXvh9>D*5er`@`Fe(uIO!_;p6{wW@Or`s0U>H))-Xil3}?4ZqdrBUQpXoaq{ V`3~CSuC#?Nw6U(V#byRieghxfO|k$0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitPasswordTest.java b/online-compiler/java_files/test0703_gmail_com/JUnitPasswordTest.java new file mode 100644 index 0000000..6fe4fd6 --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/JUnitPasswordTest.java @@ -0,0 +1,34 @@ +package test0703_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPasswordTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPassword() { + test0703_gmail_com.Password.main(null); + assertEquals("Password not same", "0true", outputStream.toString()); + + String data = test0703_gmail_com.Password.pass(); + assertEquals("String Password not same", "correcthorsebatterystaple" ,data); + } +} diff --git a/online-compiler/java_files/test0703_gmail_com/JUnitPoetryTest.class b/online-compiler/java_files/test0703_gmail_com/JUnitPoetryTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8ff63b9fa32322a064f806219157fa37c12bf41d GIT binary patch literal 1338 zcmcJOTTc@~6vzKlD%&otV5OiSG9YR}qMdc$lQExdqXvK*^ORa|Krv8=V% zT)(7HvIZMkhHZm<+u+hQsrA2+B_}TWYb{C zWpD%iX$)h;LB1o2&1PgokijTYB<7sK- z^UI_;lo7*B`T81CS_6?V+x3fTjelx{Mh4h*EN+P%Y|lx5T!IU0bn z9XrAo8GiM~M>bEZ-5a0YIutw*=1|qR7ezvw)z1yjj|#0U=XvKo%VoqHVNLAQ9Mm{< zf*S(Zg7GV#gS`JYG=saT8oDahq@BUxE3OypSWx?De(6Iekh8;1r<@&P+LQD`ABNTe zl0J|YqkVMl6q&g*+}u6I&NwiLBk>$S&BGB?MchDW6xOQairY& z5l)=pKoCfL0N=wA0k6kFEQ-Wos=B(X-g{LwU%r3*3}6Qx2PwfutmpC8gRT1qqp32J z13#R0y@h{tvTKfYU;ANj=pZAgj@7a1PE;`JJ{^v=9}9BZCNS}iAl>c^1eu57p)Mc| zw}>oqf{JGX{bVs6>gc%|PPAav3w<>isL0s(>@pL-G;_hG_kSflvP{BoM%Ui!3|w45 z&B5wl>iQ@1SWk;sL!HXP1%=kVM7#;R&mt4V{W#KU+AH89E<3m+sGaj%L=zQ3c4jNs zYmoFIkUf4zQ0m9ZKYFZYzq;V`0zsqwVo8=vicBUL^*VzB1g+d!pta97b%nOL zOrS3@a;+@h*y1s>Q}p%B_8XMmq1t+n#w(Fl^YxFf7A&2BH3?@SQ!L6NPau~N4hO%I z5Hyw`XyFR;QmEl7Pl9WV`0IT`R$P``$Bi@IM@+K3=T{+y`v@R$oq9Et9H3 Y&DB3h%Gks$R^}<^Hs5UXcM{U}PkEP)g#Z8m literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/test0703_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..46bae0e --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,17 @@ +package test0703_gmail_com; + +public class LuckyFiveSecond { + + public static void loop(int number) { + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + } + + public static void main(String[] args) { + LuckyFiveSecond luck = new LuckyFiveSecond(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0703_gmail_com/MyClass.class b/online-compiler/java_files/test0703_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..1ff5d87a085142ad452663e75dec7c4aa8b37088 GIT binary patch literal 727 zcmZ`$ZEMp|7(KU1n>A)@wsxIvQ#ajQQo#)TAkr~}6`@jJpwcgX7`N%A%gBo)sn}oO z&k_Bg;s<|#KT14F3uB;xo9F$U^W6LU&(B`~PVvw{MPNHuS$_QF`0@EPl0kUxCz1DZ zeiq6sGoTCDm-2)3LK#oJ*W*j&=K{5pAP(|V0nKqo0{U4pQ6@ChEmTnxXbgf_y_!X1 zmA;kZPzh`d5?_WRnFd9?OzQbXkO}M#{;!}*4mp_!RGog$?FopFJbj)y593;@vROz? zI>pBVZRg$KO7JjGgLv9?N3~~%T$!H6H66|DjO89452WSI>ju zx~$~`JSwoUPt97XUZckw=HFoK(F)pX=Q~!u(5Y}elx1+>27PPMK)cGQUhKUb?n5UO zU~GRn@?W^0=`O}iTBccCDIxYsZUZ*fnJ+3EXcDB#z7{<`J2uf?!X}Js?Ao$hCoOFC zcbp%%^;G|gotyeM>|d#Dm+Y%-Un69Lf14odC1r=&2!SIwv>Is&@?vSbB(Jc$UXts~ Jy6mZ-^B3wjd-(tW literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/MyClass.java b/online-compiler/java_files/test0703_gmail_com/MyClass.java new file mode 100644 index 0000000..94761da --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package test0703_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0703_gmail_com/NewsFeed.class b/online-compiler/java_files/test0703_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..bcd9a18d887c055911ab8a4f2bbd236169a9640b GIT binary patch literal 953 zcmaJU>*Ux1~CDN@XCzm{>a@rBM7Z((Kx1q)AP0mHjLA zgByze0DqKtZn82;hXl^eea_o+o^${F{qY;X4xTGWFq8!!i~4qb>!3fhUGKmNhGvU@ z9`AB~s366VJF-97rf2(obH8`Q9l?-!;rg!FVMtc09fs7a;E-!bBC8{f48vm6^?7SD z?D4Q|_dL#EGy})>I(F#F`x%%L19!}@() zG{ZB7Rpc3z{Sk2ud=&*E+UCwc#Z`hW$K}4mRg`F)J#KqqKtJNFP5y!=luiQq48_U? z-fBk!QI+PFj>}loa2t0O+?f)a2-h=ThM|2t)^QK_8B`I(L>bm*O2#rbs`G1!zStqOon_U;jCN7Lp)+gk7R~a zdcJ+MY&-1JBDAqR9C`c$y%M@ax<$juRnP5*BCKE%I(*lak6~f@zBXkfR!OrYy-1Ly z{>YG3=w{N%=uFp6pnj#F1T?bJE$t<;dK^IK0^PDwcS2d4W?yFgk3{9!mnfHtn5cZQ-qa%f^|=Dqj`#(Z`V(; z+WLmIjqlhv=UJptK#Wx4q$7tV`j%lt4Qg=_Y())J@;s&qSTu)hnjl2Q6FiM1*`_)P GJo^V|{K(P( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/NewsFeed.java b/online-compiler/java_files/test0703_gmail_com/NewsFeed.java new file mode 100644 index 0000000..fc399a7 --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/NewsFeed.java @@ -0,0 +1,19 @@ +package test0703_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = NewsFeed.getTopics(); + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0703_gmail_com/Password.class b/online-compiler/java_files/test0703_gmail_com/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..560f627ffaddea4516d3dede01f1fb3c8126d2a5 GIT binary patch literal 863 zcmaJjF@JAWXKuJT|m`(1Td-vXR&pk7L{{H$6U>7fJBm~xD6~(oewfb>yAcOvKHyro} zGKxNj`ou<3Ab%!5Nxv_LJ^x+jOm$;{^s8VP#Jd8PS7{3*Uxz2kfrYG#6w(5@W-wIy z<3UI1L)qyofkHFv%6?nwz{KatWPBP#0_Em^C^QH^A{~JhuhP7r(u#F3>@_mDF0j@O zwI;FCP)DjG<5=l0Q7lJhaK<#7T?~gy?F8r2LxGa_{_@{S+kwCh7t6?Hv4(XUw-)qh zaf}+c*g%OPWM9frj4uHdrg z-~k@lcqmYu?y)$+g@=kjYGkHzEpN}T-^8|y$9TdkQy<5&PZ<}$XBXP292s!mVAM?S z(ezfO?ytdJ`Cpm*($f#}LC7MYH(AKubnQ)7p%DdO@G6{y^p%4+%K5 z=C>)mM(fTB=$9B}jquEv<~sefxsZQb{mR6w*`YTO7K`Qp7IOs@rvNKhJqP%}8dF>T ziBj`BZf+Oy6WpHQ{`_2>VCRBW0ZA6Sv^nJYZ4lB7D9u3d6weqX`6`w<%5bYQPT=`J DefhJM literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0703_gmail_com/Password.java b/online-compiler/java_files/test0703_gmail_com/Password.java new file mode 100644 index 0000000..4fde84a --- /dev/null +++ b/online-compiler/java_files/test0703_gmail_com/Password.java @@ -0,0 +1,20 @@ +package test0703_gmail_com; + +public class Password { + + public static String pass() { + String password = "correcthorsebatterystaple"; + return password; + } + + public static void main(String[] args) { + + String pass = pass(); + + // Write the code: + System.out.print(pass.compareTo("correcthorsebatterystaple")); + System.out.print(pass.equals("correcthorsebatterystaple")); + + } + + } \ No newline at end of file diff --git a/online-compiler/java_files/test0703_gmail_com/Poetry.class b/online-compiler/java_files/test0703_gmail_com/Poetry.class new file mode 100644 index 0000000000000000000000000000000000000000..4a8e57e1d04bb3e2c3c0d58be0bb3e7e2da112cf GIT binary patch literal 814 zcmZ`%O>fgc5PcgbapRaKP1-;yP?xVd3DlK(;1JYHB}9c)Dy7PWL$yg)?pFRl_PSF4 z6>uns13!Qtg_yOAs;EJhW_D(0-n=*7-+zAo0*G`35*C_Q(;(j`~EGFu}WnejFzy%Fg!UI&U?Wx zx8uy=@tMQJ&{32-Na9S1Fyugb9%V;&Q zjtvtJ=XNu`qG6GZM|ezoNpj-6R>H`{J0`k{NDCf~ENo)Sgfrh=2(s}M&lnn6KFx}R zCUbbWK)Hn%*f#N!p<4)19uMNIq=_?&7u*m9bUD_mTmj&eSQPj}Oq>OIfBVROk z+8+jAC{Z?B`D#bG!p$PWn-Z}TqIrq$+-+ym^0occD2Ni);qo!u}-R|3?D3Llo3bVw2 zpGIfWK~11@Dt|~nmTBaFnVhQ72+Zy2RGWQ)>R@{;Q2US_D;HHXTc~4Bpgq#5`dlOv zm4B6!SP6KeER^wB=Gx->V$GcBsleLkfAfdbrlVA#H~2RC=OZw=PNU)WxQRt{9e591 z20y1pB`qvrnGUmphL>k#o%x4k8uFD)h7GI;bORO3M4G-#k7YkD;$ph#;wjc0tg%}T zeaLI!8J-K&&#e@-2ah?UbD2kcUH1{=B&Rx-T0ndhSO|;^&pyfX`?a`1R^*{N&~|Zd z`4KzT1~$R>@ZW$6Puw)4L*z3H=K7l(G%m}w%V^smVVFHLR{arz%DT4OJX HDtL7V@>hb! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/Angka.java b/online-compiler/java_files/test0903_gmail_com/Angka.java new file mode 100644 index 0000000..6c08352 --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package test0903_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/test0903_gmail_com/HelloWorld.class b/online-compiler/java_files/test0903_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..be2902c6a184ba6bf9283e38f1e844920621f131 GIT binary patch literal 570 zcmaJ;%TB^j5IvVyX{~~w_(Z@JxUeKHjKQ!mF)kW4!QjFLxxh`mqz_XrCVrMKG;!ev z_)*4bF=-#4Mljzhpu2K z*};greIClF{sS}WQBE0Z_P-`NG=RMM43*}CotWvVQ2I`%)z`6(vWC)v)!xfg3D3j^ zHpyl%BiEaAvJ9+SVk+Vb?sf9mVld;K>+#YJ13TE$u**=6r!5jp?4!z%eTp~ZbyOozXW-xleEF6hT8J(t(-1|71hX%+oy%CV2FFGhijVg;WqnthZK>jsu8x*59 zh_FJ@oc}<1l`0);C=e2nPh&B{-cT%6-m#qs7}O$FW;2Juo5DPCT*hNKuwG*ygT5}wGk9m?Qd>g+5@KaHP3 z6G9@1zWbq!XSPsjY)UqnnKN_F?_BrypC3N~tl_DH6vMocky(AQ`fR`93+3(CLcjQK zCs3vwG(L-MdUTLx7&{WjqUedBQQWK^$(muvg|TVIX3JYYYR0#a)K<>##0e3}85iEL;bp46}V*xfsE477Y0u zu3<2X>zHyd*_FgrD>Bm0VHz27M44Fqn>jdE9<8WAeu(|5)Z3!!Ng`Fkn(%goR#ra0 zOq)X$F)UQBEFonz6iKtwyeQVpr#LXmmv4h(6)8fNgCI1*s4yU6rm`*%LM=-U?ou@W zO246Xs57|7@Mb5_G77z8S?AQUrt%VF-qaz{{FmI#wi&!8ESgs(?--bn3vOCX>AIN5 z16$XJ43mX+Ly{&_peksTYy*bL&QLTLu{)LWfswkD!6Sx^tK&$t`-j2cs3;jYYJbHJ z9np&nU;EP|o2J$7PtR^2O72T@7}mLnBB{;BmsogFp`GM1@7@==ig+B<6W5_8F4|&G8b$seZK@}2xr_F=CvBw% MZKfw}HOb(~Uzy4zWdHyG literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitAngkaTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitAngkaTest.java new file mode 100644 index 0000000..d0eb74e --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitAngkaTest.java @@ -0,0 +1,34 @@ +package test0903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitAngkaTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isAngka() { + test0903_gmail_com.Angka.main(null); + String expectedOutput = "Selamat anda lulus!"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..d7923c86961571a6fcba33787fbe39c44e285f04 GIT binary patch literal 1267 zcma)5TTc@~6#k}E+Ahn*A{Rwu@PY-A;^jqaNWehQtYYM1cp}?&fFZj(b#|7d|HnU| z2_cb0-~Ca>Gc6Pvo9fHXoU`Zq&h49DzrX(gu!N@>q!?z5h|S`Q#b~ipU_%Fm&V}`^CVI4vHJ)BT+F7u1ZWTF`GsUKV+El8X-~@SL#MA zYwg!Jt^|}U;DeS?3oz0GTyaxa?<+|)EHU&HW_K9UuT@nz=s~}W9GnaW878}?axj4Y z92oL0uAw)F8yL-Cq^*g~dTd1KVhmYIM4j09n=Ufe9`s}+-X~#M=q7YnmpyO`L-$0RZ`6mOzq8B5|_jv{4zBUMDSS#L$`D=kVH z+@+E(=fA48(plVRSlf=Yh*fYbs+^WrlR*Q_Yg!Ro_>w!hCI_$hmYSCZZvl+rJ~#E6 za2!ly#t!!(!$_gImByy2P#GPR>=yb7XQ-Ns+B4qrz7e{V#UqB*f7j87?p_87M8=oW zBO!QJew3of@TGf-*!F6pyQj!)9SR-_bEvA^k7J?D>gU7{;zG02dES1`avAd^s)~Km zLzUAuxFG^NG~VH%I1J9FN_0i6Nh_N14lxUMk2G%*9lgX9@>ZdA%Uk8qnWjIaa{Bg> z^^T$#onv#SaOci2uzQN36I`GBhT#*8f2Ch3+@f!ufFM|!V1sZmO7{u!xJ@{2W0EX} zJLFGcitfE+aXM|9=jUmhGfeO1@15eoPx3aIZ5-%9U9veXwn7`*Y)3Y#{4ciQj%@R7 TY>zv#Ep%WT@5r{;=-|m8*n%$Y literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..7abe0bc --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test0903_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test0903_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/test0903_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..8e9a83bc1c319427e4c19834d729956f22b33ebb GIT binary patch literal 1292 zcmb7DTTc@~7(G)eZI_lywV)s}crDlB|TcD6}>l8>4Y z5=r#kA7%Weg-W&7_%bu!%=ylDJM;a=m#+X;@hE{9!-5f^S$Vqhc>mD%WNp8q{KBi9 zKpHoyyl-yGhA4@O3aZ-#OCZiLdh9j4Ld^>f3tQ!5Q85f@6`6WuN=6IMXP9wY5UC35 zO(WK{_L^Il07dKYR?DE{kn1>Hx+d7*b4iJ;G7RMBb{XO?R8=?_Kqie8oCHP~ru&9+ zFpNwJ4B0fUU@(Pi7*8PARYa*78sVogfg}Z@N-X|H8VPHUxH1rLBEKy3wpXqRVscf* ztL=JPTKoJmZjNNgu;l(nGpW9zP?(+iMcby{MS+pNco{TgD2aS62$b=RQ~_}(-F0!G zv?wNUoAUZKgbl5gPU0@Z=1!nRsA>&S?90#+wZ#(>eA(wBDrZsL#R0fAdJBkeX8Or7&_k_E4V1zCvvB0qL?>t)Q{%J6b z$?!K3k|bO!M2b^j_}D*AXbZOJ{&7;C-L%|s z6Vqfd+#>22X6QUf7N^~Yd2$}cIm7H;_RcBpeWTkpv&8|Um)M*RTfU2Jt|uF1{s&vG XC);8d+fq-q+Eck{vLmU zCWJ&1efLKh?`)yc&{SV$=FXgZ?$?=LzrX(gu!5%+QVg?NM0)wf^0WOz-;?$IYUr2V z?gUc1arIMcLpH@W0W72$MvuLwSE_r#VQI5+EUKEp31i)e^_Et`^BJby1R}%IT1$&n zrM%YWB|zCYd{8pzI21Y#m#zsm_)1a=D+~k0`CW$e>#!zl3?Szq3){j7!&Ki;HinVQ zf+6qV8V0kti7^X>t|GQtkruv#abzeERbueB9azR5ab+Oh$9_eqZLd-n#N>umufFRk zY3%dMv_6s%!<_qHZKTSEBB6I07Y&>I7zbMV;!V($ktEvHAPBXmWf%}^#$6K!p%P^a z_b8*k?O#_aR2e*A*w_h_h{AeP)HscW&i{FmI$wmEp!Gt|5yc*jA9+~c~{ z5VnmOJT$$XV<;5cLrDfriOS%xY=)2{KTX+Od${W?uo~9R4IITlu zy(1K(eSF~*&cYdn_f9c-g6j+4aN`8GzS2_)6SU^Z5pZbDVT7bVM(4@oCUM6dOp(QK zm#9;irt=_KoOToD`FR-o3^RNA`=^-wNw;lgg9An{vDqEAVi((dPd3W@3R|Hk+hP~n S~wH;daCwvca2Vyhl&5jYq@h8$5QM*pq@%gBSS48{8-C=0dim3=`ZH>!C4uBW7t zFAmfCNX87)?mrZf^6HC)-l_dA*XU*vY8i;P;fahTL6^cX(w>%4NX(48EDj$JY-ng36+Q=|3p+dwXG)ohB2?Hh-krUZfBbeUhxc?mj!Pb=!kn<*K5MI zF^NZ}vX2?^g=R|{ZKgnFcvvzm=qEc((fp3xa+eOYP^Ao>Fs%MPj)r#kFlai0`lg5z zUz?euDR9k7E{Y64y1R%?u134Ni|qE1;DOLbQI*qZ3#C^-CY~P`nwie=_H~BKm?vRX z9MCXSIdy|;0+^!l>raH-|35Z^y%i;@BG#lC#r$>W^JY4zi!{gdvQx;Jp{HHW3^T21 zx}k?d|2~q|NsG}sGJ6JR_8bFyXBaxg&Dqbmb&5Nm=qiPK^v{tY=q05wNZ$~KX+KIQ zPSYG?7$=G0KA}^XpnWe%oL1xJ<%Jvj9Fu#wsWVJ}qthnY=o$Vc&2G^OZM2z=G>ZHW Z+DJ#*TpR6aN7{S`+E_>0LL-A`zX0f1OQZk* literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitMyClassTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitMyClassTest.java new file mode 100644 index 0000000..61eb700 --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitMyClassTest.java @@ -0,0 +1,36 @@ +package test0903_gmail_com; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class JUnitMyClassTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void myResultTest() { + test0903_gmail_com.MyClass.main(null); + assertEquals("MyClass Double Result", "30.5", outputStream.toString()); + + double result = test0903_gmail_com.MyClass.add(20, 10.5); + assertEquals("is result = 30.5", "30.5", String.valueOf(result)); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a76b11f673c1d432bd2fc4286f70797a13ef93b4 GIT binary patch literal 1350 zcmcJOTTc@~6vzKlD%&nwE>((($e@S?k>ce=Ye>LAqFKSnCE{ohDo=nBBRnuLyKjl zyvD{Qg|abtuVmOZ7;PI|x+b;$SCS%FV(2T*?l7cZM>S!i4><=}*cOHuCVINEF^F6i z40#9F(4WN(6fBH(B(d3uwFn%HAw!NR6Qh62fo0?&SB7Fe2`WNuc@zvC%s zgjxpTO?WJ0Nz~;qjI^g^6cRM!u893eiL!-z z6wsgQuPPO(45k^@wnHW2$Uhb}PK~QeziG_tDk56&lH1u9gI7I+<`u!)20G#%*NwWc zZA@Xtl=dORXtC9kW}hig86K2P4{~IuDVmGeEq8fe3suhG5yR@=<7jI44uip#@x|ED z5V&Ua$U%wWS8oTg$<%1~c97jV6g&|6FsgAcj)l^z9}~}yi>*B8dFMXMWz3VXCiZC- zYMgq(H33Y?_?0I@{{JJKO0yXysw&o`nZ?2t_X}n`sEstq^te;Vo3W=;-i$NtY5GG? zht>g--jNogeQfR&&fFOWcTX{Vf|0o|xPF40pXpZ$w`t9jA&{eW5JU78=sZq0PRks3 zFhLT-T|%cYN#}l&IPJ#G^K&=$8K!pg_fPTQJKeU(Mh_UdM6=tpVh3%uD~%$*LMwEo V&3Diqccm?Kp^bN?EjBZF@*D80Ofdie literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..33fa45b --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,36 @@ +package test0903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + test0903_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + + String[] result = test0903_gmail_com.NewsFeed.getTopics(); + String finalres = Arrays.toString(result); + assertEquals("is Topics", "[Opinion, Tech, Science, Health]", finalres); + } +} diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..3f5bf9136e88565866c73b2bae486b01c73d01df GIT binary patch literal 1362 zcmcJOTTfF#5Xb*pYA=VDLbV_wvZzQwqYhC${aBh1 z5=r#k4`rNfq0-P)Uwql!*`4{#%+AcuU*En1SjLMaVhl4zhGyyY(#wM*Pbl}G7I>xi zyS_4;x-Rva2;~kbBoSvAJ`ty)w$V~}3{#bsiV8}rO(R#d z7R}9T3T12XNh`l&Q0N$3yC${7TSXx(GYk~x_88)8L0vi+KsJLkoFsA#lYLz|7(zA; zhI|IMkVxYWMw2LXC9&NMjr1}YLy8=ja^^MFmO+0om1%=%553*h7O44z2Q!}&EPd*(Yz{o$G`+!aMNr^ z$H6q7*uR}+C=}a8X%(6RRsK=g79mS^hN8KOJy}^fG*XvSc*?N;_c&VG{lj1w@tU2+ z+md1AQj;Yrwgt&gi80pSPiPai+Wq~ccaA0Zq&W`iT!f+2X8m&{+_2bAcY$~Bb6kZy z^6T=DdZNy$B-{|d{v5wKD-^*0q%%0%L8NPPL)oqzyBWZuZ4@dfH8l--40$^NbjsV# zraewCG)1%ylJtSJ80};8=g7=oU}*mw!)F+o|BBmZxch~kVz@_Zo(zEuty$z~yhiCf z(Yk4w<31)yVt7F47^di)Ac@m%-MqSV<6K~RKmX_)Ge79IO}2W#@HLv#p%uGmb3JJk a`3+j3CvBmN_N*suu?KCuCvB;f!Smlq#!x8$ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..992c6ca --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,33 @@ +package test0903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + test0903_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + + double data = test0903_gmail_com.OrderCase.calculateShipping("Express"); + assertEquals("Result from CalculateShipping", "1.75" ,String.valueOf(data)); + } +} diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitOrderNestTest.class b/online-compiler/java_files/test0903_gmail_com/JUnitOrderNestTest.class new file mode 100644 index 0000000000000000000000000000000000000000..968da88aaa18c0aff729085274fbc8c474f58788 GIT binary patch literal 1362 zcmcJOTTfF#5Xb*pYA=T(P%VgvEGkkEDPCT*h6D&CnhJ(n!V}rH3oJR8x@QkbKb9th zL=t`XLm6jJq0-P)Uwk;bJ9}n+GqW@E^VhfU0G9AFjReEAk)c_9v-s-Z$P>yvs0Ci> z!>+H)rmjo9K|gosOC!lJbRteg$rb)lX|sAFYla~gM5Ym$ZKI{|7$z&RiV8|AO(U1J z7R}9T3T12XNh`l?P-q)myC${NJ4GQZG4vH@_ZX6^L0vlN!$1yMIB5(rO!Rc+;5G)b zV94ii3#lybVkC`1M-to3&`2+bQDn#wWn%Tma!6Zwu%djq5qVXqcSO~dM5+We;qD2o ztbBQyG{-7rn5q2JGg4;#p)|XVs|Oq3ihQFy`QATOp(5x0&>1{oSl{)v3_r!83-nzsC`4_YQ+$*lWg( zw<9&Jn!6R zxe9sY*X1GgM4eMfxFLXjIev3iD1iS-XK=QINY~`LvRyfPGk^u#C{$2tY8vze@^%8~ zl((Htdy@Xp6w%sG(nr!_w2#i6BR6+}+xzDjI>YeXSKK+ny)X1Df%~-P$q>lVI)FhM zuMs+r$2YM#9$WUB`ZU86Z|TCsyR e+m%L<-=Gz`(&js8&%4qVy3oeD(iYBrK9 zkVvBMekk=!3zdeZ`r^yXoSAce=Q=-re*Feu2~Sf@{YZd?}Z1Y^~#Z`8iuTjO+7Z7Mhh=sm~@*eQk7O3Ml5UX zHP$aFl&!&rmSNkV&^EYqO=|tGBt@{q&{v$@VMxAKHQ}HSxhyhpQW#>G=;_MAAaWTn zVj{tRwnB!xmp5}S?4h#-qmq{$IwV)bulk+SlTD?{-<4k|)#c@Y*z==eE6;h}xzBPL@i?rBeVTAXwg3PC literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/JUnitPasswordTest.java b/online-compiler/java_files/test0903_gmail_com/JUnitPasswordTest.java new file mode 100644 index 0000000..1eeb6ed --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/JUnitPasswordTest.java @@ -0,0 +1,34 @@ +package test0903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitPasswordTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isPassword() { + test0903_gmail_com.Password.main(null); + assertEquals("Password not same", "0true", outputStream.toString()); + + String data = test0903_gmail_com.Password.pass(); + assertEquals("String Password not same", "correcthorsebatterystaple" ,data); + } +} diff --git a/online-compiler/java_files/test0903_gmail_com/LuckyFive.class b/online-compiler/java_files/test0903_gmail_com/LuckyFive.class new file mode 100644 index 0000000000000000000000000000000000000000..8ada6669f541de484c564333f5525c645e0db3ff GIT binary patch literal 725 zcmaJ<%Wl&^6g@X_>^L}SNJxODJjyd+fh(~>sk%X`RAe4fP$a~nniwlgo7j=#RO+4| zVZ|C26oJGC@I5RMaK;HBq>6>_WA2@E&b{NWKR$f{u!Ek1f?y+y=GoT$t$X|9snV1E zFq!(nB0N0a)kl#7OHe;hN6Me5cx8L+T^Q4D|@Bqg3H1GH1vr-Ns<{|cds{eaTZMnjem3v zj^|l4^>7X?YDyNA*a~vlI`N;TI?e`J8mVc&g7diO;DVreO4-9Y)&!-Qxxp#pd;)>& z@za9pAXDMtBQ^W2pBsw>?e2>uS-vAO>3H1l4J#11#$5MMGq{#Y#~inLO1GJjOBYlI z$s!G-U2T?D`|}WYjaqCHtjMU-2XAJBd+(pi7=^P2%H=3ot2jBTXfdLC~**t&l(nkq9n z@WW}>TlhyOyXIK;wI2qD4l;u3SRJeGLH^Ym zi^w7;sCXvOPZramj-IRGL;97IDh_c1asA$BdYv*L! z9=QNPp&u?HU+)?_y0w3na?fhUIw8~CCTJ-ZIa-HNmtN?zcTbUj%R>qUTKjBMS7?jN z1o{#q*UI9JEgmyFMPJWszd`98s;&2Eyb@_OU;p@O!O{s>lW-O?#iA_o1ab-CaPTV$ zL1PJm7OpTag&MB%B)GXQjj7{8PWu9_w^UXGYCn0VB1cU32i2wiq literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/test0903_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..affb1ee --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,17 @@ +package test0903_gmail_com; + +public class LuckyFiveSecond { + + public static void loop(int number) { + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + } + + public static void main(String[] args) { + LuckyFiveSecond luck = new LuckyFiveSecond(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/MyClass.class b/online-compiler/java_files/test0903_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..29cca0792a66313b34534a46ef620cd0ee71da74 GIT binary patch literal 727 zcmZ`$U2D@&7=BKZHfzk*Z0$PTrf#~Aq=FfEH9Cf{B2?-JRC?pZI88&%$cH4U*k9n! z5xr3H!XMy|5}%wF#y|rn@AvaO?>WE!{QL#r9FGiC1h$JHFHTNRo?K328Ag|W8hbD1 z7m>_!1G<2HB|k_nlF8J2HNFb`LZEgQCSh?dpgHbHK)*;Qfe8(D3suwv8iOziUe4li zkiC)PC=l2fq`r(sG7HOinbeDSVJ@&c_`iZKIpky_P<8q}wXghBQ*Mf&d7ADiKJE}cBE{oW>fCl{D(pTbC}LDKX?|F z*JUjq;BkqKeQMT}dW{}$n16$@M=NNno$pxrLZ`y@pvvIDE&A4?fp(Qqz1({_+=osm zz}WtD>_2xu(_M_4v`n+Oq9FDZw*edL%$Jo7Gzn5=UyB}}9h+z`VN=F6c5T_Mvlh1c zJI)W>In}>n=eGV0``0SlihY&sYlLj@Zxdu)QFf?}5IBZItC6N8FPF9zd4=6|MXodJ IvZsR1U-UbB{Qv*} literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/MyClass.java b/online-compiler/java_files/test0903_gmail_com/MyClass.java new file mode 100644 index 0000000..d8f6af6 --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package test0903_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x+y ; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/NewsFeed.class b/online-compiler/java_files/test0903_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..8ac69d739711ca0b7f62a5d0c29ea27ec175a7b7 GIT binary patch literal 953 zcmaJU>*Ux1~DYMr9zvm{>a@rBM7Z((Kx1q)AP0mHjLA zgByze0DqKtZqhPFhXl^eea_o+o^${F{qY;X4z?8}7|Mc=MSZ)zb7`I zo#Pq9D)J1<{)o5+zKQ}7ZF6U!;wr(G<8t5ODoQlY9=AO)pdT@9lfR$|rISEDL$Pv! zx7yJ_RHeD4<1!XC+{Rr6cV@&U!u8CTVQ3$Zb=<>!22}(xQHHg1C1aTz)%iiQsGz2x zIx8AɏKGg95>$H(zLJKOyscvAtBY_09;r6hhVH0%)CPO}w@Vr~cLp)+gk7R~a zdcJ+MY&-1JBDAqR9C`c$y%M@ax<$juRnP5*BCKE%I(*lak6~fYG3=w{N%=uFp6pnj#F1T?bJE$t<;dK^IK0^PDwcS2d4Q6Fagk3{9!mndxTJ|HMDZ)xW!MZ27(LBY?x9g`^ zZGFSq#&>L-@hs9PAVw;2(viaweakSS2DP{dwxR|qc^=aQESf_$O%S5u37$rhJfk`Z GJpTuFhRD_c literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/NewsFeed.java b/online-compiler/java_files/test0903_gmail_com/NewsFeed.java new file mode 100644 index 0000000..239dbef --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/NewsFeed.java @@ -0,0 +1,19 @@ +package test0903_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = NewsFeed.getTopics(); + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/OrderCase.class b/online-compiler/java_files/test0903_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..368d5b4f322205d00a072cef0af732589ed4da2f GIT binary patch literal 1243 zcmaJ=OHUI~6#i~oI&GQq7$^t=RzzrvP!wNKM5G0QR3KuA=zz5ce4fE z%C6kbBhhUEPqMUc1mK2W zMGL$F?P;@UtXB$qhV?|>%Nqh(x|GrL+qz}S`?1mE=Zs#Q48u(QodIglnMwaO<8QrI% z9~ar8@v@@liLR+ooq$C2nGb`ETY6o#4BPfD43km*nBG1?sGSEWpf=uE#A1oI_EdC-VG!g6MXDMItKN(C$YJ*A$F5_xi?mjDm^@OtQgJg*8I;G-fHj zNtPV4Vd#Z~f+>OCvlK2?%sglB!wn9xL3TJpth3<&;nei0`Q@}|k-!BGnZBr9h6n<_JvUynoEFo5*X{ZXxf`%5g)mX5K??GB(Q$c5(C2Yg$CL1@KPW|8) z|Al{`{m8U4fTJ`00sR&I-oM~DeeO*}F^oI2yXU@~bDrlp_uPNpzWN)$0v>1x2}}fb zJD58^H~+BSupIYc&1)1_{7u`x!+8x6f#FBiuU65un)Tw!#v{8H2*jNBHOF=BO#!ja zVSCGIwVY;Mz$m}pT?u^7l>`zsuha6HSG-MIAbQbhI>CZKKEK|-xqqfm6^KaJ1j0z^ zNMJ}HoG(=45E#)hfT*-ab!do5YfMKRF@d47)3on&8XLBM*V=HI+9-Q9%dJ|zBgehT zNU-I!1+wK&2|*IkUwVvF@7ONe!Inn}qFs7~DOck70+SkY2ZXCUZ3lKk$Co%x@Lq=+ zj&-RzUhxOY6i_VNYLqmb6gcv+hL<~z%aX(}OMZLQ<`gfL5|98J{1_O1Xk_w zvei}7sVKZ(*j_5!)TkbR94YsSqGCr6&P6d+GAdPVYm-y*@SyGDXGzLk2 cjD?W&yQwnx8TU9EWZX4^;#G}xjzhTrKLtQFqW}N^ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/OrderNest.java b/online-compiler/java_files/test0903_gmail_com/OrderNest.java new file mode 100644 index 0000000..598bbb8 --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/OrderNest.java @@ -0,0 +1,43 @@ +package test0903_gmail_com; + +public class OrderNest { + boolean isFilled; + String shipping; + String couponCode; + + public OrderNest(boolean filled, String shippingMethod, String coupon) { + isFilled = filled; + shipping = shippingMethod; + couponCode = coupon; + } + + public static void ship(boolean isFilled, String shipping, String couponCode) { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping(shipping, couponCode)); + } else { + System.out.print("Order not ready"); + } + } + + public static double calculateShipping(String shipping, String couponCode) { + if (shipping.equals("Regular")) { + return 0; + } else if (shipping.equals("Express")) { + // Add your code here + if (couponCode == "ship50"){ + return 0.85; + } else { + return 1.75; + } + } else { + return 0.5; + } + } + + public static void main(String[] args) { + // do not alter the main method! + OrderNest book = new OrderNest(true, "Express", "ship50"); + + book.ship(true, "Express", "ship50"); + } + } \ No newline at end of file diff --git a/online-compiler/java_files/test0903_gmail_com/Password.class b/online-compiler/java_files/test0903_gmail_com/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..7f66347de62b36979ff9a908e8378bb37ea7767d GIT binary patch literal 863 zcmaJjF@JAWXKuJT|m`(1Td-vXR&pk7L{{H$6U>7fJBm~xD6~(oewfb>yAcOvKHyro} zGKxNj`ou<3Ab%!5Nxv_LJ^x+jOm$;{^s8VP#Jd8PS7{3*Uxz2kfrYG#6w(5@W-wIy z<3UI1L)qyofkHFv%6?nwz{KatWPBP#0_Em^C^QH^A{~JhuhP7r(u#F3>@_mDF0j@O zwI;FCP)DjG<5=l0Q7lJhaK<#7T?~gy?F8r2LxGa_{_@{S+kwCh7t6?Hv4(XUw-)qh zaf}+c*g%OPWM9frj4uHdrg z-~k@lcqmYu?y)$+g@=kjYGkHzEpN}T-^8|y$9TdkQy<5&PZ<}$XBXP292s!mVAM?S z(ezfO?ytdJ`Cpm*($f#}LC7MYH(AKubnQ)7p%DdO@G6{y^p%4+%K5 z=C>)mM(fTB=$9B}jquEv<~sefxsZQb{mR6w*`YTO7K`Qp7IOs@rvNKhJqP%}8dF>T ziBj`BZf+Oy6WpHQ{`_2>VCRBW0ZA6Sv^nJYZ4lB7D9u3d6weqX`6`w<%5bYQPT=`J DiW{?; literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test0903_gmail_com/Password.java b/online-compiler/java_files/test0903_gmail_com/Password.java new file mode 100644 index 0000000..9748fd7 --- /dev/null +++ b/online-compiler/java_files/test0903_gmail_com/Password.java @@ -0,0 +1,20 @@ +package test0903_gmail_com; + +public class Password { + + public static String pass() { + String password = "correcthorsebatterystaple"; + return password; + } + + public static void main(String[] args) { + + String pass = pass(); + + // Write the code: + System.out.print(pass.compareTo("correcthorsebatterystaple")); + System.out.print(pass.equals("correcthorsebatterystaple")); + + } + + } \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/HelloWorld.class b/online-compiler/java_files/test1503_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..2886c9e4a616af50859dfd8963dc1947eef543c1 GIT binary patch literal 570 zcmaJ;%TB^j5IvWNrL_uz;1dB?;KFK*ae-lDVq7$8g29Cgaw#|Ul0HninD|+`(8Prw z;71v!#e|R$H#40xJ!j6${r>s<0?@&}h7?0piLp99Jv!;TK9^qK34QBIcwTrPM&3|E zhM_Rx&)o8O;956>k#H2l(zy(z>M*36tsX<>A{+_>Y3L@hSYpWAG7#4je;}eeKJWxX z(GDH%^>`%X`VY*gM>%Gw+5eho(*W`oFjSfk_RLIIMKW;Pt)7lGlr$9Qtae|ktf2xq8MOrh}$?#+8L literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/HelloWorld.java b/online-compiler/java_files/test1503_gmail_com/HelloWorld.java new file mode 100644 index 0000000..afdac29 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package test1503_gmail_com; + +public class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..5e7db73e106e058a153077e1240865a515961009 GIT binary patch literal 1267 zcma)5TTc@~6#k}E+Ahn*A{Rwu@PY-Af|nO-NWehUR55ZfJdtfXz>wXYIy+0!|KlIf zgpf$0@BS#`nHCC-o9fHXoU`Zq&h49DzrX(gu#6`eq!?z5h|JRS#ix4*fhYaFstSs4 zw?k=O3*T3tl=f>|6p=xiVd%&^_KLn29uzk!N1|#NTos#oY&MM+UcfL_ZiYxzTx}S! zqP5r9xDrsZfDc-RZNNwyaK%kwy)Pxzu*}d?nB8GWzfv{fpa=afa&R&jWSH!l%E18o zb7083xQ5;wZeTQnk&Y%d8<7!#i!o#=5p`nYZ@S1>d$24+@jebJLT`B$Ul3DSRXu;l z)6&}K&a^p{5ksN;e{-bP`XXVr>lYK7_!x&q2I5V4EF($0D`BXNXQT>=Hd|g5`$~&a z26w5X%lWTqt#lUm8P>N$Eh6O~iyEip)urDA^SV~V7QEn2uEoKto~7m$!P@|%xW`SS zE*uBbn6bls$S_i9ZKb(sDpZCCCA)=w!WpXOqV`OAW#0&0%Hk2j+P~{)Mt3iR1R|qL z>5&l1R(_PC$nd3mipchAqr0cbZ5;|82y>`v+>0Wi&D!VK^P@tm(|O)`&T<*?IIM|% z(nF2YHn<@IJ2al~P#gwlQ^mR})}bf)PKshqxj zWWA#(M(5bvDcrd;4D6m_=mgj2zG3(T<6r4l3b*K+Cm;xxCfFccjM9CAJZ=k)+n6Ma z;STvzn4)_xS)5Lr=Gl1~=M2-k`Fp2$@RPhPW*Y~3P?u~@o2}5nHk-&smH)*yoX9rc T!S*8uzbG!} literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..e12dbc7 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test1503_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test1503_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..b034f76c8abe5a22e6a242e4e5232b43960f9ff7 GIT binary patch literal 1292 zcmb7DTTc@~7(G)eZI_lywV)s}crDk0mltbDz(Ar|#aJNWiEP^e2D>|TcD6}>l8>4Y z5=r#kA7%Weg$i0~e3_YV=6vV7o%!+e>o))^c$`3tVa|xqEI(U%vUlKnvbI-Ie&O|Y zAdMSUJ~TIELzF~C1=THrB@kyAKJpq~q2>h#h0XGjs2GN{icCE+C8LGsGfcTHh*X8O zrV*=Jd(F)YfTDGHr)AJ_$aNepTobJSg``AQ82a)vI}Gucswy1xA(KW5P69&=lRZN@ z7(^xohHM(w(4WE$j3$t~R79y68sVogh9m`|N-X|X8VPF;xiS!MBfl*4mRGI`Vscf* ztL=DNTKnuWZVqM0u;BhjGpW9TP?+uddD|x5M}d*Pcoj5cD2aSE2$b=RQ~_}(-8HeV zv?wNUm-6~OgmtZzPU1ep#&)1ZsA>&S?90${QXgmCfA(wBDrZsL#R0an{JBkeX8Or87_k_E;Z-g!;F~_j}?>t)Q-f1w5 z$nXylk|bO!M2b^j_|!X2XbZOJ-f>b}hl2aU9I7h!!cb_l{xR}uVZL4NJiolpa2fI_ zsEU13MwQb@xFG`DIeyi@aTuJEigZP6NUNdAtALAktkixIB7M;qvR1Wp%33wj9;X*l zKCJ^}y&)8%eQfpw>Df~Z?w(-y7$dV^aQzrJKhskTnyJUt8JoML)6d+!7fzSC`++2VlV3v5n@Eq{q^rYjp|{uf)W XE8F}fwuP>2i(S~pyRt2{Dp>vn_TV_k literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..4377cde --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,33 @@ +package test1503_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + test1503_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + test1503_gmail_com.LuckyFiveSecond.loop(6); + } +} diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..c1e7879338bf47efd43a0876f960257793856888 GIT binary patch literal 1262 zcma)5TTc@~7(G)e+b&zdYC%C{P?3U2!OM#^Bw!%XtYYMn@Ii$N_0KZTUrS(V3=}S5E+%$np&(X zSz%067O)*cOHvCi{l6aUHoV z81fFTVK9qZ7`0I7Dq^b{YY{jYLxuuTB?f=Tfo1GrSBBz!5>$lR_A0(0CO4{j{;sE_ zvCl8l`bfqMv+jSjkt!RCh2E)OG;HEy5^5QUH(^7@l4w`MFw&luQAn&AcTF5bN|Y_! zr;Pr#e_g3aW$=(;V<%K1j{JtGaT;A+`YmT(R}rxVFS(ssDtkC5Fy59);maKOkVHoL=C>|&ei$wrx9VJq}xTj*kY S(vxkm2itg0wxw1D%YOj8do11n literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..d8b78f9 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,33 @@ +package test1503_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + test1503_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + test1503_gmail_com.LuckyFive.loop(6); + } +} diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/test1503_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..88cdb5e842d2f57e2e4434d90c627a663c75458a GIT binary patch literal 1347 zcmcJOTTc@~6vzKlD%&mvYPFyOGKgqFq~PVn8WJFoXcjTt5}wGm9bm{_>g+5@Kb9th zL=t`XJ83-ALZR4HU(6;ub7s!@o$LJg_4ONoMZB<(V3^b*(hINWU+y3JuJraRp$GWY99mw+yZwlUnavNdYV}^c1Fd8ImhuRoLi3e+FsT76uu{y1KG4fc`WX zav9u0ZyI+oWFg;{#8y4h!p~qBDRM-a82$ShSVkUnWFS7oep#q(x9kZbIbp^1c3mZn zd~ul6M>1lVa{i%+lviIQ^iJ)vTqB!tprtR~1t&6+1YHV(P`g@&0Wnj~vN#BpC|P(! z@mv*uRjE*=@R(t3Cr}~^y%SO8)V7-R8pgb)LZbO^xSeh?c*QknUKYG%phNC*U9Sn- z#sr?2%06Yt7n&_;w3z~x!C}d?pr7nCMROUuwIVSdUlV_OvPNz+>(KGxjn%$xm+Gx`qX%zV% ZwBe4l**4nqj(((%Akk^k%E^OYe>LAqFKSnCE{oh6%T+BBRnuLyKjl zyvD{Qg|abtuVmOZ7;PI|x+b;$SCS%FV(2T*>@cKXM>S!i4><=}*cOHu?)G$LV-UG4 z81fFTp+AcoC|DTnNMf@QYY{jYLxvntCPx331Ix%mt_;O`5>$lR@+!U{k{eY$f5%hO z$mf@7eJEpwY4=~MNQn)^LT}eE>NWl$3AGHwoA6l1lBmmJ7->(-C?sgcT@m|{5@ieb zDWE^qUsWnn8B8&(ZHG$4k$)^|oEle`e$$xORYbJlCAYIJ2CsSs%`1Yp4Rpjkt{Zh> z+nB_(DeWVM(PFD7%|270GCU}o9^}YQQ#2Q`Tki6{7OI@VV}{kg$I;a89R`CfmQ%a|u&P3+Sw z)HwBmYXX>(@heY+{QpNdm1Z+aR8_1=GmC{Q?&r;TP#bBI>2ar!H)BtyycuWO)AWa) z4y^+uy(29~``GL$oY^xB?w(@!1S7LwaQy@~Khv)iZqu44Lm)@%Acp8G(0QD0oR&H6 z;4VoF_XwTB1fBay;t~84L3a!wU VHrGLW(v>#fg*M)mw$RLA@i*03Oe+8Y literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/test1503_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..b99c4e2 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,36 @@ +package test1503_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + test1503_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + + String[] result = test1503_gmail_com.NewsFeed.getTopics(); + String finalres = Arrays.toString(result); + assertEquals("is Topics", "[Opinion, Tech, Science, Health]", finalres); + } +} diff --git a/online-compiler/java_files/test1503_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/test1503_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a614e1d00e6c54affbe2b597a71865f8cf2cda20 GIT binary patch literal 1362 zcmcJOTTfF#5Xb*pYA=VDOSK>(vZzQwq~PVn8WJFoV5%5y2~T9(F0kZW>YhC${aBh1 z5=r#k4`rNfq0-P)Uwql!*`4{#%+AcuU*En1SjNjFVhqzphGyx_;;X}BPbl}W8hFL` zd%iMTx+e9S2<0v*BoSvAIu&Q4=nDV1xK%loRl|@8B2$mdj?q$h43p)iiVBLW4I@{y z7LBbN3MFgsNh`l?kZ&8@xF)s4J4GQZGxQZ^_Zi}AK}|a7LpFmnoFoPrCVIMZFo0|t z47m*MAd$vBj3kloNMffE8tG*)iWE7bOsxJ`21zRqmX$9*MqWkgT~To*k;*|;xcfpY zD_>p4&4~&bX3GEcjg(n`D9v8|`oqSzBi|@bZu(~`RD@me{lEyL0-va<@~S)vv@9j@ zm?HY~{p(r>I)$eU8+*Q%Vc?$08mH3LmD@DtbsZ4Rd&`}4i@~eHqIpH~wt)$_;HFWR zj)N&Yvwu6okT0}~(kwIus{G@UEkc&;3`KJtd$PQ8WTY;o@SI`&?{PG>dxya=>^0hr zw=KiSr6x<1Z3~j0B4ez#pU@_3wR`(X@198RNplj^xCle3&HCp^xM87{?mX|@XSoV_ zBrK9 zkVvBMekkMYDO4Jo>WdF&cW2McZ)SF8e*XIQ9l$bPrjcNn)*{qPZx&x29(#^-4{L!} z`mpCqy`}0xZPL$O`qD@;44pb>PRVur%u*}d`oZV+gt_5{rp$|D5Sy*WdGEDSzWnloh zEEw`O?jV)LJ&dGL=tyFx8EWC#7)6F0Q6@%z%tqSCgB9tE&B&_?wd+(}L8MAhbKHGL zNh4ofCiRI78D=W~^o*2Qe<<``(%o{2on)jAl*%pJ>9E0Xn!P^Ep;11W# zhOjJ5;hA~c8HPf!Rg}2U6sYu%%ccl9veOjJb?oWN%8?eToWXO3^}ojvYxfR=Vc2WN zjko56Vq1ifOHG!lm=+{ICB|59KcPw3X!rJ$-8~W96Z#~mb0-Xi((9ii#|?|Ebmw{J zKFejuBfl<=s3+>2O2Rb(%**lHvqAyg+5@Kb9th zL=t`X8~I{9(?X%KDNkmTojEh-{LXcL{rUa_z!F|MNHI(q8Jop73$OMM1EKu=N)!}7 z?1ai}=&ID)bm<_?FmxQ za0|Uz+`*`Wk+vkZ>ameQ4r9oWBg(|;-^;tYH| zZC#%+j1-y;X*8JvRpDXDHlUyE3`KJpyW=e%7^zDcJZD(FIgW;Q_b_NSg8HV66W`d0 zqZ#n*N-l~Fzq`ALZLU_kyNm4hk>r6iM^TlFIF{P1eo2HM7n+&Q@%D9wtC%NYRUXhN zR5^8n8v@v(@%HCI&i@yg!QF}yU6E_b4&iXS<9Rz5)IXYEde153?Xc4>Z-^L}SNJxODJjyd+fkB8>s&0@f6`6+=6bZ4YCdLZWCU)dFmAdCg zSh0o$MIiA3d=Ex8L+T^Q4D|@Bqf{VfbH1vr-Ns<{|cegimaT-krjem3v zj^79)YDyNA*a~vlI`N;TI?e`J8mVc&g0nd9;GCd&LfOMQ)&!-Qxxp#pd;)>& z^3#IqAXDMNBQ^W2pBsw>?e2>uS-vAO>3H1l4J#11#$5GKGq{#Y#~inLLbsWbOBYlI z$s!G-9c`9Y`|}XDjaqCHtjMU-2XAJBd+(pi7=^P2%H=3ot2jBTuGyY)TQ4*J}mvDK-_i)8m`wV%0jLo2Kf5er)s%!a(9?Dc&rB0)MNm9c#TxV7$ N{SDU4&^L3^?k|AchaUg{ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/LuckyFive.java b/online-compiler/java_files/test1503_gmail_com/LuckyFive.java new file mode 100644 index 0000000..0ea654b --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/LuckyFive.java @@ -0,0 +1,15 @@ +package test1503_gmail_com; + +public class LuckyFive { + + public static void loop(int number) { + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } + + public static void main(String[] args) { + LuckyFive luck = new LuckyFive(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..77c85e80bca6b10adcb98521f9aff01f9929c7e7 GIT binary patch literal 936 zcmah|OK%e~5dNGd-Rw3cr7xi6;f4Z9g$M|7p;a%4N|nMx3PeI2Dre&cCmVaU>qO0+ zKf;MK9H;~m+_~^)I3i%YX;p!WIP8oc-+VLvX7=mPkDmc-W5Yv^p<-of@7%k6cdt7T zD%uOppxzjU{qc?($)*gA?s&*E%=N@b)FYw0^(XC~3@yX-meR^@GfY)$Er$F9(~$wD z;FnOqG()+ew0t}qv}N*4v?Iwd-!P$wS|U+ye{`6)uT;vg-uQndo0KIoCMH+it+jld z#e#?VKdNhvQ!580EMkc&GeatLsgV`0O#Nx1v~Ai%ios@pbGYE)Jj22%*Cni=%utA3 z1ie*f?_glN^eKkfrWIlTk%*69LF#FSz;q;z+)*78sxJx(Nim?S1CVx8gJ zbDhZ4L?hYZq@4r;G?5<1%5~BuF(Gk+Hov{ z0BgAJ2H*ziUOi0t{rrSY-s`@KTA6wXHcdS7u+Lsj{H)7>n&#AV{Y{WmR~cry7K1NcSkmrk*yG& zqs&oI0YxJ6iNd3an#mF@Pe`zei-gNz0hegSaG7@WPyIlF`4n;m{3!26_6Q*OgtZs* WR}XRROBQ%ic{w9?wJ}t)yV`Hq$=cii literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.java b/online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.java new file mode 100644 index 0000000..3e61042 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/LuckyFiveSecond.java @@ -0,0 +1,17 @@ +package test1503_gmail_com; + +public class LuckyFiveSecond { + + public static void loop(int number) { + int i = 1; + while (i < number) { + System.out.print(i); + i++; + } + } + + public static void main(String[] args) { + // Deklarasikan method loop + luck.loop(isikan dengan angka); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/MyClass.class b/online-compiler/java_files/test1503_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..eaa1e58c33d58877caa02df5a35db82d71f87adf GIT binary patch literal 727 zcmZ`$ZEMp|7(KU1n>A)@wsxIvQ#ZG{q=Hez57IG&6`@jJpwcgX7`JJt8F`T;75fYP zIiep_{NNApM~Nr5g)z{;&GUZFdG7uF=jSf~r?_XJBCuTqdGYY^gGcAnSccKLpT^#c z`B^0M+<-1%U&s&Ai)1qOUX3pTzYwUMgh^PO3TTcy641}mNnk=l-9i;LfyN+Af|s*+ z9At0gI0^(d2B|Njk<7v}UMBV8U6>2(4*sv8OAa}i2vnVZ&+Q3_k34;zIS=Dn7UZ*t znska!1lrEq!KL6~k%h^$>yBzqkGL{F6WrLs8X9%%;+BD%S2i5Z^CE~X+{PZ6(;0y` z7kFXny(U;e$Uw$j6L)ZE;6R|M=&qJ69N{iSzb_}K&FQIolG&8|Hvgeez#OKt%nzQ0 z<#k!h2e@BiW1pHerCy`Q8|L3&?9mF^YUevvzR;;~J*YA`aE-pTXrNtXR4?~l4)>uG z3NW@m9sAGS&vX~#CN0w}t|*8-#cjaGI`d^^15JWd+1H}SXU8VmOW2fgja^%I>!gLP z{*LnlH=gKUv2$JjhW$&GZN@uV))i#6jGCbru(#RReAj>e{@B-c( z54t>RIbEMKn2peN{I(N$@_q&?qVJ6umK*<}P-n>XxM+n#&!yNxrTV^cPRJIK7xd~X z7N>Y7u!cN?x<4eYVW6QvL|feLYq(0V?Rq?LxrP#r^NKsZ=+lolYm>jA38j-j0YkBJ zfw$V$K~$x=W#BUAb=<~X6?Z1Y#=`Th7g6LKj||+yeFja02~mdCsgjAz_3G@PIaE+n zQJoZxw_+cU1Rof9fHm4kIHm;^l2k9W-jP6p+Hhx3*Rg?36&6E2mT=l_U<(f!GDDdm zm7Z-MFWZTFvpjrYS-+?BH=M$rGxR G!qb0Z_Q=x! literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/NewsFeed.java b/online-compiler/java_files/test1503_gmail_com/NewsFeed.java new file mode 100644 index 0000000..aa64b47 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/NewsFeed.java @@ -0,0 +1,20 @@ +package test1503_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = samplefeed.getTopics(); + + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/Order.class b/online-compiler/java_files/test1503_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..d12545a266f5698e4d8ad6f20ed64922d15c9ee7 GIT binary patch literal 893 zcmZ`%%Wl&^6g?9=FO!nuyh?Z_JlZ5JO-n&S3PhEP5U43d3d#Z&mE&0H6eo@x2gH}K zW5a?iumHq@58wy*89s2kW=iHum}h zOS*fuH>mIWJ;#qj7nnb=URZV48ushE-2=xC1Y&pOPzFr_ty1j>=v!XTF`yxtLKHE9 zbW0AMN0UL<@t;^-*AXyVo^81u%a_WZ9qPfp919d%|Ko26ByDfllY#Vx0*jT_VJ+>z zm&1Oedi*H1+59zn`@^^!+q_Mc{1V7f#{=2lFLf+;;*=f+&Y+w?L6z#g{P$2G>M7}} z>mrwSDqaQS33!m1Ykhmatf!BPU0#SGQV6CvsdZ{} zmfz^ zoGA`D%`_$>IeLmBPgor*KK!3BwFn^>aB;@`lmI1X-n`UW{(|z( vM_gI?gzBLJlW7>|turJvNtp?$N>dz#uQ9GslOpAN;aaB^p?!mq2sZuz-XyXI literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/Order.java b/online-compiler/java_files/test1503_gmail_com/Order.java new file mode 100644 index 0000000..d4f97d9 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/Order.java @@ -0,0 +1,20 @@ +package test1503_gmail_com; + +public class Order { + + public static String condition(String order) { + double itemCost = 30.99; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + return order; + } + + public static void main(String[] args) { + String order = ""; + String result = condition(order); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/OrderCase.class b/online-compiler/java_files/test1503_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..7b0f4bbce72ea2f83733980d785bc35e072ae46a GIT binary patch literal 1250 zcmaJ=%Tg0j5Ir{unUD+thL=2zh>(B~5K&A(-WaF|lvtGLf*Qh97|hF=iKSJ3iCY&e zTv)mYmR9)zuKWbQ!-aZo9#DYgEV}#lz1@BKbkFzSU%mmjk97qufgZ=Oor$UO$-Q(| zH#2*wd^Wmi9T?VHyOFf#=bLr^j{*jS#1iUk5&UEezxWkbh0nbwY!0^M3 zdKGo>3N$9ooUu{N?i$2l}@fxhJbFvJC#8Ja3)bjR2} zGz$eYmlkLXC(m$gI~JYs$g&^JXi=b@LtVL5(TX+!-=S_FO1x$8Yd&-cD36RZ(_1pS zQ$-iL*`o2HsAq`oT%ig9@yJsjdKtI!s$dzm?Vax@qx`&cKg$}dW1m9RE+Z9CYxhfe zn~aKOfrf2IPd$IA7i#oyAUT2d@UzPaB0GK-8CDTQV?AzSOu^{+reE8RkyR1JI6KW3 zS);9z#>_{zNS8xe3_TlHa7&=$BA1IrGs7kD;WnpPV?C52)>z1o3EYvBzI%b4+8Bs! z0{2wJz~OoILcz!#aMQxekxPwK>%?WmtjevNBXv%`l1ZR7d^v<~7qFyYQJ|#^`+P$x zmL;&dg6xsIsat7IvE?5e5*w#i%%XmZdG9Om3O6}%QBy#>V=)eOachOGp#)Y-N)P@7| literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/OrderCase.java b/online-compiler/java_files/test1503_gmail_com/OrderCase.java new file mode 100644 index 0000000..16976b0 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/OrderCase.java @@ -0,0 +1,32 @@ +package test1503_gmail_com; + +import java.util.Arrays; + +public class OrderCase { + + public static double calculateShipping(String shipping) { + double shippingCost; + // declare switch statement here + switch (shipping) { + case "Regular": + shippingCost = 0; + break; + case "Express": + shippingCost = 9; + break; + default: + shippingCost = 0.50; + } + return shippingCost; + } + + public static void main(String[] args) { + // do not alter the main method! + String shipping = "Express"; + calculateShipping(shipping); + + double result = calculateShipping(shipping); + System.out.print("Shipping cost: " + result); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1503_gmail_com/OrderNest.class b/online-compiler/java_files/test1503_gmail_com/OrderNest.class new file mode 100644 index 0000000000000000000000000000000000000000..20fc9845489acfcd3989b203da3d949e790f48d4 GIT binary patch literal 1465 zcmaJ>U31e`5Ixs6@kbOVD2Zty4WiJ-76FIS^aImSAfaDQLSx8G;DJ$Wkq9JRjdaB{ zul*PO1$}O3k}%Co``#bb;au4ez?nW+-n-hfyXV|p{rlfve*;)Tr-+=ujB*ooZE@lH zlbyiv{3l%*G}q&v8?Vt{L_uKUne)PF`cAmhT;G1?c9lTMOYV8T@Ad@5BOa4oFN(Zy zN5E_!M|V_AUrV6Um1!iyyRzpBjNJ4>Pb~@5>yL(mhdqr=fr5rskVn-(1>*wwdSkN; zfzt*~VMJS#28t+YYuZ2=C4up_7rJX{u}1{-zUq`aEzJ)UKBZ%(nke z2$C3iI$&IV&34sQyOI)&^y#rp{iclbxKM=kj&Pm5M7e>1k8zRB%aj^U_o;fad7m;V zisd>%tB6ko&b+VToz(MrB_+&}R%al#)s>05VO4Mm4K0h!ob{9Rt5B4A16OdBf>D5O z>O0DPokn2p1k?$6mUX2C1K02wIXhA0h9o~zUv3Nq5BhCs#ODSU@dbxO$^JkHOx1@W zjQt8XiujsWnbCh&7y~U$@KmI=D&ZUIkWHx-N@Y>G-k!i%M>*Z+t4@^NY!Tlw=vc{> zIF?lKj=;vlFm@B^zi@lhFo- zrKZwd?!#``6XhGq=X-+q8^yV1${w3=_?%7 z)~bPzFv?_3yu-nqJRuifZcF)`o7ItN+;zE(9PjFzy}hbw;{ucAx$64IE#VV-N3wrz z2>%O=U{yX1o_yr!0jBIjjM?Y*F=5Z|!?dsLW9kq3bExrIV=fR~;Fgt%t`a{<{26-f zJ{}+7L!OukXIWQd);VHwnKeTzPb^suD*sBH?$SQ{8>~MudxT3{=BJ0KU!H%7%Liy4 z;Q9f+{2ilwY2Ku%`^mr6&p0zoU>2vz+C+nubw5@=>l^lV#$Wei>u&`6S)yG)jtg7X z3o_`(CQkQSIl`?i^Y$U`{=-wBf1gh+%dca~SjNf#x4}xuU~U>~xyF=w54mB-XIb(-`yKr;7Z*;%A<7*mwoFh&W0B literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1503_gmail_com/OrderNest.java b/online-compiler/java_files/test1503_gmail_com/OrderNest.java new file mode 100644 index 0000000..1c88333 --- /dev/null +++ b/online-compiler/java_files/test1503_gmail_com/OrderNest.java @@ -0,0 +1,43 @@ +package test1503_gmail_com; + +public class OrderNest { + boolean isFilled; + String shipping; + String couponCode; + + public OrderNest(boolean filled, String shippingMethod, String coupon) { + isFilled = filled; + shipping = shippingMethod; + couponCode = coupon; + } + + public static void ship(boolean isFilled, String shipping, String couponCode) { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping(shipping, couponCode)); + } else { + System.out.print("Order not ready"); + } + } + + public static double calculateShipping(String shipping, String couponCode) { + if (shipping.equals("Regular")) { + return 0; + } else if (shipping.equals("Express")) { + // Add your code here + if (couponCode == "ship50"){ + // write here + } else { + // write here + } + } else { + return 0.50; + } + } + + public static void main(String[] args) { + // do not alter the main method! + OrderNest book = new OrderNest(true, "Express", "ship50"); + + book.ship(true, "Express", "ship50"); + } + } \ No newline at end of file diff --git a/online-compiler/java_files/test1505_gmail_com/Angka.class b/online-compiler/java_files/test1505_gmail_com/Angka.class new file mode 100644 index 0000000000000000000000000000000000000000..8442d80ac78633c3273d01425e83af9487f0d2de GIT binary patch literal 629 zcmZ`$T}vB56g`sO>- zXdf#0&>zs>B;uKkPz3vO@0@$*oO|ZZ-`ndy01oilK}BH2sHxfA+u1vf5~<_UFiZS* zX>=hS)C4-`@|*NynMVHc*WX;B@w05ZjJ6FD<{4YF3(N~dO*}!H6-)j?u?n-- zIoV(D9R9%kFLb=#Z>(6QDy))+8e^TvA-BP$yQOMx#>8`MmUr9emnL5jarzAwt+AIx H6}-9w?h%5- literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1505_gmail_com/Angka.java b/online-compiler/java_files/test1505_gmail_com/Angka.java new file mode 100644 index 0000000..9ab3099 --- /dev/null +++ b/online-compiler/java_files/test1505_gmail_com/Angka.java @@ -0,0 +1,12 @@ +package test1505_gmail_com; + +public class Angka { + public static void main(String args[]) { + int nilai = 80; + + if(nilai > 70) { + System.out.print("Selamat anda lulus!"); + } + } + +} diff --git a/online-compiler/java_files/test1505_gmail_com/HelloWorld.class b/online-compiler/java_files/test1505_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..e21d6c986964bb7e9f06a96857728a7b1edd3d1b GIT binary patch literal 570 zcmaJ;%TB^j5IvVyX{~~w_(Z@JxUjk)E--9NjEhE1Ft~6*E^t#X>BE$ZiJzqlOjw8h=#DjH z7>X1A%q^Guj&(Dfh>>E*ol9S;EN8|6g0V1=hHfH@97DmDzPO%wLlNHbp(_|l zb}-^@pNBH4|GwVHtf91Ewf8br!ZWdf zO|lux$o1x&ECcJ7n2Pv@t+&X^R9C`=~NxpCSzsZ7#D! zmU-yVZsjG88H`>q3rFHoMyDwx_dbs1p#gGCZv>?1iw;UrqspSpC})p8kbjNa2F0ii yBCJp}=RZ(hrAo&d3WP-DvsjF?$X6DSC^E=o5{pZI|0PA?+Ai*$aWN22`R@M&do=}a$YTy;# z?fJ@-{Q76HOOFnc45KIFR1_M*uNSr}C$ef7GC^dTk=Zd?3Xfs79IL3Hu+cKIq_t>m zUsEVrgO6JI9fOIE!L@5r8+@(E{W`-yeqo;>`6j4I7Xuj1APv_+mSLu^D;FaePJVfi%Gt8=<%h_tNWCj64N0VOP!)}Rp_P>{ zFO%k2g$(oM8%s!84TaL|HLr>_{VDQ|^5k3pRE3I=CEpK>Fe>ngm@03`qd?1|gNGE& zztV4N9q1GuF>LMmT82U6RMt4Ptf?BYF>mUCXx=OCrrQi&6&B4al6MSDzy&w0rgUA* z;fby5Q-+CryCHFtDNyCti?#v7WM?RvtJs}#>BvZ3OyL>B=FM@$+Wo^|a8wu%9JRk} zhmPn4hOhnUp-t0j_ot_Kk0tk{ISy)EgrU@C^GhTeVZNQ@67Sv@xC(jX*W?jRL5))* zxFLY87w`TvTn2Y1h;&tMDLWwXYIy+0!|KlIf zgpf$0@BS#`nHCC-o9fHXoU`Zq&h49DzrX(gu!3h9q!?z5h|JRR;`07s;7NbKs)FL% zolu(B!uQoDrTyAAMP!g>7&`V&yrS=ghsDjxv8WmbSH-3tn=PY-7cfkfn;}va*BVBw zYV9>PuLYDW;DeT78!*xaTys-c?@LKFtT6NxW_KCVuT)Jq=s~}W9GnaW878}?axj4Y z92oL0ZlE`ZTNuq?q@#(gMr1_bVhmYIM4j09+b%NJ9xTgHypMy5(A!?c7sOOnRnOn` zw6ykxGi{D!#84>z-yEs6zDSsz`sKtXKE|Pufp`<1$Vd|JY8Wcx8L2{|&6d~1fzqOs z!F?*}YX0k5E1ktdhK-$2i%9t=qQ+@?b?G<3ysj0o1uwXhYjN-jGJNTtBC@^O=v;H~u{HW0Cbe?yfvs^|z4r}6o z^ibop4Q`0Q4vi-~6opVoZx}ws_*eRs!X5hN2?&Cv2{s59qjaAjkK2OdE+)xh zxJUjJrs&>F7N^sud47?`Imh%~{=pd@{UmRT*~Wn$)D@f4W-D~C%_g!@<$tjaC$i0V Tusuy=TS#CVPh?wccChpZ&g+5@Kb9th zL=t`XJ83-ALZR4HU(6;ub7s!@o$LJg_4ONoCA_kbV3^b*(hH08iw8%(E4_nC=ojDb z22yX-S3Nh1cIetdl40<~J#~wo8ypok%O|3u88Tt4Yq8$eO1M75xYJOPVR5Cd#j;Xv zee;Gw$ryZ8GH4m(TLw3dNv-#-qyUx}dJ5Bf49V57Ds1$iKZ7)E3t5J-uC8nhpg#?U zTn2a0o5p<%S;)5~v0aa}@G}@jiX2fUM*m?3mXWiL48(`nFAKHfmOVivC#<;Mo~xvh zFAtOYSVjy}&Oa29^6HC(-mP7gYh)`9wDiTh;8aGEpvyrJYFEoJAZE&05r?4?B@0g| zp6lYTDHW;|o-(ZO21-PscPgr!+E$ZZ!osB9 zn7}hr+2;)TLbD}}HdCN7I4YSI^pl;YXs%+noaI9;R4IiQ3~PUnqoLhB44MwVz9pjA z(`M#q3LLYNiz36%?k*yetI_W6BE54gxG(f^SmiX@Lg}?nvFk;JW~Q^eeVyhq;&D(F zhcpaTPTk;|0H$dC_7frZ|BuaJZ-=p}h;?a3F@M|noS6>lBF!;!UV=xLWT!%S}9+K%gBc$sn}oO z&k?;)@xmYAj}o7xg)z{;$@~30&wI}AKRNCx4#pG4lv z`B^Bl%z!RnU&;^C3uQd@UXL%8p9|DZf;h-e1vJMU3Fv3ZM48Y~w@^h*pfLzy^=cN4 zRr*$rLnW{=NPHQNWEvFlGO6bmK_;*}_`iZKIpky_P<8q}wurc>_Q{D(pTbC}FhUp)_s z>#~*)@TkDXJ~eBldW{}$n16$@M=NNno$pxrLZ`y@P?o`g8}zM31MMoKda?I%xDTCB zfU*7Q$baE}rn?w7X_;nmrG(fkxeeG@XTGRxph=J_`&#t)?ASzm37askv1`k2owTsk z-*JB6)>Hi}c5dq5uz#hpU9zvTeT|R}{%wM+my{i9BLt4%&}yV9$cv@zlDxw1dP%M` J>$0bU&R_2{d;0(Y literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1505_gmail_com/MyClass.java b/online-compiler/java_files/test1505_gmail_com/MyClass.java new file mode 100644 index 0000000..556defe --- /dev/null +++ b/online-compiler/java_files/test1505_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package test1505_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/HelloWorld.class b/online-compiler/java_files/test1703_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..8940398ee1462b93b1de97ad8f15252fc09b00d6 GIT binary patch literal 570 zcmaJ;O;5r=5Pi#srL_uz;3oo}z=PFz;DF&`Vmvfzg296avcRS;X}hKr6MvQ-H1XgM z@JAV^#iSu2US>LP`rf>m{r>s<0?@^wh7?0J6w~mueR4K%JTBeANO{(ka9wq;0(Yz- z!%&#;XKuONcdVP?M2td)m2>IKu*;Bcw)za23pEx7($Gz0vBHqIr7x~$-cSU0eCP^> zqOC^U?ejoJ^&glCALW#xX8&uVLj%a0&roST*om257)amgwE8+WP|{Fbu-bc>hQc$k zi89$#Gjd&?lcln5i5U`KaIcfY7K0h@T#uJ-7}&v{hFykIJZ+I+Vjoq8>{FycqRnNN z$TANc+O4$2F@w=lvtT4HWptW+a_{449vUFW^hQ96zUZJ7HL5JijB@tq1G(3@ZBUHb zAi^p|bN&P6HL7&1BTq;~ZpUJTy`fO7ykk2NFsMbU$dObcqT>KH!WrrmQ)v7G_E&p0 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/HelloWorld.java b/online-compiler/java_files/test1703_gmail_com/HelloWorld.java new file mode 100644 index 0000000..741067c --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package test1703_gmail_com; + +public class HelloWorld{ + public static void main(String[] args){ + System.out.print("Hello World!"); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7150e01c263c94dee245247e4aac73062e7aa871 GIT binary patch literal 1267 zcma)5YflqF6g^WaZI|U?k%uBO_`rflK}}4oAprwXQ^m-`@QG~O0fy}E)Y(~*{vZE< zCWJ&1{qB!4-f5xGxT${GnS1x1b6;nE{r>&~z%rg>kYboIA~H+Q7oYAO1fKNwswybH z-43OBEqq^nQrfR=QA7r5hM^9Z<4Qou0zPONwgDq;z!f)z^}du;!!kopVRnZh{Yuq@gC6v|$ic~AkYTcGDhC7T z&w(ND;u?B$xPj3OMmn0x+chu3t=S;$s{d8HhLGv5X|~u7sg7o{=gf+H84M>?0l?9h0^Lva|KO%>~^SeI5b;|Vbfc8@e~5*@w76!KP~bjw@i(V3<{q;mT9 zk@b$E7@cEtr*P-aFtB@yp%Yx6`-b5YjDMwHDcquOo`4`&nqY%)F-rFd^0+NHZex-x zhCAd>VT$g(WN|uenrG)}oHI=C=I@>2!B6tGm~9;BL0z&rZMH%O+iW5mRsI*-a3b4$ U2ixOBwuJi_@% literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..9663162 --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test1703_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test1703_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f3928e4abe49aaa9b1699a23920aadb269995564 GIT binary patch literal 1347 zcmcJOTTc@~6vzKlD%&mvYPFyOGKgqFq@X4y){p>!M6-zDmheQj?EpjeQfFsL`mr=2 zB$DX6-$~<{77E3t`eHWOnKN_F?_B4{udm+#EaHWQ1jD2jkzRN`|8oD(ccr&q3H{>x zoj~gK`ikd9(KcOMNHS!P-4nOyxxry^qkJqXnjsU$x)$p#t%U0{j5`e#85Wo8S}ZB$ z);F#xl#IbgC4-hhzGZOjnACdTN(x|+p{Fpt%aB|NtHMSP`ZGwwwlK&r*434b0raQA zkjvl}degXzAq)AoB)0027Jdf9NRcDT#OUA8z%ufnBLndv_RB(TyJb%h$q6g2x9cit z+H11){=E;x~qBmc>D+M9IP< zis!2Mt4f6`g~tqQJAo2W=$(ivr?%Ck*D&Ta6%x&V!|imF!7Hvo^RnPA108ag>v~Pt zHYV`IRQ4%DzR+w*qsBVQOw_TK4+$bx=3?OFFS#p8G72~%rMiM zq#JrT^zS2SowOLO!!u{d%$#Fj?+n>f+@AS@JEyq!nXVFeK>r*Wf?iS*gY;!FMEems z$u!L|iZPNH9uhi%aoYEi#A!8dUR}7c&oQx=n>@qRcRFp7jh^9O(d-tj&_2=ccjgAppAB<%{MYw_zmAfOQHY( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.java b/online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.java new file mode 100644 index 0000000..ffe22ec --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/JUnitMyClassTest.java @@ -0,0 +1,36 @@ +package test1703_gmail_com; +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.BeforeClass; +import org.junit.Test; + +public class JUnitMyClassTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void myResultTest() { + test1703_gmail_com.MyClass.main(null); + assertEquals("MyClass Double Result", "30.5", outputStream.toString()); + + double result = test1703_gmail_com.MyClass.add(20, 10.5); + assertEquals("is result = 30.5", "30.5", String.valueOf(result)); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitNewsFeedTest.class b/online-compiler/java_files/test1703_gmail_com/JUnitNewsFeedTest.class new file mode 100644 index 0000000000000000000000000000000000000000..912acdd451ffa36a7bc9656ec98c7d5828f99449 GIT binary patch literal 1350 zcmcJOTTc@~6vzKlD%&nwE>(((%Akk^k%F3-SVIB^63q%mE(uR$+YT^fFLibn(~qSI zA(2Gi{ZQ(e7Ag%*^~G#5GiUak-?`3@pI^TLSi(~aDTXO6V!ilc;o06n;7Nb48U>}d z+o9C!;#0gPL~V=yTSzkuA9=@K$@jv8(njS-R5gPWCAyyIO|66%Fif~j6&aOQ8d@wX zq8kcOuPS5MM`WS7J9pWQLph2NvLHY-h{_8mPB0+!$^BtMj=5n?uyutlqg%c zPXYa@{;E=u%3z9NZ97yVj{IX$JYhs^f zp~k5fTob^Qj9+;o(vZzQwq@X4y){p>!1XIOuOL!vNc7Y}5Qupj3>BrK9 zkVvBMekkK?3zdeZ`r^y(&hE@_W_D(N{`&SEz%pJY5o4G(GBitX7GE76dqTN~)xayh z-}9B((lx2qL@0MjA&EG{(5W~RMOXO8#jVPztQv+)5Se;pc8r$7W0)*ARa8)1Z5X+t zwP&w;UqE0FwxVMg8^jI zV8~@~2Z=Q9VI+xsM-n@Y&`2+XQKZNbWn%TmGDuo^u&jLfG4d)>?}~~miBt}%!rd2I zS^4TRZcbFlFjM}gZ=}rnLuvNv*B>^%9r;Fia??Lkp(5;x?*~R075GF=l~?6apk*nE z#}v_@?_bwC&?!7+*x2*63`*i_tzhcY(~@B?b;IFm#ULxv#i;j{9HeDTW8M=ExAp(3-^{jn@dB z$D21zb3DWZNeqt&9m6D@6C`okt((_ZZk$U@9ps)|VEPB$w#Zfw7`j1o+O$FkZMG|o bBELn;ccsmD&|Y+BF8c^_Hp&wMjpB=}RNYFm&piIVIQek4szCQ&H0lb`a@Cq<6Fuj>j-riB)7!T5W2v zqLkCzx}i`u2A`Dl+XjWU!HsKDOTCj6!ZJf&adw{}xfaxgg+AnLWMQQ-$S~20=%CNELD-j0nnW%FrT|>IDF>k1VXx>|HWm^nha}1hS1#cVZfID0_ z8^W?Mg=gk%XBY~_R#D=lo(^Z{e&iAqutw2cK1YZPw11N&Ydt6O0R#895*bs(w*m> z`z)6skNmngqMoR8DhbyFFfYe%&k6b!AN=;3Joz|c8{=f2|ZIqrX(BQe0G9C5L5g9@$k;5tS$MU77zpL>SE8W! zVJB2(LszBVrb`EDhM{9|B8t8U4~rY+V_7i_xhOHU#B3QYMZhrWHB?koT&WwmthK0b zTvI4ngU?!pErXGk!L?&j>wTxl{Sre@VP=;h{XVKn7d`0DAq&^RAj3pgS1tz7p9Moc zhg;~);toa~jI<@ORgaAfau`E~98o4#|6UG`l?Oc)%1=p9rUHnvFNx$u72)p+t*m@; zm^Mc$W|;PFEFopp7fZ8KyDZlDW)d0|$o23<#fp&2VHg=*d1^Az(`%n;5ozU&2coeyN5xu5!5$jocP90 z9L<1dS8`Eg_}$$_Y;(2R-Cbn2k0cMIIf|-W#Ie+7^-CiBxX{dWj<>HfT*W*ItMY(G zp~|Tn+z`MPjkiA!a{j-_4DMEx=!#rZb_j>t9nagjp#IVP(tA!JZ-|N7 z@cTCqL=5Nw#{He?@a!v_czgrX!6a|A#i# Wkv7*xd(n|L-+?yXk+#stVDT@z!AI8s literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/test1703_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..951c8aa --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/JUnitOrderTest.java @@ -0,0 +1,36 @@ +package test1703_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + test1703_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + String result = test1703_gmail_com.Order.condition(null); + assertEquals("is result = High Value Item!", "High Value Item!", String.valueOf(result)); + } + +} diff --git a/online-compiler/java_files/test1703_gmail_com/MyClass.class b/online-compiler/java_files/test1703_gmail_com/MyClass.class new file mode 100644 index 0000000000000000000000000000000000000000..465cdb6ce2203097900ebfad963dd3634f3ae83d GIT binary patch literal 708 zcmaJ;(P|Sx6g?BuZnCDPMq9P|Fx{tA#8@f_R{GK^2vHwW3*tkW>|T;dcW0K_Nol{y z4-gde-H#IQ#MB6_zFhXso^$R!=l=NlcNb*zi>O?PpJRjz@*k`EhEC-kbCN zTvb(sy1?p0ovL20%&7NnIHA-FEWgl3`#phc-K`^m`o7I5LQ|l}NA7o~Mx(pkwH zP!=~2$0RdKbLCiej+4n`%8Mm3vs6iAy)2YZ$I>(Qg1Nw6_MOBr8dzyz2{#1Ry8VTn zfp^-Bc7xq^UmJQmEr#R{6*~~<^lhs0Bjt4H=Z|$i)|J46{^dCr`R;OpD$4|xx~~tm z4jNb&*!+K592N)8hcW`|-H%sq7!T~!rSwXNGewAx$_8sFUI@~pJ3%BPA4;c}Ze=DqAp%Bd!YBSy)-2ICe R^#9FU`NI>q$H*EsegP9*rr7`h literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/MyClass.java b/online-compiler/java_files/test1703_gmail_com/MyClass.java new file mode 100644 index 0000000..9be312f --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/MyClass.java @@ -0,0 +1,20 @@ +package test1703_gmail_com; + +package junit; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x+y ; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/NewsFeed.class b/online-compiler/java_files/test1703_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..b1b6e2ddf0379efef397c9baddf331211e22bffa GIT binary patch literal 953 zcmaJ$N{i*9*}qah zxJ9Esz#nBiw;fpsi)nIh?{nUs^PKzV?~mUAcJWL_ilHp{NNnwFZXfgpj^`h^;lOJ0 z&!aug4^=1(3rEf;$MT(^XYF^7xGNa4&%MACyA0_{wauWs3=g@EG;#(q$TG|~ynr{y zgD#I+PS@uQW+QYRzwJbxyq|%J=zAlE<;H&~)ERO;E?VKxb1Ak^slIQV6S76*1--h8 z#VMW%tRc^!?hlD;7-%RE(H3|68mz)-AQ z;H|cG5LIbz8Musj9k+2;#hnSUvG9EBMHD&5BLnwvpFtC0LX=^3s$?Q_y*fK+4i(f? zR3}B_t=PvS!3PE&V2w5sj%h)KB-IP8cO;OYHryH1b!=c$g~gDMC7gB}*uq1G%ur@X zrDxm6%XXq3EkYkTgQ3qq&?})!tXn*sT=mR;D8dfMk<0fy`55LV?`uOwVudtI(~AUI z>W?g0m2MWDjLuB$1lm{nNkJzo-O^qnYa{`5&e1I=btgn7zlIX~%IYsHbke42cNFuA z-N~3myOTAS>^HS96qc0K>6GauYA`8VBJ3Kf2=upKwh$oGgQVDTKXX^IdHkMSgyWQXdc G@bn*WfXLSX literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/NewsFeed.java b/online-compiler/java_files/test1703_gmail_com/NewsFeed.java new file mode 100644 index 0000000..9dc25d9 --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/NewsFeed.java @@ -0,0 +1,20 @@ +package test1703_gmail_com; + +import java.util.Arrays; + +public class NewsFeed { + public NewsFeed() {} + + public static String[] getTopics() { + String[] topics = {"Opinion", "Tech", "Science", "Health"}; + return topics; + } + + public static void main(String[] args) { + NewsFeed samplefeed = new NewsFeed(); + String[] topics = samplefeed.getTopics(); + + String topicArray = Arrays.toString(topics); + System.out.print(topicArray); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/Order.class b/online-compiler/java_files/test1703_gmail_com/Order.class new file mode 100644 index 0000000000000000000000000000000000000000..ccad451b6c390a9f280b4e0096674cc3bcfd4bfb GIT binary patch literal 893 zcmZ`%%Wl&^6g?9=FO!nuyh?Z_JlZ5JO-qqL3PhEP5U43d3d#Z&mE&0H6eo@x2gH}K zW5a?iumHq@58wy*89s2kW=iHum}h zOS*fuH>mIWJ;#qj7nnb=URZV48ushE-2=xC1Y&pOPzFr_ty1j>=v!XTF`yxtLKHE9 zbW0AMN0UL<@t;^-*AXyVo^81u%a_WZ9qPfp919d%|Ko26ByDfllY#Vx0*jT_VJ+>z zm&1Oedi*H1+59zn`@^^!+q_Mc{1V7f#{=2lFLf+;;*=f+&Y+w?L6z#g{P$2G>M7}} z>mrwSDqaQS33!m1Ykhmatf!BPU0#SGQV6CvsdZ{} zmfz^ zoGA`D%`_$>IeLmBPgor*KK!3BwFn^>aB;@`lmI1X-n`UW{(|z( vM_gI?gzBLJlW7>|turJvNtp?$N>dz#uQ9GslOpAN;aaB^p?!mq2sZuz>cp}O literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/Order.java b/online-compiler/java_files/test1703_gmail_com/Order.java new file mode 100644 index 0000000..02d49f8 --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/Order.java @@ -0,0 +1,20 @@ +package test1703_gmail_com; + +public class Order { + + public static String condition(String order) { + double itemCost = 30.99; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + return order; + } + + public static void main(String[] args) { + String order = ""; + String result = condition(order); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test1703_gmail_com/OrderCase.class b/online-compiler/java_files/test1703_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..347f7bba4ed8a388315582949fb2087738554eb1 GIT binary patch literal 1252 zcmaJ=T~8BH5Iwgo-BOmXd%203ZDY{th41bGLk?)YzmmbLZZfIdf+A`|mH`0Nlfx0-r#)YdG%2)cE9X zCa0U(-L#d9Z`k{WozxveK|rACP=Be%vwA)g-`G1e(yl;o*36skJpq3-wk;4yTKh&A ze$=X{K~SJEW#*0bVs6i{AM1NrLqJPeX+68G+on99I0Np1=?L_u{)ZtU(9Fo zbf=0gTxN^Li=v(-x{5+&0ur&OA@neA=~clt949#6Pe%C*&i(W>SjRbos#PNuP*3lZ zmP1CxqCowYtEZno)C;Hda3Fbs_UNC5r!lSgCh2lXi=pQd3T_B=T;y`0XlA(tA>8CNPg#$oiFGCt#sqH5Nl#s1=X4Cj zHi0`TX29VE^+LhO?{m|li?OOkPU<9N#9ftJIY;VTtDH%oHCi3QxA&1$uprRl!LDpb z#i9gOQ;SCy z$EgK%&G0coA8Ggyrj*xoqK;BMu~pRbR4b=Nj|~37*8%F(@XmS(P48)9o`2uFU&n8# zyV@p)HmL_kwe}J&y@hs!o>8sav+Ix0+=||nBQ%ti(u&B+&ZBr9h6n<_JvUynoEFrc+W3URzf(A>~)>!Zb-)ay`Y+A50&Jwm^b(4*oO{aeF zi~qtupdXob25@x7AKd;dbG)92nqEDht%?C!ZQ=bYzx&OP_tKd;{cSimnDLIM+k z-44#2pPPSBZ&;4|pyoA-EB>bK-{HK5h`{he>o=?DTFrWKW#ge;3j|_L`?}-0_NIVX z=diuyv|3KHE?|^D?ydwr=Sl*Jn%8N0&8yy~EfBrvG@W2UAfI3F-`qb_s0u`+YXV`U zbR;k&5Y88>aR`j)7(i57qdGLiq&21^j+nqu*=gE$I*kq6zh`Z@Ol_3Cn&nn4-;v|q zWF**f+5*|~r-UGh=&wD-sSj+I?O@BJ1ko-%!jvm<9K)oB+yUV#PuhXq&~Y4J61>-; zhGSi-j#s=(nF5MsTaA*2lLANnui=%B9Q_QlW2i4{u3&e68aw z&hd~0UiUxfI)G5t1y&y;BHlGL#RsyT` zXxVD1%EoX>KwGuzWa}qz1xp&P9xRGFpE|DLItkg2JC@6Xa6rTEfiD%-W4Os^*M4vL zcDo(J_jHiOK06m({A*r4(Z#>nR(zt1@715GN7zzLflU5>pG2iXRo3O6tXxuBRUKa- zNgvCv6UOKvE?nI3yhm)Pir4XLHhYk#IsU4*M;Cu)felv^(dPmq?aeAldKT7{2oHe`t_za(O z#7H>Gyh2&y^a&|zf>xNmWZBF7jD8ZOdGtAQe+L*Utwk!#a+zr;`~b_ zxoBLZDe;8=gJ*~lhLObxSsN%Yv&56@M%`y`%Bw-)G3C`jJPX_vL5O`CmwnO0^OP$R z>y&9M?&9)u45YSA}Q)F>V;Q_E0G+;}w4VSeBHcI*mb+ dA7ddT{cfrZe!|Zj4KnT;LGh}_I>#a0{}=jTHK70i literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test1703_gmail_com/OrderNest.java b/online-compiler/java_files/test1703_gmail_com/OrderNest.java new file mode 100644 index 0000000..3eedd4f --- /dev/null +++ b/online-compiler/java_files/test1703_gmail_com/OrderNest.java @@ -0,0 +1,43 @@ +package test1703_gmail_com; + +public class OrderNest { + boolean isFilled; + String shipping; + String couponCode; + + public OrderNest(boolean filled, String shippingMethod, String coupon) { + isFilled = filled; + shipping = shippingMethod; + couponCode = coupon; + } + + public static void ship(boolean isFilled, String shipping, String couponCode) { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping(shipping, couponCode)); + } else { + System.out.print("Order not ready"); + } + } + + public static double calculateShipping(String shipping, String couponCode) { + if (shipping.equals("Regular")) { + return 0; + } else if (shipping.equals("Express")) { + // Add your code here + if (couponCode == "ship50"){ + return 0.85; + } else { + return 1.75; + } + } else { + return 0.50; + } + } + + public static void main(String[] args) { + // do not alter the main method! + OrderNest book = new OrderNest(true, "Express", "ship50"); + + book.ship(true, "Express", "ship50"); + } + } diff --git a/online-compiler/java_files/test2903_gmail_com/HelloWorld.class b/online-compiler/java_files/test2903_gmail_com/HelloWorld.class new file mode 100644 index 0000000000000000000000000000000000000000..262edf85e25dd669b5aa5f1aa518f32ebdec9439 GIT binary patch literal 570 zcmaJ;%TB^j5IvWNrL_uz;1dB?;KCYR7=vMBVq7$8g29Cgaw#|Ul0HninD|+`(8Prw z;71v!#e|R$H#40xJ!j6${r>s<0?@&}h7?0piLp99J38sRK9^qK34QBIcwTrPM&3|E zhM_Rx&)o8O;956>k#H2l(zy(z>M*36tsX<>A{+_>Y3L@hSYpWAG7#4je;}eeKJWxX z(GDH%^>`%X`VY*gM>%Gw+5eho(*W`oFjSfk_RLIIMKW;Pt)7lGlr$9Qtae|ktf2xq8MOrh}$0k?ZR literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/HelloWorld.java b/online-compiler/java_files/test2903_gmail_com/HelloWorld.java new file mode 100644 index 0000000..3b2f294 --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/HelloWorld.java @@ -0,0 +1,7 @@ +package test2903_gmail_com; + +public class HelloWorld { + public static void main(String[] args) { + System.out.print("Hello World!"); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.class new file mode 100644 index 0000000000000000000000000000000000000000..60686d1191f14f718b4bdbdcca4ee4139de37bb4 GIT binary patch literal 1267 zcma)5TTc@~6#k}E+Ahn*A{Rwu@PY-ABKo2=Bw!$Fsu;N#p2)TxV94%Hot-7=|M3rK zLP#XhcYl=eObdm^P4#7G&e`*Q=l0F7-`{@#SjJKYDTWy%BD3^-@#)?{;7Nb4s)FL% z?NFN6!uQoDrTy9#MP!g>7&`Kfy`t}h2gQxbk*FF5SH-3tn@yvI7cfkfn;}vaR~tsG zXzevNt^|}U;DeT78!*xaTyaxa?@LKFEHm^JW_K9UuT)Jq=s~}W9GnaW878}?axj4Y z92oL0uAw)F8yL-Cq@#(=Mr1_bVhmYIM4j09n=Ufe9xTgHypMy5&|6-`7sOOnRnOn? zw6ylQGi?rK#84>z-yEs6zDStu`o+X1KE|Pufp`-h%SaOMN*F5R8L2{|&6ZcizS5$U z!Cflpa{g;tE1kuChV|`Gi%9v$qQ+@?b?G<3ysj0o1uwXhYjN^jTWM~Z3YFnO$!?*aaE7Y6s6A6&**8L$vUtR>_U}5H(cQ}+fyn4m zdL)Fhl^>-jGJNTtBC@^O=v-Uam{HW0Cbe?yfvs^|z4r^kc z^ibop4Q`0Q4vi-~6oGh1Zx}wo_*eRs!Y%sd2?&Cv2{s59qjaAjkK2OdHYUkp zxI_LFrs&>F7N^sud3K)0Im7gB{@y7b{3LIS*~Wn$)FqqKW-D~C%_g!@<$tjaC$i0V Tusu#>TS#CVPh?wccJSm6>25CZ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.java b/online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.java new file mode 100644 index 0000000..d3edbfa --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/JUnitHelloWorldTest.java @@ -0,0 +1,29 @@ +package test2903_gmail_com; + +import static org.junit.Assert.assertEquals; +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitHelloWorldTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isHelloWorld() { + test2903_gmail_com.HelloWorld.main(null); + assertEquals("Is Hello World not same", "Hello World!", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.class new file mode 100644 index 0000000000000000000000000000000000000000..1691a740230f7c107f8bdc5c97865fd095334bc6 GIT binary patch literal 1292 zcmb7DTTc@~7(G)eZI_lywV)s}crDi=`l2-?U?9<~Vl0sGM7He!gWa7vJKLl`$wy5H zi6r{&k1~GKLIo`~zRb)wbH4N4&iwfK^&5Z{EGH0Sm@^_Y%g>gc>>c=?tnF2lUwFM8 zNaIG856unP5G7GjL3N8@3B(zOkGzIgsCmIbVY7TBDuyAgB2$k{$!OvE3{!3kB2{6n zX~e45UUTyTplBW5X&H1Javg^Y*97Z-At{j+hQ9pF4nzE zanq~|$H6on+73Tr$mQFkX^oo_mBB&Ljv_;ThO#-&J>jnI8=;Fy%rUJ0JC7E+cNz>M zGWV5>KJ|_h+JY^*cbwGLq2RtShpNiGFcjLXe~i3Zm~WRm&oA#YT!uUf zs$!p%QROreZiv8kj$id}90sSPB3%(1(rRe(D&V3WE4815NMAIDtW_$LWQX zPwN0#ZwSR`ADcZvdiE59yC)bv#>ng!TtCLm&-4_-IIUT71k$u-FhpNsl+F{ao0dCn zW0EX}J47AB6rKCY;B>f#|HYQ; X$~J$AZJ{gMVi&gYu53%K3LgIgA{IE( literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.java b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.java new file mode 100644 index 0000000..d79c83e --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveSecondTest.java @@ -0,0 +1,33 @@ +package test2903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveSecondTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFiveSecond() { + test2903_gmail_com.LuckyFiveSecond.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + test2903_gmail_com.LuckyFiveSecond.loop(6); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.class new file mode 100644 index 0000000000000000000000000000000000000000..a7a3d7365c517965ed97731ca4a05555b3e5c988 GIT binary patch literal 1262 zcma)5T~8B16g^Wa+b&zdYC%C{P?3U25q;4b5-^ZxRx$FC@IU0d33zCPNSxNg>k zZDSgbOmAly3dQzNT7#xUWq4RNL&%Yzrfe>9x7^hOEmS#!#|-QL&ZC9yp9Zx@#vS32 z3|u2Vicn(s(mz6MN;T;I5whDyf(Jq$MK$ilu~2&bbK?1Nv0dl_@80LQjCm5)!~vIjp}Gm(+eq_)*-Uq z5sJ}1Hh&6d{tVamPBC(V8}r|A^8~lQ(o+iKwC2eXaA?h8n4~{S=ZV%$%N=(yNfyIB zqE2Co&Vyue+D(|}=V9zKOz-6%oMPrD-L{zx4j8$_W_Q?%U2Jnb*(mcXY=xd|3tena Rda^C{U>onrw$!TN=^y5lEa(6L literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.java b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.java new file mode 100644 index 0000000..75e15ac --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/JUnitLuckyFiveTest.java @@ -0,0 +1,33 @@ +package test2903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitLuckyFiveTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isLuckyFive() { + test2903_gmail_com.LuckyFive.main(null); + assertEquals("Is Loop not same", "12345", outputStream.toString()); + + test2903_gmail_com.LuckyFive.loop(6); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitMyClassTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitMyClassTest.class new file mode 100644 index 0000000000000000000000000000000000000000..50348759689557416549ffd9b1288b413ed9433b GIT binary patch literal 1347 zcmcJOTTc@~6vzKlD%&mvYPFyOGKgqFq=>#~4G9oPG>aH+2~T9(4lradb#|7dA4?NL zB8k5Hoiv_lp-^n9FJ_aSIWy<{&UJqL`uYvPA{Hzp7$&ud^up`;m-~mlE4}?n=ojDb z1X8cpS3Eb0w&~hJk|BHSp14KN4GxPNVWDGtk8MF-YErV;vq}KaZQUHq#J%#CAhU7|E6*hX%pFtY7g+Yd~uC8nhpg#?U zTn4w$o5o!XS;)5~u~m<>@G}@jiX2fUM*n^WmXQY?8Hf+DUlwZHEqj7UPFQihT~|pX zUmPa&k&GCooPQ`H<<%Dny;Hj^*T`lZXz7c0!HJ9{L6?Fc)UK9cK+Kf0EDk~?N){eb zJXghERVq{|JZ4zi36zLJ??hBNwXG(-hB2?HkZArJZl{|JUU3bYmj!Pb=#aZy*K5MI zF@YzhvQHWEg=R|{ZKgnFa9A=e=qEc((OkxEIZFpxs8R~g7*_utM?<@N7&IMzeN#lS zr_IdK6gXxj7e$7j-CaZ`SEJqCMSA;4a9`-7u*zw)h0?2^V%Lib%}i%``#Q~K#N(hU z4rmyvoVvj^0Zh^O%_lcWkEj)}e8(((%Akk^ks|t{H6&ml(X3$PlJG>f?EpjeQfFr|{aBh1 z5=r#k52c=Iq0-P)U(6;mb7s%^o$LJg`SlxsB`jJ%|uf&-M-iPx^b+C@8(% z4y9ffpW-zkYFqT*LYiUt$UF8*z84;pHY!J=su`Rp(e*@cY9+jYVZv>y$f&f^&|+CB zud#7Sp==D^D;c&8M%xCLu1T%`m81xk82XAcI}GX9QBBzBL(V}KwuK>vyFFdm7(^}$ zhP;Do=+EK?3Km8?lGtp-S_BTpkReBuiP691z%ufXD?_oK1QnsSyoxV~_* z^7&<2AIg|v+WnU*Qep$K(A)KkdX0ZbLM;RFCOnq0BqcGJ zHYPD`O8bamwAkuNv(FT$3=hht2RX9S6wO8Kmb<*Kg(_$8m|^wraWu7ihrwXW_+sp6 z2wXFIi zxJwelJwm52LFaywIPJ#G^K&=$876o04^Hv$JKeU(Mh_UdM6=tpVh3%eD~%$*LMwEo V&2`Y8bfwLAp^bN?Ei^ND`WpiFOf>)i literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitNewsFeedTest.java b/online-compiler/java_files/test2903_gmail_com/JUnitNewsFeedTest.java new file mode 100644 index 0000000..3bdd6e3 --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/JUnitNewsFeedTest.java @@ -0,0 +1,36 @@ +package test2903_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; +import java.util.Arrays; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitNewsFeedTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isNewsFeed() { + test2903_gmail_com.NewsFeed.main(null); + assertEquals("Topic not same", "[Opinion, Tech, Science, Health]", outputStream.toString()); + + String[] result = test2903_gmail_com.NewsFeed.getTopics(); + String finalres = Arrays.toString(result); + assertEquals("is Topics", "[Opinion, Tech, Science, Health]", finalres); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitOrderCaseTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitOrderCaseTest.class new file mode 100644 index 0000000000000000000000000000000000000000..07da7e54004da3c8351c8fe0437c42026e2355e9 GIT binary patch literal 1362 zcmcJOTTfF#5Xb*pYA=VDOSK>(vZzQwq=>#~4G9oPFjWkek@H0 zi6r{&hceE#P-$qYFTU*V?9TjVW@qN-uW#Q0EMqB&7{j!Yp;>yf`0DW36UsfT243;~ zp0CW7u1UQnLb*!{NyHh3PQ{rhy23v$ZdFcY)i7j&$kZdVW3&_=!(_RsqJrXT!^jn_ zMPuuRLdhC@(#mfe|yef|ZElWu} zrilK0|GL(JPT?uT#-6Wb7`SJ$#;J65g(ixncAktO2p=?)<-VR{FHVPG#nwkbZhMb)MI^}F< z(;lZ6nj%{JN%}xqjP}vF3uNXlF>r8!p>qt+eZ}2#-2XyPF+89(M}|O#)+`2Tyhi9e z-n?m=;~^$UVt7R87$)hQAc@m%-MqeX<6L6uAot_~(?968MYejt&<&c?rWHD9vt4Nv a`7K($D{a1m_M$6op$l!SD{Zlv!OP!VFi!L{q`=E8&S;+Xa@~kGi)<(mzWR zLL!O2`$rjPuTW`dsxLm=?#|xKXJ&S0e*XIQ9l$b{(nv5&YZ2SZ3%e&h9fL*MhpR(1)CjEUYvJ876wVvM_*L z77TeCcaX~B9!AnAbR@CU47KoVj3PshC=;VUW+QFn!HV?7X5>|c+I6a~AW|i$Iqtrr zq>-;Kllnx43^SE~dPd5uKNNbeas6Q9+mWxOC*J#KGL(c}@%=zMS_VE*GnG|w6ev+n z<1t0_=lR!_3RDJ988-HOCBncx6Ln6dYe+XX<_#4P&3ntOY>UBbjzROP;B5mPaEI$= zLs%B3@XWmJ3`3#VDoR{v3RL>XWmAM4*=dUAI`(vB?w$zl34IdOxf6y$>GjW%Y9S)l;_C!N9C2_jV!8`5;;=`+i_tzhcL96u5(5Vp7&^!B+*jN^$New#D}e{J=E)GSY0Y7f z#%qMm#~4G9=XFsm4D2~T9&4lradb#|7dA4?NL zB8k5HjeIelX`#^Alqa*v&YYQZe&;&B{(S!dU}LTQS?Q4SllQd%Zg#hMTw~;X3Jj~Aml%2qGrJ7w_fb{4=s|xDS-1`c878{AaxsAZEEw`R z+(K^_cQEQ;q%Dc9dTeBn!x%E;h%&MI_i}KoJm{%VeoBHe6+o1INhB|-2!B^-W#x;* zv^i2S!?br}2`Q_-Sel*MWwFLLlhCL@u7@WoR)ky*!^jAuqL7FgZ$%zNT9zCN#5Z>0 zXa+pHl8Yk4@9r*Qo2%9C?jpN=BzYjsQB>t3j-@uMUlQTRg=VI6ynUVFD&|R8l?OBm zRZiXDh5)u`y#0BQ^Z!L=aJQmFSLB+qLpa>-c;3zh^^fM4-g63hJM6T}+aabkO*iyl z=-)@uN77=nj?JDSH+znOy)z7*;`Zz}44>leSGr2!KK=7#2zo(j4AM7*QQD8wNv>&* z2bds<;US?@n52C#Nt{;e=Jkae_Z(Au`ROw}`AMfuvemQvE1KJ)720Ss9cdK#KeVxq Ww7E9gi;lGU4z%%(w1q|nFaHA8(ns9@ literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/test2903_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..39eeaeb --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/JUnitOrderTest.java @@ -0,0 +1,36 @@ +package test2903_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + test2903_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + String result = test2903_gmail_com.Order.condition(null); + assertEquals("is result = High Value Item!", "High Value Item!", String.valueOf(result)); + } + +} diff --git a/online-compiler/java_files/test2903_gmail_com/JUnitPasswordTest.class b/online-compiler/java_files/test2903_gmail_com/JUnitPasswordTest.class new file mode 100644 index 0000000000000000000000000000000000000000..04ed51b6843a544ea8790eeaae7273bc5649a3bd GIT binary patch literal 1350 zcmcJOT~8B16o%g^m2H<6uv$8 zNF>pFf0TNrg-SzHz42yd&dfQ_`J5j=zkUO-j3oyNhG`=rv-EuN>E1!$Nq?`Zg5ull zP?`-diase_+oE>|NrvGg@7OE)UU*PkuN;Z0VaTZ1)MK-0wD1Ck$#PRgs^V(Hh!w59 z#`-0Nk~P@SGHe^<+Xk1eNv;2-qzIN7`U^L}SNJxODJjyd+ff1}ws&0@f6`6+=6bZ4YCdLZWCU)dFmAdCg zSh0o$MIiA3d=Ex8L+T^Q4D|@Bqf{VfbH1vr-Ns<{|cegimaT-krjem3v zj^79)YDyNA*a~vlI`N;TI?e`J8mVc&g0nd9;GCd&LfOMQ)&!-Qxxp#pd;)>& z^3#IqAXDMNBQ^W2pBsw>?e2>uS-vAO>3H1l4J#11#$5GKGq{#Y#~inLLbsWbOBYlI z$s!G-9c`9Y`|}XDjaqCHtjMU-2XAJBd+(pi7=^P2%H=3ot2jBTuGyY)TQ4*J}mvDK-_i)8m`wV%0jLo2Kf5er)s%!a(9?Dc&rB0)MNm9c#TxV7$ N{SDU4&^L3^?k}0jhbaI6 literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/LuckyFive.java b/online-compiler/java_files/test2903_gmail_com/LuckyFive.java new file mode 100644 index 0000000..3841dc7 --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/LuckyFive.java @@ -0,0 +1,15 @@ +package test2903_gmail_com; + +public class LuckyFive { + + public static void loop(int number) { + for(int i = 1; i < number; i++) { + System.out.print(i); + } + } + + public static void main(String[] args) { + LuckyFive luck = new LuckyFive(); + luck.loop(6); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test2903_gmail_com/LuckyFiveSecond.class b/online-compiler/java_files/test2903_gmail_com/LuckyFiveSecond.class new file mode 100644 index 0000000000000000000000000000000000000000..d6c81595c716e254fb25e81c446eca4b4880f5a7 GIT binary patch literal 751 zcmah{$!-%t5PjusJdQWw*nrKJ5Wwbu5uA{tT#zCK4U1%CDdG^dCoR*CJ!6f>k#grp zIB|vpK_Kw~d=EziydDR!C=!RM>guj~?^V@&`Tp@UfNgXfqy!tWp2znd+`Yd)nkqBd z_rqz|Tlj~^JLX9DwI2ot4l;u3SRJYEL;97INh_c1asA$BdYiDHJ z9=QNPp&u?HU+)+@y0w3na>r`MIw8~CCTJ-ZIa-HNmtN?zw@;9N%R>qUTKjBMS7?jN z1o{#q*UI9JEgmyFMPJWsy+P?6s;&2Eyb@_OU;p@O!O{s>lW-O?#iA_o1ab-CaPTV$ zL1PJm7A`R_g&HpNB)Gzezuq@w#bwD=Ts!4`#3ajG{sh@O!Maz?eZaXQjj7{8NWu9_w^367XDA)@wsxIvQ#ajQQo)FR8XZGe5i0csD*fVzahqPcjJ!yaiv0!t z9MKOde((qQqr{W6Fa{d9dEU=C&%M9@{QL#r6b}tl1h#XPK8B=TO) z&qA4H26O@YQhtzLDC4R3dVHz;T%dLm#6f;4pgHbHKtD?+%7lixg(_+SjX@BrSF>oW z(zkLPDuInb;>&O()1Zi#Nj<*^GJ)N}{}pt}Atw`os?+beJpu8Nr_VFzVO&d9HVdgq zr}$W)?YtXY2_EKY5Kp`AsP^oTEAunKjV-L9QO7Rs7`T0H!{I#3Rb=5V_Q;&f2)wz# z3li@Q!E!<>8FfwE!-0YO0?m@{dfCDu9#HiAVuIS7UU^S4opRsiKNJd>!(^8F>UmIH zm$iI=M+G+asaY%4YxH=-{2PotT0vXwe8Z2Xjd84i@le_edvS& zjO|ZH{tNdr-Nm>`%QTBCCB$CIZNSDl^F?I?O@dU}*P_Q~$0piK*o1M7U0ZhRq=l{i zj`IVzj`gqDxv77{{*}sh$-c_=H9|J{w+XUdQg*0~5IBNEtC6N4FP64T@(R1_CArS5 J%bp54e*ykOd;tIe literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/MyClass.java b/online-compiler/java_files/test2903_gmail_com/MyClass.java new file mode 100644 index 0000000..c4eb502 --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/MyClass.java @@ -0,0 +1,18 @@ +package test2903_gmail_com; + +public class MyClass { + + public static double add(int x, double y) { + + double result = x + y; + return result; + } + + public static void main(String args[]) { + + int x = 20; + double y = 10.5; + double result = add(x,y); + System.out.print(result); + } +} \ No newline at end of file diff --git a/online-compiler/java_files/test2903_gmail_com/NewsFeed.class b/online-compiler/java_files/test2903_gmail_com/NewsFeed.class new file mode 100644 index 0000000000000000000000000000000000000000..bad354af1b6d4e3cb5cb563bcfc38d3044a91152 GIT binary patch literal 953 zcmaJU>*Uw`Fd=jmkiTp;$X1rBM7Z((Kx1q)AP0mHjLA zgByze0DqKtZqhPJhXl^eea_o+o^${F{qY;X9(ENZ7|Mc=#P;si&S7t0yWXJ_49q6~ zJlf~{NI{ArcWi&MP0#jw=0W$EJAxte-1S|t$B?X4+YG6f!4cPxL{>){8HUA%>+|M# z(B)yv?s}ZTXatV!we8TA_X(I1eRssL()bUBIzzU{MJpJ(4#gHK)%T5aLY4?!zgJhV zG{ZB7Rpc3zgCTJZd=&*E+Tu=M#Z`hW$K}4mRg`F)SKRhQpMJ!oP5y!=luiQq48_U? z-fCL|QI+PFj>}loa2t0O+?f&^3)eGWgrR*h(s2*>8B`I(L>bm*O2#tRtMh|qQ9(^X zby_sqighv)e4yh2)@dWbm=;usQ{BLPM*<0I!|g#`!zQ*Am<;(y!dbVDhuCIF4`qf_ zdcJ+MY&-1HBD9e`7<&8zy%M@ax<$juRnP5*BCKE>I(*-ik6~f@zBXkfR!OrYy-1Ly z{>YG3=w{N%=uFp6p?;;G1T?bJE$t<;dK^IK0^PDwcS2d4W?yFgk3{9!mndxQuZUEDZ)xW!8)h7(Ky4+x9ewE zZGOYr#&>L-^DNRRAVw;2(viaweakSS2DP{dcA^F0T>XtoWg0Olemh-IIbP( zar@Pn6e%pB!v1;_GUcYpq*s4T%>k7=)}UdahLt#$1u|iwN5d&x$125)6oM&EYMmOL z<@Y&)%n9{!%)T?8xI`OmZ{pj|eW^xigim8taiUBuTG(QZ7H7|YoPM1kJ7^Qf5M`(iBJGYm95uq)7Q*xNgvj&|YUGf{j1@wz3fb literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/Order.java b/online-compiler/java_files/test2903_gmail_com/Order.java new file mode 100644 index 0000000..d49edbb --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/Order.java @@ -0,0 +1,20 @@ +package test2903_gmail_com; + +public class Order { + + public static String condition(String order) { + double itemCost = 30.99; + if(itemCost > 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + return order; + } + + public static void main(String[] args) { + String order = ""; + String result = condition(order); + System.out.print(result); + } +} diff --git a/online-compiler/java_files/test2903_gmail_com/OrderCase.class b/online-compiler/java_files/test2903_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..b4801979e65151e8338c282e8e6b081d611853c3 GIT binary patch literal 1250 zcmaJ=TTc^F5dKbEx}_`^mlgyHRz+xwP%d78a*?ZrR3KuA=mS~GrY!d6?$&7HFY(m} z9(*wRP>d%20H6E`{tjc*@3dS}Fz&<5oH=J^zWHYM+wad`0nA`kflDCd7`8JyF+8@D z$?0ZxCtb+J*R4InTF`Anfk&X_K!2gfvwA)gU*A12(vE<4%FLV2jDR~5-4gID6!r{1 z+^APk2d_YL%FG*UrQEJzJ<@lxhJcnTr1k8UZkh6Y?DRPMrY+Eu`X7dbz$J#JOIh79 zHuue9(adKAf|1l2u1&|HGZ9_%;}TjGXf>#-w<-b%3i$SQdtc(MfM4;UT|jwgWSHKP z(H$x}(Zv>x=OsN$bTx&l1SFzQeCTG}(#xV{*tU1}7a8T}o&8bKU>*Aus&)~nfO>Mj zP_W6USQKd7boBJI2YT^@9u6cg&=z@mF+p_8&mu7uO=zyiO$;d*tZn+0?HD-~aSXH5 zLWwnk)ih=yzCpSi(qibjgo06l_VZlMm&`1ez=vC$<_YWJG_g*G{TRU=IqAFS*f|*k zv5jCt#Uwa9uU;$~`8{r0WHEZ7k>ffE88NMLD`!caQ>bPV2t+Q1@a-HH6wC{>R$$jQ zq+(G5t1HSLxtqF`;S^i{!6C76dZjF1`8NwCD{U;Ba#x#9_kT#{$5k@zuFTadxR;{|0s6pw?E#+j7%Z6kW%5EMF8SQ5@5f)HqxcTM0NNg%(T`F5y-jLSyPSp)-u)sE$Ckj4XG` zLtpwA{6PDdX=jo!FvAD%6}+rgGc38Gzkgeh0zIEG0LxdXygp0)$Kq2oAC5WLr+ zhGSi-j#s=#nF5MsTaA*2Qvyf+ui@2>9Q_QlW2i4{u3&e5KXhc1UXY`5n@D}hye zylk~pWn;K3psm_%X;p zyWNiAJ37c>pPP#={yVRp=;D8DD?ZW1H|kH-BW$UrKqmj7Poh$xD(iAzRxT;6s*W#^ zq>ts-31jpS7cOpi-eWdY#q0Prn?1-=o!W2LGg3HAGFX@hd<$d`^bXR0b3TL&zZu2?y(4U{IK5N!AEo~h&YE3+e1^|C zVk8`8UZJdU`h=7+L*pJQeh#a+zr;_JVV z#Fp%0djho6GnK5qv2`!B~+i5KGUD@8pl4X1_bDRn!sX-d!RA7R*vh4Ut zg(=gGtdMXsrW6vPkPIN4G^8}&W3>lmmEa|m%u9&1h;h@ny@yI!8PD;336Q@FRZWXpnK&2#QxV);SL0!8;o2HKzao literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/test2903_gmail_com/OrderNest.java b/online-compiler/java_files/test2903_gmail_com/OrderNest.java new file mode 100644 index 0000000..a94e52e --- /dev/null +++ b/online-compiler/java_files/test2903_gmail_com/OrderNest.java @@ -0,0 +1,43 @@ +package test2903_gmail_com; + +public class OrderNest { + boolean isFilled; + String shipping; + String couponCode; + + public OrderNest(boolean filled, String shippingMethod, String coupon) { + isFilled = filled; + shipping = shippingMethod; + couponCode = coupon; + } + + public static void ship(boolean isFilled, String shipping, String couponCode) { + if (isFilled) { + System.out.print("Shipping cost: " + calculateShipping(shipping, couponCode)); + } else { + System.out.print("Order not ready"); + } + } + + public static double calculateShipping(String shipping, String couponCode) { + if (shipping.equals("Regular")) { + return 0; + } else if (shipping.equals("Express")) { + // Add your code here + if (couponCode == "ship50"){ + return 0.85; + } else { + return 1.75; + } + } else { + return 0.50; + } + } + + public static void main(String[] args) { + // do not alter the main method! + OrderNest book = new OrderNest(true, "Express", "ship50"); + + book.ship(true, "Express", "ship50"); + } + } \ No newline at end of file diff --git a/online-compiler/java_files/test2903_gmail_com/Password.class b/online-compiler/java_files/test2903_gmail_com/Password.class new file mode 100644 index 0000000000000000000000000000000000000000..e763d8f727b8c695d08cb59c5e04f4368d9f0961 GIT binary patch literal 863 zcmaJenz^Z{eYv`os9cDK%MHU2C0 zp&B3j0sbiCnU;n$5VOg>bMM}J?zv~?&);9a0qo{CHm==~mkUsaN5tvXMm2K^hr>eA5rq z+tHw-^pWiJl|Zo>c4faUwQu5!WGX)MBY{fuKNK2-ACiv1l3Q(FQfbB74|1bRbZ6-(US(ZQBsI7Ge0rgc>ahX$492eM zJ)YdE)IHXht`SDSZiOS=Rj+-c@xtuA>=QUz1NfmF_gZM9IKH`DZg+qC-0t4bU*CTKSVvh$3~>!T2Ckr&Veo)|;#PyZb!($` zAoe6f@3QUMa+M*T%U3ld7$#aywr8y!Nm2HFezXzFW+*qMFSw&aL%a|DFfSy-Pqmp9P8CKF}Lidc+Mr?5&`8gya2uA-9zIhZ# z;gDVeGK_XOZ+zQ5*GSR*7&9=gLJcos(Qu7n_#$=0pd*7Ds!9_KnOp}Ny?H5L)k)Qq z0TWp&Tp%Qw8OFQr5n#*v7N#}aHgE@b$?xwfT@;9+hbreXq;v1unOhyAdfRTDI0@t# z=Bi#Jbc9*s4e!ugF^dcHvt}jaf!P$k6CQHzc5I8qVgfUC(YAck^`t332s7Z0Q2o1S zU=9{TLVE2a3?sSx<~fu8Dom7bS)PpXQIY7l5INQ+ZzspL}#X=r&_8;-F?%**Cq=-xDuwr6+x9 zy64nDAxlFSqh}XGN<9nOrPKt{w+BqUKUyEs-y_6n2aFX?zzS#3c23ZD488CLgU3jJ zCKDqk5F}2kLE#FQq|?U)iM1dz=aA$XGCPH@&`)sv6qDUx_40vX3LU``?Ns(B^kpb@ zAk*}xlq3j{{zvpU%}S;dz1)gk=|nG)1eIfyo#JLHS4kCSl#p+jJ;i)iNQ(3W6SPhe SZi?h&JIK`*@+qw`Jo^nBNf>DW literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/user2_gmail_com/JUnitTipeDataTest.java b/online-compiler/java_files/user2_gmail_com/JUnitTipeDataTest.java new file mode 100644 index 0000000..cae3110 --- /dev/null +++ b/online-compiler/java_files/user2_gmail_com/JUnitTipeDataTest.java @@ -0,0 +1,34 @@ +package user2_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitTipeDataTest { + + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + + @Test + public void isTipeData() { + user2_gmail_com.TipeData.main(null); + String expectedOutput = "Volume balok = 420, Luas permukaan balok = 344"; + assertEquals("Output not the same", expectedOutput, outputStream.toString()); + + } +} \ No newline at end of file diff --git a/online-compiler/java_files/user2_gmail_com/TipeData.class b/online-compiler/java_files/user2_gmail_com/TipeData.class new file mode 100644 index 0000000000000000000000000000000000000000..66a91c5b4bb3e3ecfcd4e1564336410bb7ce4fd1 GIT binary patch literal 979 zcmaJ=U2hUW6g|V&((M+I3T-X4v{Hpyi~7(+Y5O3iu?c=8H1)xUI>4lC*_|P~vrYIX z{tbQ5ga?0sKgxI)YDxoflbt(r=iGDe+&T06&*&F`2A-RUAZj3HA&vw?=89kQn#1K~ z?L+%YbTmWa(3ZA7W{6g*=L<+;!GLLD5!M}eYv^m?5=sRWlxvQOY*qW{*;2Q(C%9YB zQqGixG%^e;F7Jzmk{zx;*}6wFUvsH_imjYhC*k8dDAtyjbrV@E8@O*Fhdjgb9DauQ zAj}q0%o0@3vtURWSYucXeBr&gxOBPgTy&IMJF^Gk4cD9@)=*u+kZ#&iybs*A@XmPK zAy16Jk|AIDJdc~fY^lKOh!Z;mFa0Cj59_2xy;e&5+T(+FLibeHPhy)Pd#;?o6{R+J zRKIjoVtb_|%2Zx6;C^W!JU8fbE^qhK2|P0K7!?E6u#dY8<=Y#x<+bXI+N5EV)}HW= zR^E`|>vTtMfRj?*a@lo+Uv4VZ4+izw!%cba1fC5CVh((|JrfPpr?2ydqQM=fWouDq zuui2EUc=$OFMI<}8FpsQG_Op zjV281G=|$i6bmSfAt6*EMt5l|k(i$NIXYX8kr8NwJ$4H*ODm^dT6ei%sM zkX`~ZO!PSKear1?r08Kx8JJd~h8MGFxWbS*O&v4n$l{u+(hNhk(1XTrUMV(oQZ;8F zhddQ75R%Lc(|z|CF!H{Ec?~xW+`?`0yP!%@ffxp;Y%arO;bSLr)FG<3<+g~ELXkw* zh0Pr6+z= zccIf1{swQ_bTUlU+&t)v7>CIYS;hNaa~8<`k6fgnj*4GLGdG@U*pNFstP zbRp>zWVcE`pto`L7_T)vydZj-rX<^oUXG$) x^rDwYg32+$j&a>A)XdU?67mywj&ZLq#3cQ|46U<-nP|$5C6%i4J;2`?J5HSpv5I>M^TxQAI&fC^xKT9J* zB=HCMqm1WvqpN}V<@WTRbDr~@bDsPA&(B`~wop-t{x zjMqGd-VM_>y-kLAE?-fQV3-bqOh?~tdAuZq(c1I9rtg(K!3|4=f_NYLp(#je7{DOI zyzg>RHH3d$w+yp!Tyre_-66s5i4!h%43{5pmuhKF1c+f~_rH~jeHcbcL0ZEIM*ksS zZn++}h%*5)jD|QLglTtpQg%Nw8pdU+=0rRS?lPpWOGg|kCNL!@HO(-Q3qhmZ7xNXB zSj}k2VwQ&Ia*x~$t$`n%esce6Ih_0u3gz0`PQ>bi>oVgT~9PDLT5;LP8*A1B$vNg zLB$fDDOlF<94j<$N7VH*pVp|CTw1VPpb;2vKKn+)WmxNU9i%Z+Wft5Rk=7Ystvm7r&Cb!>R1V^jImZkORUKXn8z zG9(2_jm&F+;Yd*F)Z>C;hOJgO^nLF74Qg#D5+~J4VQSg&MUB5TC9TX&K`%-TVU~0j zqt_NgO1=iNQc`sE?E#a|j?NeKw~9DfK&Eg3R=9$4bb-EesD*DBI>*>oaxn@5fyC+5 zC_PDV19bb6Kw<&NLI-5<3KK_#?@%u=d5L@7WclDFg8`(mMwYC;PG5#%2r@^1l1YL9 z#%{^ZkY>ii?2RD%RhYfpp^#>mxSz_U3X;YTJif%!E{%2%lhnf$k(my`HUqFNI%9bK E7pVIeIRF3v literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/userbaru_gmail_com/JUnitOrderCaseTest.java b/online-compiler/java_files/userbaru_gmail_com/JUnitOrderCaseTest.java new file mode 100644 index 0000000..5ad8acc --- /dev/null +++ b/online-compiler/java_files/userbaru_gmail_com/JUnitOrderCaseTest.java @@ -0,0 +1,30 @@ +package userbaru_gmail_com; + +import static org.junit.Assert.assertEquals; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderCaseTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myOrderCaseResult() { + userbaru_gmail_com.OrderCase.main(null); + assertEquals("ShippingCost not same", "Shipping cost: 1.75", outputStream.toString()); + } +} diff --git a/online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.class b/online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.class new file mode 100644 index 0000000000000000000000000000000000000000..7bc44bbce20c1c675e35c05b385de6e9f11ef5b6 GIT binary patch literal 1177 zcmaJ=ZBG+H5Pr6;TsaO}THXo*t)jL?sfuq{1PjrqA!0z95I>M>S?ZGB9p3Gk^k->A zh$Q|1f0S|dTG}HJzwFKJ%slhV%(H*~{`w7I6%`#3L^Z?=Ttgp2^3eQhmYSyBC~ejb zd0jH}Eel)76^3ZOP}LA;m=1!3Q(9|DUU6Nswduc?TG^7oTVDtj1s_dAU&4iPfxu zEOInBk4thhO!UG-fI;+4%xSn~;5P11+!a#_2E-7fvDpk``A_Z2!G>tw!fp^w90i6c zL0zvqp3JU0_P&t9v9q=#vz}@3IOb_YZ$#sBwrVzgo_$NPIkl;K1{P3ah)bsp$1svF zTrQ&H0Ul~tH1G(I3CnRCr9+=KSgLrmTeUwkFkXG}&8Ek&)M+}*Gz8mLSNZZyp-SDZ zJNuj=u_0{!-nVKb5wq5$n*kc>&QV)uw1zF;mcrsy;R$kAY--n3eN*|=MvvhdKX6=L zW*BryX=I)Q42Oa$2a>xKV_2;%?)gpGR%J32qHZWc-*$Yr&R+|~D1A}J3rac2k-8%E zz9L8|{gahaQloDSOg%I@pU~e^M9Biiizi^kGibXf=s$*D{Ep-?#=en@Q4k0u8k{i# zOCU+N&j=(EfXsJ55@*Ql7JooL!PF^cddcdEgI>uHF<2r?Rew%jhH@8Vj{X#rI01}Z zk)0u_Om?%EgX|aG?8Od+G&{wOR6bQyG=AdlDem`Zw0oGQ5zNpyvR$y10Bn`c2wwgJ D5pEJy literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.java b/online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.java new file mode 100644 index 0000000..d483d32 --- /dev/null +++ b/online-compiler/java_files/userbaru_gmail_com/JUnitOrderTest.java @@ -0,0 +1,34 @@ +package userbaru_gmail_com; + +import static org.junit.Assert.assertEquals; +import static org.junit.Assert.assertTrue; + +import java.io.ByteArrayOutputStream; +import java.io.PrintStream; + +import org.junit.After; +import org.junit.AfterClass; +import org.junit.Before; +import org.junit.Test; + +public class JUnitOrderTest { + private final ByteArrayOutputStream outputStream = new ByteArrayOutputStream(); + private final PrintStream oPrintStream = System.out; + + @Before + public void setUpStream() { + System.setOut(new PrintStream(outputStream)); + } + + @After + public void restoreStream() { + System.setOut(oPrintStream); + } + @Test + public void myResultTest() { + userbaru_gmail_com.Order.main(null); + assertEquals("itemCost Condition not same", "High Value Item!", outputStream.toString()); + + } + +} diff --git a/online-compiler/java_files/userbaru_gmail_com/JUnitTipeDataTest.class b/online-compiler/java_files/userbaru_gmail_com/JUnitTipeDataTest.class new file mode 100644 index 0000000000000000000000000000000000000000..f54b52bad83ce2644f11745a52d39d16f86902ab GIT binary patch literal 1212 zcmaKrZBG+H5Xb-9B3F*XLV-d>;84`IAcs&Nusm3Ncwrhb0!@f7$QGA+(7UU5dnSA= zjR=v%58#I~&bH7Vf%s-`Z)fH=|DBor^Y_Um zm<|KsSGgbV)*NovclSKUdb>^7ExRFJamlwtK&cEb!eN*!|2I*w2LniH7&I`1;Y-># zj{+$il1xB`;Wp>JZ@cF*DY_RU21Zq=;YBPOZZQmAq>dPLWN=#*YMddHZ9}7%FXk#b zshTukVv1@P2uWs!(T;lr*z~@OX$|)b+{Xikv12XcofGsNL(hLl z|1r|v$i&DA1c}pXP`JV+>GT;vVok`*IV5?8%ufCX^b?GoVxkkQ-ajx%p+i`royz{4 zz6`}SWSahzk^}+L*F=xftYq5J%gyMOcJvZSP&tO#Dek1QRD7&b1nV1q?whKw^BpTwOT7p`@o zi3=aV7w~B`o{k$yY?Jo1J^y#kY5Vd0_6}eNMFRl@b%bIFLt_~3@@rn|ajR3Rx4NS3 zGH6@Ul5UwHSX^mpmGW2r;nUcTz+iw@*&qzH2ofZ&%Fac;$$Os2@4LdBi(r@`d0^lC z-HalIQ61?RG8h|(*toqS6$P?Aikms`bCGuG$dQ)Ya2>(TO#>5{)G-yqG-en^|M6i6 z_mzSW#b1VB4*{gr*<5Mr$T3WKSHfv=$2;wqT=q`ewppq>=fYtK?b_!; 24.00) { + order = "High Value Item!"; + } else { + order = "Low Value Item!"; + } + System.out.print(order); + } +} diff --git a/online-compiler/java_files/userbaru_gmail_com/OrderCase.class b/online-compiler/java_files/userbaru_gmail_com/OrderCase.class new file mode 100644 index 0000000000000000000000000000000000000000..57978c9d5f2d8b6fd33e6e03ae83cdfae04629bc GIT binary patch literal 1235 zcmaJ>TTc@~6#k}{-BOm8TOmb2R4y$jRZ&!mqEv|_AjA?(^Z}>sq%7U;uDe?z3H}d# z_JIeV^Z^nc`~m(76aR%V;+b8dp!0e*1m+6~G({afA?75z!EZ!qC3O zw|UOsW;M4`+7e}tL7CM}-Fv_g&SckPh%u;7-rA0E-8kZCRiSBUL*j&O(Q|aO$`IS+ z?q&%RXVei2$4%G`Hfq6K}p zprT*H00vKn-f=xqr+8L_z^4Ltx|LfcL>}Q1yq@nQCqo)8;W9&So!3OcGRxe1p?d_@ zbUki*K9q3VQ8B7v3>k(lAMQ#23{hJ~J4NT%L3UlmI75HK6;6pejg4xZ z>&8aes^?amif{_trF2DttRB||=tw#m?wd36?BcAcTE=<#xGncKd; ziW`LS994#R(P}tlv7k$@iNB#IB_Yb_yk&W==Wu&jc$-$mO)8j<;|}hsxF=IL!!Z1> zRJyrs)kH3!7-VySmp#kbVR+wM(__WJ=~Hf24B-whSyruK=g$&qx;bIEwquKP)SGz* z?VE3|;IWGWH;kh0iF^#RM6|f6+ctIUP}y?5nIXoYEt)3P!QiedTorQ+BWIYNM?l3R zhQa@Al?WO7uIx8gK zb*f7fGm+4AG#%MT%O|>`N|ED_KM!_E_NAuAR!NShBb~{8bbLThcsja=b~>y6S&2+X zQ&DL+BJF6(k)|o54ki}&kmyE=gxZbX#V<%_4sj9K#}x@NPdU8ImBtqjy7S`-!6Rr(Qt7K)VA`Xb5^IiO#XybqIR7&rY0Q@BMkMu2Y9 Q%;P?t;W^V5HpUYnWUg5co86+$uvq&M$;GFXdUh%j( zt9)pmi;iJPA4nz55ksO_YGp8sj0HQ3JILOEH-@1RKB06(LHYWKNb1VRKq}KPf#7~M zM|aL=u>gl*+2?&x)2hSGCuw@L3k_E$q}bv~X&gSvgJPvRtJ=t6(Zanf@>pV6oWjqL z8pOB76t@XVtsEHUEvz!EMWG1VJcv%ud@jAyj`k}}IS_BS;S9-|?h1y5x>VwQS%!c&HwTb-CzpoI#<#{Z!-!Q*aV6Du_B@iRk{K=V%WK3N6QjC5-E zC)hXI(14JPkAVa-SRX-Rs6vwbz)QzIaMFj4b+oqLEA;l0Dbj0&-j{V+z5Ud8So!27 z=71l#8yl%hERT$9{w?~KKr6l>4V&Z~9C{znq?fUX7c}V!Y!GIKd@kvE+HF!+k4LhE OC*-rqE@KbRu=*EsN%MCA literal 0 HcmV?d00001 diff --git a/online-compiler/java_files/userbaru_gmail_com/TipeData.java b/online-compiler/java_files/userbaru_gmail_com/TipeData.java new file mode 100644 index 0000000..25eda3b --- /dev/null +++ b/online-compiler/java_files/userbaru_gmail_com/TipeData.java @@ -0,0 +1,22 @@ +package userbaru_gmail_com; + +public class TipeData { + public static void main(String args[]) { + + int panjang, lebar, tinggi, vBalok, lBalok; + + panjang = 10; + lebar = 6; + tinggi = 7; + + // volume balok + vBalok = panjang * lebar * tinggi; + + // Luas permukaan balok + lBalok = 2*(panjang * lebar + panjang * tinggi + lebar * tinggi); + + System.out.print("Volume balok = "+ vBalok + ", "); + System.out.print("Luas permukaan balok = "+ lBalok); + + } +} diff --git a/online-compiler/lib/FileCreator.py b/online-compiler/lib/FileCreator.py new file mode 100644 index 0000000..9168e36 --- /dev/null +++ b/online-compiler/lib/FileCreator.py @@ -0,0 +1,56 @@ +import re + + +class FileCreator: + + __main_dir = "java_files" + filename = None + package_name = None + destination = None + code = None + + def __init__(self, filename, package_name, user_dir, code): + self.filename = filename + self.package_name = package_name + self.destination = "{}/{}/".format(self.__main_dir, user_dir) + self.code = code + + def create_file(self): + des = self.destination + dest_file = "{}/{}.java".format(des, self.filename) + + try: + f = open(dest_file, "w") + f.write("package {}; \n\n".format(self.package_name)) + f.write(self.code) + f.close() + + except OSError as err: + print(err) + return err + + def create_test_file(self): + + # test file name base on class name of write code by user + + test_filename = "JUnit{}Test".format(self.filename) # JUnitHelloWorldTest.java + fdir = "java_files/test_cases/{}".format(test_filename) + + test_file = open("{}.java.txt".format(fdir), "r+") + file_content = test_file.read() + + # replace {{user_package}} as defined package + reg = "{{user_package}}" + final_content = re.sub(reg, string=file_content, repl=self.package_name) + + test_file.close() + + try: + destination = "java_files/{0}/{1}.java".format(self.package_name, test_filename) + java_test_file = open(destination, "w") + java_test_file.write(final_content) + java_test_file.close() + except OSError as e: + print(e) + + diff --git a/online-compiler/lib/FileUploader.py b/online-compiler/lib/FileUploader.py new file mode 100644 index 0000000..e668972 --- /dev/null +++ b/online-compiler/lib/FileUploader.py @@ -0,0 +1,15 @@ +class FileUploader: + + __main_dir = "java_files/test_cases" + + def __init__(self, filename, file): + self.filename = filename + self.file = file + + def upload(self): + loc = "{0}/{1}".format(self.__main_dir, self.filename) + with open(loc, "wb+") as f: + for chunk in self.file.chunks(): + f.write(chunk) + + return "success" diff --git a/online-compiler/lib/__pycache__/FileCreator.cpython-310.pyc b/online-compiler/lib/__pycache__/FileCreator.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..4504933af85b647b9855067575987f01a844bb8b GIT binary patch literal 1636 zcmZuyUytK75VsvCP0~M<1?{Z>iG4z<5PR@~5dU=23XpgxpmJIftrX>Aca>f?DUO$A z)8vG-_sVzJJ|gi^_ym6CiLbx|FynN40pZr;8GAe({eClUIUa`u#y7tu7r95s?`ZUg z1I8nm)oUOG5i}0oaaP1w=AN9F361k0q10%qU;X_#v_>32OuN?ZxS&%S4;QxR*;DUnW@*i%glJkd@AgL}z7Tcv=cMa}BR#zEp^!!o-Y!RY`^J$_Mio zqK2^i`TpsL=U=OGB~x9UFP^GwU1jHGk!OW`CoM16kdQjhvnS`hUp`si7(b4)BGYj^ zf+!V6^r%OtG^F*beb;-pl!D9sK(LT}3swUPfJ0h@i6U$(wq-4=U)N5<1iNJ|0C&fQ z1E*x=Zt0d%f;(V&JAJSvl$=4CEPw^=-+V$z%PFZxI%xPU`tvj5k?+8x<BZ2>jBT+70^*DBM}qH8fVZkm^sG=r}e zpD9%;*T9el205+;45FVXS#zJ~P zN1#oZ4^aC*vA^mEeXx5s|AjYVy~q1kFaT-99FPRm8R)1n4Xp(_+fu=Is5@K0OSrA8 z`O0lvEZmhRyq}%c0|qSW^^q9ZXdXmi?Le~z8VK(DjeqAi9YcQSyJsl4c?=8%z|c^K zO@IuYb?gMs0%Q?*0?qOh%E}q;aaN zCmr=K!-1NjK)Tc`AfRH9ax=F1Eq7fV@g=lh6zn&n5gx^9S!h{k<0yF%jhE2K`Td?P zyl7&R++Qm7$MEwNiV+X#6zYXL2h?YbO`t_XtRZ@c74&!g#{X2%KFn;0 zosN%C9GeiHoKjpt#<3a2@%L9r-km6Tzq`)p5V75YZ-N@5I7IO#3Vd>U0_$DjJB<%i sh3NT&GfumY&wOt*vF9_U@L#~{z56ztZ5sdMF0)VZnW-?GPY#@a0HKD81^@s6 literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/FileCreator.cpython-311.pyc b/online-compiler/lib/__pycache__/FileCreator.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..c1bd3170da96c081c2a7188d7a2b7ab8a4de3dc0 GIT binary patch literal 3009 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 OKi6?4xPyRLd;SMq8a?3v literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/FileCreator.cpython-39.pyc b/online-compiler/lib/__pycache__/FileCreator.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..51274655b141959e07438df8f349a1f28c41188a GIT binary patch literal 1646 zcmZuyOONA35bkcb9ou;jhSBZ{t;C#=B3845!~p?9D-926g~DN2jj$pakGnHC>)4^& z+1+vMkFQT?rSyGYb&`HRB+!2T;g5^lBjit9 z>^BD%PoV2}!3ZK~P9pL(5llF*iEwUML5su)mN#qMxcrXT{BYYS`!615Ix?g3vJXJEON)?5((DnOZ8rqPUGz=`{c?;vrX`D5#dBefFfQN%}mw zl(AiT(^Aco%G`_ha*5-4k`=MYl<5kotE@<>tSk&qOCd+D;acWXg(xaa%=k+!6}l@Q zmcJ3zh2ig~r=Luo!GWI0H2txhd{L&$xhyI@(a%-3(AnghL?tg|J}HYlD`Z;E7m%cy z^E3zt%dk|UUuMq0NXGrVAeb+m;l%mVFA%G|d3*a?O05H-bbQGbS zu{CR1{ZZvKOt2f)0+_d4IB-g4?wYPCCAb4CZ#(a-2_@&GIN_x7uU=8oa!Tq4RnYJo z^ycTpBj1CxT7J#Xw&Mvoff>qbT!)sJW2D^Bm-S%F$FSRtCZ_mC|s#L~ZsH~_)t_t8L$Wdz091v(_W$4s6QYp*M#vq!e zo1y}x^*MkIeFz5O9WX{idO&-$#|G4=_5FRQ_ip_QZA5y9_V2I&oDp%r5in;k#~G`j z*kI1qRPZh4&KmF%ZtGTj<~A-$dFBc47pL_Ae~Wp2EIKxt2T@qtsaOLg1^4~NzxA69 zKmNuS_<02U1XsTTKLPM_ScOf1{G4yN39f@81dd?baTAQ|?$c)=wN?8a09QYFQ&-{cSi=MkSmK}NxDGwR_{ zoR&oeMQ9u)FQfhxN;|*Xv!aUzHp$&JL*;)3Gu%?Y^ErZ_*AKxE-lHKKQs3e9fcc=G z0VpU01r2EZ@PE{^3o+_qjpLIP$0mdas1!@cHa5LD{%M)yn-c}E`KBT^XxJ*j*Fg2r z+(Yvo8hn8E4C-9rtBucGs2X&mY*+5mWe&VCQ?cZ7^FZ{%4!KKF8-pV?f{e E2bdg>q5uE@ literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/FileUploader.cpython-310.pyc b/online-compiler/lib/__pycache__/FileUploader.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..df15965a91c75aac0679892a804eed13f4fb2a01 GIT binary patch literal 817 zcmY*X&2AGh5cc10mMBG~RpH7BX@zL%2?-%osR(WnC_;!;khNVqu<2$uwKqhhn^Ss+ zM@Wvm3s2xHZ-J1?jH9CMSl{RIjAuL^yV}|55|DSl($7CAA-{3a77mLOfZYRnLljZ; z3b0}cQEWhBo`L_Z?;5~@hT6iv8dieHgLD4_zF0~JDi$Ms(4g?>LRs#IyS zI2fm2Q#k^YJ*u^>WtLiPGc4mqP{%_~0d^Otp$(CwVZd-0B&GeBxd@Y#=|nq$TFjlW zx)>P@HJIZkF#$|}o}E4)zBScYXSE#;&P_hG`LHUBywp#!YBGgjGc5A6VY|@7={FZi znU{GjC8n_gD5PDwIJmX%W={s){V%vT0{AN=peVW~4H?5l#%#luwB`*}Y{kCcU&6J< zVjXPAEApwcGJ6Ec)8&7 zv&XJuXIZALh2Dpw%1qMQJ&^61rJSUBDOGNKvz(}=y7Vn`VfJNKo?92pO-Lz}4DphZZ#+3a zpWa2NL79|6L#-)g0Z*+0uw+a@VyfTa=FA(-gFF>SkP1Y3+iaEEz0bfgp*C%S<7%TIUR{;B5l7-T))CZZp961nw_=t znpPUC?%h&`R67dw z_K-S9Rw4PoRcx7bv}3p= z>H3;p-UWOVQ5xh7g;{KN F{2ws%9^wE1 literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/FileUploader.cpython-312.pyc b/online-compiler/lib/__pycache__/FileUploader.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..5bf691b68e83e4da00e4973fa498322296520783 GIT binary patch literal 1112 zcmY*Y&1(};5TCan`KaC4P(!=LmOw8q)zluOAW|rbf`_1phla?q-QDP>n{0e9F(yrD z4?XlyAs!^{sa~ZQ#e-+hdMS!64-bO>Ky8FVPrkRCZR0G={NBu)k2f>>MNx);(ZjFC z(+&do%?}|-eb5_cpbG-r0}D35LVH4B$w5QVL^Hh4C5z!x?=llzupx&m$O#t8iI%Vd zImr?kmm88M)8V_0Yd@~Io?+RznJOAD486cqWVULPs%{#@CZ^aA$OTW!&%HEbU1*^e z=nMta64)tB4-L>zRugE92P_*Un@SvMB9(~k7O>2maD*|!1E$mI)A`#s^AE6Bw9P8X zKU%>~g*bVy>^f!pn(37)%p2!jXE{Gub*9pwFmf`&K^ zb3jmCK(NGChHGAmOHfCelx;>=ueWDc=h{uNzC1&tq-L5nAzGA13LY*QRXU~*_F30U zhEvup2m3>%l2@_I{%C2$d{!&35GvQPQ?)e-^Bz#q^-PKiR1U1XYi#~$%$q*k57o(C zbw@o=wS86lq0V&V!;xe+`Z~HTze)TNVdCnE2#Kkq7>uYV@erL7-ujPoiy85AMqZqc zX0-@kGQP#SPKVfoJ*(z&Jgn=_Yla(GaDusEUL;O2_6{)rwf$#dzEnQrlOajQHsDwC z%KH6dNs!fEEF!DHZGJJUp};}qUS~mQ>{gI?0Z%Z4AL$|kMzV)n literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/FileUploader.cpython-39.pyc b/online-compiler/lib/__pycache__/FileUploader.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..7c13cb5ecb2a690c03483280ad25b9300d887dd8 GIT binary patch literal 823 zcmY*XOK;Oa5Z;#^Q>9e_Ra`kCxk!Cn5vnS+0trxrgeo91S~=d0>eR8*UAq;jb4u^< z4@i#O_&s~&CvfA$%tl4&So7`7?!3q8=H>;s8;2KV=ffp!dRp8{yor;7BMqJ6HI;yc6T-zO#DBgZ3OJw`UHZa3(}GiG&f>P zHlsCfsbX{XZFdH(j>IBZl2h_!YsOo)2wT3Slw3ah2s;w+%{e9I_93xv4hZ$%XF$ba zJfb)4+#JmIZw_Zuem!{ZI=0C&Z7pmg99CwW*6xX1uUN`)nwL`L#*fd5YNAU&L>Fe~ zO?hEmaBcEh$HHJAju%zt=+FiJ)z5haA-;xH@ literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/java_runner.cpython-310.pyc b/online-compiler/lib/__pycache__/java_runner.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..bdace83e2935f4b8eef23493039afc429ef9e7eb GIT binary patch literal 3838 zcma)9OLH5?5#E`7V6k|JqA1$25(myh(MlooN~uzooG8UeDJco8m`o`_p=xWjvm`-+ zSY&o#S<8jXRq{30oO}R}{tr3llta#Q%}Ia3Rkrf=EI@)3t0J(r=dm-rGyQdc-Aoz{ z&%p0b{|>kRb-^(HOM}IqiNSq5=^Y4R2sSXfWy`uuk9n7)RQbBogqwNeQ5~m zCGXmTZ5Y1&3VV%?&s6PUe-N+BILs0m(d6QfV{ji&`WJ}UAoWnqx@K&3Z9I#Cfz$v5do9P~PM4)9{n=a2U(H zwu^qSg;S;1Bf9JSM}2zM@uaH|g)ub>cE}1NUnG>!@CPo}1voLW-tCREl*AxqK-fR0@aTzN!9Y6CeS;78pRbO~N><_x0j7Nho zii0rg*5-YYWcsS5sA7wxL!8Hxk|mm~$t;$?vvBf7gGLN%=0C!OHtW;hLPs#*V(bE! zU4Fb(OwV^ zMG#Rm#Pl)pvXr86iPf3KVUySS506jPK5Nej+YlJEU)$!N=m-XT0NrA49av-vY+)N9 z3m>+G30s-ktDXE_eo2t+jNJ-WSec8SRai78>k9kt*2FICY4y-x23n8Wr^ayAGP2r> zN6eTw%*eg0UN|pd@2AFJVeg6axij?2_BnfwSwvFf5Lg`d${7dR=+D7Ec%9S9n^%5) z@1tlCrfJLXJ-;T&5%SvOKf~=0CYy1Z7bjP}CqSYx2vc_iw9^P92` z1z>`FP`jlnLBo zB>Tfm)n~D*Rr!_DNj!a-K*rmjDT@^84|l6{>e6laR-{;bI$SQ{06)N!UV*R>E*^6@ zoCJBwiEVQ@O0@&-jz0e(Ph z(<4my0SE3EfxEfuytoSFO(5?U;Ex&V=I7?n2I^=D^{i5G@`-|%d~#_Qyc@Mh&e&H6 zWSb^7zc!Vf?!AM=E5)^_=d7z<@OrkhVl?iTC){{q19;oH@a4?7k zXqDb*TqN0V&RFN>;Go?{6e^H2RJr8WE3)tA5{G&)L0MojBS&v$4 zYoEq4?I*+InP}8%-#xeiD!n;rp>3nx1R?$i_me*%@neX5^$nPH82H{PH04ie%ViQj zBSFqCmmriQwd0Jce_Sy;?aarl)D=0Ls?~XyRYrkmUyxqQqh?M#F zXm%&u2kE65iV_*G-E801uWp{{EKzH1?i+WtZ`^{9+@9$0&O2vrIl1HRLAj%q$nCa1 zPaB}1Vry&mU&j$zSki{lP5A-9I6)2XVd6|@(*85&Vy#yDMz=A)Tsd5txfa!40a1Kc z&uFrLJCCEKepb9fzOb&)|%@QDdNIqiw0>x3uPNGBf6CFF@zo9dj5 zTz_axknfSL*&dgx=$TWCGCo!1Ux9tG*2WrCukccPVikP0_9}X_wG(@I2P3E4iJWgt zE7;={4pjlryNTZXttp&IC3C0Mf~p3$aHk$s6q9OJE2`7_q4AQ5%8D_uhNuhXUl;|8 z8Vb}Pg(cjt%!yZc@Wg88mCp6{INMtLWnSNWu(8>C_?t(6c<|c~P=H!QD5|FMD2cl) z4bETr`1h^em7ciPqIW&te?_?sjC381ya9pqoFF~>4Y@*7lvovt)@&??RHkdzQjUoA z;ODf2C`_)A(A7g_M)C4p+G?WiP>!x4QomLv`FU-i*@;}JTi@yr!$B}RDjh>oLeZyE zEKwCyps4O-*Gu+Ld+I*YS)7)5meqCqu_Yy?N~x`;4W_C5`1HD`%YPH=h)+{8qHEC6EnLC1T-&X<7hTUiUw>cH zD&Nr=K-*r2boU&{sQnOTT`&KSlvJJRwF}&T^eN@uEAR9xawuJ1y9SH~11+2X10#`_ A@Bjb+ literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/java_runner.cpython-311.pyc b/online-compiler/lib/__pycache__/java_runner.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..03ce90c7c3ea74635caa13c13263c3a3bccac537 GIT binary patch literal 7405 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 Ktm_C<(*56@*`l-n literal 0 HcmV?d00001 diff --git a/online-compiler/lib/__pycache__/java_runner.cpython-39.pyc b/online-compiler/lib/__pycache__/java_runner.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..d044d6e4b5b876f0190b19897c1a55646542ea7b GIT binary patch literal 3816 zcma)9&2!tv702R>AV^WNqd2bI52hckVOz9pcQT#YY28umPSgzJiIuwLa0Z33kVJ_D z*ahgsFp!IL?WKpFa-eR_HK$GwJ@nLL&U?+t|3YUv>F+H_iIO!_gMd++xi zgQX=`!}ITdeD&m$bDH)Ibrv53oqKrGcTjMRv!T|jYSv?_ulID+`p_7eJ(Fp_(YV3Q z&oyqo(0dkVk2KGEiM3kSW3usJFpM@u6l94AX>jq;(Yc2={XL3EBk>T;dPZdSEW9?? zx$(Kyt8tTCs2y(e8tOWCcpbINUEV<5;7z`Sy2)F78TArh;pb4d_<0=W4e4$LPlJyp zaU6-fv5&UDgHxq9Lb~hxp*Fpnc+(3g3T>(t?2r|j&k7wSZVhp)>lw1S8)g0^jfBq! zLbm3uD8x0NNi$4%gjr@94R?eES;9u~r6wFy|JmC7MgL>0P5V(8?j`;Al5jGL;w5C{Uja^;wVf;W1Ls?hl3}5b$p@j(iuOKj_(iRLFW5Qker$*G}dJK z8^<^9%x8q8?)gJA>0s)%Z8S1%$~faXZfumg>KW+i=oy89dz;-{zjsYCKiB&mPnWug zq>)aZc&4afeXp*RFbW34o-3m9FbE?*$a;-=nVb%SKij)RR=2;~?9U)*vO^t91lN+zPQ71q>EmjB@ROr5h^igC>A$G1m)pF$Jp73NVF5o7{kw3}xeX9_R0H(weqk!wfTX&@u~?`lMHG{n;$7 z!kX3(HKw6S zIS#^uU^i0Qm(JWLmFsye(S!hLr%@onJvAn+U6D-2;!S)IE&95YL9XHk5?DDdIgM=0 zFrvMBE3?kgWLf+0(S0Ej7{pi%;!HMY9;-xowaPqPbs1koyPryv1gVXCbvkurF#1j? zS#;V-F5v**!<&8|g~m)ciL2XiauYAgZ*AStn|h12jr_u*xm0FFJDso+@|z}zWr<)SR254r2tpVa5g?O6was#=d4!fWCev@amS^7 z@NU?qa>l;O0XsCX{iPwTbT1kX0Z_)1Nv7&Z2+vW-R8SC5(go#=MG{77Dh=?UG#|eI z@V-3184QOJe^`A{Xb95UoSl~Ekf0vH>!gic#@NWfE~iyan!bfMC98lh>N;D4N3JpF zBtOk%o~dK9H|2?cMdKA6|M4}n{Ja0J<;T$T)PdJ7uphBpeDUmY;8I_}#p>qohI|2( z_T|f}*Ir+LiU2i8;^UEU-0s|Yz5&|2S+-GkP;Z0$eu(>tA5-xo6#0c$AXbL&xu=j6 zKcOX;srV@sSEyJ)A#D+j5^TSSUjtD4Gwg&%Q?F7%WO*D=q(id^jk_36NfgYooD2Sw z&A4)`6^P08~YQG>H5z)H*a@t!4F0L z9U9#WMj*H}TMrWvt>5h2R-bO3X(nNNeQp(ZlvUh>j1v~vfT*MFhAfaWQ5AC$%MY~@ z@f^{Z9q8gZTE^6*h)y~97vNgVwJ-;{Dy-8g%|f5e-9~FRx3uCRdUmxEF>AH?-zo4Q`jU%$e2;$_kvqnYxrQl=ZAp)Thlu?FHktRjoARi&!<=Vf@cU2?cVD z!sN~uM(GwVEU?~vsp7dc$#&L%o;SDeKiY0T`1SiA+<)(Fq?RU8h-@evDw?js|G6t4 z{Nh6NF%INvzTk1y6}|G@FQ+l5)jU(&osi(Ya1j zh_u8y6)Hoh%}8Bbq@@OO3u&u7A@v$nAfLy7#Ybd1z2?p!4u<~hsB{cL;X|EDvP9O9 zUm|-GJvTW(W~tf;UQt>x*+~*plo()nN{Ow;9E5k5okvO5<+2uny~A9UAG*vn&g&Op zXZZcsw)55&H1|>EK``#Fw@m*KD4X$p=_0L7_yo4@%ck%DX%Y;pFJc)RA(_ual?*Ar zBF(A{{aBNN0%N5$r7%U_$EQ~ test) + point = len(res.groups()) * 10 + else: + test_output = o.stderr.decode("utf-8") or o.stdout.decode("utf-8") + + output = { + "java": java, + "test_output": test_output, + "point": point + } + + return output diff --git a/online-compiler/manage.py b/online-compiler/manage.py new file mode 100644 index 0000000..fe183ce --- /dev/null +++ b/online-compiler/manage.py @@ -0,0 +1,22 @@ +#!/usr/bin/env python +"""Django's command-line utility for administrative tasks.""" +import os +import sys + + +def main(): + """Run administrative tasks.""" + os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'onlinecompiler.settings') + try: + from django.core.management import execute_from_command_line + except ImportError as exc: + raise ImportError( + "Couldn't import Django. Are you sure it's installed and " + "available on your PYTHONPATH environment variable? Did you " + "forget to activate a virtual environment?" + ) from exc + execute_from_command_line(sys.argv) + + +if __name__ == '__main__': + main() diff --git a/online-compiler/onlinecompiler/__init__.py b/online-compiler/onlinecompiler/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/online-compiler/onlinecompiler/__pycache__/__init__.cpython-310.pyc b/online-compiler/onlinecompiler/__pycache__/__init__.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..ca095cbd54ac7d4cc5fccf1186711b24578c01a5 GIT binary patch literal 155 zcmd1j<>g`kg1|G0=^*+sh(HF6K#l_t7qb9~6oz01O-8?!3`HPe1o6wx*(xTWC_gJT zxuiHIIJ+pbpg1!oKQAXUFI6`=Ker$=C$$L5hjZiOGxIV_;^XxSDsOSvh=2h`DC095kTIPhg&~+hlhJP_LlF~@{~09t%hTB^rXn%7 zpdcorBqcw&IL0Y4D>0xbKRztAs5sLoCOu*uC&Da}c>D`Ewj46?hJA4q&)W@KdizyKqPn1Nyd48ATV literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/__init__.cpython-312.pyc b/online-compiler/onlinecompiler/__pycache__/__init__.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..198a73ff26385bac5ec81353ca8d5edd3116e80b GIT binary patch literal 159 zcmX@j%ge<81c7G~(?RrO5P=Rpvj9b=GgLBYGWxA#C}INgK7-W!vU9eI2`I|XN=+^) zjtR~#$}A|(jLFZ-$;?aDP0r6P$jnJCg7V?q`1s7c%#!$cy@JYH95%W6DWy57c15f} U;~0Us7{vI<%*e=C#0+Es0D%}NX#fBK literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/__init__.cpython-313.pyc b/online-compiler/onlinecompiler/__pycache__/__init__.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..cb9f67da29462cb6b61eba5261b834d52c50fd93 GIT binary patch literal 159 zcmey&%ge<81c7G~(?RrO5CH>>P{wB#AY&>+I)f&o-%5reCLr%KNa~iIvsFw$QGQlx za!GMaaCT8g`kg82a(l0fuh5P=LBfgA@QE@lA|DGb33nv8xc8Hzx{2;x_evsFxJacWU< zOlop+Mt+P-esXDUYF`d!SCDOtllRJ z9QS)Nnfzs8@&q3GD>R5RIK(5t;a$NHcn%AA=12Y~@n`NJbC5BzXvWAP(a85WlzGb= zv(RUuFF>Dzeh%f0d6Y;+l*s1Z@`Ok8Z^RyN6j9MwKnv&s&Z5N|9J=^MAiQw_Eum%5 zSwff6_Hx=@A$(6X7SW1v5nVNwz~eGJm(VriGP-VDf$<7FSJ4fPD}7{b@*G#F9#~$_ zmnde8cs(lZ`=R7}4)L(9AmH1d}S*#yzjaVQa#r7b?>!se>E3#ozT>63C3f+y>uh-l)=6CPDUX5Xnq`DlHl>Jo$;d}M`KPFW)CSk@A{V6c0#7Tupl9>pS0*lR=Cgw^VV z&q>V+gfgL4IvWe{>-wHtNxT10rQyC@f#x~EM-!?Kr$V-X@W~()m;=|uPP2W&aC)y} zdMAx{hm=oPeg1(>IK)0YudeNP8XomPDR40q>j&x7* zJ0bQ1$O+-m=9KaYnIAA1ua(3&x205`sg0^3R%>m|$SbXunT+CGv!&OX4K2Dk#oH0> z5gAGoI8P5W&LO;S4IFk-6{vekBYo)*hBu=E2uI_R5NFlKPOYKFVnf+g!#rFj(bK8; z(<}-sN{{>ynQ&ndl)95U6o(2+3Vy(_MqJ`pNew+8YWQLF_`FEF#3Sy&tz)mp`lt5a zoY#I>G_6sLrvOjR3(y$2I3)I2gbeo92Q;4P=#?l3uN5esa`f>C7MOH>gdHkxkscJ6 zzfG`%8l`J-&NShTVVZF+fP2{?-B18(p2i+OBFEO-Px12Li6$`=SwNlaX#fs8}Q1rW`2FG*`Q+cii&?L9ecy{b0!no`$(;li81TH5^exbo;lYxwS` zFSNsu1eClO7Q{MSo$1HHXnryszmMhMIL?0sM>TNpWBAVCXagFNo1b5t5p&{9UdU(i u1#wOg1zzCug78lKTYM)j3ORw#^5Q=*E`m&)c>WZZMNo%-R?LV(p8pqH!cIH@ literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/settings.cpython-311.pyc b/online-compiler/onlinecompiler/__pycache__/settings.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9d49fd2acaa98d557d92cf5936ad867bf1fb17a9 GIT binary patch literal 2810 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 literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/settings.cpython-313.pyc b/online-compiler/onlinecompiler/__pycache__/settings.cpython-313.pyc new file mode 100644 index 0000000000000000000000000000000000000000..a6c99b4348f43d0f7d9f94c03fb8ea50a60fb03a GIT binary patch literal 2730 zcmb7GOLG%P5Z=}MjS$8U2$dzo!7}m6j&VpR;$$tYje;x*jf@k@m94cjmIwABW>$dr zq>yRpi-4%dRLMyWU4|`rFrypf8Fy<_sqUYCSx4@?*FE? zK2CAmpYCM%3k?Qu{(-^I9O5X4c;vgsf9s<@f!pzY#O?T3_`X&xIy5`&R|dnH=i^lF zj@~7sA>^lF6rhnDhl2Nc8ihUteGK|A^l=oS3FJxx$d$$K^NT!6h=CkWlPF13D22}L zgiv}R&T;6x=v(CJIg~*cKr4eLy!N8kPA>Af08OJQdLB*F4EVeN{|PihFQQ9y62?>T zpKe{wexNSH7Gs4+s?jn9hAoR2Ehg-lR4@&V7`S2TZK7c+w5j6tF5O`RA5vs7vgG_MOC24KPf`=+=ku7LGAK~=2KG#gCp`xr(5A?2`<1HhbRwn>BKhH>Zm@YX&S_Bxs-XoOjUxp%rR z)o6kvOsMcw)jF8{A72#jjX3(tJ?1R$1gfgFZ?6qlAO^#Y4#f-E*4$IF*kCyOgLRGS zi?d(N>2sF3d*k`6eQjQ`wPm(wkXtwPFUd;d`RweCMm_7dr-p1Fi2InDk2`9+ErQI6 zYGy;#_DyEl(WTFB0hNp5QZ{T)^!gM!*rUE|#A zV&6W4G7K#?74B6 zvsz*k?{-@D{Cj9p`~<4gvTqD@Px9L(_8rJB;r8;F@(G#mFc_|715S8N%HNaA1t(A_ z){qmCs#V1sg)7y1u~J6%hhw}wV=W>=X#(fofjZ$P-cvi8by5}0-BTLb6OCAS*^Ys5 zFwXj%kX+syq7zMZ zYv@5=!=(1=`yy=;gXkT-gpHQ9e`^2r``Y)5raFl66yTfp1t@oPOiAM`LJ%7Z9p?DA z>Uld1&k7Vz&b~5$1txW~i8Us!krot}xlXXwEN5q&u%f_=p(swc4fnD}cBvnzbs~!5 zUQMo?VrFVju@h>;MPyh`WKBY{d*DtC$@!XGSMJH*JHdjywzc6TrBbP~EfLY@|E(s6Rpde)sj?~k(1s=8%0;YRLo0m zLOIcbRF_=0$eEV5>UWi@gwS@SR!|;Dr6Md=APDah;6R;jK4az$A$%B6xcnFmD0+l$*Om0A&!54|Oa ztrz5Sy(pE?uiP8=b#qqpw|A=jXP@n$$CR`g+3DB90^FM3cfnwOG95m}V*9{}+<{Z- zXn2**1DyLQ#Zu7r{5;RU^2PYT-_smF^D4w8(mzFhTzwh8dKka@d;HqV`21mf{$+gW zFuv4{^io`^#&=`A5Eo5$gMXyuZt`_3lJRv@uP34@AFNDr>Dg|g7vUyk{wSR}nwUOL z2(P)|wN%d^o`}7QCW4`!Kb7=#qdkF}Sb4#v0X3L9%7{nl>0j;~rmw#W`qQ8j^mHz9 z(Q_}-4|{$e*hRcab#!unbW-b2E+#+lz2K&MpK#}=yUF9k`EK+$ey$rihM+^e1ecnE aKx5n_IL{oJRjv^F2g z?#hmN?cWH{Hn-l2{v2L=>L2K#D4Gsw$yVe5bwzL=voqh!emk?2T`U#^`2E=Ywe!iG zAp9Or#(!CuJcF101`QHS0i{sdO?hcEof2>wPyLYkN&H#Z&+KQ+ESfTNNHp_Z0cGB% z%xUPe&=;W3K|h1?<}8Y(B8p`*Z&M_NX5Wb2lvzYYa}Ld+OE`<>Zwct~n>0z8m(T)Q z1f2zRC26lF?KP6>isn38GB2a+<^p(Jg!c-%VO~Wy&1*1Tg7-SQr3Ys?xMtW)kYriCB|*a zhnjb#0Ru2;i2YDrlOKWgCO~@u#S-zsi)V8Z_~1+8Jpz8g)u#{!F7!C>vnS;;3LGY% z_!vb1A(gRT2EZ~8`ov-7QQYMdc;3U(-oSMwmoP2`duRKyeFTm$q0*u44lw&az9`-s zbMyzCw@^w&V$ky|i0xy!hiPyyu={-(WYM%6IJVmh7!Ri(eD)ZqT$3M^ za^aN|zo6rDN;-0K3gP0UbO0gVnh?e&*ysGXk6E}hvB)rEa4zQ;JXo;1U~zNOg2PEV z@%b@x#tA6vVH;t}O8IbgsOk}fTzq6xEGH}xek|)TT`<@_T?-#hA`fGc$L#eJ*_hSx zn9p&|3WPGIRyrRG@aqM>TuHkBP-S#au0ZpW;G;3s#}gsjK=^nN3e16P;w0HVW;nUm z5xwKa+b5KdS$+P2O}NB4*teYns5trCO=^3%(T_`OeDjO%m$W>fE(^;;Fpj;x3so(5 z00sMKRCThN6u2>5X68bYIj^||_2@usKyXP6S0-W3Ysm7g}94MYY<}qrB2=TFEHaXd2ZaGxSXPwl!@ca14ow5KQQorRt0|UK%mViiN7+7HL_Rn38;Y*Q2Obr4 ztxK4Rlu@;f_EuC>YPH6WrdrP%x}isN)w*tg2n3KNdQ{l1s%lN!QCeCw+iEln ztKF(q8uiU++R(O}HO0{MXnsfEs>b@YYDI|?Dw=YHkEeG zumHJXZC16KYF?`VqLu6=ZmmYE3dyIxCx@-8THUBBHT@TX-Uil^=C4-e$!?r*Y!^FD zFW6NB2hPmrY?mES(r0A1W>fnRySwjK$>enOjh6ezQT{79zJZIM!ha8e)u0h)XQ$?K y;*^-qXYz&oj3}m4@TBwa(tnHZ#Cb6n&$Iu)xG26$i(~Jf;-Z*No~)RGKJ_ns(pH}U literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/urls.cpython-310.pyc b/online-compiler/onlinecompiler/__pycache__/urls.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..6e6675832dee07c375e283413c98cbaa8060c896 GIT binary patch literal 997 zcma)5!H&}~5OvaY+s(GXC-{~|>L!3VMSwsRD^@}XSh!S`x^C>YF0mciF3a}Xui;<# zf?PTA3mg#RG(i;-(pri&V@=+?_dHg^VTfS8|4vqu4njX%a=f~bynxTRjiM={9`y@P z_*36=ai{2rU>b<-wCf=j(17`ylTB~$L)>Ludb0QS{>q>BY3~ZfeRAU?q-4P*%atg3 z!8HE#;SHWBx#X*@CYCE1h9B1qUvG6$5^I^3<{B5=Sgh67GUI+Q*ed*mvm2A(3#GA8 znqe-NN{bo-mjxq+VZ&G!VpwZyOOvH3Rk=y%hRBsFwc4=UCO{-*GJTRfOsy(;Zcf*5nY0Ach9^?xjsT{G>7B(+g3o!5X>v%e!7 zSDz3wcOawqA4ZolFSeA+6_`->bJB9S%+{aF+87K};Cfsw8^w6pSeYH{I$THM3~xy` zwd2~9JF{IBYL$Y4ZKuc`)VNU`hd*J0QS4P+LIszxUj@$bs@GKSPU`b?ciK*7x*N7( z4e~ZVt$Oo0jL>{Oz1Oe?u~zeihPg)7*^v|t&k5=-;j2%uik!T zlWg|xFp_3=^;z@M@Y&(1oVPTZ{BP1MS`W}o=$U`0EX`UWxk>1fYWmm#VWOR(k?3fzT5j8x6>f>qwFfI_#fsW8O_+}%E zG+{Qq>VXD-;G2y<<9xkS_i8VZT_;e(?miSv(B<2`4gOv1Pp) zQM@_fVM3&&JQkZc41~m-O(Yd+gTRvEw*lP}4qj&*M~qV(#6!lT3<4)1C4yo>Y0JVe zMp7oC<+>gl2*(?f*k=i6V>*xy5OHbj-g2(Fk|n`FxGLC%^uo0sy(1A|iI%lKi3f_^ zENupQ-N9>~he?csC}CW-FdlLi;b^-@k|cMQ;&0^fS;1R_wnRZN!6c z;svn}B4qhgX#+USLZ6LH7z|Y4cvLK1vGFjMvNe-yb{vipydas!u4bZ~n{7X2z6$~t znVQOx;WlmC`l(ve)>4yrQ4rgDYAD6iS{}Vq&HV1pT+x~CPNOh0kf-)sTI=3O#NV|N9 zaQQt!R}TO6POHeA+kN=q!rtxu*8cq?WBJ%vJ~8Uxy13`>`JdU*l5@P|92xGh;ZDuU NqP{z?9^Qb&zW{O0VnP4_ literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/urls.cpython-312.pyc b/online-compiler/onlinecompiler/__pycache__/urls.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..217405150bd9d7487b98289b99df5b3c12d11149 GIT binary patch literal 1106 zcma)5J#W-77RBZRJz+5`|RQK3R7Dk>qw=W?oaO%q?vM{Gy7kJ1wh zTSqz_e*yKUz}AT@3`}gTDi$W}e9#jTQaw1Y-@Ja_=Xq>@>2w^R#`CXX(rWr5fP;J6<}E>*&ZVqhg<} zW;2FERVA{ifRr_f#>XDW)i5B*Q7<@b!x)u*c{SClek@%&6nM8X>qd;b|61 zi8vKIFvUVb&L$EGy+J_9;9HFLga_^gaQYuF_JP9f$zsG z5?(wGX~Htj#we1WBH|>S1Vm3M$jsxAwl=MI_|no zFAarQ+f~BiIn@8LU~+`GCgK%F)pQ;!tb+Xo+30#N6ax*i;{L;Ei$>`r#xzkT6#cZc zNF8SF&sJd!R8-XQ=vuVm!eM1)P})@B%()L{Yg)NSX@!9ZQ1!609%SSzuT<6W*E z9mp5wq;N}RxUJKcz!K$_7ML&29r|Z*rhbFpK`+>TR^CRj{qhaRnZVoSD_N@ z4d!M0d25}pc#@(Ad|5&1XD8OxbkZ;kR147qGZBh_jqC$mERJ271da#{zbrWCCC9xyhM`^{v z){zdV{0saqY@Nu$z{J+7V#m%8dO|{~hvf6;&(H5Yf4=B+9H7RlZz%3H0QjjV^=MYX z#RnC927SOm-{_lL#-_~W7Fc+rp;{#2G$+Ww+80+wHn~^zdd&u*U^euM#VmR zV5{9TD@K{C*L;(=;-=d|`>L4Hgisu^G$RS-@Xhvf*kg1=;t5BRFzPt3#~AKRc#((}N+(vMM=M|DdWbBr5?^3e{F6cD&H-E>^n6EX9kEq7*;s>bUDV zy#xudw5xg!A!Q>coO~fmVs_8saSOxnlveES(5*KptP&J4o@3ildNhN3sbJlb~jgq&++jU*% zmu^Yd$ZZs*gt}&KX~*+sRed;9WhinS6eIoajv z(Sf`@C52lm!)=|m1d%wmw7|SQb?INhg<1xA&7c;$ume literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/urls.cpython-39.pyc b/online-compiler/onlinecompiler/__pycache__/urls.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..9e961c6ea604952bc245b0578f6f00ef6e671a6b GIT binary patch literal 1015 zcma)5!H&}~5OvaY+s(GXC-{~|DhVJ?6(CSy#Y(Fc0`^i>>bmi?b&2iBc6Qlb`yrgU z@jbb6;ukm|>@=0iN=R!dkv$r}dGF1b^!p*Q>)VGP^KlEIpYCwD+V=3;e%k#gnjq>? zKlivl@jbV1N3nkZ(nZy!FL8Q-@ka)BB*isSH?onRDuRhv-GMC@0AbG+&_*_)#}o^Fo!lbLS% z`)v(!5g%8b+02g6Y&Ln&u(o22VsmBZ8dWC;Qj~p8NChq&Xl9@aoWSbjpy}U{a<8xc z{k|BFrk5I&oH7lUa(;{X5v literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-310.pyc b/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-310.pyc new file mode 100644 index 0000000000000000000000000000000000000000..3a1b4e1152172e66caecaacb291cdffcd00159d8 GIT binary patch literal 572 zcmY*XO>Yx15cO`-rYsb3K;`OdB)Z!JrwAbsEm10(g0=`LinKB7$;QEJTeh2iT>D4h zz=8kLU*H25PW%N<%w{PHBiYvTXx@9CvEJQH2*&$cR(*>I`PqQY=puND%N^jx$%OET z$1<8kcy?r5cP5>PK(y?B+2UQk^)*J+xgnEn9_OULef=Z(m=8y^)M_p&I@gwJC53`g z*G5RN)L6ZQ(x*u>@)RzOcHpRA0B!4-lx?)zWQ;OBV>1@V~ zk)mW?Xf>N5-y0OGwFN2^>elN7sw25@bdKUrsRKwB-WxZ_GOkOP@+DK1zVn18Gf>&H z^dMX43$HT{M(V2?l+P|)C9>ofc7=@lQFvT|FPghz!$#OUJbpDEo)-Dh+1Y43%!`xL z!w+wduAlthgw%oeLRGHc3%#O1Cq)rr?ZTthPg>$L(uUo}s26&mR>Eo(5-j8}XXny~ z`y0aFiEYNZ-hK~W52o+hF1u;|*$U&tv^B7QH-^9XA8fQza}{=;w>^J>e}lM&vrBgF KJ%}I1N&E+S3$-Z# literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-311.pyc b/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-311.pyc new file mode 100644 index 0000000000000000000000000000000000000000..f1a55dcb07021206811361383166c81801dda525 GIT binary patch literal 718 zcmY*X&1(}u6o0duHoCPz#J1O=^b*kBDxQi6YGX*yR!IFI1UBRDOEO`0XW5yiAEyfb z4_>`kk^VEO6ofrUz>~K?Z#_Ai7);-MzL|Ny-|x-Lx8-FAjFs0u;#UIjJ9lPQ_&2%i znaO7ep$Q=gEkT;ZjJB{MyJ-_Z(x07#FAKBa`7tbn3#S&qnQ2oaU;)~v#yOiUL31&* z8c<$5{^h)DRBJSlaff$lN2XN9g2x!hDB%KAnxwLifp#6IrYRmKQlX-{hjbdpgkT>8 zQl==Qkqq|*-WNDPK?f}5ldYIV7}9o|C5hkx(_F^ww!wR0$Re2{<+0(7CL4y`fOADV zhWs8?h)z%IL~VIqCcmX8g7oB+J-MHVm#ofj5EgshS*{ILT5{J#NXjE7j{*7zSTNpQIfQJI?u25 zjP=>;RQhi*Rs3P=zYLZ?#+*NKb4E8gy1Mardh<`xl0h|J3)Fkljcr26*ea6381n88 z5a;A(UPka>c)gCm`sDnCl^?J&Ty=+=wR5OnKz#`HQE7cxT0bvsT$DCWmhzI`GT?s! D%Q@Ev literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-312.pyc b/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-312.pyc new file mode 100644 index 0000000000000000000000000000000000000000..90bab3a1b13ca77dacfe6882f0ddc0f67c1e8ddf GIT binary patch literal 661 zcmY*XL2DC16rS0QP1)EWV(WDfF9Ew7!BY@HYz--zDyaw|u$k_>Y$ndmEIZTG^wyI< z!C&A(`cw2!Q4sbZig@s*dC1z+_cVTk5&B*vORFq` z`MwQaBZm5jVdeTN!-4R5#Y({5_0Y*wexrxu?o9%;*=Ri4g&XNQR=VEoW{!0 z7w>tm-64^ZBOa5H%7~JJONdmGase4hGc|$8_@37>1YV{}gC=GSq{LAn=)M3#HK8O? z>_EV#fGG$vr5QgfNtys7!y!#m!6Rz8lEb0x_t26hDg(l$YKkpalyj^7N%>d>fwK`PWN0cnCm9rM8ZSxnn);QU$)CM@p4 z3o`PJt)2Vb_HNkQ-rMVR+r9Ad?$)zM+eg>`UxKf}7%pSosOHr$v`WG-ca+YrlzRNg zj^P*GGuQIvRghDjDVci~$Y4Ydgvo0ch~J`lA?#1F1SigB(%Pw2cUmbeIK>z>% literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-39.pyc b/online-compiler/onlinecompiler/__pycache__/wsgi.cpython-39.pyc new file mode 100644 index 0000000000000000000000000000000000000000..27b01e614bc3530a58c070a8c2dee95d9c54b6c1 GIT binary patch literal 590 zcmZ8f!EO^V5cO`-CM*hBEw!47iq5p9T1lax z)U^>3EHzdyp!8{y3_XP}MmuoS&w+08n3U{70%eXeT5GUr+~-%)K}6Aj`NeUCI|sRr;SM6q$j_ zUZwllTwi*faWGO})u4QK=_-*Wzi}#L)QiH?3VhML6e+a1q?}e&duM;{&fl7)Z#M*@?8$D@>ZKO?g8zW!nfLaNwRY)+A!;CGZ z4-dD9e-PWOb?yF)-W}xU4y?vGw&;Bxob3gbk6%q+u^=J!?o4;%i}T!rrI V%^u$1e<7}muKl1JKZ+m6e*rn&y@>z- literal 0 HcmV?d00001 diff --git a/online-compiler/onlinecompiler/asgi.py b/online-compiler/onlinecompiler/asgi.py new file mode 100644 index 0000000..11273da --- /dev/null +++ b/online-compiler/onlinecompiler/asgi.py @@ -0,0 +1,16 @@ +""" +ASGI config for onlinecompiler project. + +It exposes the ASGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/asgi/ +""" + +import os + +from django.core.asgi import get_asgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'onlinecompiler.settings') + +application = get_asgi_application() diff --git a/online-compiler/onlinecompiler/settings.py b/online-compiler/onlinecompiler/settings.py new file mode 100644 index 0000000..826e535 --- /dev/null +++ b/online-compiler/onlinecompiler/settings.py @@ -0,0 +1,128 @@ +""" +Django settings for onlinecompiler project. + +Generated by 'django-admin startproject' using Django 4.0.5. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/topics/settings/ + +For the full list of settings and their values, see +https://docs.djangoproject.com/en/4.0/ref/settings/ +""" + +from pathlib import Path + +# Build paths inside the project like this: BASE_DIR / 'subdir'. +BASE_DIR = Path(__file__).resolve().parent.parent + + +# Quick-start development settings - unsuitable for production +# See https://docs.djangoproject.com/en/4.0/howto/deployment/checklist/ + +# SECURITY WARNING: keep the secret key used in production secret! +SECRET_KEY = 'django-insecure-)g(vi0cse)^t#rm0%=(m(tob+x%z#*_zl3s0ni74m9i5cx%%+c' + +# SECURITY WARNING: don't run with debug turned on in production! +DEBUG = True + +ALLOWED_HOSTS = ['compilery.herokuapp.com', "localhost", "127.0.0.1"] + + +# Application definition + +INSTALLED_APPS = [ + 'django.contrib.admin', + 'django.contrib.auth', + 'django.contrib.contenttypes', + 'django.contrib.sessions', + 'django.contrib.messages', + 'django.contrib.staticfiles', + 'corsheaders' +] + +MIDDLEWARE = [ + 'django.middleware.security.SecurityMiddleware', + 'django.contrib.sessions.middleware.SessionMiddleware', + 'corsheaders.middleware.CorsMiddleware', + 'django.middleware.common.CommonMiddleware', + 'django.middleware.csrf.CsrfViewMiddleware', + 'django.contrib.auth.middleware.AuthenticationMiddleware', + 'django.contrib.messages.middleware.MessageMiddleware', + 'django.middleware.clickjacking.XFrameOptionsMiddleware', +] + +ROOT_URLCONF = 'onlinecompiler.urls' + +TEMPLATES = [ + { + 'BACKEND': 'django.template.backends.django.DjangoTemplates', + 'DIRS': [], + 'APP_DIRS': True, + 'OPTIONS': { + 'context_processors': [ + 'django.template.context_processors.debug', + 'django.template.context_processors.request', + 'django.contrib.auth.context_processors.auth', + 'django.contrib.messages.context_processors.messages', + ], + }, + }, +] + +WSGI_APPLICATION = 'onlinecompiler.wsgi.application' + + +# Database +# https://docs.djangoproject.com/en/4.0/ref/settings/#databases + +DATABASES = { + 'default': { + 'ENGINE': 'django.db.backends.sqlite3', + 'NAME': BASE_DIR / 'db.sqlite3', + } +} + + +# Password validation +# https://docs.djangoproject.com/en/4.0/ref/settings/#auth-password-validators + +AUTH_PASSWORD_VALIDATORS = [ + { + 'NAME': 'django.contrib.auth.password_validation.UserAttributeSimilarityValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.MinimumLengthValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.CommonPasswordValidator', + }, + { + 'NAME': 'django.contrib.auth.password_validation.NumericPasswordValidator', + }, +] + + +# Internationalization +# https://docs.djangoproject.com/en/4.0/topics/i18n/ + +LANGUAGE_CODE = 'en-us' + +TIME_ZONE = 'UTC' + +USE_I18N = True + +USE_TZ = True + + +# Static files (CSS, JavaScript, Images) +# https://docs.djangoproject.com/en/4.0/howto/static-files/ + +STATIC_URL = 'static/' + +# Default primary key field type +# https://docs.djangoproject.com/en/4.0/ref/settings/#default-auto-field + +DEFAULT_AUTO_FIELD = 'django.db.models.BigAutoField' + +CORS_ALLOW_ALL_ORIGINS = True # If this is used then `CORS_ALLOWED_ORIGINS` will not have any effect +CORS_ALLOW_CREDENTIALS = True diff --git a/online-compiler/onlinecompiler/urls.py b/online-compiler/onlinecompiler/urls.py new file mode 100644 index 0000000..c775380 --- /dev/null +++ b/online-compiler/onlinecompiler/urls.py @@ -0,0 +1,22 @@ +"""onlinecompiler URL Configuration + +The `urlpatterns` list routes URLs to views. For more information please see: + https://docs.djangoproject.com/en/4.0/topics/http/urls/ +Examples: +Function views + 1. Add an import: from my_app import views + 2. Add a URL to urlpatterns: path('', views.home, name='home') +Class-based views + 1. Add an import: from other_app.views import Home + 2. Add a URL to urlpatterns: path('', Home.as_view(), name='home') +Including another URLconf + 1. Import the include() function: from django.urls import include, path + 2. Add a URL to urlpatterns: path('blog/', include('blog.urls')) +""" +from django.contrib import admin +from django.urls import path, include + +urlpatterns = [ + path('admin/', admin.site.urls), + path('compiler/', include("compiler.urls")) +] diff --git a/online-compiler/onlinecompiler/wsgi.py b/online-compiler/onlinecompiler/wsgi.py new file mode 100644 index 0000000..7322779 --- /dev/null +++ b/online-compiler/onlinecompiler/wsgi.py @@ -0,0 +1,16 @@ +""" +WSGI config for onlinecompiler project. + +It exposes the WSGI callable as a module-level variable named ``application``. + +For more information on this file, see +https://docs.djangoproject.com/en/4.0/howto/deployment/wsgi/ +""" + +import os + +from django.core.wsgi import get_wsgi_application + +os.environ.setdefault('DJANGO_SETTINGS_MODULE', 'onlinecompiler.settings') + +application = get_wsgi_application() diff --git a/online-compiler/python b/online-compiler/python new file mode 100644 index 0000000..e69de29 diff --git a/online-compiler/requirements.txt b/online-compiler/requirements.txt new file mode 100644 index 0000000..59ed872 --- /dev/null +++ b/online-compiler/requirements.txt @@ -0,0 +1,7 @@ +django +django-cors +django-cors-headers +transformers +sentence_transformers +PySastrawi +nltk \ No newline at end of file