From a9de237e87524aa51a615392ca80507f98d6c424 Mon Sep 17 00:00:00 2001 From: ocaanng Date: Sat, 10 Jun 2023 20:02:09 +0800 Subject: [PATCH 1/2] Kumpul tugas prak --- src/H071221088/Pertemuan_6/No1.java | 99 ++++ src/H071221088/Pertemuan_6/No2.java | 12 + src/H071221088/Pertemuan_6/No3.plantuml | 55 +++ src/H071221088/Pertemuan_7/No1.java | 104 ++++ src/H071221088/Pertemuan_7/No2.java | 40 ++ src/H071221088/Pertemuan_7/No3/Burger.java | 12 + src/H071221088/Pertemuan_7/No3/Food.java | 5 + .../Pertemuan_7/No3/FoodFactory.java | 15 + src/H071221088/Pertemuan_7/No3/Main.java | 21 + src/H071221088/Pertemuan_7/No3/Pizza.java | 11 + .../Pertemuan_7/No3/Restaurant.java | 12 + src/H071221088/Pertemuan_7/No3/Steak.java | 12 + src/H071221088/Pertemuan_8/AppRacer.java | 197 ++++++++ .../Pertemuan_8/TugasPraktikum.java | 101 ++++ src/H071221088/Pertemuan_9/.gitattributes | 9 + src/H071221088/Pertemuan_9/.gitignore | 5 + .../Pertemuan_9/.vscode/settings.json | 3 + .../app/bin/main/kalkulator2/styles.css | 18 + src/H071221088/Pertemuan_9/app/build.gradle | 34 ++ .../app/src/main/java/kalkulator2/App.java | 462 ++++++++++++++++++ .../app/src/main/java/kalkulator2/styles.css | 18 + .../Pertemuan_9/app/src/resource/img/bg.jpg | Bin 0 -> 104973 bytes .../app/src/resource/img/calcu.png | Bin 0 -> 33908 bytes .../app/src/resource/img/cursor.png | Bin 0 -> 1599 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + src/H071221088/Pertemuan_9/gradlew | 244 +++++++++ src/H071221088/Pertemuan_9/gradlew.bat | 92 ++++ src/H071221088/Pertemuan_9/settings.gradle | 11 + 28 files changed, 1598 insertions(+) create mode 100644 src/H071221088/Pertemuan_6/No1.java create mode 100644 src/H071221088/Pertemuan_6/No2.java create mode 100644 src/H071221088/Pertemuan_6/No3.plantuml create mode 100644 src/H071221088/Pertemuan_7/No1.java create mode 100644 src/H071221088/Pertemuan_7/No2.java create mode 100644 src/H071221088/Pertemuan_7/No3/Burger.java create mode 100644 src/H071221088/Pertemuan_7/No3/Food.java create mode 100644 src/H071221088/Pertemuan_7/No3/FoodFactory.java create mode 100644 src/H071221088/Pertemuan_7/No3/Main.java create mode 100644 src/H071221088/Pertemuan_7/No3/Pizza.java create mode 100644 src/H071221088/Pertemuan_7/No3/Restaurant.java create mode 100644 src/H071221088/Pertemuan_7/No3/Steak.java create mode 100644 src/H071221088/Pertemuan_8/AppRacer.java create mode 100644 src/H071221088/Pertemuan_8/TugasPraktikum.java create mode 100644 src/H071221088/Pertemuan_9/.gitattributes create mode 100644 src/H071221088/Pertemuan_9/.gitignore create mode 100644 src/H071221088/Pertemuan_9/.vscode/settings.json create mode 100644 src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css create mode 100644 src/H071221088/Pertemuan_9/app/build.gradle create mode 100644 src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java create mode 100644 src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/calcu.png create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png create mode 100644 src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties create mode 100644 src/H071221088/Pertemuan_9/gradlew create mode 100644 src/H071221088/Pertemuan_9/gradlew.bat create mode 100644 src/H071221088/Pertemuan_9/settings.gradle diff --git a/src/H071221088/Pertemuan_6/No1.java b/src/H071221088/Pertemuan_6/No1.java new file mode 100644 index 0000000..191b22e --- /dev/null +++ b/src/H071221088/Pertemuan_6/No1.java @@ -0,0 +1,99 @@ + +abstract class Dog { + int position; + int averageLenght; + abstract void move(); + abstract void describe(); +} + +class Pitbull extends Dog { + + @Override + void move() { + position=3; + System.out.println("Pitbull bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("Pitbull biasanya memiliki otot yang kekar"); + } + +} + +class siberianHusky extends Dog { + + @Override + void move() { + position=2; + System.out.println("Siberian Husky bergerak " + position + " langkah"); + } + + @Override + void describe() { + System.out.println("Siberian Husky biasanya terlihat seperti serigala"); + } + +} + +class Bulldog extends Dog { + + @Override + void move() { + position=1; + System.out.println("Bulldog bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("Bulldog memiliki tubuh yang kecil atau pendek"); + } + +} + +class germanShepherd extends Dog { + + @Override + void move() { + position=3; + System.out.println("German Shepherd bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("German Shepherd memiliki berat antara 34-43kg"); + } + +} + +interface SC { + void move(); +} + +class Smartphone implements SC { + int price; + String brand; + + public Smartphone(int price, String brand) { + this.price = price; + this.brand = brand; + } + public void move() { + System.out.println("Smartphone berpindah"); + } +} + +class Car implements SC { + int totalForwardGear; + String color; + int maxSpeed; + + public Car(int totalForwardGear, String color, int maxSpeed) { + this.totalForwardGear = totalForwardGear; + this.color = color; + this.maxSpeed = maxSpeed; + } + public void move() { + System.out.println("Mobil sedang berakselerasi"); + } +} diff --git a/src/H071221088/Pertemuan_6/No2.java b/src/H071221088/Pertemuan_6/No2.java new file mode 100644 index 0000000..cbb85ec --- /dev/null +++ b/src/H071221088/Pertemuan_6/No2.java @@ -0,0 +1,12 @@ +public class No2 { + public static void main(String[] args) { + Smartphone hp = new Smartphone(500, "Iphone"); + hp.move(); + Car oto = new Car(1, "black", 168); + oto.move(); + siberianHusky ajg = new siberianHusky(); + ajg.move(); + ajg.describe(); + } + +} diff --git a/src/H071221088/Pertemuan_6/No3.plantuml b/src/H071221088/Pertemuan_6/No3.plantuml new file mode 100644 index 0000000..aa99e97 --- /dev/null +++ b/src/H071221088/Pertemuan_6/No3.plantuml @@ -0,0 +1,55 @@ +@startum diagram + +Dog <-- Pitbull +Dog <-- siberianHusky +Dog <-- Bulldog +Dog <-- germanShepherd + +class Dog { + {static} #position : int + {static} #averageLenght : int + + move() : void + + describe() : void +} + +class Pitbull { + + move() : void + + describe() : void +} + +class siberianHusky { + + move() : void + + describe() : void +} + +class Bulldog { + + move() : void + + describe() : void +} + +class germanShepherd { + + move() : void + + describe() : void +} + +SC <-- Smartphone +SC <-- Car + +class SC { + + move() : void +} + +class Smartphone { + {static} #price : int + {static} #brand : string + + move() : void +} + +class Car { + {static} #totalForwardGear : int + {static} #color : string + {static} #maxSpeed : int + + move() : void +} + +@endum diagram \ No newline at end of file diff --git a/src/H071221088/Pertemuan_7/No1.java b/src/H071221088/Pertemuan_7/No1.java new file mode 100644 index 0000000..822c38c --- /dev/null +++ b/src/H071221088/Pertemuan_7/No1.java @@ -0,0 +1,104 @@ +abstract class Character { + protected String name ; + protected int attackPower; + + public String getName() { + return name; + } + + public int getAttackPower() { + return attackPower; + } + + public Character(String name, int attackPower) { + this.name = name; + this.attackPower = attackPower; + } + + abstract int attack(); // bertujuan untuk mengatur serangan karakter + + abstract int attack(String attackType); // bertujuan untuk mengatur serangan karakter dengan jenis serangan tertentu, yang ditentukan oleh parameter attackType. +} + +class Fighter extends Character { + + public Fighter(String name, int attackPower) { + super(name, attackPower); + } + + @Override + int attack() { + return attackPower; + } + + @Override + int attack(String attackType) { + int AP = attackPower; + if (attackType.equals("melee")) { + AP = attackPower * 2; + } else if (attackType.equals("ranged")) { + AP = attackPower; + } + return AP; + } + +} + +class Mage extends Character { + + public Mage(String name, int attackPower) { + super(name, attackPower); + } + + @Override + int attack() { + return attackPower; + } + + @Override + int attack(String attackType) { + int kekuatanSerangan = attackPower; + if (attackType.equals("fire")) { + kekuatanSerangan = attackPower * 3 ; + } else if (attackType.equals("frost")) { + kekuatanSerangan = attackPower* 2 ; + } + return kekuatanSerangan; + } + +} + +public class No1 { + public static void printAttack(Character character) { + System.out.println("Nama : " + character.getName()); + System.out.println("ATTAC INFORMATION"); + System.out.println("Attack Power : " + character.attackPower); + if (character instanceof Fighter) { + System.out.println("Melee : " + character.attack("Melee")); + System.out.println("Ranged : " + character.attack("Ranged")); + } else if (character instanceof Mage) { + System.out.println("Fire : " + character.attack("Fire")); + System.out.println("Frost : " + character.attack("Frost")); + } + } + public static void main(String[] args) { + Fighter fighter = new Fighter("Ocang", 10); + Mage mage = new Mage("Fikry", 100); + Fighter faikter = new Fighter("Mayko", 1000); + Fighter petarung = new Fighter("Fylo", 10000); + Mage magee = new Mage("Delfa", 100000); + + Character[] hero = new Character[5]; + hero[0] = fighter; + hero[1] = mage; + hero[2] = faikter; + hero[3] = petarung; + hero[4] = magee; + + + for (Character i : hero) { // membuat perulangan untuk mengeluarkan objek2 yang ada pada list hero. objek2 tsb mau d print informasi ttg attack powernya, jdi dipanggil method print attack. + printAttack(i);// main, karena method static itu menempel pada kelasnya. + System.out.println(""); + } + } +} diff --git a/src/H071221088/Pertemuan_7/No2.java b/src/H071221088/Pertemuan_7/No2.java new file mode 100644 index 0000000..cc61f12 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No2.java @@ -0,0 +1,40 @@ +class Product { + protected String nama; + protected T harga; + protected String expire; + public String getNama() { + return nama; + } + public void setNama(String nama) { + this.nama = nama; + } + public T getHarga() { + return harga; + } + public void setHarga(T harga) { + this.harga = harga; + } + public String getExpire() { + return expire; + } + public void setExpire(String expire) { + this.expire = expire; + } + public Product(String nama, T harga, String expire) { + this.nama = nama; + this.harga = harga; + this.expire = expire; + } +} + +public class No2 { + public static void main(String[] args) { + Product product = new Product<>("Kinderjoy", 10000, "2023-05-01"); + Product productLagi = new Product<>("Sari Roti", "Rp 15.00", "2023-05-20"); + Product productLagiLagi = new Product<>("Susu Kurma", 7.5, "2023-06-01"); + + System.out.println(product.getNama() + " - " + product.getHarga() + " - " + product.getExpire()); + System.out.println(productLagi.getNama() + " - " + productLagi.getHarga() + " - " + productLagi.getExpire()); + System.out.println(productLagiLagi.getNama() + " - " + productLagiLagi.getHarga() + " - " + productLagiLagi.getExpire()); + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Burger.java b/src/H071221088/Pertemuan_7/No3/Burger.java new file mode 100644 index 0000000..c3dbeba --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Burger.java @@ -0,0 +1,12 @@ +package No3; + +public class Burger implements Food{ + protected int harga; + + @Override + public int getPrice() { + return 1000000; + } + + +} diff --git a/src/H071221088/Pertemuan_7/No3/Food.java b/src/H071221088/Pertemuan_7/No3/Food.java new file mode 100644 index 0000000..bc20937 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Food.java @@ -0,0 +1,5 @@ +package No3; + +interface Food { + int getPrice(); +} diff --git a/src/H071221088/Pertemuan_7/No3/FoodFactory.java b/src/H071221088/Pertemuan_7/No3/FoodFactory.java new file mode 100644 index 0000000..9366301 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/FoodFactory.java @@ -0,0 +1,15 @@ +package No3; + +public class FoodFactory { + static Food getFood(String food) { // bertipe data "Food" karena mengembalikan objek makanan yang sesuai jenisnya (sesuai perintah soal) + Food makanan = null; // nilai default + if (food.equals("burger")) { + makanan = new Burger(); + } else if (food.equals("pizza")) { + makanan = new Pizza(); + } else if (food.equals("steak")) { + makanan = new Steak(); + } + return makanan; + } +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_7/No3/Main.java b/src/H071221088/Pertemuan_7/No3/Main.java new file mode 100644 index 0000000..a3af62a --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Main.java @@ -0,0 +1,21 @@ +package No3; + +import java.util.List; +import java.util.ArrayList; + +public class Main { + public static void main(String[] args) { + Food burger = FoodFactory.getFood("burger"); + Food pizza = FoodFactory.getFood("pizza"); + Food steak = FoodFactory.getFood("steak"); + + List foods = new ArrayList<>(); + foods.add(burger); + foods.add(pizza); + foods.add(steak); + + int total = Restaurant.calculateTotal(foods); + + System.out.println("Total price: " + total); + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Pizza.java b/src/H071221088/Pertemuan_7/No3/Pizza.java new file mode 100644 index 0000000..ebce45c --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Pizza.java @@ -0,0 +1,11 @@ +package No3; + +public class Pizza implements Food { + protected int harga; + + @Override + public int getPrice() { + return 12000000; + } + +} diff --git a/src/H071221088/Pertemuan_7/No3/Restaurant.java b/src/H071221088/Pertemuan_7/No3/Restaurant.java new file mode 100644 index 0000000..77d8e81 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Restaurant.java @@ -0,0 +1,12 @@ +package No3; +import java.util.List; + +public class Restaurant { + static int calculateTotal(List listMakanan) { + int totalPrice = 0; + for (Food i : listMakanan) { // perulangan untuk mengeluarkan objek-objeknya, i itu adalah objek-objek nya (burger,dll) + totalPrice += i.getPrice(); + } + return totalPrice; + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Steak.java b/src/H071221088/Pertemuan_7/No3/Steak.java new file mode 100644 index 0000000..158fe4a --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Steak.java @@ -0,0 +1,12 @@ +package No3; + +public class Steak implements Food{ + protected int harga; + + @Override + public int getPrice() { + return 18000000; + } + + +} diff --git a/src/H071221088/Pertemuan_8/AppRacer.java b/src/H071221088/Pertemuan_8/AppRacer.java new file mode 100644 index 0000000..5468cc1 --- /dev/null +++ b/src/H071221088/Pertemuan_8/AppRacer.java @@ -0,0 +1,197 @@ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Random; + +public class AppRacer { + public static void main(String[] args) throws InterruptedException { + Tes typeRacer = new Tes(); + typeRacer.setNewWordsToType(); + System.out.println("|| Text to Type ||"); + System.out.println("\"" + typeRacer.getWordsToType() + "\""); + + Typer[] typers = new Typer[3]; + + typers[0] = new Typer("Bot Mansur", 40, typeRacer); + typers[1] = new Typer("Bot ToKu", 32, typeRacer); + typers[2] = new Typer("Bot Yukiao", 30, typeRacer); + + typeRacer.getRaceContestant().addAll(Arrays.asList(typers)); + + typeRacer.startRace(); + } +} + +class Typer extends Thread { + private String botName, wordsTyped; + private double wpm; + private Tes typeRacer; + + public Typer(String botName, double wpm, Tes typeRacer) { + this.botName = botName; + this.wpm = wpm; + this.wordsTyped = ""; + this.typeRacer = typeRacer; + } + + public void setBotName(String botName) { + this.botName = botName; + } + + public void setWpm(int wpm) { + this.wpm = wpm; + } + + public void addWordTyped(String newWordsTyped) { + this.wordsTyped += newWordsTyped + " "; + } + + public String getWordsTyped() { + return wordsTyped; + } + + public String getBotName() { + return botName; + } + + public double getWpm() { + return wpm; + } + + @Override + public void run() { + + String[] wordsToType = typeRacer.getWordsToType().split(" "); + + // TODO (1): Buatlah variable howLongToType yang memuat waktu yang diperlukan + // typer + // untuk menulis 1 kata dalam milisecond + int howLongToType = (int) Math.floor(((60 / this.wpm)) * 1000); + + // TODO (2): Buatlah perulangan untuk menambahkan kata dengan method + // addWordToTyped setelah interval waktu sebanyak howLongToType + for (int i = 0; i < wordsToType.length; i++) { + try { + Thread.sleep(howLongToType); + addWordTyped(wordsToType[i]); + } catch (InterruptedException e) { + System.out.println("Error: " + this.botName); + } + } + + this.addWordTyped("(selesai)"); + // TODO (3): menambahkan typer yang telah selesai mengetik semua kata ke list + // typeRaceTabel yang ada di class typeRacer + typeRacer.addResult(new Result(botName, howLongToType * wordsToType.length)); + } +} + +class Result { + private String name; + private int finishTime; + + public Result(String name, int finishTime) { + this.name = name; + this.finishTime = finishTime; + } + + public String getName() { + return name; + } + + public void setName(String racerName) { + this.name = racerName; + } + + public int getFinishTime() { + return finishTime; + } + + public void setFinishTime(int racerTime) { + this.finishTime = racerTime; + } +} + +class Tes { + private String wordsToType; + private ArrayList raceContestant = new ArrayList<>(); + private ArrayList raceStanding = new ArrayList<>(); + + public String getWordsToType() { + return wordsToType; + } + + public ArrayList getRaceContestant() { + return raceContestant; + } + + // Word by Yusuf Syam, Silahkan diubah jika dirasa kurang bijak + private String[] wordsToTypeList = { + "Menuju tak terbatas dan melampauinya", + "Kehidupan adalah perjalanan yang penuh dengan lika-liku. Jadikan setiap tantangan sebagai kesempatan untuk tumbuh dan berkembang", + "Cinta sejati adalah ketika dua jiwa saling melengkapi, memberi dukungan dan menginspirasi satu sama lain untuk menjadi yang terbaik", + "Hidup adalah anugerah yang berharga. Nikmati setiap momen dan hargai kebahagiaan sederhana di sekitar kita", + "Perubahan adalah satu-satunya konstanta dalam hidup. Yang bertahan adalah mereka yang dapat beradaptasi dengan fleksibilitas", + "Kebersamaan adalah fondasi yang kuat dalam membangun hubungan yang langgeng dan bermakna", + "Masa depan adalah milik mereka yang memiliki imajinasi, tekad, dan kerja keras untuk mewujudkan visi mereka", + "Ketika kita berbagi dengan orang lain, kita tidak hanya mengurangi beban mereka, tetapi juga memperkaya hati kita sendiri", + "Kesuksesan sejati adalah ketika kita mencapai tujuan kita sambil tetap mempertahankan integritas dan empati terhadap orang lain", + "Rasa syukur adalah kunci untuk mengalami kebahagiaan yang sejati dalam hidup. Mencintai apa yang kita miliki adalah kunci kepuasan yang tak ternilai", + }; + + public void setNewWordsToType() { + Random random = new Random(); + int angkaRandom = random.nextInt(10); + wordsToType = wordsToTypeList[angkaRandom]; + } + + // TODO (4) : Buat method addResult yang mana digunakan untuk menambahkan typer + // yangtelah selesai (mengetik semua kata), ke dalam list race standing. + public synchronized void addResult(Result result) { + raceStanding.add(result); + } + + public void printRaceStanding() { + System.out.println("\nKlasemen Akhir Type Racer"); + System.out.println("=========================\n"); + + // TODO (5) : Tampilkan klasemen akhir dari kompetisi, dengan format + // {posisi}. {nama} = {waktu penyelesaian dalam detik} detik + int index = 1; + + for (Result result : raceStanding) { + System.out.printf("%d. %s - %.2f detik\n", index, result.getName(), + result.getFinishTime() / 1000.0); + index += 1; + } + } + + public void startRace() throws InterruptedException { + // TODO (6) : jalankan kompetisi + for (Typer racer : raceContestant) { + racer.start(); + } + + // TODO (7) : selaman semua peserta belum selesai, maka tampilkan + // SS + // Setiap 2 detik + while (raceContestant.size() != raceStanding.size()) { + Thread.sleep(2000); + System.out.println("\nTyping Progress ..."); + System.out.println("================\n"); + + for (Typer racer : raceContestant) { + System.out.printf("- %s\t=> %s\n", racer.getBotName(), racer.getWordsTyped()); + System.out.println("-".repeat(100)); + } + + System.out.println("\n" + "#".repeat(100)); + } + + // TODO (8) : Tampilkan race standing setelah semua typer selesai + for (Typer racer : raceContestant) { + racer.join(); + } + + printRaceStanding(); + } +} diff --git a/src/H071221088/Pertemuan_8/TugasPraktikum.java b/src/H071221088/Pertemuan_8/TugasPraktikum.java new file mode 100644 index 0000000..4864cd0 --- /dev/null +++ b/src/H071221088/Pertemuan_8/TugasPraktikum.java @@ -0,0 +1,101 @@ +package no3; + +import java.util.Random; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +public class TugasPraktikum { + + public static void main(String[] args) { + int numData = 4; + + UiThread uiThread = new UiThread(numData); + + ExecutorService executor = Executors.newFixedThreadPool(3); + + uiThread.start(); + + for (int i = 0; i < numData; i++) { + executor.execute(new BackgroundThread(uiThread, TaskTimeHelper.generateRandomTimeExecution())); + } + executor.shutdown(); + } +} + +class UiThread extends Thread { + private int numBackgroundThreads; + private int numThreadsSuccess = 0; + private int numThreadsFailed = 0; + private int timeExecution = 0; + + public UiThread(int numBackgroundThreads) { + this.numBackgroundThreads = numBackgroundThreads; + } + + public void run() { + System.out.println("Start load " + numBackgroundThreads + " Data"); + while ((numThreadsSuccess + numThreadsFailed) < numBackgroundThreads) { + try { + Thread.sleep(1000); + timeExecution++; + System.out.printf("Loading... (%ds)\n", timeExecution); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println("\nTask Finish."); + System.out.println("Time Execution : " + timeExecution + "s"); + if (numThreadsFailed == 0) { + System.out.println("All data is successfully loaded"); + } else if (numThreadsSuccess == 0) { + System.out.println("All data failed to load"); + } else { + System.out.println( + numThreadsSuccess + " Data Successfully loaded & " + numThreadsFailed + " Data failed to load"); + } + } + + public synchronized void incrementNumThreadsSuccess() { + this.numThreadsSuccess++; + } + + public synchronized void incrementNumThreadsFailed() { + this.numThreadsFailed++; + } +} + +class BackgroundThread extends Thread { + private UiThread uiThread; + private int timeExecution; + + public BackgroundThread(UiThread uiThread, int timeExecution) { + this.uiThread = uiThread; + this.timeExecution = timeExecution; + } + + public void run() { + try { + for (int i = 1; i <= timeExecution; i++) { + TimeUnit.SECONDS.sleep(1); + if (i * 1000 > 2000) { + System.out.println("Request Timeout"); + uiThread.incrementNumThreadsFailed(); + return; + } + } + uiThread.incrementNumThreadsSuccess(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + +} + +class TaskTimeHelper { + static int generateRandomTimeExecution() { + Random random = new Random(); + int randomNumber = random.nextInt(6) + 1; + return randomNumber; + } +} diff --git a/src/H071221088/Pertemuan_9/.gitattributes b/src/H071221088/Pertemuan_9/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/src/H071221088/Pertemuan_9/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/src/H071221088/Pertemuan_9/.gitignore b/src/H071221088/Pertemuan_9/.gitignore new file mode 100644 index 0000000..1b6985c --- /dev/null +++ b/src/H071221088/Pertemuan_9/.gitignore @@ -0,0 +1,5 @@ +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build diff --git a/src/H071221088/Pertemuan_9/.vscode/settings.json b/src/H071221088/Pertemuan_9/.vscode/settings.json new file mode 100644 index 0000000..7b016a8 --- /dev/null +++ b/src/H071221088/Pertemuan_9/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css b/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css new file mode 100644 index 0000000..7245549 --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css @@ -0,0 +1,18 @@ +.animated-button { + -fx-background-color: #6b6cdd; + -fx-text-fill: white; + -fx-padding: 8px 36px; + -fx-background-radius: 20; + -fx-font-weight: bold; + -fx-cursor: hand; + -fx-transition: all 0.3s; +} + +.animated-button:hover { + -fx-background-color: #007bff; +} + +.animated-button:pressed { + -fx-translate-x: 5px; + -fx-translate-y: 5px; +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/build.gradle b/src/H071221088/Pertemuan_9/app/build.gradle new file mode 100644 index 0000000..391c8be --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'application' + id 'org.openjfx.javafxplugin' version '0.0.13' +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { + // Use JUnit Jupiter for testing. + testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1' + + // This dependency is used by the application. + implementation 'com.google.guava:guava:31.1-jre' +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +javafx { + version = "17" + modules = [ 'javafx.controls' ] +} + +application { + // Define the main class for the application. + mainClass = 'kalkulator2.App' +} diff --git a/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java new file mode 100644 index 0000000..22783df --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java @@ -0,0 +1,462 @@ +package kalkulator2; + +import java.text.DecimalFormat; +import javafx.application.Application; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.ImageCursor; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.layout.Background; +import javafx.scene.layout.BackgroundImage; +import javafx.scene.layout.BackgroundPosition; +import javafx.scene.layout.BackgroundRepeat; +import javafx.scene.layout.BackgroundSize; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; +import javafx.scene.image.*; +import javafx.scene.text.Font; +import javafx.scene.image.Image; + +public class App extends Application { + + private Stage stage; + + @Override + public void start(Stage primaryStage) throws Exception { + stage = primaryStage; + stage.setResizable(false); + stage.setTitle("Kalkulator"); + Image icon = new Image("resource//img//calcu.png"); + stage.getIcons().add(icon); + page1(); + + } + + private void page1() { + ImageView imageView = new ImageView(); + String imagePath = "resource//img//calcu.png"; + Image image = new Image(imagePath); + imageView.setImage(image); + imageView.setFitHeight(140); + imageView.setFitWidth(125); + + Label label = new Label("KALKULATOR"); + label.setFont(new Font(15)); + label.setStyle("-fx-font-weight: bold; -fx-font-family: Verdana; -fx-text-fill: #171986; -left: 100px; -right: 10px"); + + Button button = new Button("MULAI"); + // button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-text-fill: white; -fx-padding: 8px 36px; -fx-background-radius: 20; -fx-cursor: hand;"); + button.setOnAction(e -> page2()); + button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: #e3f8fb; -fx-padding: 8px 36px; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button.setOnMouseEntered(e -> { + button.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 36px; -fx-alignment: center;"); + }); + button.setOnMouseExited(e -> { + button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: #e3f8fb; -fx-padding: 8px 36px; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button.setOnAction(e -> page2()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox layout = new VBox(20); + + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT,BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + + layout.setBackground(background); + layout.setAlignment(Pos.CENTER); + layout.getChildren().addAll(imageView, label, button); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void page2() { + // membuat label dan tombol + Label label = new Label("PILIH MENU"); + label.setFont(new Font(20)); + label.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + Label label1 = new Label(" "); + label1.setFont(new Font(5)); + + Button button1 = new Button("KALKULATOR");; + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 85px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 20px 85px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 85px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> kalkulator()); + + Button button2 = new Button("KONVERSI UANG"); + button2.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 75px; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button2.setOnMouseEntered(e -> { + button2.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 20px 75px; -fx-alignment: center;"); + }); + button2.setOnMouseExited(e -> { + button2.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 75px; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button2.setOnAction(e -> convertS()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox layout = new VBox(15); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.getChildren().addAll(label1, label, button1, button2); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void kalkulator() { + // membuat Label + Label label1 = new Label(" "); + Label label2 = new Label("Kalkulator"); + Label label3 = new Label(" Hasil"); + Label label4 = new Label(" Result : "); + Label label5 = new Label(" "); + Label label6 = new Label(" "); + + label2.setFont(new Font(20)); + label2.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label3.setFont(new Font(18)); + label3.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label4.setFont(new Font(20)); + label4.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label5.setFont(new Font(20)); + label5.setStyle("-fx-font-family: Verdana;"); + label6.setFont(new Font(5)); + + // membuat TextField + TextField input1 = new TextField(); + input1.setPromptText("Input 1"); + TextField input2 = new TextField(); + input2.setPromptText("Input 2"); + + // membuat Button + Button button1 = new Button("Clear"); + button1.setFont(new Font(20)); + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 10px 25px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> { + input1.clear(); + input2.clear(); + label5.setText("");; + }); + + Button buttona = new Button("+"); + buttona.setFont(new Font(15)); + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttona.setOnMouseEntered(e -> { + buttona.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttona.setOnMouseExited(e -> { + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttona.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 + angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttonb = new Button("-"); + buttonb.setFont(new Font(15)); + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonb.setOnMouseEntered(e -> { + buttonb.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonb.setOnMouseExited(e -> { + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonb.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 - angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttonc = new Button("*"); + buttonc.setFont(new Font(15)); + buttonc.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonc.setOnMouseEntered(e -> { + buttonc.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonc.setOnMouseExited(e -> { + buttonc.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonc.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 * angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttond = new Button("/"); + buttond.setFont(new Font(15)); + buttond.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttond.setOnMouseEntered(e -> { + buttond.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttond.setOnMouseExited(e -> { + buttond.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttond.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1 / angka2; + if (hasil % 1 == 0) { + // Bilangan bulat (integer) + int hasilInt = (int) hasil; + String hasilText = String.valueOf(hasilInt); + label5.setText(hasilText); + } else { + // Bukan bilangan bulat (double) + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + } + // String hasilText = String.valueOf(hasil); + // label5.setText(hasilText); + }); + + Button button3 = new Button("Back to Home"); + button3.setFont(new Font(20)); + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button3.setOnMouseEntered(e -> { + button3.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 26px;; -fx-alignment: center;"); + }); + button3.setOnMouseExited(e -> { + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button3.setOnAction(e -> page2()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox vBox1 = new VBox(5, label1, label2); + vBox1.setAlignment(Pos.CENTER); + + VBox vBox2 = new VBox(5, label3); + + HBox hBox1 = new HBox(10, label4, label5); + + HBox hBox2 = new HBox(10, buttona, buttonb, buttonc, buttond); + hBox2.setAlignment(Pos.CENTER); + + HBox hBox4 = new HBox(10, label6); + hBox4.setAlignment(Pos.CENTER); + + HBox hBox3 = new HBox(10, button1); + hBox3.setAlignment(Pos.CENTER); + + VBox layout = new VBox(10); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.setPadding(new Insets(0, 20, 0, 20)); + layout.getChildren().addAll(vBox1, input1, input2, vBox2, hBox1, hBox2, hBox4, hBox3, button3); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void convertS() { + Label label2 = new Label(" "); + Label label1 = new Label("KONVERSI UANG"); + label1.setStyle("-fx-font-size: 20; -fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + Label label3 = new Label(" Hasil"); + Label label4 = new Label(" Result : "); + Label label5 = new Label(" "); + Label label6 = new Label(" "); + + label3.setFont(new Font(18)); + label3.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label4.setFont(new Font(20)); + label4.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label5.setFont(new Font(20)); + label5.setStyle("-fx-font-family: Verdana;"); + label6.setFont(new Font(5)); + + TextField input1 = new TextField(); + input1.setPromptText("Input jumlah uang"); + TextField input2 = new TextField(); + input2.setPromptText("Masukkan nilai kurs dollar"); + + Button button1 = new Button("Clear"); + button1.setFont(new Font(20)); + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 10px 25px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> { + input1.clear(); + input2.clear(); + label5.setText("");; + }); + + Button buttona = new Button("Rp. -> $"); + buttona.setFont(new Font(15)); + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttona.setOnMouseEntered(e -> { + buttona.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttona.setOnMouseExited(e -> { + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttona.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1 / angka2; + DecimalFormat decimalFormat = new DecimalFormat("#.###"); + if (hasil % 1 == 0) { + // Bilangan bulat (integer) + int hasilInt = (int) hasil; + String formattedNumber = decimalFormat.format(hasilInt); + String hasilText = String.valueOf(formattedNumber); + label5.setText("$" + hasilText); + + } else { + // Bukan bilangan bulat (double) + String formattedNumber = decimalFormat.format(hasil); + String hasilText = String.valueOf(formattedNumber); + label5.setText("$"+hasilText); + } + // String formattedNumber = decimalFormat.format(hasil); + // String hasilText = String.valueOf(formattedNumber); + // label5.setText(hasilText); + }); + + Button buttonb = new Button("$ -> Rp"); + buttonb.setFont(new Font(15)); + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonb.setOnMouseEntered(e -> { + buttonb.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonb.setOnMouseExited(e -> { + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonb.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1*angka2; + DecimalFormat decimalFormat = new DecimalFormat("#,###"); + String formattedNumber = decimalFormat.format(hasil); + String hasilText = String.valueOf(formattedNumber); + label5.setText("Rp."+hasilText); + }); + + Button button3 = new Button("Back to Home"); + button3.setFont(new Font(20)); + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button3.setOnMouseEntered(e -> { + button3.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 26px;; -fx-alignment: center;"); + }); + button3.setOnMouseExited(e -> { + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button3.setOnAction(e -> page2()); + + VBox vBox1 = new VBox(5, label2, label1); + vBox1.setAlignment(Pos.CENTER); + + VBox vBox2 = new VBox(5, label3); + + HBox hBox1 = new HBox(10, label4, label5); + + HBox hBox2 = new HBox(10, buttona, buttonb); + hBox2.setAlignment(Pos.CENTER); + + HBox hBox4 = new HBox(10, label6); + hBox4.setAlignment(Pos.CENTER); + + HBox hBox3 = new HBox(10, button1); + hBox3.setAlignment(Pos.CENTER); + + + VBox layout = new VBox(10); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.setPadding(new Insets(0, 20, 0, 20)); + layout.getChildren().addAll(vBox1, input1, input2, vBox2, hBox1, hBox2, hBox4, hBox3, button3); + + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + + + + + } + + public static void main(String[] args) { + launch(args); + } +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css new file mode 100644 index 0000000..7245549 --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css @@ -0,0 +1,18 @@ +.animated-button { + -fx-background-color: #6b6cdd; + -fx-text-fill: white; + -fx-padding: 8px 36px; + -fx-background-radius: 20; + -fx-font-weight: bold; + -fx-cursor: hand; + -fx-transition: all 0.3s; +} + +.animated-button:hover { + -fx-background-color: #007bff; +} + +.animated-button:pressed { + -fx-translate-x: 5px; + -fx-translate-y: 5px; +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg b/src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03e1b01dd9af8d412599fa2f201778905d83db2f GIT binary patch literal 104973 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
wD>bH^)YsR{A%Z;ZMHnqC^U06Y(?=4! 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 MJ!-n9)rP@1b26LclY3nyDfH?Jn#1pxIf;i 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 B{5t>u literal 0 HcmV?d00001 diff --git a/src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png b/src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..d1be33e5ad81275d1ff7e1a1b44c19b86f32d58b GIT binary patch literal 1599 zcmV-F2Eh4=P)f8708`IGobTrs^DNV~l-`>KxIr~aH!{nnJQV~{4hzs_4

l zfHwvPV!(72u@Ifq3<5KveX9w1WZkh_8!hunzT~)s^B(qyoq`w)IQake&#(}eIswpp z+E-jn{A{93XtUPby_23>x*rB7o^#(LSY{#G8DKyI|JN7=sv(HBsQtVk{i#CG#@F1H zGvC=;ZU{~J(ZkZBNmd3xoXO_^5XPtKQm0bww~6w1dH}5nQuF-x%FB&m<7z#FpaU#x zj`10Qf5;e4x3+IF4AV;i5M^-J-Bw4y!Z8>;S*l#Bvm2ubp2e0Xd&$u2z5GCT4` zn<(XMJxMyhIAj4n?MxyZrvQl3r1k*jS`WFI4h^3`#%HZ3d7u8&Mg+@Oi%&ViI~M@r zk6M=$e2t@DdjPAxI!}U)Db6oGI*Y8Yyxq={lkV|#j`&Um008Hz^v6}ZESG)icORYt)e50>1;u09_yR|T&4E&f>ha&O`MupqyZR=$;zfyOw%Y9 zS#6&${bBh7EPCCw|#N;`6>-RDJViq8O8h>LYew2Jlx8&fxX%6HC? zKo);k`@j=<+?;j96g{gcdhCKXeF6Z0Ia8NJU(i|5SC})Ge@tRh7HSY-5f-xM;N>>s z6|{^C4oztuHga~f*8w;VjnIANtIA7-y6)5Rm9M(?&^0n}=oHP|3!~>WSgY-B0M=?d z89H*dHg3R>$+!FVO@7X+0HL9{4}j=i>*dmK;7d0PE3Rwia!XISln(LfD=&JQg%x|x z5o6eRZJa48;|Dd}ye0rqMJs^D>C1QLw>CE;Z`U3DxU9AN>ODcs{`sdi058V4>@bCgG^nrU5Q-v_x^(?sl}f15qu_Il&9H5 z`J4AoHE^we0|2M%<970*Emvq-jY`dN34?G`8d`d2C)MG5b$330cQ~dIdqXw$Pqi=J zF0@@Q3DPHCxnBMk(bJZN=4=4atD(a!&)Wp~pj(|JN)CEAX1arltBD^k%75qpe&Yo> xlIc#e3XRdcC|}|QX=l+1;=Q+_9`%UP^e@I-O#T>uDL()J002ovPDHLkV1kBb<~{%b literal 0 HcmV?d00001 diff --git a/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties b/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..bdc9a83 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/src/H071221088/Pertemuan_9/gradlew b/src/H071221088/Pertemuan_9/gradlew new file mode 100644 index 0000000..79a61d4 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/src/H071221088/Pertemuan_9/gradlew.bat b/src/H071221088/Pertemuan_9/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/H071221088/Pertemuan_9/settings.gradle b/src/H071221088/Pertemuan_9/settings.gradle new file mode 100644 index 0000000..9b018f6 --- /dev/null +++ b/src/H071221088/Pertemuan_9/settings.gradle @@ -0,0 +1,11 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/8.0.2/userguide/multi_project_builds.html + */ + +rootProject.name = 'kalkulator' +include('app') From d6f1137e5d207928fd55719b52f60343f0178391 Mon Sep 17 00:00:00 2001 From: ocaanng Date: Sat, 10 Jun 2023 20:07:25 +0800 Subject: [PATCH 2/2] kumpul tugas prak --- src/H071221088/Pertemuan_6/No1.java | 99 ++++ src/H071221088/Pertemuan_6/No2.java | 12 + src/H071221088/Pertemuan_6/No3.plantuml | 55 +++ src/H071221088/Pertemuan_7/No1.java | 104 ++++ src/H071221088/Pertemuan_7/No2.java | 40 ++ src/H071221088/Pertemuan_7/No3/Burger.java | 12 + src/H071221088/Pertemuan_7/No3/Food.java | 5 + .../Pertemuan_7/No3/FoodFactory.java | 15 + src/H071221088/Pertemuan_7/No3/Main.java | 21 + src/H071221088/Pertemuan_7/No3/Pizza.java | 11 + .../Pertemuan_7/No3/Restaurant.java | 12 + src/H071221088/Pertemuan_7/No3/Steak.java | 12 + src/H071221088/Pertemuan_8/AppRacer.java | 197 ++++++++ .../Pertemuan_8/TugasPraktikum.java | 101 ++++ src/H071221088/Pertemuan_9/.gitattributes | 9 + src/H071221088/Pertemuan_9/.gitignore | 5 + .../Pertemuan_9/.vscode/settings.json | 3 + .../app/bin/main/kalkulator2/styles.css | 18 + src/H071221088/Pertemuan_9/app/build.gradle | 34 ++ .../app/src/main/java/kalkulator2/App.java | 462 ++++++++++++++++++ .../app/src/main/java/kalkulator2/styles.css | 18 + .../Pertemuan_9/app/src/resource/img/bg.jpg | Bin 0 -> 104973 bytes .../app/src/resource/img/calcu.png | Bin 0 -> 33908 bytes .../app/src/resource/img/cursor.png | Bin 0 -> 1599 bytes .../gradle/wrapper/gradle-wrapper.properties | 6 + src/H071221088/Pertemuan_9/gradlew | 244 +++++++++ src/H071221088/Pertemuan_9/gradlew.bat | 92 ++++ src/H071221088/Pertemuan_9/settings.gradle | 11 + 28 files changed, 1598 insertions(+) create mode 100644 src/H071221088/Pertemuan_6/No1.java create mode 100644 src/H071221088/Pertemuan_6/No2.java create mode 100644 src/H071221088/Pertemuan_6/No3.plantuml create mode 100644 src/H071221088/Pertemuan_7/No1.java create mode 100644 src/H071221088/Pertemuan_7/No2.java create mode 100644 src/H071221088/Pertemuan_7/No3/Burger.java create mode 100644 src/H071221088/Pertemuan_7/No3/Food.java create mode 100644 src/H071221088/Pertemuan_7/No3/FoodFactory.java create mode 100644 src/H071221088/Pertemuan_7/No3/Main.java create mode 100644 src/H071221088/Pertemuan_7/No3/Pizza.java create mode 100644 src/H071221088/Pertemuan_7/No3/Restaurant.java create mode 100644 src/H071221088/Pertemuan_7/No3/Steak.java create mode 100644 src/H071221088/Pertemuan_8/AppRacer.java create mode 100644 src/H071221088/Pertemuan_8/TugasPraktikum.java create mode 100644 src/H071221088/Pertemuan_9/.gitattributes create mode 100644 src/H071221088/Pertemuan_9/.gitignore create mode 100644 src/H071221088/Pertemuan_9/.vscode/settings.json create mode 100644 src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css create mode 100644 src/H071221088/Pertemuan_9/app/build.gradle create mode 100644 src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java create mode 100644 src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/calcu.png create mode 100644 src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png create mode 100644 src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties create mode 100644 src/H071221088/Pertemuan_9/gradlew create mode 100644 src/H071221088/Pertemuan_9/gradlew.bat create mode 100644 src/H071221088/Pertemuan_9/settings.gradle diff --git a/src/H071221088/Pertemuan_6/No1.java b/src/H071221088/Pertemuan_6/No1.java new file mode 100644 index 0000000..191b22e --- /dev/null +++ b/src/H071221088/Pertemuan_6/No1.java @@ -0,0 +1,99 @@ + +abstract class Dog { + int position; + int averageLenght; + abstract void move(); + abstract void describe(); +} + +class Pitbull extends Dog { + + @Override + void move() { + position=3; + System.out.println("Pitbull bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("Pitbull biasanya memiliki otot yang kekar"); + } + +} + +class siberianHusky extends Dog { + + @Override + void move() { + position=2; + System.out.println("Siberian Husky bergerak " + position + " langkah"); + } + + @Override + void describe() { + System.out.println("Siberian Husky biasanya terlihat seperti serigala"); + } + +} + +class Bulldog extends Dog { + + @Override + void move() { + position=1; + System.out.println("Bulldog bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("Bulldog memiliki tubuh yang kecil atau pendek"); + } + +} + +class germanShepherd extends Dog { + + @Override + void move() { + position=3; + System.out.println("German Shepherd bergerak " + position + "langkah"); + } + + @Override + void describe() { + System.out.println("German Shepherd memiliki berat antara 34-43kg"); + } + +} + +interface SC { + void move(); +} + +class Smartphone implements SC { + int price; + String brand; + + public Smartphone(int price, String brand) { + this.price = price; + this.brand = brand; + } + public void move() { + System.out.println("Smartphone berpindah"); + } +} + +class Car implements SC { + int totalForwardGear; + String color; + int maxSpeed; + + public Car(int totalForwardGear, String color, int maxSpeed) { + this.totalForwardGear = totalForwardGear; + this.color = color; + this.maxSpeed = maxSpeed; + } + public void move() { + System.out.println("Mobil sedang berakselerasi"); + } +} diff --git a/src/H071221088/Pertemuan_6/No2.java b/src/H071221088/Pertemuan_6/No2.java new file mode 100644 index 0000000..cbb85ec --- /dev/null +++ b/src/H071221088/Pertemuan_6/No2.java @@ -0,0 +1,12 @@ +public class No2 { + public static void main(String[] args) { + Smartphone hp = new Smartphone(500, "Iphone"); + hp.move(); + Car oto = new Car(1, "black", 168); + oto.move(); + siberianHusky ajg = new siberianHusky(); + ajg.move(); + ajg.describe(); + } + +} diff --git a/src/H071221088/Pertemuan_6/No3.plantuml b/src/H071221088/Pertemuan_6/No3.plantuml new file mode 100644 index 0000000..aa99e97 --- /dev/null +++ b/src/H071221088/Pertemuan_6/No3.plantuml @@ -0,0 +1,55 @@ +@startum diagram + +Dog <-- Pitbull +Dog <-- siberianHusky +Dog <-- Bulldog +Dog <-- germanShepherd + +class Dog { + {static} #position : int + {static} #averageLenght : int + + move() : void + + describe() : void +} + +class Pitbull { + + move() : void + + describe() : void +} + +class siberianHusky { + + move() : void + + describe() : void +} + +class Bulldog { + + move() : void + + describe() : void +} + +class germanShepherd { + + move() : void + + describe() : void +} + +SC <-- Smartphone +SC <-- Car + +class SC { + + move() : void +} + +class Smartphone { + {static} #price : int + {static} #brand : string + + move() : void +} + +class Car { + {static} #totalForwardGear : int + {static} #color : string + {static} #maxSpeed : int + + move() : void +} + +@endum diagram \ No newline at end of file diff --git a/src/H071221088/Pertemuan_7/No1.java b/src/H071221088/Pertemuan_7/No1.java new file mode 100644 index 0000000..822c38c --- /dev/null +++ b/src/H071221088/Pertemuan_7/No1.java @@ -0,0 +1,104 @@ +abstract class Character { + protected String name ; + protected int attackPower; + + public String getName() { + return name; + } + + public int getAttackPower() { + return attackPower; + } + + public Character(String name, int attackPower) { + this.name = name; + this.attackPower = attackPower; + } + + abstract int attack(); // bertujuan untuk mengatur serangan karakter + + abstract int attack(String attackType); // bertujuan untuk mengatur serangan karakter dengan jenis serangan tertentu, yang ditentukan oleh parameter attackType. +} + +class Fighter extends Character { + + public Fighter(String name, int attackPower) { + super(name, attackPower); + } + + @Override + int attack() { + return attackPower; + } + + @Override + int attack(String attackType) { + int AP = attackPower; + if (attackType.equals("melee")) { + AP = attackPower * 2; + } else if (attackType.equals("ranged")) { + AP = attackPower; + } + return AP; + } + +} + +class Mage extends Character { + + public Mage(String name, int attackPower) { + super(name, attackPower); + } + + @Override + int attack() { + return attackPower; + } + + @Override + int attack(String attackType) { + int kekuatanSerangan = attackPower; + if (attackType.equals("fire")) { + kekuatanSerangan = attackPower * 3 ; + } else if (attackType.equals("frost")) { + kekuatanSerangan = attackPower* 2 ; + } + return kekuatanSerangan; + } + +} + +public class No1 { + public static void printAttack(Character character) { + System.out.println("Nama : " + character.getName()); + System.out.println("ATTAC INFORMATION"); + System.out.println("Attack Power : " + character.attackPower); + if (character instanceof Fighter) { + System.out.println("Melee : " + character.attack("Melee")); + System.out.println("Ranged : " + character.attack("Ranged")); + } else if (character instanceof Mage) { + System.out.println("Fire : " + character.attack("Fire")); + System.out.println("Frost : " + character.attack("Frost")); + } + } + public static void main(String[] args) { + Fighter fighter = new Fighter("Ocang", 10); + Mage mage = new Mage("Fikry", 100); + Fighter faikter = new Fighter("Mayko", 1000); + Fighter petarung = new Fighter("Fylo", 10000); + Mage magee = new Mage("Delfa", 100000); + + Character[] hero = new Character[5]; + hero[0] = fighter; + hero[1] = mage; + hero[2] = faikter; + hero[3] = petarung; + hero[4] = magee; + + + for (Character i : hero) { // membuat perulangan untuk mengeluarkan objek2 yang ada pada list hero. objek2 tsb mau d print informasi ttg attack powernya, jdi dipanggil method print attack. + printAttack(i);// main, karena method static itu menempel pada kelasnya. + System.out.println(""); + } + } +} diff --git a/src/H071221088/Pertemuan_7/No2.java b/src/H071221088/Pertemuan_7/No2.java new file mode 100644 index 0000000..cc61f12 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No2.java @@ -0,0 +1,40 @@ +class Product { + protected String nama; + protected T harga; + protected String expire; + public String getNama() { + return nama; + } + public void setNama(String nama) { + this.nama = nama; + } + public T getHarga() { + return harga; + } + public void setHarga(T harga) { + this.harga = harga; + } + public String getExpire() { + return expire; + } + public void setExpire(String expire) { + this.expire = expire; + } + public Product(String nama, T harga, String expire) { + this.nama = nama; + this.harga = harga; + this.expire = expire; + } +} + +public class No2 { + public static void main(String[] args) { + Product product = new Product<>("Kinderjoy", 10000, "2023-05-01"); + Product productLagi = new Product<>("Sari Roti", "Rp 15.00", "2023-05-20"); + Product productLagiLagi = new Product<>("Susu Kurma", 7.5, "2023-06-01"); + + System.out.println(product.getNama() + " - " + product.getHarga() + " - " + product.getExpire()); + System.out.println(productLagi.getNama() + " - " + productLagi.getHarga() + " - " + productLagi.getExpire()); + System.out.println(productLagiLagi.getNama() + " - " + productLagiLagi.getHarga() + " - " + productLagiLagi.getExpire()); + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Burger.java b/src/H071221088/Pertemuan_7/No3/Burger.java new file mode 100644 index 0000000..c3dbeba --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Burger.java @@ -0,0 +1,12 @@ +package No3; + +public class Burger implements Food{ + protected int harga; + + @Override + public int getPrice() { + return 1000000; + } + + +} diff --git a/src/H071221088/Pertemuan_7/No3/Food.java b/src/H071221088/Pertemuan_7/No3/Food.java new file mode 100644 index 0000000..bc20937 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Food.java @@ -0,0 +1,5 @@ +package No3; + +interface Food { + int getPrice(); +} diff --git a/src/H071221088/Pertemuan_7/No3/FoodFactory.java b/src/H071221088/Pertemuan_7/No3/FoodFactory.java new file mode 100644 index 0000000..9366301 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/FoodFactory.java @@ -0,0 +1,15 @@ +package No3; + +public class FoodFactory { + static Food getFood(String food) { // bertipe data "Food" karena mengembalikan objek makanan yang sesuai jenisnya (sesuai perintah soal) + Food makanan = null; // nilai default + if (food.equals("burger")) { + makanan = new Burger(); + } else if (food.equals("pizza")) { + makanan = new Pizza(); + } else if (food.equals("steak")) { + makanan = new Steak(); + } + return makanan; + } +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_7/No3/Main.java b/src/H071221088/Pertemuan_7/No3/Main.java new file mode 100644 index 0000000..a3af62a --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Main.java @@ -0,0 +1,21 @@ +package No3; + +import java.util.List; +import java.util.ArrayList; + +public class Main { + public static void main(String[] args) { + Food burger = FoodFactory.getFood("burger"); + Food pizza = FoodFactory.getFood("pizza"); + Food steak = FoodFactory.getFood("steak"); + + List foods = new ArrayList<>(); + foods.add(burger); + foods.add(pizza); + foods.add(steak); + + int total = Restaurant.calculateTotal(foods); + + System.out.println("Total price: " + total); + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Pizza.java b/src/H071221088/Pertemuan_7/No3/Pizza.java new file mode 100644 index 0000000..ebce45c --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Pizza.java @@ -0,0 +1,11 @@ +package No3; + +public class Pizza implements Food { + protected int harga; + + @Override + public int getPrice() { + return 12000000; + } + +} diff --git a/src/H071221088/Pertemuan_7/No3/Restaurant.java b/src/H071221088/Pertemuan_7/No3/Restaurant.java new file mode 100644 index 0000000..77d8e81 --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Restaurant.java @@ -0,0 +1,12 @@ +package No3; +import java.util.List; + +public class Restaurant { + static int calculateTotal(List listMakanan) { + int totalPrice = 0; + for (Food i : listMakanan) { // perulangan untuk mengeluarkan objek-objeknya, i itu adalah objek-objek nya (burger,dll) + totalPrice += i.getPrice(); + } + return totalPrice; + } +} diff --git a/src/H071221088/Pertemuan_7/No3/Steak.java b/src/H071221088/Pertemuan_7/No3/Steak.java new file mode 100644 index 0000000..158fe4a --- /dev/null +++ b/src/H071221088/Pertemuan_7/No3/Steak.java @@ -0,0 +1,12 @@ +package No3; + +public class Steak implements Food{ + protected int harga; + + @Override + public int getPrice() { + return 18000000; + } + + +} diff --git a/src/H071221088/Pertemuan_8/AppRacer.java b/src/H071221088/Pertemuan_8/AppRacer.java new file mode 100644 index 0000000..5468cc1 --- /dev/null +++ b/src/H071221088/Pertemuan_8/AppRacer.java @@ -0,0 +1,197 @@ +import java.util.ArrayList; +import java.util.Arrays; +import java.util.Random; + +public class AppRacer { + public static void main(String[] args) throws InterruptedException { + Tes typeRacer = new Tes(); + typeRacer.setNewWordsToType(); + System.out.println("|| Text to Type ||"); + System.out.println("\"" + typeRacer.getWordsToType() + "\""); + + Typer[] typers = new Typer[3]; + + typers[0] = new Typer("Bot Mansur", 40, typeRacer); + typers[1] = new Typer("Bot ToKu", 32, typeRacer); + typers[2] = new Typer("Bot Yukiao", 30, typeRacer); + + typeRacer.getRaceContestant().addAll(Arrays.asList(typers)); + + typeRacer.startRace(); + } +} + +class Typer extends Thread { + private String botName, wordsTyped; + private double wpm; + private Tes typeRacer; + + public Typer(String botName, double wpm, Tes typeRacer) { + this.botName = botName; + this.wpm = wpm; + this.wordsTyped = ""; + this.typeRacer = typeRacer; + } + + public void setBotName(String botName) { + this.botName = botName; + } + + public void setWpm(int wpm) { + this.wpm = wpm; + } + + public void addWordTyped(String newWordsTyped) { + this.wordsTyped += newWordsTyped + " "; + } + + public String getWordsTyped() { + return wordsTyped; + } + + public String getBotName() { + return botName; + } + + public double getWpm() { + return wpm; + } + + @Override + public void run() { + + String[] wordsToType = typeRacer.getWordsToType().split(" "); + + // TODO (1): Buatlah variable howLongToType yang memuat waktu yang diperlukan + // typer + // untuk menulis 1 kata dalam milisecond + int howLongToType = (int) Math.floor(((60 / this.wpm)) * 1000); + + // TODO (2): Buatlah perulangan untuk menambahkan kata dengan method + // addWordToTyped setelah interval waktu sebanyak howLongToType + for (int i = 0; i < wordsToType.length; i++) { + try { + Thread.sleep(howLongToType); + addWordTyped(wordsToType[i]); + } catch (InterruptedException e) { + System.out.println("Error: " + this.botName); + } + } + + this.addWordTyped("(selesai)"); + // TODO (3): menambahkan typer yang telah selesai mengetik semua kata ke list + // typeRaceTabel yang ada di class typeRacer + typeRacer.addResult(new Result(botName, howLongToType * wordsToType.length)); + } +} + +class Result { + private String name; + private int finishTime; + + public Result(String name, int finishTime) { + this.name = name; + this.finishTime = finishTime; + } + + public String getName() { + return name; + } + + public void setName(String racerName) { + this.name = racerName; + } + + public int getFinishTime() { + return finishTime; + } + + public void setFinishTime(int racerTime) { + this.finishTime = racerTime; + } +} + +class Tes { + private String wordsToType; + private ArrayList raceContestant = new ArrayList<>(); + private ArrayList raceStanding = new ArrayList<>(); + + public String getWordsToType() { + return wordsToType; + } + + public ArrayList getRaceContestant() { + return raceContestant; + } + + // Word by Yusuf Syam, Silahkan diubah jika dirasa kurang bijak + private String[] wordsToTypeList = { + "Menuju tak terbatas dan melampauinya", + "Kehidupan adalah perjalanan yang penuh dengan lika-liku. Jadikan setiap tantangan sebagai kesempatan untuk tumbuh dan berkembang", + "Cinta sejati adalah ketika dua jiwa saling melengkapi, memberi dukungan dan menginspirasi satu sama lain untuk menjadi yang terbaik", + "Hidup adalah anugerah yang berharga. Nikmati setiap momen dan hargai kebahagiaan sederhana di sekitar kita", + "Perubahan adalah satu-satunya konstanta dalam hidup. Yang bertahan adalah mereka yang dapat beradaptasi dengan fleksibilitas", + "Kebersamaan adalah fondasi yang kuat dalam membangun hubungan yang langgeng dan bermakna", + "Masa depan adalah milik mereka yang memiliki imajinasi, tekad, dan kerja keras untuk mewujudkan visi mereka", + "Ketika kita berbagi dengan orang lain, kita tidak hanya mengurangi beban mereka, tetapi juga memperkaya hati kita sendiri", + "Kesuksesan sejati adalah ketika kita mencapai tujuan kita sambil tetap mempertahankan integritas dan empati terhadap orang lain", + "Rasa syukur adalah kunci untuk mengalami kebahagiaan yang sejati dalam hidup. Mencintai apa yang kita miliki adalah kunci kepuasan yang tak ternilai", + }; + + public void setNewWordsToType() { + Random random = new Random(); + int angkaRandom = random.nextInt(10); + wordsToType = wordsToTypeList[angkaRandom]; + } + + // TODO (4) : Buat method addResult yang mana digunakan untuk menambahkan typer + // yangtelah selesai (mengetik semua kata), ke dalam list race standing. + public synchronized void addResult(Result result) { + raceStanding.add(result); + } + + public void printRaceStanding() { + System.out.println("\nKlasemen Akhir Type Racer"); + System.out.println("=========================\n"); + + // TODO (5) : Tampilkan klasemen akhir dari kompetisi, dengan format + // {posisi}. {nama} = {waktu penyelesaian dalam detik} detik + int index = 1; + + for (Result result : raceStanding) { + System.out.printf("%d. %s - %.2f detik\n", index, result.getName(), + result.getFinishTime() / 1000.0); + index += 1; + } + } + + public void startRace() throws InterruptedException { + // TODO (6) : jalankan kompetisi + for (Typer racer : raceContestant) { + racer.start(); + } + + // TODO (7) : selaman semua peserta belum selesai, maka tampilkan + // SS + // Setiap 2 detik + while (raceContestant.size() != raceStanding.size()) { + Thread.sleep(2000); + System.out.println("\nTyping Progress ..."); + System.out.println("================\n"); + + for (Typer racer : raceContestant) { + System.out.printf("- %s\t=> %s\n", racer.getBotName(), racer.getWordsTyped()); + System.out.println("-".repeat(100)); + } + + System.out.println("\n" + "#".repeat(100)); + } + + // TODO (8) : Tampilkan race standing setelah semua typer selesai + for (Typer racer : raceContestant) { + racer.join(); + } + + printRaceStanding(); + } +} diff --git a/src/H071221088/Pertemuan_8/TugasPraktikum.java b/src/H071221088/Pertemuan_8/TugasPraktikum.java new file mode 100644 index 0000000..4864cd0 --- /dev/null +++ b/src/H071221088/Pertemuan_8/TugasPraktikum.java @@ -0,0 +1,101 @@ +package no3; + +import java.util.Random; +import java.util.concurrent.ExecutorService; +import java.util.concurrent.Executors; +import java.util.concurrent.TimeUnit; + +public class TugasPraktikum { + + public static void main(String[] args) { + int numData = 4; + + UiThread uiThread = new UiThread(numData); + + ExecutorService executor = Executors.newFixedThreadPool(3); + + uiThread.start(); + + for (int i = 0; i < numData; i++) { + executor.execute(new BackgroundThread(uiThread, TaskTimeHelper.generateRandomTimeExecution())); + } + executor.shutdown(); + } +} + +class UiThread extends Thread { + private int numBackgroundThreads; + private int numThreadsSuccess = 0; + private int numThreadsFailed = 0; + private int timeExecution = 0; + + public UiThread(int numBackgroundThreads) { + this.numBackgroundThreads = numBackgroundThreads; + } + + public void run() { + System.out.println("Start load " + numBackgroundThreads + " Data"); + while ((numThreadsSuccess + numThreadsFailed) < numBackgroundThreads) { + try { + Thread.sleep(1000); + timeExecution++; + System.out.printf("Loading... (%ds)\n", timeExecution); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + System.out.println("\nTask Finish."); + System.out.println("Time Execution : " + timeExecution + "s"); + if (numThreadsFailed == 0) { + System.out.println("All data is successfully loaded"); + } else if (numThreadsSuccess == 0) { + System.out.println("All data failed to load"); + } else { + System.out.println( + numThreadsSuccess + " Data Successfully loaded & " + numThreadsFailed + " Data failed to load"); + } + } + + public synchronized void incrementNumThreadsSuccess() { + this.numThreadsSuccess++; + } + + public synchronized void incrementNumThreadsFailed() { + this.numThreadsFailed++; + } +} + +class BackgroundThread extends Thread { + private UiThread uiThread; + private int timeExecution; + + public BackgroundThread(UiThread uiThread, int timeExecution) { + this.uiThread = uiThread; + this.timeExecution = timeExecution; + } + + public void run() { + try { + for (int i = 1; i <= timeExecution; i++) { + TimeUnit.SECONDS.sleep(1); + if (i * 1000 > 2000) { + System.out.println("Request Timeout"); + uiThread.incrementNumThreadsFailed(); + return; + } + } + uiThread.incrementNumThreadsSuccess(); + } catch (InterruptedException e) { + e.printStackTrace(); + } + } + +} + +class TaskTimeHelper { + static int generateRandomTimeExecution() { + Random random = new Random(); + int randomNumber = random.nextInt(6) + 1; + return randomNumber; + } +} diff --git a/src/H071221088/Pertemuan_9/.gitattributes b/src/H071221088/Pertemuan_9/.gitattributes new file mode 100644 index 0000000..097f9f9 --- /dev/null +++ b/src/H071221088/Pertemuan_9/.gitattributes @@ -0,0 +1,9 @@ +# +# https://help.github.com/articles/dealing-with-line-endings/ +# +# Linux start script should use lf +/gradlew text eol=lf + +# These are Windows script files and should use crlf +*.bat text eol=crlf + diff --git a/src/H071221088/Pertemuan_9/.gitignore b/src/H071221088/Pertemuan_9/.gitignore new file mode 100644 index 0000000..1b6985c --- /dev/null +++ b/src/H071221088/Pertemuan_9/.gitignore @@ -0,0 +1,5 @@ +# Ignore Gradle project-specific cache directory +.gradle + +# Ignore Gradle build output directory +build diff --git a/src/H071221088/Pertemuan_9/.vscode/settings.json b/src/H071221088/Pertemuan_9/.vscode/settings.json new file mode 100644 index 0000000..7b016a8 --- /dev/null +++ b/src/H071221088/Pertemuan_9/.vscode/settings.json @@ -0,0 +1,3 @@ +{ + "java.compile.nullAnalysis.mode": "automatic" +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css b/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css new file mode 100644 index 0000000..7245549 --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/bin/main/kalkulator2/styles.css @@ -0,0 +1,18 @@ +.animated-button { + -fx-background-color: #6b6cdd; + -fx-text-fill: white; + -fx-padding: 8px 36px; + -fx-background-radius: 20; + -fx-font-weight: bold; + -fx-cursor: hand; + -fx-transition: all 0.3s; +} + +.animated-button:hover { + -fx-background-color: #007bff; +} + +.animated-button:pressed { + -fx-translate-x: 5px; + -fx-translate-y: 5px; +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/build.gradle b/src/H071221088/Pertemuan_9/app/build.gradle new file mode 100644 index 0000000..391c8be --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/build.gradle @@ -0,0 +1,34 @@ +plugins { + id 'application' + id 'org.openjfx.javafxplugin' version '0.0.13' +} + +repositories { + // Use Maven Central for resolving dependencies. + mavenCentral() +} + +dependencies { + // Use JUnit Jupiter for testing. + testImplementation 'org.junit.jupiter:junit-jupiter:5.9.1' + + // This dependency is used by the application. + implementation 'com.google.guava:guava:31.1-jre' +} + +// Apply a specific Java toolchain to ease working on different environments. +java { + toolchain { + languageVersion = JavaLanguageVersion.of(17) + } +} + +javafx { + version = "17" + modules = [ 'javafx.controls' ] +} + +application { + // Define the main class for the application. + mainClass = 'kalkulator2.App' +} diff --git a/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java new file mode 100644 index 0000000..22783df --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/App.java @@ -0,0 +1,462 @@ +package kalkulator2; + +import java.text.DecimalFormat; +import javafx.application.Application; +import javafx.geometry.Insets; +import javafx.geometry.Pos; +import javafx.scene.ImageCursor; +import javafx.scene.Scene; +import javafx.scene.control.Button; +import javafx.scene.control.Label; +import javafx.scene.control.TextField; +import javafx.scene.layout.Background; +import javafx.scene.layout.BackgroundImage; +import javafx.scene.layout.BackgroundPosition; +import javafx.scene.layout.BackgroundRepeat; +import javafx.scene.layout.BackgroundSize; +import javafx.scene.layout.HBox; +import javafx.scene.layout.VBox; +import javafx.stage.Stage; +import javafx.scene.image.*; +import javafx.scene.text.Font; +import javafx.scene.image.Image; + +public class App extends Application { + + private Stage stage; + + @Override + public void start(Stage primaryStage) throws Exception { + stage = primaryStage; + stage.setResizable(false); + stage.setTitle("Kalkulator"); + Image icon = new Image("resource//img//calcu.png"); + stage.getIcons().add(icon); + page1(); + + } + + private void page1() { + ImageView imageView = new ImageView(); + String imagePath = "resource//img//calcu.png"; + Image image = new Image(imagePath); + imageView.setImage(image); + imageView.setFitHeight(140); + imageView.setFitWidth(125); + + Label label = new Label("KALKULATOR"); + label.setFont(new Font(15)); + label.setStyle("-fx-font-weight: bold; -fx-font-family: Verdana; -fx-text-fill: #171986; -left: 100px; -right: 10px"); + + Button button = new Button("MULAI"); + // button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-text-fill: white; -fx-padding: 8px 36px; -fx-background-radius: 20; -fx-cursor: hand;"); + button.setOnAction(e -> page2()); + button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: #e3f8fb; -fx-padding: 8px 36px; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button.setOnMouseEntered(e -> { + button.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 36px; -fx-alignment: center;"); + }); + button.setOnMouseExited(e -> { + button.setStyle("-fx-background-color: #171986; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: #e3f8fb; -fx-padding: 8px 36px; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button.setOnAction(e -> page2()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox layout = new VBox(20); + + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT,BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + + layout.setBackground(background); + layout.setAlignment(Pos.CENTER); + layout.getChildren().addAll(imageView, label, button); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void page2() { + // membuat label dan tombol + Label label = new Label("PILIH MENU"); + label.setFont(new Font(20)); + label.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + Label label1 = new Label(" "); + label1.setFont(new Font(5)); + + Button button1 = new Button("KALKULATOR");; + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 85px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 20px 85px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 85px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> kalkulator()); + + Button button2 = new Button("KONVERSI UANG"); + button2.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 75px; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button2.setOnMouseEntered(e -> { + button2.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 20px 75px; -fx-alignment: center;"); + }); + button2.setOnMouseExited(e -> { + button2.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-padding: 20px 75px; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button2.setOnAction(e -> convertS()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox layout = new VBox(15); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.getChildren().addAll(label1, label, button1, button2); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void kalkulator() { + // membuat Label + Label label1 = new Label(" "); + Label label2 = new Label("Kalkulator"); + Label label3 = new Label(" Hasil"); + Label label4 = new Label(" Result : "); + Label label5 = new Label(" "); + Label label6 = new Label(" "); + + label2.setFont(new Font(20)); + label2.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label3.setFont(new Font(18)); + label3.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label4.setFont(new Font(20)); + label4.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label5.setFont(new Font(20)); + label5.setStyle("-fx-font-family: Verdana;"); + label6.setFont(new Font(5)); + + // membuat TextField + TextField input1 = new TextField(); + input1.setPromptText("Input 1"); + TextField input2 = new TextField(); + input2.setPromptText("Input 2"); + + // membuat Button + Button button1 = new Button("Clear"); + button1.setFont(new Font(20)); + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 10px 25px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> { + input1.clear(); + input2.clear(); + label5.setText("");; + }); + + Button buttona = new Button("+"); + buttona.setFont(new Font(15)); + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttona.setOnMouseEntered(e -> { + buttona.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttona.setOnMouseExited(e -> { + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttona.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 + angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttonb = new Button("-"); + buttonb.setFont(new Font(15)); + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonb.setOnMouseEntered(e -> { + buttonb.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonb.setOnMouseExited(e -> { + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonb.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 - angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttonc = new Button("*"); + buttonc.setFont(new Font(15)); + buttonc.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonc.setOnMouseEntered(e -> { + buttonc.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonc.setOnMouseExited(e -> { + buttonc.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonc.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + int angka1 = Integer.parseInt(input1text); + int angka2 = Integer.parseInt(input2text); + int hasil = angka1 * angka2; + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + }); + + Button buttond = new Button("/"); + buttond.setFont(new Font(15)); + buttond.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttond.setOnMouseEntered(e -> { + buttond.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttond.setOnMouseExited(e -> { + buttond.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttond.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1 / angka2; + if (hasil % 1 == 0) { + // Bilangan bulat (integer) + int hasilInt = (int) hasil; + String hasilText = String.valueOf(hasilInt); + label5.setText(hasilText); + } else { + // Bukan bilangan bulat (double) + String hasilText = String.valueOf(hasil); + label5.setText(hasilText); + } + // String hasilText = String.valueOf(hasil); + // label5.setText(hasilText); + }); + + Button button3 = new Button("Back to Home"); + button3.setFont(new Font(20)); + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button3.setOnMouseEntered(e -> { + button3.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 26px;; -fx-alignment: center;"); + }); + button3.setOnMouseExited(e -> { + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button3.setOnAction(e -> page2()); + + // Membuat layout dan menambahkan komponen ke dalamnya + VBox vBox1 = new VBox(5, label1, label2); + vBox1.setAlignment(Pos.CENTER); + + VBox vBox2 = new VBox(5, label3); + + HBox hBox1 = new HBox(10, label4, label5); + + HBox hBox2 = new HBox(10, buttona, buttonb, buttonc, buttond); + hBox2.setAlignment(Pos.CENTER); + + HBox hBox4 = new HBox(10, label6); + hBox4.setAlignment(Pos.CENTER); + + HBox hBox3 = new HBox(10, button1); + hBox3.setAlignment(Pos.CENTER); + + VBox layout = new VBox(10); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.setPadding(new Insets(0, 20, 0, 20)); + layout.getChildren().addAll(vBox1, input1, input2, vBox2, hBox1, hBox2, hBox4, hBox3, button3); + + // Membuat scene dengan layout sebagai root + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + } + + private void convertS() { + Label label2 = new Label(" "); + Label label1 = new Label("KONVERSI UANG"); + label1.setStyle("-fx-font-size: 20; -fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + Label label3 = new Label(" Hasil"); + Label label4 = new Label(" Result : "); + Label label5 = new Label(" "); + Label label6 = new Label(" "); + + label3.setFont(new Font(18)); + label3.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label4.setFont(new Font(20)); + label4.setStyle("-fx-font-weight: bold; -fx-font-family: Kollektive; -fx-text-fill: white; -fx-text-fill: #171986;"); + label5.setFont(new Font(20)); + label5.setStyle("-fx-font-family: Verdana;"); + label6.setFont(new Font(5)); + + TextField input1 = new TextField(); + input1.setPromptText("Input jumlah uang"); + TextField input2 = new TextField(); + input2.setPromptText("Masukkan nilai kurs dollar"); + + Button button1 = new Button("Clear"); + button1.setFont(new Font(20)); + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button1.setOnMouseEntered(e -> { + button1.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 10px 25px; -fx-alignment: center;"); + }); + button1.setOnMouseExited(e -> { + button1.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 10px 25px; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button1.setOnAction(e -> { + input1.clear(); + input2.clear(); + label5.setText("");; + }); + + Button buttona = new Button("Rp. -> $"); + buttona.setFont(new Font(15)); + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttona.setOnMouseEntered(e -> { + buttona.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttona.setOnMouseExited(e -> { + buttona.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttona.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1 / angka2; + DecimalFormat decimalFormat = new DecimalFormat("#.###"); + if (hasil % 1 == 0) { + // Bilangan bulat (integer) + int hasilInt = (int) hasil; + String formattedNumber = decimalFormat.format(hasilInt); + String hasilText = String.valueOf(formattedNumber); + label5.setText("$" + hasilText); + + } else { + // Bukan bilangan bulat (double) + String formattedNumber = decimalFormat.format(hasil); + String hasilText = String.valueOf(formattedNumber); + label5.setText("$"+hasilText); + } + // String formattedNumber = decimalFormat.format(hasil); + // String hasilText = String.valueOf(formattedNumber); + // label5.setText(hasilText); + }); + + Button buttonb = new Button("$ -> Rp"); + buttonb.setFont(new Font(15)); + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + buttonb.setOnMouseEntered(e -> { + buttonb.setStyle("-fx-background-color: #e3f8fb; -fx-font-weight: bold; -fx-text-fill: #171986; -fx-cursor: hand; -fx-alignment: center;"); + }); + buttonb.setOnMouseExited(e -> { + buttonb.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-font-weight: bold; -fx-border-color: transparent; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-cursor: hand;"); + }); + buttonb.setOnAction(e -> { + String input1text = input1.getText(); + String input2text = input2.getText(); + double angka1 = Double.parseDouble(input1text); + double angka2 = Double.parseDouble(input2text); + double hasil = angka1*angka2; + DecimalFormat decimalFormat = new DecimalFormat("#,###"); + String formattedNumber = decimalFormat.format(hasil); + String hasilText = String.valueOf(formattedNumber); + label5.setText("Rp."+hasilText); + }); + + Button button3 = new Button("Back to Home"); + button3.setFont(new Font(20)); + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + button3.setOnMouseEntered(e -> { + button3.setStyle("-fx-background-color: #e3f8fb; -fx-text-fill: #171986; -fx-background-radius: 20; -fx-cursor: hand; -fx-padding: 8px 26px;; -fx-alignment: center;"); + }); + button3.setOnMouseExited(e -> { + button3.setStyle("-fx-background-color: #171986; -fx-font-family: Kollektive; -fx-border-color: transparent; -fx-padding: 8px 26px;; -fx-background-radius: 20; -fx-text-fill: white; -fx-alignment: center; -fx-transition-duration: 0.3s; -fx-background-radius: 20; -fx-cursor: hand;"); + }); + button3.setOnAction(e -> page2()); + + VBox vBox1 = new VBox(5, label2, label1); + vBox1.setAlignment(Pos.CENTER); + + VBox vBox2 = new VBox(5, label3); + + HBox hBox1 = new HBox(10, label4, label5); + + HBox hBox2 = new HBox(10, buttona, buttonb); + hBox2.setAlignment(Pos.CENTER); + + HBox hBox4 = new HBox(10, label6); + hBox4.setAlignment(Pos.CENTER); + + HBox hBox3 = new HBox(10, button1); + hBox3.setAlignment(Pos.CENTER); + + + VBox layout = new VBox(10); + Image backgroundImage = new Image("img/bg.jpg"); + BackgroundImage backgroundImg = new BackgroundImage(backgroundImage,BackgroundRepeat.NO_REPEAT, + BackgroundRepeat.NO_REPEAT,BackgroundPosition.DEFAULT, BackgroundSize.DEFAULT); + Background background = new Background(backgroundImg); + layout.setBackground(background); + layout.setAlignment(Pos.TOP_CENTER); + layout.setPadding(new Insets(0, 20, 0, 20)); + layout.getChildren().addAll(vBox1, input1, input2, vBox2, hBox1, hBox2, hBox4, hBox3, button3); + + Scene scene = new Scene(layout, 300, 500); + Image imagecrs = new Image("resource//img//cursor.png"); // Ganti dengan path resource/imgmbar kursor Anda + ImageCursor imageCursor = new ImageCursor(imagecrs); + scene.setCursor(imageCursor); + // Mengatur scene ke dalam stage + stage.setScene(scene); + + // Menampilkan stage + stage.show(); + + + + + } + + public static void main(String[] args) { + launch(args); + } +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css new file mode 100644 index 0000000..7245549 --- /dev/null +++ b/src/H071221088/Pertemuan_9/app/src/main/java/kalkulator2/styles.css @@ -0,0 +1,18 @@ +.animated-button { + -fx-background-color: #6b6cdd; + -fx-text-fill: white; + -fx-padding: 8px 36px; + -fx-background-radius: 20; + -fx-font-weight: bold; + -fx-cursor: hand; + -fx-transition: all 0.3s; +} + +.animated-button:hover { + -fx-background-color: #007bff; +} + +.animated-button:pressed { + -fx-translate-x: 5px; + -fx-translate-y: 5px; +} \ No newline at end of file diff --git a/src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg b/src/H071221088/Pertemuan_9/app/src/resource/img/bg.jpg new file mode 100644 index 0000000000000000000000000000000000000000..03e1b01dd9af8d412599fa2f201778905d83db2f GIT binary patch literal 104973 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


wD>bH^)YsR{A%Z;ZMHnqC^U06Y(?=4! z$mf!x6U^Wp8&T9Pbh|n4uO;+W_Uo2B&u~>8S&kJ)QhT#h`%78xZX&g}Pf0Y#0CFBA zo{FP(Jpiwud=J5v?gz0$XraW@xfK^Xflad9YuR?mI|I!iRreu}IF2;~?K6|}PiS@9 zuFz^SUfgCl$Ey@s%EcHt3Om@JS=;oO_XPuG(sal)t329 zgV2oAQ%C6|WX5yv_>Q?7R$*u1J{;ltimIzMo|4~FSPIWHB0~MyZRQBfvNv%C{2ht4 zatAI$7R&8tRMex28|&A(jvr(;F`Q$F;0`9n+)b0uea>t4+I^Lyyq4C>3(L%m=NZlh zNx;uRfmZ4o=Yi#c0=7cPcVvYifJV@HcX3^MLL-6}n_o{m-DW3l(vk8P*+ zyNv}eg+*mFNB3T25B{d_rmEL6`WtJBztu+V@KcYTDC{ZeCW=4TWgjs_p0e7yRx#Rj zLe$pLTT!zmH4|3s^{APmUzu8FAJQ7Vc1|-Dy!T8nlE@Q3y1DpehrrcmU2yWp0-U^S z$B#3Q{{R#5tdb}smG&x-bMF!e3Oq}BYUc7HFA+XoHC_tLcvNrn^QpvwG>f^~83^}- z0C$trwtAjJ>7mUdv+?Hya>q|9m?KcUBxD|bHCp065~1QNJ6xiZ<>L7rbByeJ+V9jWh1-; z`X{_#;O*UCI_oJaC@SixD*^bM;< z)m;yIx`tEmBR(~X%M-yYkjOY>iHfl9DsV@{R?*m9Y>{6tlsP@cMV%_yd<3*rk)l2i z-Z9n6HA4KNTdUY<_Za--bCe&uA`(Z%0job`3Mhd!i{h9jm`fCu2jR`@N}#krfv zwp+!~fm2>6>BV7EHk{P=d$*M2TRVv4PC08hH&;4g5-C1en zT02cU5JJl=GCgfkQ}=>yrc>l(Bd9vAeo`+ZCrq$X42oW69l(JaXZNt=cmQa(W9{4< z%c3xi!x-@(@i)WO9%hPrd+v#l{l?|!ug@RW4fWPNbhveI)*njHU^xuE)gh>~{X*O- zYAGvd>M3QC3W|J9Pb@@VHt{o zK+dvFLOWQmZey~L%W8~5G3G~~P!2$E(ik`ytL>vq_RzJ$1euf;1Ha3m$1%|D(xo*H zq*BtQQI~5?CFYIkD$^kQ(Mq@y!6+W=u`wKvnCQTeK?hRo?Kpi z?l-0`E#tV1qm1_+p!bg-sMzgTHQv!zWvpsSwa-?9bp%CG7H}kto`;}i>Zg(Af^;h@ z*l(c|LVOudHE!eg9z=V(@adl<)f2fR!PKF+kU9m1eiJPA-_X;T_qjBj?g8Dr#z2!1TmN zUqW^|5eH^;WCI*fhdy#Uxj#C|`$Hj@TGU&Z5^#?tP^0P6wa&t<%S&##aV`qhR@A+& zmRw=tqNEW$P>sItc~8`S)1)TS&Pd303FRn-1`SbPGUoDz2CO=WWNAUN2 zD(M}|t^@k(^Zq|y8n7d*imr?qSOTPUAn0Q$QdNcsso;hIl;j%yW>f{3g;CU#fusRr zg&8!70A!pB{6|L{k%JDIQV7qNq1UXerwlM@238qUkzTdUdsSP61`38Cdyt6LKD8R*i!jeVbjpwU^%(%10iIbUfB<^xME?NQvBp5(+$pHftUPwD z!-DC(qll=<8Cqnhsc%h@G-yx$QdHJ|u1V;$%ZwZu3a7=gen8c)O-?(=vN8}ed(WJCw+Bw2eM&o{vO>sjpms9g%yHW)JolitjDPxnCg zRS#8|olbXNQ58>efsyei-(1nv)m=_i)H0tiMn;nz4P z7jB#ZUr&5~F0@fkS8lrq{{TxZBoa?04bmi7O-!*ug}t7lB#if%AWIvDBYNj<{GRrf z+Diq|Z*CSFn>_j+HVPz&obW3#0JKa<;m%4BN3wC7cC$vAE{>&d5t196dQK2YSpdfo z027A*9P$hZJjFficZ6&0RJT4LxzkHYEy|iYJAE|qv{fF*9HOFnsUdJ0Atb2^#ux%t z62xJbG5c|?+g?p+rrOFTOII>V>Oo#II8^}~9uQcu2LQG+kZI1%Y13QBJ>=+PY1Aqy z7(6-2VmXc?02$^1Jga7g7oC|?8CBiP<2=B?_2>C&jPfjC7UWJU&Z=0Dqd2EkFwF!J zEU~(7+s%g}Hj*&i2>5A;UO6Rlj2j=%E_K_ZA}C-+X@DdULBSls8k9gI2XJYshvIHN zq2PObH#(RNb#+6@Pj9xQq6Vm#ATrG?r5m}VjyDC^D-zDAqb-p$N$lOvXfB@889vW% z7!4$)c!I8WP`hzE5rqVSfLNRj;@@i#X)!GFC#9A0sDR^$^(5estJHzdVY%7mis8Y% zwQ%}RcCp1I_NuPxs)C|f4NbD9Si`K8mGrF?jYm962qS22=%k6dJn5}Q-(Bn$q|sSl zm5S{$k}8e~P#h5PzZ!>)jtJb2AXT_pp0t}x?M0Z9;?y(1*kodOqhd4ay6~}A18zXz zf-)-ZmTPsEik6DeM+Ls$Or6X$l*zIv###3ONi6Kei!mjcj^-qibzV2uSM$w1L2 zE{0aWf1IV|3l99LVc~;A+Jy~gK zQmV%daU>VoeUG*qj0!!boE!%nhqOVHmV}ZrI-xi`ww5ib>2hiEaV})Fkov9Ee#?H) z_%Pgc0u7bw-6jvKGLKky_>T_`oV$s$=uJ+jo7I|@_d_imNZQ3%)6^=1Ei}bQS!2&p z_?M#&N6byIzM8_}XNcqsaVg~Mox%H$Fn1Li>e@S~nm5>aA7v zHtMz8QA;U}@tv+P8aZPptZx}sQ{>)x*12nQ73I8FFrFx;85!m}5PVeR9}!eZp_1NL zhCzpn;P)QlJP6*L*Th;Sm+vM6*%jlp4Uw!6*SdAR7|L~6q0u;-PFQ$a=Z41Spf%=V{+`C zw_tQTOM8pB?dPzMfy9of>Zv7MaS_C&NC$@`5J4QXnd{nZ(&|&m3=cGSEySf%x2$j( zP6o$_XMSMhb)q|hEOT)G01H`c^CL&T^urxhuCLPpozC9O9B!EfnPUdyaNZf<_7Gt&9=pgXfkt z3uS1`%D8y>Kfr(Keubq6Ck1RpR# z1bnsHNb#N|Y#Qa!Tw#W4I--Cs8kqoGd(n=${6i<1K0Z0;&r;&K;@VdAyZ-MFrAK&p zPGcUgci-bt#1Kdzf;xgQN5maU1RcT1rfW#y-p*?86j0nNYkx=6)S!}{B!j-Fk{0_C zzV}s$SaVVD5(p<5#;V$%Y2mTBdsr?0(=100#kf>ARTu=Z9EsQikTcGWS?JPS#Is2+ zp+^}|7c579RbWEfz<~bCpRAPP z_HM`!OtQ8-SN@v1SvXSJV46wjp0Y_~guq&=aW>e?qmZCRyGdkUr!4{0HH*DT7CV57 zs@z_p@Z{i)_dN-scDj5PY|Rm7EHUdG?VRnft1g99>Kv{ep7Djk<6m6Vl!|LBYN}5A zggM0X$s+xLe(MjWwEKS2=$6*j@GQ6(e)W-mQsiejLo}`(j@)$ zBW~>XiXn-js7rWIcSc2NVgb(NAVJeS$L}3Qx$P#ABZrNo$>;gMf%d)B{l1ZWs#W+f zIePi?{Tgj`;oGg5R!Z7+5IgKy;gMyFc^L}CbB%}x8-UI^XHME`R(Hg$yt$D^O0X)} z?;Qvoa84_k?Jg~VGNu%qWE_n59^>awnw?SW#I9qCSrnBi8?YeY@=|*1xYv!*d4?nF zT)E*^Y~ujcE3aODdFP*wdg$-Ugn8~yI*_!`#_u$QovKi5<X~TJTmhH>}a>vOREJwS_uzS~R z{2@=?Eux0)b(wM!K@@h%H$DtnthAv%5QD7}!?2p{+q5EtCzEY&w%mzrLGLou`ds+)RE$KN=^lAIyJEf4BQJk=uV;?lpX$JOdr#nOpw=pFWYd z`$?%6Kh=B1HxIY&HFdCAq`ll@q+Q7Z{98svkq9DS7@*R4f zr=GKkBza_cWMcA2NhI|rom){BHB>>usxSwDuN8Gv^fc4fRZ6ha(?s)4Bb)?81e5A~ z0369643n;*hD(WKf)p<-q$+{bpXYPXZfnUTNRi}`xKRNlp5a)%PaR$=Dkh$apd(M=YY&W<&9pV?EQ>Uq<0Y+Cqe5s5dfZN0Ce92!x`SIFREO~ z?D0v#8y{3)91dR|{{S4-UY4q&ilQp2Sy~#1TYPdaP9XLs%esG^6i(lke&zs0P$|-A2GP<1)|FJF4G6qnLVZZ$A{CAt0sk1>co3Qp@8uP zHCH|ITcIwX02!jFs8nY-$vZ$F(el;%vo{hAGFZAKt%KYOsUUmv@v6SF3LD7Z^^jzF zGh(T1q1Ba!Ljnl&IyR)M1{}f74kI9g)~k+<8?_m>gqDQJ#OAHkZ!ytljwN@@WL#JC_No>X3D{!-*1r+CT z&n?5rum~Kt!L8oe1Pe_KOivX4(+qRRQ45WtVmM;r!52XMgr#SK%2QaOSu z-B#jOhC%*vo;LUrTO;e81ci75r|Pj3NzWGxey|3=DGn-P_>uKiAKRrj^-twWKW%(X zPv~V$rKL)il`7*j5lpNkP)^bV4oo?CF#iDMrz4TkhY8y}x>pW}!0``%S|@1IIOypk zi}|Fcfg{IG?P5Tf{)igNCoI#<&+Rj@K4hHy>hBN>8U^-3jCo*Uoaw4^mX#`6RH|yT|qjW7}y^%oyWXnQ#TPT z(90VPh6m%&`;86QBa!MkACHc-^Wn;=gOxM5Hp)4VnuY$eDxb)mKWsRskHaV64K+E$ zPrfoS@v5GT(AueXgU1cP+$Ph|n9cU{RV@{xyin^;-9(L7agsC2MS?b6ir(u@G-0x# zfj8N%&yLV*D;(hcg2@Dv;~=*YAtMBC41{h*;R6xA4Gz{dW2EWK@ZeqDF-Y^j4glhE zKV)Ma3l+}UppvSps=B6n%F2oA>nfyaYHF%wd8#Lo&ROP}$u7j79z&o2a@WuhK@GG~ z!30YTF#r`51yuu(RT~fIIW?8bB$G(;%H~NVIV{AMC%lunruufcuGIAP6?4H$Nd&bu zRWhU$)bJsaY37iHNTNmN&Pn+WWPk|`%`{L&B-2PDiX|+}#|o-9B%XkO0ljw`Jg$+( zhDVTq6bzD2AP0SY0qn z#;vy*1`;57=X(z>L@s`(L2Xd_&U)-V`XM`R6m;DE)#BW~{Eg&+f2?!=07qS2A5}+r z{(iOO1J+~H6}|R-OB_~ts)CO8s;)rq&ihF-J?wCk>OzA9#kVKu zJ=JZ}5kY*glBBebsAcD}tyY-kOAT*C7 z0D0ktdFtP#*_$gU;c~4uYp^8iICx= zjoZws5RN;EoQ|YJxF^kjEkY z=^|ER?>qbJVC=-NE{SAZ0EMM}4#R)oZklK0Fg=wtFNH)!r^%(-jm|8~vULDP_$?WkSZv z(jv6cq9A45@6Cd%WT$1jH~l|-bS9CZvbEqc6~_}Zk5v?qKqM(F*gPO|$rL|Z)<2@{ zp!8}axu1w2Jd`Qjm<$t)fCffM+~8Gbvkum(xR&!|H6kyckZMnFI$WR)sO!6Q5*92{VPd6L@7D)&oDl`Se%w5e9Z!#rDUHpnS% zb+FOZQO2+rs*pnz(I>kMi!9P$XBA&jxWAaXf7a@hFP{G3_B@r=I^*+;_VM#t#09S&U^R&#~Z zCqMg7_llNv3lKNFi~H;N*EHh}7?c)@_dzPD!7)qTfPAwWo_g)HO<4#JVImXy!yjB% zBT}+%S157ZbN5um4SgNT4{4#DY9QXx_lmBoy)n5)^#tQ1(@<_Lr?r#OTt;G(0N~@1 z<;a?q6w%DQaW@*|jPJ~I=T9`nIZH~s&S_~<&q|HE++ela>T4%;Q5;SpQb1{EDtoA- zA9>mF)1b*bfjX6CZ6)2zP)4Nj5tI6>o!IvPKMH2%WP%wabBqnVPe41#G&tm*XQ}3X zK04F9xm7q+W!bSx27c74J|G5f;s&N!49ZV%KXpdB{;Ur2K3mmmMJfde{kB~st>XBt z+lhk7X{4t_&$_i0<*rq2kHkdO%bzGf@Yc`R3pImAd#rl*^E(s!G2$d1?iW66Ydq~u z!Iw~2GwRyLpbr=I*!(vh4+$%T6jQCRUM}M((NUY2(}9RaMSG5YwjR z$-!b-RTY_lHho)Gve9hhzQ32z!h`?-%R3)s5r0XW2LoULEW`j!2C%TX)NWGN)i~sQ zo_GoeHe=C7Mo&|KGDs9iT0fJ85`=sA6ID*+10^+{iYjP99Z*%*G>*eOv)w82z}8oL z`BS(hmrl}>FgY~xGoL;P_*8jupE|r-b{-%ByuN2{q9qDExSuEfQCbzJf%r>;CuX%< zcGfbO#losbuDHA{%z;rc#0W4xydY=gR~mY@C|U^!R^-E%B0SXeIteTQHY7}u{PUt| zCPq=P4I)bt%t<8Vl5$D)I`9Ah0ALFDpE{YKO|X_DoQz2G+C9_<}wZ`;0h^ZB(sANhtj#RGUFk3sOM9hMm6*q+~`s z^4%AleG^PKa|?-+{{RaK>&e)1Um?wpyRAE@-iQ#z8-97m_eX!3>G9+!Z9PxK_~*yW z_133Us_2~$$NL7nDi1MAta=jM&z(^w@O#2DQ>#c z#y>~TM$P((YO0HEp>>F;m`YTuBNg1GN%}Iww)zFunwPgX@!8B5GQ!96s`&MSCpiH* z^kp&#BRnTK$Zoqes=;{H(OR{{Y{!B{8Ae>}S-B<$v>O;Xz#|znxI2fJg*al(!|Ni< z*4j0WdC(A()ypH))=Yqmgld_k+n#$u6ql_u2%N>^66$EOzDXd3KL|JjneG(avIv(a za&`m8u05XGQ;24)uDHOBK|;w4aDyNf6;dwt5)ek{ql}>-V{=L~kO(1rNqTg|hThgf zE^Yy0+j^)DHt}Pf`T%;I)cqb0wzQJWgV97l1AG=c@8AXxi6W)A_lFYMMfzsXO&Uc5 zD%>eoe#D8$RH}tTdx2bmAnAt=0NTXD?Cz%5bNz<;QqLeJH`^qQ$}#Jax}JFibr_SY z*^79-(`!@&c9$gy53pxs%VY<)Js$^2;K! zfxdCL<+V<>nIlpgB%cpDDR@c&2M*eX(x!T4t8K#!OIc zZ@@pX>it2h?wq_fR{0n%ykFkm@2JkuZY^!$nwE}fDdnr4mX0Z6XGsvrD3U_084SOv zhEb8v2U5E?YA&@{gCLP1S8}8R4h9B61Rq(4I*+W*V6c#@6ln^mBOr{NoMV1K)+t9> za{x@&dig^yxwgKnrqhpm-jrngxqNzGXNK24j9JEoPX7R#KzzAXY8fXUxwv-EFI|t{ zU6!V`Witzv({@P-`bxCMr1c>?{C{VrnlW3H;5Lx?`Y7}9;jV*78;DOPd%YuL;hO!L zqN1RNsGfP*bF|MilNHZg85rY9BaSdcajanes)hOiUb8ctyB9trpRIA%Rpm!rQJ#)Q zUS=Fij}{6DAbR16`D$I00XnJWCeksfJ%euF3NSO?nb@S zEHj9riRQ<9yOad^A`m>!eOtQ`Zlc=y>mIz4EP3u#ULrm0!#M68)Jf|ptIbm{N@S{) z$1@mI$Ls_I{{XB>`RMkZ!68-TA1B|R!|6h9foWL&uHNctZezYh=YpZVG7dhtKbD`m z1BDM<*AN}pcvR#Nw9*7#oQpT%T=PF4Ef0~zYFPWcO-fZR+#{deRuxdH6-EMp0Q3U` zLdh&iJk3r30087Gi(P+4&W{w+!%zl9l+MW{YTS-pTo4HG@g5yC;@SPGHV%sM9*zMA z9t0nc!kcT61CADDan(r#d&kqQcklhHH3n9k%1bn^%tU7X~%o_XoBAECs20x+8Z z000jFHpi7X97s6$xVXBLlkd*?s>5|Z6Z~{upjSlbem~eWsa20c8=3Q|>&SUke(hYm z>D91`e_Y>*hcOuQ!RzKnr!rPn=V=P%o7wX3_x(KT4b0g-j2tNE;zv(+UmC78P|v!# z9%SI3fX6Kr5FBpUH3-SvD(`P`B^5J{h9QqI0V{$$4=>AA>!m9^s(FJ&tSfOPpC5%z)&8pBXp%z`dngCY{7ph>Bz*BXIrn`kHmmute{6I4Hl;!BpD)6hep#kU ztn3kavm6f|XUE~GB!vZ=kfy*S;BHL_U8q$pUmx*9q1_!l#clDBayz?qB{df>>A@zp z-pE2=?B0^BFw#b3K61Os^kG@HzbB;DFNpS0!Ve@>PpGb)mC}1}Xk0Fs$fvk9dwL2Q zT8fZ<9pWd?8t1k%dJfHM%nl5Zh{yips{IMCdp{YISg;t#SK{#X6t~n0`VX&}YiFoS z&T&uWnRD^Pc>diGvB&3o_WSA`-hEE({x!4qNjy(ruBTEv=q|FnqsL_Q)ZNn`L*2*+ z?j2FPXB!Ph-c#&J2m{Sov-JnxR!+{kn@Ny+OCcxTtB;|rK6oOjhH81yWrBE~8KYs9 zk|`9UqYn^Nk@M9~IUXqzSlFbIkjh6eLC7P>(dR{xSsZaI0toL1Vm=flaV?Hs9=uiC zWZcmsceHY_Kd+;dv4QjA;08whxZ7JUm8d4CV-3>aI}R67`YyiE@;fl_BD1^OROrmwnfi`NR;rBJ~K`IU0wSX2d{r}M<9`p zc`SdzDzn--JzH2o=2?%p1s_vcjiN%($r($b|%N|iLOZM5z`5mo;HSRddHpSKy5cx2O493k-_ReVJnv2{cYe(+Ea zuQ8%!+>R2&uXRESpyVh9gbv%SZ*Sw7DvFU6=F@Dr#@-DiaGDB{pD`^W=l92^w(rUP z;@s#92yC^C(!@t_EF@2ebB`lguWGH#I;%;KR_Ziy<^e|d6|FD%I9{RdIFpBDby|T@ zOM0b3MrDDaS_;jeoRX5qNKQHlhlZ-3l`9E7E|;k)<}$AXp5_hdBhT*w;CQK{-H5tQ z3+p0%a8^|v;~Wo<-SuUlA@lQJ=)b& znWaUEA8GE?o$_pA2H$&Ee$4i7Q`c?flH4p7@Did)2@1{3s_=#+u6<*SEN{rwqC7t*SZ-+MIFi|nwC^7gvYs+)>zLt zrdd_h(BP{^LC`%|UD#dAr`#u_p463aci#g99;#G^RvQpO6i&m?-P@(qO~n-BDn{FK zIUK_?;vB% zhW`K>FKjS{dMW#bNa`g>q(}gh&da?DopZ zqHIK07-77HCmhea)bh`Uxl5=cahK0cxBeB;f>sCABOC9vDk>$8M9JSHGJ@E^M93~j zklGGUknqx;;JUZys0RbQ^!eiz)KLXto!I?4{{Y^;eBNsf!tr;nB$HcoxYgwI$f&HI zRXP2}U41d9!S-t#D|}>H3#MmV^>o8YnzF`*1Na&n4iA2@8tggZ}!ePnyH3T z*<-Do^62$5($YtRj<|U~K`F~QF}vY7N@7TqHu0)a`E?_y>$N2 z8-CJ(PH8jAXLdNyh-SjKaNpH!k3-MEnkDs>Rpzt4(fD)p&7a$;qup?{i6=m#-=2(s zYN^HsS%Ro^9&wO9(bb=_`lr}$e$Ojn+Vcu?$zSvvz!U1R?m0ZDF1Ka&n`1Hz&2N%C zSDP=(h3p;5Y=a~VAR`RiaDg;0*<)$6m0FK*(?Tx4Y_<~7ga0HcaoqbHY6{6sz{ zRsPgZ_I(=d{{Tuw^ke@3aD_ke@lj10FH5LfgUJsW{>UfmiY;}FR)<4RYE|NXDUuSy zWxk4*lmK)3$ph8MG2+;$LH!+Sy^^*u=?LI&b0fL(2Y`FMQ&eqwZael;c7;`a=PZ7| zDzDkl3U-q`I@bu6Gv1aj)WX-_;oZ0Hv<&N38AK zG5q{1na;{8Bd(^@ddoX{;W;kcFG+r+jLBES4((7B67OcK5v5t>%!q0uf@9>J;qcYN z@^h^%majISJMhD+01%!+bjd-#FG!`6#kd7m`(39SojyCb*D}~-upG>7fXDkShCUor zB-pQ)E*ra1-mMh|n!biY@i`mgksV4+Pf;E~nwm(9B#3^}w;~tp$NoF}L#F9xhLb$k^ z>S=B#kjpfrvoYpL`T@uRup14i!~Rb*O(z3ZMImDqKM~iZHgkZJQd{aKRL|Y-aEnY zsa00t14B~ek8)NrAsr6mmLCwr{Xy~3i)jRrF8;D?Xk^GzM(%CL;qElYQYorq1w%n0 z>SJd2*XQ<^_ObQp9X%aH{=Z7j5pQot4|PRRx-qjducT4w`xKH~T(J_F48 z{54LwoDxYmMfv{#Jt*`skTw~1`hPtC0EJqq;Sfd>IbwG)9Sa{XOaMMw4=kRM$>=s7 zR7N!5Tph{hUG&vCUyL^?Q_zAB%wt}If)90gMnN6*o!@I#!EL(Ss*tpHx+<#K5M+0Y z1Z?P__y>K84~G3&^y_n|-Pzj2*lWoWFnfy-55Q#O!hu~#Ea0AL6yn`ki0|PWe0KQI zNmItWSygj;yI=0q_020vhK|0fmKtD5A_{7FWeAWcJ5@@MK+A3yk1}#M<$+mi>bi`R{iE%YB)Q1pc2K?w0RREZ81v0)yfyrwc%Iwc z!NfF_yhTbdtx%zDw^dQdw|xp2DqqLniAl#d@zp<7{F>=ETvBPXKAS1Y;r_N9{_7t| zgZEsI*{cnYY_H(L-p04Fj=sd75I9@jp!n9!4{Ur7c(L9mqPPoX);m4YSgp5MMHO7N z2|+tW6*S6PD#tSI03?N&^4p$TqCa8#L1U;`$33^&?Amyg%L(*|s$^WVjhz4-%Pt1{ z;;jkVT_)zz>PV*a7b_HmMc4s^Kaz5+$bGk}f^K9anUTTjM?9wM$68{N*WKdi`|u$Ob(12AhPDARP@$O*B;S z%~3py6fi|B^Ge@lIAM*YmPY-RjToOr)F|V5T_cT4$sr1$b1cLK1I&;rOERLfx#2_v zliUEwKHv$U(&gL#02WJsdfQl|hlk^wihDHlkh@jTh9O?AxQ_NJ$s+f&8!AN16e|U7 z+qJLc+eTe6V7o5*lPE1Zxd9}{B#+oJq1y}#I0W$mMl%WfVW_p?lH4lUgMkrHOD}si zID?VC#05A25H}@k*IG;Ms^55^V)U09XzF3zjp!U<;gk-OB!SV#;*8^#vYYEUwEN4O z8-?MT)yg(G9C9PUh8TDeSDRay?(O2agyuPvFwac$2gDqM;wr;%W47rjb7e5WapUXOaLxgkO4K|<_Pwx3@sh5D5Jo`+9D)esK^X_38L6xlfky$A!2}*e z9f%{SIl-V`wLZ+M_$J{c!ru&&@U3jb(bOnuKSfC)$hFru+zNR?D`90o6p<>hZ=t&# z+SqmLWwp9-9UQ+Nf2E9dC;cJ~)wctHf-+vv=rUbFm=mfGvZbv3rzO!alOatPppKBS+t@;6AJRm(e^DkvnKM!UPWvA34$ z>QM|3jI$n{zz(cV%Ah3pWTw=fN7}BKd{gzi67- zbXzsB)8VyK#AC^0-p6)79fo(n6?M=GD@#h1aHyw_rZXFlRbkZ|!H4~MjX4yp69!*+ z?-bmTtc$|l|tQ@;z!`%}qs3EnJl4fMr^Sj0K89q#dQVVC1OC&9hGI-mj@Zw-(mnU~gsQ zbwJqIl?QS%F_1ByMuOdH_7-v&rkI&mnyQv7``FkY4Clh3*S1a%L4>NjD9&)U$-vK^ z1fH6j-G|ng<)VO}_sjTHZ}N{!9Hfwc?X?P8+3Py5anCg@iB(S{MNv%aQ3R+;ymP?9 zSY%cl)r5$oA5C#2X(}{Qpm^m4SRO@N)nI%GIIfl6HV%!#=y-u03hocOzM0wQTDw)Y zxFC$z+o&s?564$Y4MXSpayC6R@^$=e1?APbZXs_Zk&h&HLGoJNtyoEK1fg(cL}TX4 z82xHXQ0hf^c@iyw;eg7WsetojbKZKua2 zy~J)kEAerz7!On^1$Hd{ihW=_RQkglw-sy9 zS|v+Ll}uQ!(pj!l^{cqV4|P=<{{Wq)kbxrO#fAef?M5{Y{>^W#WVbsp-3jR9k@7r` zfvFa=n`zQf$ZW&CPd|TA<3t=Y!%+-%5K5B6DlC!8j0!q1+^na|AH!L*#_>BxA{3Dh z2qOd$(2BP!tEhEg%EKV^BfrXpPARDu&N8~!(rucbdczB;8(um%VxtnNCz`XPGM^B` zTLzIA^nQnDZ8l?<983>F>|Y1O0s$T3s29?GuTr?0KUo35J>fuH`5a_;R+-t0B`sCL zk=S?DH1N(jk9gC_>gc|BS=9WA>8ht|15FLI>ODxEm&=F(3G?ClQQZ#_$uw>4NTB=) z+ufSfFO|z|v|Ov$FnZtbO>{d(J3J8OJk|;(X7E`s-xdroyw}Fe*mf5osDs5&$T;870mM01l)t`&x~1 z*ifBL{^3u+q`5fQee}zXA)bB^;;1RZ3W<1j@{uS9d1G&=J3#BWs3XswpU_@7^}QlV zap;of0#8hORo~ocy-`{8-9-~Vk)V_g{O}*TzHKQ5RE~rKJ_KZbTKcN6-<=hI$>#kX zRW;Lv>ZB%Xd;XZUqY;Otsc{v2N<4eIvkZU_3by5etaI|4ro1xRYVf8Ka(7PFSk|g#rHd+tPp#73SapbLr{?Rl*R<`Pw{hh1yQJ>76W{?a-zB~Nt z<0;IHecuZGp&Xuju{|~(7^yXm8tNkrTrpI^Q4_;a1w?5yGsa0rNurTT%7hMKfd|V` z8RWOP5<=!FBO#TPkji<2q+o&%A`M6ivqDl;5-WnN2m}$-5ON4Lk6(Kf?CMu~nCLDR z=_MqsCAR4_G@HCxY3E6Mn8tb`QP2PeuKIs(J4~t~Yl!YqIlQo|K0AvkP9x&Lp7T|! z&dcbemsp+_Zc7}5FTjSt9l(LmcT|@TaF-A8v~neu-5oTOC|T;{cc`tXQOqp0Q!!&6 zdF)-Oo_lksx}LSE>g=t5bY)ogQ~)e$d%`XTdSv9|Y}2-Sb)ABdZ3v9FHYBqjHap|M zV0c!aZ;Z!D2qOiQx&E0fKh+~uE0*G!@%lS_KaE%|*M=p?!8`nE=A+Zq;z<%EF6ZFkhB-sI%ZjBaysn%s;XT z`Qv)|;WbRvlS@}n?JV_j$yGFrNoSU!jM6(3)RuGnHT2|BM+9jMOTioYN6Ui7a6)X%w&sR|B2#OfuEX15=Xi=763>`~Rx6~fT=fP?UK^B}Cg7G5tgJbPQWz292o)s}WQC)34w3>0Jcv6GeCS)^ ze#H2S+dR{7+KctLyEGKY=^f$-$t7Wu2}-SVD&Pl+w>|+eh9_G7k=y+?<|yOU5A=P| z7-t}uSoek*G3TEPj1G)Iss;Z5Wp7}1YZ3OiPH>}X0PY~*H+EFy^C~MGs-&u*sCr83 zTAC`j$r4i4!7VjH5O8-xIx7L69An7p^995gF)a4;B=El{Mpskh%1HUX;+B;vT2!m76%*3U9Zf9rQ&hx5MNv;IkWU#M40A-mljKI5mMEr; zqM9|9C+4gJDf3bYKJi^7j~gq-<~LqUq=Gz%+*aMeUAJ*9rn-`siL0c&S)NGYo}#H$ zu2eBG3TjrRKs9loIdqgWl~Ptf!v{at{{ScYUFE#fX;2Fr;0r3IL{3KhJSRSkwT<4*p^?=1 zsZt0&AnOHXWM)01p1+xyB`=4FV92{J19#*9hasz7XqxRH&C1dfzFF7A>hg=ckz^OXl}`S^f(fq;9fy_r9slOKTxFN-k$0B22K zH}z}gf1jN>XuHVW*dKjZ>8t0p&mF><`?=|fksBEYmeU)I`^dnRBg8kKJq(iCJH%^g zSBg2dBj=IaMluh0sp~V_u$d1FN4WeCcsz|c;yydL@eK@i_oar44bjO|A(lx^Op%?) zxpf`fA@JLM;#o#p0|mV=v)0;W!`!URaV7{(AO`?E`4g5SZ0s;j+wJYKcGg~JdsMk)QS)h4!RbjxWBO3TM9DdA(pPYPsi2E~|doPc%}$FPn* zuBon{gD-WG*F#ZHHC2*I*M# z8Ao)n`mzrUk;FV0Ra058I(DOTYmd#VWjs;6W%Iy1C&U`%!5m2ZC&gB4>Xz;)Dui|D zx&3XjsCzxaG6CoQF6`s>p;O_m`$MHJv!mZ>Uxx187jO%zFu_rv~+a9x%XpG4mz`w(R1Qh zoP2d02Dq4o8?pES)cFd3A}GfZ_I_rn)6Vr0w6Y#&kOQKq=%ds7^P=&_v7kldK4-p$ zv$L^g=6+rk+KQE`W&;PiLK;@^+xT<%jxqH<8sd3GC{O7fho67Cx{5O+h5Zq^^8Ph! z00Dq72OtMPJhT*?l20>50KmZHDQQxuD%lIp%6dnIQStfwGM+>czsT+lLHCjW0Hjar zFZbw%{{X6f2k@wyez5qD#*IjLqqC)qE8aLv9I?Uu9!Lc8&S2%N7EL3y1<6|*!Z!Z^ zTmJx6Y72j(V|$Ble+T_0tTt=U4BT2sY&R=4RDpNP4YFE6F2%-O;eabL0!O`q272gS z{f4b<7EMalcvPGQls+@u8L|OA*~zJv*ETa2TS=mJ9K>aFj`9Emk8uOSt`rrUC(st9GNk~nGOdF7dc#T-gq zbU=b7uY=azpg{IqQ@O0NlCA~_uWXlp_XWE=xel|m|_ zj4FVjdI67_)M85#$C;;q0021(cSeQkBf#XRc|JjUAM0Rz^vvzU6Zq}%rz0FvFM-d( zoL+c-$;4Ft%YC&_U0}fqwY2Fhk>|z<$P!bxk&V=iHDRgh8f3nkPrQ=OPNp^>9|m33 zhl44nF0Ab@Q_eR!x5lySJ=UtncDCMVNfmaw+Ir|Pe%sT?9K?TR(?IAP)iR;_Miv$=xmFY6#>aqc|4h{!$$iEiC3RJ=vQJU7}E zqzNHNDWIu!87*nMfl)&wgbuJ*v&7l^CajKwSx@Bl_H8d#)cZAfcwDnGgVJbySpfe4 zc^D2m_yOxzzSi4Edtqg)+l-(9G5-K(Ch4CPe5w8K3KjLSR(VEuWBfqZ&JL!hnakDK zWj2YKj$P^FMV8$oXQ}o_5&UV6uzuU=gHP8cmNnsnQ68B<;C|1wLmsw-hP!KsI>i8 zuG1EoU| ztES29-k|;BSNuR%jb(PZ&AS|T0DgqkLg{X;q?w+2I=B&rOHEBYYNP?Nc=kou@Sp7Y{-JH9oR+fO0_b#wxx35_Wz60EKv4`m|sB9TWbG?Jxe0^Zx+s z{{X6@eY;2h0My(60Ll1Jb*;+-xK?G8-f88&<5y^|rMghc&{j}Pl{E6H!4DDKQ2EB{ z868h1S0IcXF?DMV?X=dH2p$WCD8TZ=ZJ#iAQ_K(ury!bJd83{tD=bHd5#je9N5dkI z%1V{3q@=7twJRxUs?mQ6)WIC;zabzWEqvKLMhWJDj#>wFK4`^H(zW=UNgQ$wgo>;@ z0|40fX19LHU`f{FSs)E1A9Y6q9(z`B(#S@7HWe2>SsgW=_R2<#+Q6p^K3%+caHBsG zeD|wwXOK9WM%=}P9suw3+sd|gM3EXf5nUV=baf1jq+qKn3@{_W>WZw&!Ig@#?g%&_ z_!_ei7!XE5swLaA%N2h4XyIFBLuCG;15&dde)Tp$PJe)=JdUh3U8U45u#>sFh;8d1 zTn`7|KiUoEC{4zVX*Nt~A#VZd{{VNVyA_yTcuK0sz}3?u)4ObruASYWX2wFcNN8M) z;4m4%+FJ)!+Z}2v;C&3FN~0wh0Kj*Sgbwh0z@T?JbK2w5C#ZG|q><&|dq^&LbKCQ?Hxp~$h+|?2W36eG^9L~Obvh8lYqRSe^dS|q3A4M?qh&gcu zE$gQH`mO-aD%I{Z9Wzl$3)={;2HbJ_jC+a4s>h+q`{;Y(4#cli0!i#u)c1H7BvRD{ zptz{dBvxiH)G+<%iTpa#bk5({TyV#zTeXyj^wToM=6Oh?+~dZnx1E-`i;3+e7brhO z;T(8=sXjz`RWirf&lO&-@Y?0GTrKdKRcq_3DV`cyDqYx`V>6AjNw6@DP_cI)4q0G# zQSDBTV`TSheHF{_lN@N_o!=g);Tx#VIEw%jXFKge?Q~5>=H*~E&kE<(W>TS7sma)! zasxR&8`sb)bP-cfQBy#>Af}~)niS>kLj+3{OUuL}DEVvVtEnDqndXr3Nh`B4?`9;i z_mXR4w^c|YMA;ESk03BULY&BgNZvO4F06;(z>JSxdSw`+D-LRNPBMm4r;`j-MX9D) zyMl~l-LwD>8=ocz@Z+9*v}j685ML{~;o>Q#nSfdqOTatTrxa~076fd`SO}u&l#as`>J)d4?j4d=Z5z`r11{S-yavm_pn^N5YagKsy z)-~I!JB=T-8gFSVP?IYuYz@6M7}(>a(3~Fr7OfMr7cpPyH<~@$fDjP5Kj`G{&-%GH z@W`QlzJ{jRU0ZFeUA1%-RTOn2!@j1K;dWEvj8k%-6<~F)+T2BVZ3WZ^Fx(=#{_6ln zd`575L8=7tJQGU{gAWrGK5B4r;CYVGR9k{NMiom*3-89>=pU+shmw^j-Y@f4YkL292qZ#_IXYHqs6Y5P&%U%s3YfODPG3c^~dpr7=tK1z0v$Y|UH5X1-SgYg-m zQvU#3A@TZc_f(~xF}7*G_C#aQ02#idul02j`OZ-~bE!6pJ$F3$4=Q_20Jz@hC}cmY zsIR1@VgCRJEb*kjGNrW4k{fFai-jJvQM>!Xl0F9%;;*N=iX*zSs{4r<_|aI1v8tjf zq9UrIr~y?}1yxWw000Bwtay^dvmCP=l6jJOn!kV)05$`cmqG5YTJpWG##LZdfMsAq zD*!UoUwz^ab15?RTZfKf2W0BjC@Y+cNy`YMd7qz|3Vyn}#Tk*~iFPhkM~4v#K4z+O|fPs^L4-$n0`Jkd}@m{4peDQ514jKmga$c2;oM+QDZ61%};10p-k| z_G6Y~%#)K?{l&zWQ^|8H7LsCEpFTi$05$`l6vI+*JB2lq-fQ;+^aT90vOC3jf;o&+ znkovronnLYo zAL%DaX-gaimYqr%hJN!S625)W1D*z`eXzG_)(PVrUt|Se9RnQa$PvGH7oA!AKPt!R zBV&(FL0t7Kw%%ixek*a-e^$C$RH=>5jw<_oWgN;GC#R7)jO~4-#^cGBK&(AiQY|NY zYnUfPhK+&q8QgghkbLQ><5{ATHW>^E_w+vFy$z$F&tDyCCmA^9RKdt+oh>1`1HO^u zXaMbcx7)i%;+GA%X=^F%$>aqE1tmKH>E5iLJnQLB#9RHJvieHn4JtIJ{{VJJVe-Xe zou!-7>v#C&8!CTs6@Iy>uFmN_w~jbw9ArmxO1JU}Llo77pXorqT}%AB+PJF@X&tBR{6_z;|2Ti=j z4hZ*i>t4=;g6auY`5vQc<3$5S886A4gS7Qk9Rcz@$v+);Jb~B+m$z5KS}$nGHooC{)x7rK_Z9Qo6?jp$-DtkPtHiYlwvO zpS)2FiKNX8iL|86%nVU$t9i^Q{^J`Mnsr8vN9iWPcIO4&9Y{gONTc~ssHhxm?)5cb z!2kbH2Af>S50;1aqRk>bL4`@5iL@w7#Ly(b9AZKjtBK_~wX(wGpUtONJnw(UC}UPnE6lM= z?CmaLX8d`gb5Fx6EfA$0wCn>{e9%-KlxnQP=#PcXDBPa&^MOlt%04=?!0xkSOb_?# zf&k5iqg0}ONA{f>3!Wa*-nfR8lpbHc1}y{PD3Z7sqSL$tBTkD<5OL{Hf#VjJp|}O_ zUvnShH2IwB-=X_W(9fTt-)h5FbI?@@Cd>1IB_M1`Hk)~Vp@r)ozbrHhZQmo9GT<~} zQvkUaDWZVzm@XRj7#qt%ICX>eF^V>&@hWPL<;y18rA2Cr&g@_r&ut0m*?7l-U+X5N zZ!MLpHX7ru!w1HYZekbOz=W0^tq8_GbPJ=lq%S@cJcoSd1|IwNKm@(+grA)(d^Jz7iMjOH(s?z}I><1GyILBoxMGY{%p9T{Wu zmvogYPHYi^=>xyVV33}7a%XEB28I4-Tv?gZ1I(y?S=`y%KZJgBoSGy|~+tmj^_ z-@cQ}M%1L6%w0_i`?GCE_A)DhP!8g-KzY(~%kO1YlTl*D^L<3`LO= zi6S~vkr0eE<(x0XQqcvYAOVjk@Q=t93`~> zAo4{LQ@~O5xkiGkbz90UFRV4pG&9o;y}bOrde>k4K=Qef3fKy=1d-HKL%nWklDY#n z4@X@IN{R8$M#H2%jUkJeEzYFRm@yo2H-df6RKK&V1qI_q`C%CaO=O!yr%{iFsXX|b zpSYv6$ov?(qcw^NwndZOL6`H;#UU-m%6+5IG?9;kK?;ifHD_Fkr|6Ljtdf{=mf*J; zyDOsd;9P>@U~dl|neU&2pqpA-o~gfOc3v9XBE|7*M%q%AG(8hP1wKSpwuVcIIRdf$ zHlV))8KN62Ck?c$DS-C*yoiXmfP;5vBzDY*fsp{Kh@85N#Xn$&s{H z*0&1VwM{@$B@LWL@}ouS!uUOD?I}ACTKU*JVc4`erTrq9IVF?H#K+MI^E1z>+t46f zgk#J$m_ftsl8y!>q05`0>jfrG;nMrXam&GK|eEQj>6pV$y ziWWDNsFd^lun&_Df~H3!UmGB6Wd_8>iJ^FJ>jB>vi=}JAWtx`u{&IbwQi?)BbTCPD zLXgi=Sr+8A;oMSEMJ$9?DZQ)r({`n9bt(Fn-&&hL?3q4{h;CBI)lD72bnN6Z@i-~4 zAOfTD!Hrb9SMsze*~Jw9NaX42JFP9yxT6<~-@orAhh%GbBPC8~v%D}Cm7ax<^97hf zslH~Tvi3(k=Iy+6NW`@XF-Bo#bq0_UY!4I~Gj^dr|t~>J0B&(ETOYdxK1Z^pFVeKc~ z@MDGyY8&x_?&k#10sLjRj#{DzTA~lQaKiFle|P*75B3E5egAC9%s6i`y!K_Rulcmj zhV0cY%o4uot*?699AkWjvne>7?{b7e7*xn8xh5yMLJh_&I@*4{+SY#QpAb^Zc4q>g z0Cq$xvePZFzBow{?Qg%qmRx%3Z9ZS}{zQ4LZ&@ajq4n**P)51y3kfPh^VwSN z(`o-ctEwtUXGkA$6C7_S-tBANXx>Qu)kd)RVee-5L#Q9JK(aulHDW=Y6#QFg>Z3o_ z-$=@q8)b_msWmw+%3meCLDneJ2L-aeg16+U#F5|7QjtAh=w=cSE!y7ZdcNT)=ew#o z`;*B01K@J4b;Ez2)b+C&>MS=1m=392XP#4g@lkO|T%6XTWxA<%Oh}nJIy9*)PgN=M z0wtonKT=234}qzNdm|+N6NAo?hznQJXKT_@Y`OcH_;eJmjEdUh{02^-<+h%_Cw^54 z$R8(KcOlcpH-Lxw?V{jv>0uW{T#ahPc0p!EjiZHeeIRZ|ZAPN`RkNjKAL!M#WcGmtzPhl?{`D435yp@Set_IsqdzY7@69^ z@OX6}$|95$2!6BqeE3O~u^$l5i zSvfry^S8Mumze@{xh*e9$(7H{t`<{-s+#>6R>KVzLSVX3DSLgHT3OPYq=V-%j{7Cp zO>#UsHm5vCCYwSfnjH5B%Ll8#4`6RQSk><6JD`C1+Zq^ZOOtvnto<@wpw5h6$R!|Z zrQ8y2k01KdnI%#-Qz9J8M^ZL=P`@%iLD={3cKCNqh4W^+qlpxu(qEwCM#qMz0yoTm zrUZ!vXMRpH1-w-lcfsp14qv(b+>a&9>Q;KEV8We>DCcZqj&LuIcQp=aSnMD@iD#if zRm>E6QP;ws?xi0mNla7_cRQXXXZ4kesl+1YBV2M0w^gDxS4S^Gr}y^BZ*blCo~I=# zZMN#@&8nmbWpojI7dB`aDIbZIpuoOTXlvTDxs%NP0zuI%|Sn( zsthxjJ6|D@pKVydB06Gt5*jz>0-53rAA%}Iqq=M$ar`}r<$kejC@k=8W^z5jT(7}6 zzYQuYy`03MPvpX%knVEN{|;l-;-O`IrbTtWaLt;u_p^fJzd0ioV+e$_W|Su zUl6H>+{vTluMiHBRkihG_l_wi4Yw_+(_AbuGHf9rl@0?dA{>@P4or7AB^BR zR5Q3|K6!=(q#DnU=l=oDy;5-M>vom7Rva&9OG=F*<|_dr zxhG{cFMfGE13G&R@)$1G#P`2D=N5M@o~=8_p)qL-w!z9mV^{JJJzBDWvM`MG7(uQi zf0e3lba~5VrgftXEGMCwgX6!*Br9KkG_aFOx>TbP)14X1X2lX+U**b>aJ1)?I+hWQ zoR}H!_x8qnUhj_<>6tnBmVW!{`Qv(sihQ7Q)N(h-msbDu`h{LUmn$-Q>K%c|Lqdl$ z_>y;)a4pl#oIk6lfbZM);vHe)Z!kN+kpgnx0hB({yuy2ZT%RA*KaT z)2jJ^okwuJTKPI1VmxnTHNs45T*Rf4mvvc%yJ9`Dy8h9^Dfe*JM0Y9`LPsFb>a_u3 zAm*_3F2V0xn1eWfKwdKHx=2FL-zA}=@n@rx+~>ZgMV=pFhQYPorP|*773d90kg<4W z1X3AHaoI5+Ey5%u-9FuW4v9#A>M-N! zMi-?Bip?lEx!t{8)?dty%U9FFu2xB0(seS#)&N8WqfDT1mEXDbFm($sh?}Kp?p3lY z>bWH0$}t&ej!a9Tu_A58fWoMa;f&tfVl3iU&f19U&oi^cp}TJ|Ix+Z&aZaF_7>>#E z!=+mg@syE86lSm}M$V-O$tmN~fM1)A%_o7k45juG+ak=hm44$;_-9=GRG? zD$^4?8}YQaD`cCr?~bd+L^+>il@vuz0g<`#`A9QU#uJ%r#Xy4D17by2ahmz(JVJbc zoAv}%UkZ|bAM30&)sXxUp=!(@5pQRZC-!Lg%+0Xg$y(m6CX1KreQwX?XS}M3A2W?D zMfjcDj4IZ6x4NZ!LoWgW6o@1?{mfCcD0`PZDUg*nAc-e%*&Ef!&IA3F4wpXv3;o0J z4@NNFPhc0zkVP@#HLx`*S~XL)9?(XBv4HS6IT2ItKAA~?5$Q-mJxDZ8nOr3rFk!!+|=~B^;2P8E|c^xMF}>i!e)=YB)!k| zg}RkeTu&O`9eocEnxsu}`D#TTjpBm)Oz5+3fKQKP+R(cK6g5rGA5F;-Z@!09Xt+c{ zC_YcGx1R-9?RJ|82gCSGAefI6k0r>4j=XBA3TogZRlIAWKVgLCq&{rI; zXek`&0I5TjWfBz_=?V7hN>*r9Ev45<8yH*BXc2Sni|xbIGGGziE-A6pgzNKM*@UER ze@lQW`Py_a^`w=bMx@}f=PXzmP4YV`vc;HG{z{wIe5Zqm>3R5azu+_x4@3`{5tI;` zwf2Uc(WUwf>CZJafcRq3Zq(-0?b&q02Za4Rb?%WbPVu~tnVIJq7%e}uOgG5%4JJpz z_32K+WN+7f3gUOAMCPvVZ*Lk7m5jl=4hwTCvT{)}b-3pwEGx!p7b}ukd3Q^$E3_x) zruGBJkYf$_<#~zuJ;Br_H{NIUj9o;En$*7MR$TCP@hS zgPo4nJ*$h=d!c1T&83`bTGp(=j z0qoxRUDDgblspSOx~EB?B$uEh8UTR)FyAW9irdPD#9MOM!q+5vg5Bv40KRyl%OgR9 z6h7B=z3L^?VC`+H$ndQ};O)rT_ zZqSA-P&Ng)qQF@|G&ObQ5#m!VliswSdsqlXR8rAh-nWASw9f^1-Pp6Ae_q!`6c6zF zSIXyIz^usr1D4u@ztX7c5V_&d1Ot z&}CIiHGgr;rvG}g!tL73UtD{_N?SVb!n-ornywLDBN3}^LBz{!@~GQ+ow7Ftw_jv* zj3{%4q}Yyf$Wd~Rf1mCDwrNBQH$1s5pnHfcj=7I|PbEBWm<2TEk=|DNr#Eo2&5CQ0 zs^T#p6yys{;g|Z~C=VvO?azMMFV(nl+iH^neI~*)*SOVEbW&*+LR9;%uTxu=AN z+dz|?lDmp+{b0xNV>{p>5dc;GRR;~^lP{VGOo)1ZYwq`Cp`?i$yq+%TMubP92oxnn z5$GmMnWg+s>Z?Q~7>*(kirwIK;#dvOf$;!Wc5?{NY?hFWoXwsB91>6 zn@U?CSu(zKU(quA;3=8J8t0Cs$$x;72p871-~Dr{aF5lq-kBlkS*JGTZK~Qp z4H+z#RH;R}lyb~_<^2eXF4vEbZ@+5jXe93%rKxi#YCa7dyKUMLu*mB*LC8c(YoB(?W`* z!p!nby8Bs96Uy4bahULEd0V=hS~Gf{laLX7|2n%I?1J%C_kw?xVxN#daIh=JK#<>s z&@+7-gaB(;Yxshf=r$-O)ER22T@GnA)BECvqvSYk=8tv{{j}31FbY+Ahi=Fyu^n|s@ z4yEzG$^(77KRq0thev5QEQ}Bol0S(LMb?6YVbJB7Ooc_m8vOIfJc!5W&7g)rwrX(8Hxq7s5-u17c zg|)^qL)o!qe|Qk+r5LkRuaQ%TQYc^(j35dx@`jY2&hPqn|1%GNJz0r3X4DlG7qf7& zYEvDQ(2yRJqhpfwP`!=&>;ydKmue3DlE-R$MOm?2L5U$Q-`tD?ZPdz%1NwZW9hFp6 zGeZXKhXzuSOpT){#ZO<+%HlaVcWb#cYHqLsgOG^^*tv6Oa&CzSc%cZ|)LN$vbp@Oz z?zeg)1dkidMi<1GHzEogG`^+V3;ZS!daq{!00w0SOw4ZO+Q0UmuAGGqxXgey zwhI-~B84T}c_;ST+?iK(8>?`b4^0gEj)Ww_+-B0L$Tn=c*hS7Mi}oTcBDPEdkE5Un zvp~;{K!0r_l9V-F7lVBQwm*Ee89|S#W~2=pDY6_?wi8{cyvA(JJI;hO$yvSWEoVv6 z57;>UlY(n=WDL$#eLL9g?axOhO4fQZi=9tLGlx!jFwRo;+uGMz;qm*wXRv_W`=Zl; zYxQ;J|L@=XUig)i*(hn_j8oi=4B9c%SjGa>|6%^`tbPN z(qPTZ6of&k?Vn#)ZM&7QG!p`my=d%;b#h`IgOUVlT4>t-sy~yPbKS;ONbF^=m>8l? ziz?)EXjB_-9 z-WN<#jIyQVjG7U`>@na@u@e$K#5q2ndB!@~L&S_vz{omB8 zCrxIG#oXSK@W)EI9OdrS2&nP&@y2$b|Fkm?3PV`!$gkhOt6SvHbf0)W_sH1ycv?%j zcgu$kH)gv!G`*Ji|Ls2XAMbMM?d?B!{TxuS`ASAc#-j3re@@`8XUv-1^alB)U6(BD zN2RA{Gux}a_ob7`{BDCo$9uA`P@(h|oLL+0vQX!EPa}HjIP4~oLBt1(Ki)SBR=}9| z5{yWW)0Egm!3iU+w}+Jsunk$+XtArQAdyU#T$IH&tQV)+XiOuDCkVMhiCHJ9WXoO> z8yjj+ueir$-q0PY>+E;HxO5Y$$hG`SrSNgvU>Wh{py@2srvqppdiRm6N}Ih8-BWsxQjtiz_vE*6mr~c^|4;JIix5r zuCkJ6Esgjr;|+?-jaKGW4WjyKVLl-3mEji8)x*nfTLhi~JFeUR#VOMw<7N zGd`vk;%ymbq8VBbb78cpS6y!(9BTH4A$mU~vOYGYaoeZ@sNe#7M`MKIg< z&C)`;zbHTbzOU1%h5|zv>;Q&nET#=wRh01zsptth*gQ~fsYxuHBh_Gb4=SR+-dL4O z)a~CdSrA>|J*6l{CrP_P(p`B6=2FDT-2=(%y_yC`cgu96`}%H3P!U5ACW^|hjds3e z${|JyTX}H{%EZ0uVRXoq4)InF!dSlK6><%}95l!1P!GPW!v%3`HxXTC(hW-rq0NzD z3SnC^38e=X-7IoUJ@AT-qcIq{Vhr;fZ~NwY7v5{s413cXb|JE$RtzG>$yJsE)PXND z`|HYVTfCNK(lMc$_WrOex;k?9lX~zkFF9?oUjF@k$ptt` zUYx7)$w(i{jY>N9S+K(^mUAqwy*h*x2>mocRtPl;uFBGz3KNd9Udp>$(Vym_(#dLE zVR@pv+Q8iLefoOQi}TEhtaP%TSnR|verGlLBwbx3c+$M#zz%nr(;3-@w)KpXR5(ky zW#ej;-T@>g*PFi4qm8+^C#$W9>X=g$o#i!gbQK~%a%aT@b$!H@k5=92zwu&;8 zxyXjC)zh7IjGy2-OX`BQiS}QE*VUrHz}TUSabWB?4g-iiPlC}F6D6JoE_Qzm!vHcZ zp&^M0ZHDdpE+}IC21?J$qafYt`i8+Mu*PcD^Y>G-j$1YuAQ@S~#Miee)qz zB`~TYHDVZ(?b)qPx1AYWrWd+WgH_?PQ9lXi`ZaG&TZrw)InU>G3+s*>Q1pu@9{1*kFvf$F)%e-j(GZX>-DG zk2+5*a_=P(`M7yQ-4^2-MZ1YejDOY4mfsSXHzY$tQYgxpU7||<`r3LRC%H6eC8iRx z$CnpT#AF|U0l_FkT*8jd+>}{Tj&WYnIfE%ZO@GkIMVr+iO<%eP7ap1oh1_=B&tM|b?Zhy@utY`AK;q%@A=2$uljYwE%UJZ|BKUaCtwBqce)R0ai--dWCx^`T9isI0)d|B z0O{4y3?0rj<@sJ&Q7Uin4_=(AhB3p0VX26}&BRC^W`c9ai9ohcCC#hj(e?){F9OHf zi?zm~oRaNx>&VmiT0>&@q5DK$W5UTzU5oP%0yiK20aRN%ZKYSSL+Wj6p+e=pif#Ck z%OhxzBTPChZh_ae-Y(U*u-TEK%UR18L4NKp;t*Mo>Fv6?W{jXu3%TU8z*y@~LuXe< z-)8Vrkhq(gih19)y0XAS;1hB0tzYRlY#jVegV2{5GJ6P@5HvQut4h+a-kQs|lbe`} zA+JHe&MbIuNgc!O>|NuGay7waR$JQ?QL*g0{b?#aGmsU81rXvS-rBRk{hm^(796xL zim+v~U*z$523!5SF+~jEald%hvweA=LQd)jb75|80f{EO9j_;oG2hgp5{-@mWt|6g zuXgth6zzsN)t`OUh`4Z+l=_9d?=Ppt5-b)vG!}+G+L5g3w(CevOKaTA))>SQbo7*0 z_f(yhQaG??lV?C|n$!B3TuWKhlY8&2M_secdNu(0sxG98EVyn)P19}!O=7m6^=e)4 z10VM1vS$pm>nDE{ulS-%rw1N(X6Q53647oNuY{qfBRiU+yAv4QCEK$~QSw=Ly0>#Q z4`4x7z4x2pX-TJrdt_d}sf1|JI>~Fs9NY#D9RwfCL2|IWARdD zIQ$ko9VbZ1=U)vQ@Im$;)n8Tq0Rj@GHCFl8{&YEgkoF)oy&(g?_>-FG=pgnEvA-gF zTt2B>D;UuKq6rANc$$?gRJDGE37bTqK)?}r=Up_;?jWJ>;Ut? zmMwRqp?H5+BS`|$JwUm5W96SpUvep%hDCF2or>*cdQc^s6ys0#Cn@QOLU3HHsw{*; z>7=5@$oSnB${!!3rC;*SK5ZQm=#B2W^i;zTP|SOvgtP!k9tfT%HJJtwqI#-cCzMLi z(UIrP|10w|OQ1~dhAn1yDpUXnaB5jvFaZWQZOf{S#N1P=>N6&&oR@1(f2hnZ*YeA> z%8L*~{h9PWZb>Yhgaqz~S?0RC{eoym!!Jb@g2byvJn9Z$L<~iK{3?1mktnFDoFmF; zV$Ay5I%#Imz5C2gX15xdnA=gB#0efX{@pW~SJ@iu=isRr5tnppURV}e@?I7F=WVrx zz(#pc60E{WoI1etsIBnsht{+v3EFV?$1*;#d+oFtj0ElUZtiDq?0d4y_<$XHv6KsL0N;B&(qS-T;SoBiDJ z(+;HDd6Q{dKo>{qVD49}#cI-^h$0GqP{t8;OnClb%vDeR$Tm>nMM9%kFA#7G;|CHA z%vq&Cs%T3^_wTfHp)t2|CSuqVlKLzuPk8sU^K4kga!{&U_)u7>27(Sx)#fiPW4ig^ z#shp-wqed&%4ljtm=D8h2k_uACZN#JIb4oI;-`Fp4ijWQD6*Dj#zN8S;C&t>l%7o( zo^)tAzCRGlxl%(>gm?f@KS&#SRdMe2%2x;nN+o1|j-K)~xky{%MFv*f>;UppA&m^aFh z56MmP0vUdfa7?8KnWY~_S((WkWzz7&%itY&w2g<0Y!`zv)_S9 zxnT--T0`{o=5pU~LMB^uYla85L=gaZ?o*t}wOcJMgw3&rEJ8>E*E8Qwn?y5<;9H6f zmE1zRhp0D6H zphYUzIA2e!kTmO#Rrny^*4DA_KNgMOKIfzE8a}-hZ1i4Hs*h>sW*th%7Cz8bRhI7L z7(>QL9D)=R{z}nQ3np@0_5G}RWAr49>9y}`5zfEWcz%%_F5ns2n+06AYniNiSkO}v z&UI6KTXFgafOmMJpSyczc{LTjgzdX3e_Na=c6H9_`mt4&e|a^z6pl9XS|NALZF}Uu z6tt7`$iy$p*e}WsCaEZw*ofDm{hTJv`E;C4!fENXWW=? zut7XS<|VTZ{KlbiO#YHl^$e3`P)frs_g}PU1&*v0r$OW^d3wojjo0^hFOuQMLjBFJ zg-_~uoPA{(#VakBAig&|T6-0Y&P^y=gqaxR4vw-=P&C&B>JB8x^`PfwI z@k!U0)1v4IEvKrvANlul4udvlum3#%iec>k@VF=S2NtbBO-ART1PdzhVzs~a6sk@A z9%V48oJW2j6`}74fgoHYKj8VNw1QUOCOn`a^AWfqh(l zP$@oMpf*LzFyMqde&s>z$lHWfYc1ZDR8P$N3&4e%H9sgJB;AlW+Z_h}wsnBt17VPm zzA7u??zjDLe1F8I(3y~tTbTJH!ZXryosVxu!Xeikkx4q+IxTHDhvso;8k_@l9AYLF zy;n$kDK-%28b~gb>@EtK22&jU{z)lW)EryB$bYeMOYqm&ET z3K!dQK6I#~d&{B9FA(Dh?tvGhf1oADA}4E|+>W4BBJd#f&LXaBs}GNe_**1;R!QvK z(sc%Vyw~_IJ;>~OH|R76FUfP+CQ+$?9gB*h3p4B*${X0`q|goPO9*tG-@^y1S$k|- z*L+;>u~BdQn9S$4S_XdvWFcYec~V6}#dSye6Wl_9o6b8-RPLUokao0AGK4*1$CKDK z{E1{9Bd7(nDN=sdx)%OS@I;u%a=AUO7$sd;T|dUF#fcGa0u;(KyO5 ztu#rp1LH`{EfL|BHT!u%&O@cK+BJRlkEq?vl#<)j-$C#v__X|SeNHjP&rC&f_gQxF z?6Epwn;@LN6CTHwJ=noETErod?kG#ok$Z+JLP746GWlt{+$jGm1zR^)Zm2n8P%J~7 zy0SQYz8fMotg6r*RxTf>`{2xFz4;rf)rpGe6Pm0Dv{w6Y_9vsztm`E_#@9f%z0#KZ z6tb^EB^Aq7CSh{p&b^de`!S(VYSPu=1C;fmC9CW8^rF2jWTZ(JY-DzSfE!oqB9G)` z?+|eko}iHusH&td5o3>va77{YLPXfIX21MidA`bxyRYhC1DGfO)9cn`tM36$y-bjA zdCcr%q{{e;`@Jhdm(R6&^!t*V|H`kbZ=bhyq%c0ksBZTD*VYyswc6-990Z_O?{ssdBuIUw%sD-s3ZX1 zR|C88|0+U5|gjwwlMWPgB%DJ6wMi(R?cb!Ns zI1Nk>#TA}XA(7dNK~o7vStTqS%;0E-;1#ETTVImCbw*ZkHI3$1Kp;9Cqr^iV1xyTV zoU^V+kJ#Nn(&bQHc-5Nwl!ROJ#6lgb4ssLynb>1V(vZ+dVmWAl(Row z*@+$5l&nPTf&#th_vb|T=%WD0S$rXjS)l=?!fjtY{(JUH3|~B;>fl|l+)CYBIXn$+ z1rTdZdUPo-W*uz*10*QE>M_A~k1vYbx*Hy-w*~rBbT8>lY8Y-?vP+Wqu{tFcbe|9z z6BD^0^RmS0E~Z6=->Waq7kGx|6(5z`ziV5$1GUn?#Lj%*zOn`Tgm7TlIWS|0&qObk(-k2N!a`PIxP$#Cpp=JEXLw*~)C>{kyCETenv3F7aG{mkVS!8$ zofTz4)Vzj(6MbOsZ?hPlE5GTJ9k@?CT@x5aH z&X&(6*@mJTLp#f8HJJ_Yw&_n?cT19DKIy7s1H~)s#Di)2(ryOI@FXK~M7jU~WJiD@ z+y;GCo+|TyW%*iUj>yO@d(K)%($e?m&T2jq>*g}_^gLhZ;``tAa*0YMA}Y~3C7Bbk z(-(uTe&rv0dClpF=SNbMGS42m`hv>9?WsY*#<;i$a7RpsYxg--SO7O+xoUQddKYJZ z_~ewd8i?-(y6r-od8WQw=}Q{1=_t&fol*@~HCK<(%#VnaR}@g3Aewq)&rC(c&Br5G znyIXBYq71Oyiw_o+SrwbA%DWg%D*6b0kK8=r_az9arc%UwtOG3VRZBzDagHp2AcO4 zd;orwzX<(50JbaU!JY_zC|<}SP5Vp<6&OEU&0dNmTv5rFbA+D`$S7$wpk~xOj@#Hu zYd3#HPw)C3gNqYVtp6<(Y4x#=*PN!WhHun?CVub8Yga&7rZ4^RM6eg&iQ1~u7u$<3 z&03s|HMs6k^c1bA!CM%XNt5Yi5=Qv5J$~dE=#+glaVDa6OQVT4Lws!Q*Bq7MM|4` znkmPBm8ll!Mn)vZw&`<=!~H5Cy@4%7iMcVyA5+=T*k+3%#ann6vCg|E8lesf-J$#f z+uixCoBFJ_;NYy6q30u47=%*@K!w(H*)6q-iPvG$u2X z8R&Cv7-|sE8JM{*x-V%ZQ;R0m0asBOJYR-ygKt9|g+wZxskcrb>A}v=4@^2gd-Hl& zpzUU-FsRoPc}N2Id!K#>Bn+W$xaie2Kg}(O(DuVLnf1zawP`hFym~d|+37REkIRPf z7=wR2QXj1rsc-PaS&7*AI`1{VOcL}(9Gb+lJA%{=&f$fg9-$f%5WCWnCbhncIh`Zw zoRZLPjTmnYR_Q1#@fKb$SinH?cSBQi4{@radqrz1+7~r0(Uu%A{Ry+AJN#K{uF|pV zZmg}9zERg=ZZdmCJn3-mz=c*~Uv);jcX(&+lF--%SFHvNE(TzVRWvr<-Bp9QYZzIX zH#L%8h6RQN!Jy2ipR;^%(t)C|O>sAJ3dJp=XEZYm2f7dG369T*mYnY~>)|lNf3QQe z;604@dTC%e<&Z(tBC?A(@;~Q;9+*U>@;4!5bA1FwGt@`V#rPv+Bm6=@LoN5IK*_+iz`l@C6Nz4(xgbWfmq?S{pIHWVBvB>udLhJfT;OU z*gG$&>9r3wFqa23rl#>c*r{eZuMs5+q|hq`HG4+Y%q>)ZCu$Irk`D7}ihZ5aJ>@sl zf?MBzA^4Gptkj!BF203TS;bfYMlMi?Lp0T>@X}u>D2|DJR-K6Jl|#Rl{e%W|>_Zy` zMfr~~TK8oEIP#6H{sGt{wRUe+G0kGS;AUYPDHZ*2oH#1%GP0e7K)@dO0-wbF*Wj(L zi*M>ylIi9V5g8g20&Y#cw0pxyA#n4UhRR(N4`@cEYgE_jE?eh#7oaF|Su%SDu-YL6 zk>AR!_DGGIgxP=Q9U8ExvSGJguvd#*5|fVLwVPY?uXFjkL35{>H z$kf5FAD3XP)EBj@!2MQaVQ*WbDzeEAe$QSd0V$=~MV1Mhcw2r$#Hq{%O5+=Pt9CO5 z4Yjf|t#@Ub!cgGJ)4DqHHVhxQ3p~NA7u@cXC$Uben0%h zh*&HMsUly@{Lq*tZp#5%-lWel1_ibKnZ}BkVUEIC6apRPZ2r_+xa#*uE zfMYmh?rYH?o6BLv^OcLqo&H2YFEhDP64=-C9VK+_n=zk5+(hmAqVAKQ-WEn;{Z}~; zw$Y~XzHkqVG7aS!Vm6t);f4w5%x&CO({IpllSuPu3Ukjcv3&3htyZZEfp?xM~3}?SE ztdH!-CBq?|#WU>Grl_~7VY(kk;Dr07Y#;}*%_V`P7#&M4zC)CF;?{av zBnNSy%w`B0K&9SBlGq&dBt?Wg*_!u|9K$5QPb4DW(|o3RNSEPG6_j;Z z8e^j%D7eqF6JD8rsExE&*aee?Dh75}?WInb`=K$T>$ClDWe%onueL>oWuwCNtI4A- ztF)e5_RQ^n|GN1}E`CWsLL|w{3n%v+OrNAcJ{{7$-VGYnHc!Z1Jna2&xhLm6&5a(t zneLqpYfJIiIaggdl{~t5bGt}gLar5DQ;Zls>&F99>^^9Or>7^?tqcoUEaf3dCkPw!ulfDXkarGELJ3Kt3E@7(BAs}Z!E8hl=8#=Od3{Ux#0I`&@6Lr z)I~20Q4(?>k9tbQzAPRi4|9Wo{+yG_et_$uh-K%+$->*?DiokXEa@hY!*uDSuhu?% zUTWLh1@iD-u#?vc=}r!L9hj}A<6K}_%Xh2=pr+cVJ3G0`zrG3+*P41ki~p39ZGW}; z&!=hFW}@s~-(CQNKKt^E`6^D|t)gqk(%f+*<+u)5MMV^%R1+8%nIKCU8HNf_H)9HX zcLG342A`^T=Jzl$vUu8E$qXFC)5kk|iU+IW#fxPEcP{oq{#vG~orG;2t*~!!dMwnbMC@jHRaCz_LXOA3ZiWqACP&_1GI)+;&u}U^<=^u z*K&-9?%6J}?r`47{sHLCp7{%q)Ug|}o~2%_lAjYUgx@eL{sAT${yxh~{{t{K`~$qo z1zfPM02c_Pd!7)1tCLOlKR~2X{0Znn@XV}O#$S-xOKhvG~^Ueq?xV$$t zsHPz+FQ7U#H8YxkT(3y^<#Y!t@ni(`tixTWrm6J=_pi5EU4t@&^k++4ctcM% zR83*5?|P&d1XR17n9@0nFQ|@MRS+>(61zY+*@^WK=-EzsPeobO?C`y!UB$AneR*wM z;5lBp0JQ->kqw(BzeK|LgDJ=r#NOH(Uyd1elx8*`=ff1e6~yRCQ7O~PeRL#Er2Y_$ zLV;~<7Jb4OTC3XymKvhCR^}~p9eThC=H_x}>P_Nc-Dy#M-QvxP<#~LvWEx9>gIhhb z{7Flg#2<8GbW~xRq`Pd5#`rU7o{nB_Q$Z@KgZ1TcA3j>&Ld(9 z{j)cpVid4EK_S~3@+J^ui*_C;}~vVx3pv+S`W z4T%czvL8gB!T3t=$k6*0S>1Bn=?7%(_-s-&0{`+bWcs3@sOx$m8vs)9T%{XOz_;1|=lk~)fC+2o+%OqS z$pua=@)q?DQi|ZC0aJ zcrAV6vY%p*a9)mswg`GYne4dAc%%7iI@UBN_py4ZAc64kz&QQPCDW5C<@>#y24xN` zcQD=8Ik%Y9mMfjt5w!kg3K+5-obXFwuG( z`5y;<4y+wI=?$T_!**>=V!9YikhZ9Up`ltfp%u7KiYSp-7(fOo)Ei*TNIlt|w5*z6 z7wEUbM8DcL760SPF0}b^99mlV&4#a?PogC8;vUyjf?VBb_MY-Y^AWCv;QFbtwscoV z!?7Z@l)*hrQN zVdrs=>xcW%{%J>!CHAgut~AuqB$a#}EohHH;$%$NVp?5;@C);VKp2j{0O(PDQ``x+ z-Vsa~b&48QM3Jb(-RLU~gk~|?2sSs+6HC}LUAZ6rRd2TE`7Wu{vKT;|GE1Cnkdq3g zAIlGZuTC#5C`#`Im1m0SGxa>bEf{rlw28XNzZ6h__2x*a+2@283+rd{Ir9>K!Ng+r zr)q7EXFX6lUE8n@cZ}HlDY=b=hOpy}EtNw^rOvORAvWSng8X=ugG;B5+KUJz-#?TX zMC3lh+3bbgikv2g*n}?)KaRJF=S$w66o09Q7n~bey`2h$mH5?GdOENE4ZFqKm(Y7% z7F;xmR^IXG`uh_1XJQ)qf=|;5dHa}C4=)WcO$Zbi-a%f_PUS(&6f2=H-EiSbc5hi$ zI}Wq4YL*Qv!)VP#rS~448^Mn*!;mocsGd?0DDKHn&oUX>a1cDAPXwGbxii!z@zvuV z^OXx*#YmY3e+JQ@TVPOyQhiSvDV{{>#eGi&;Fqdc(*%=c7_nr#DqS@r{D`0Bm z)D5zC22h~FzR?;>J^9;?baUJMsDv?NZQZ4R;s# zH}{NyfxNL>2T>7nk^n1nsqbdQ8LzHph7t$%YX*s)PMWwL%kwt)(XVQAl^DnqCmbwu z8@5~LXTFnUh;3F^c1JW_=I2;u82!;dbH4Wl-qDYwktZamzejpN9N?7EJ@CMjYuzR^ zv3S_>{=wq;vOI0&X)1GDqvg80$+MJHH8;&WEdq{C5qOKqhX-U87~|OdsRE5DcPuK1 zp-oONQ1z-qBIghT*}schaZEMYf#Z2VR}y>C@$q?f60InHrLdMa_c`Rxd3Scb=u@%c z_oMmMz$3cN_lwK?8>gOtRS5V7?ar{BY-nq1_mE?9+R6Jx_jx!c8y!ghZA0MRjJAOacIOs>*PL98V{jRks>{U+8eG2tg`xc&t_ z+OOD-VJa>GjjW2g{6GgUk#dPEcN0!ZXny(*x6}HRP^Z+7Y;j|`NhoTEbIq8u_?ToY zZ>&95#a&k1_AF_I+{^~Kg0Hvl@eC^A2`&pO@D=s{@jFl5!Oi}s^mrhaIMYXOOx^^! z%(OCp2xm8U24?Ax$8nyE76cdkZy5go&T`~{{eftAnalXg6V0b4ak@>)o40Ax08>Z~ zF{5R12R;BREA=5E;d&nZMDGWg#bduUeU1oZNL6sadj$NvtX*2F@P>J~o|J3tZWvly z{--sG(9zNNmT&G;8uR-ca0i|#vYH{stP?^=O>r^?qqEZ>mDE7^MoUiZOQK|zuTF!uuFr2)P_?EUl-llBymYddRg`>C=efCSNkfM5@(5KgiCKZeY=mFq>zPc(Sx@u)dEU&;VI|Osrz<)@Tl^$s z;|tR>#locaNNd_tY1+|nW^QGz7rnKGOHz`TW_^rrnBu2D0DNZz19_cpf_faCZo)`H zRr=zc(ma4aP028S+JIRSI6q#?U>f|1I^`O4Ej-Dr_Q|kj!HIe+Y}8)K+NKbNG>C1c zC&W)eb@32gDa`%43o;&-XYC#OJJH0+&v`L&%_V3&<)pZ?{xpghWjrg^UtT>!dN?iW+5ao4Gq_9UFZq=)Zy0Vy1uPN zP9*wt<+e+iCf7RVEpoUMOofM@{*4P4cWkmc(IaHU`rh?80#uO+;^-M;W|!<(0@*t8 zPzQC7FUpPe4HEQY@HiCWR#%Ff?)0tLGh%fu(DM;tqt+|Xf-~9n7b~B~{H*GEV+G{~ zi$EKb>+*<#Tt21^RDK0~sAeC74r2Icg|ixqs;|ECcPfl+tA)%eq_qJQY)LW}+#yT4 zh}n2WPVyzbf-4Glq~Gegx45~|;^rlw%oIhepCy@OZ&1)#l$~za*l&!p-=%f*mWQy~q9p{x@4 z>u1Cb)4lc-=wfMTTX$O+cyf^aEv`x5Nkv($XU7&$-RE?C5XRWcD2IIIde)9tYfjpC zJ!bEfYZ&)WMd{cH*h-!Wnqb&=Z2n-vT;mxPmdcArr#{r8r9MLq{Dn!v`M@;Ad2%7l zEx+4N?oV8J^xlUpmhZiNKbdbmnXCN4O5*VT?@M*~>b^QQ$+rW|wxr{|zd4U^rvGDax2e8sFz}QY>oQL5#dgWc>Ov{NHTd>Xu$GEo1;IiqmtbLvXo%G2=JN1AE}>7 z=N2S3qx}?~Ny=7?l;vG>-)^-jis1J%OMaKFv*L!}m<_+;3MKhY(vz!2$n$3FHdxX8XErn0@rp7?VZmWRYQq#$)i!Wv)_Gb#K;-DF-sv#g`kST3mxG|P{rcP!w_l1yw5c(E0OI}=+LleF@2no z72v)^cC1%ol3X6=UfBZw#}AvL{SUWdg9U5-gB^}%3^S1v$V6LM6vQZ>n~;WIbNZio zGwy>94CWx5nFiHDx{qD6uPd*2ptF#V=@CpGJ4`-B&bDN6ybk{W&aoc!eGap>iNXH> zL&Q*Ep{A4Nkb>?Dn;w0^()I5@V+}I6q~dhx$<;z%5r|*6s@~sUX#h!lzg!b)GzGQ0 za`e@V|5bNiRmPWE(ZwZ}fG@nYR;CM$C{0_GPfVQz{UIpa{$`kGRuuQlQi3QvbOh@5 zQrq>1ZbH5?gJwDu!YN4 zGY#BF@@%B^>>w!37MpkoZC`$9>@Icw%0Kf#wS=hM=h!_3yf%Wn&zVTO+&~$(uQ{OKVWWCJ@X0IVhn&9`0!9$U8 z+J22u?=rbgJ?)7z9&1M)lMUqZ#R+A_)dAO}*r{ro8u&D0JW7$*>hk$H>s)YTK?gtT zjm*(y-xfviM~jC(;3I!s_O=4Q1%N+6dD+YTzWhqbChSjbK8F65>YLV@*7$b*`*UAW z-K^F_25>Flq$3uNg$yRS1Z17Q#qf2O^_KR%MT#28(ZV`ao_=8Aph7dfAXRRuMq^nZ z`>0{-hZ(}Yf&((ujnRYreFd^0pd;q#b2CfvPUL32t2W>8k@L+nu&XWtrHFvHE(yjc zL`-hU&C*>ZN=P`N{Xw4!S%25?C;3E)oL%XaM#038a0dqZ5i5%Ibt+=Mti#rW-swvW zq7s)Kc2?$|-?4#_V4L5|!hDvVp=F&BL7jVveWK772I88}FM{;(5EhnH^yw=yiwo6N zc@3@e*|i_H;4&FMZxGXb&2?Zo+gmVZtDR*<#A`B&|*0E&%gDj05^TSv3gXasRtA;U3 z;X5IFB>a?ho1v4?3Asq*iYXQPhRZeSHLjjs7&3kM@3ko5ZBoB?@ir-2-Ggl4uk)`i z^92VVKPCnm!o5QG@u;uHeI9i+YriXZxBtw0TGh2;=ti-*Hjj8%*t7kb-t^O0u1@tw z(D@|ixgf=HVs5Tb#&fF#Ema5>vHTUvR$g_%FP4EdMZX~_H3gF44z}~l669I5~-$mKgt<@bim(d>xcn>jYAIv~{4$WG@_IJZwvgKxr)p;S$W@ z<#|h<*9d=_P5jm4m9f{ABJdBuBzR!Jj#GjZ&XbxR9fbm{(!c}~s2_|+mgZ4*fy>?$ z3u7m%6a%ZYgXO$*?1^6Vb@#M$*MuV*4u|fXW@=wIaj=6vhOg66o2a)8{`|xabNyeWH3~?EDDnr(StGEe`{Gl#q1~0$oJ%=^ssUNoV4WL z82YsEpB(SL8d1l{DJW6sq(LYd3u6%OGwO4lz{U1L)?JC_U(B6=^0KG0?^@S)zpS`- z2lZVOs&;jxy&W5t#aB@;eFagB#sfqd7&0rctuI9U^Ia+%cDSV6xLOV%Ta3qXvM>G< zhfM)O#4A^%9$$3zRSCCyUbm0><0)7zN)C}0^=Frn6}$X<4FxX;?T#VdEOUd$oi7en zvKq}k*Vx3wq7NLhB9V&|XC$k+^kUyFLvt>DDA~WQ8}zj+)x!-I(vr(*#0OWC3muJu zj;cAO6zB}~uLtUx0E}xv!Ff&ov$P|n`-XfBZW zrR}!+pW_GgiFT0R>_%02^L~~1YUdLC(3*hUP**(#Y;cfAu)%oh5h>l63K6%ZH!BI@ zY%8cP>v=Wiaox+f6G@fuQ2*RkU1ndnG#Tjig3~96;VMj?iUal(h8uPsLPyKz2ii zD1DaF{ImRpRzr^WhEhWdeEt4=JMn-SW+4On+63U(MSPCb>K)|=ohS6~oMSr~rZomr z&}Y%E{?ELSOX6H=fhOO#nNZ^84NA}M<#~}oe%rJPt@~tE-x_hk7J|#C&n;>Y!OMeW z&o8kWb`3F&VWaZf=6P~m0U|9Oz~$edVX6cPL_C=G2ggMM<;O(yOD{Ba!afak!{#tl z;Hc$wo}y^e?{3Y`3M{ifKh`3{>W#kk7dcRr>Vi58I)hA-}r8K)u%OIk9$e}wZ8lvnU`Ivh7H+0C<<$(Njp%^nfsFE-BRNV%0b-BD4Mdq)QqYo;lG z=|Ykh20m3-oSxJPd%}ZMz`2`?-{*b;SwSB& zG_}-cm72R1mJc`^^i5ar9xz;UxU{i_exC!F4YPk z4ag_Gaosfa7u8CZ~LWR z`AT4EAF1YRi2fv|%L%)Gj#r4eD0keMBa~pZ%fio5{Ut5sEp;vh7Nq%{{%u&fLl1`D z))|a8U$A+H88b=&Q9$kq>lXZM3?w@<%GH zNeMIG!Q4ueLcg_Bse^k-Lj*&oo}raHSrr_1lDCcWtpAJ9EJRS_V7 zK7K{~Itulq(!G9K%-Yx7yJU2YkH6|LStPpkHf_Q$>Q?$8?Y!!pPAYg}a@B+id4I{Z z+l%FRyz9mF5l%9#$zYPPZjJwAa7aB0E*IwVrQD8#}6&5zV5BA{zH*V&F@^tSC%t zu-E_f=6*kGY<}CxCE?+TBk=U~7jH2zu~{Zaj$9!=+)GAjgE)AwbQiS2YN(hMx>myC z!eZrB1HHMUd;SEyvU==ZsdHe?roXTBtjK@!ecn>Qj`##tY~u_Nu2qa3jG|kNcH0Cq zv{l}qOF2vaLv~l=madHyzGtwch|Up1X<6=$c3g(=TuI_Q+X+nt-~Mi1(JmCVJmNG#Rm`qqM!&Zzt%_M2ArL~iI`m1;>o zEU``$x@EL=QsmQmZ3$3W7Age&Ui%@ZrT(l?_FA%Yn$Wz@Hd!ghknG|=GVIxmdtT|T z+g7Q;y;O=ghDq@9*&vKp+<}ybwbX5TB(<`YPmVrG8fU-{MCS}?8}aq8sZ7T`>AW{pvWigAwC)YmsOlky#_Ij` z-8e)!4#*n2AVPKVuBBuv>br%aVo!ypmW^b7{_vT9#(jQ2no$g0);u~UX79W7D294o8k9gzI@YYEWS z;cW}F5kw@!%`;Hf^s%LKbF_>G-Aod+RA3dccJMDTDVA067_aW>Wc(xvdbH269pm}J zBhzjwQ|4=KNs_m312ml8#xB#ElumOT?yH&0k`{U8>C}_~6WgABWwjK*luZ7Z3l!Ny zRa04tkO*TS#82J1m!l}C%ebOxN*-Vo1rKm35DDWZ2~xCF-Fz#6)I^_Yj1w047CDVB zF|Ut!Ysk}Pu;F2wWKHn$+kN#NRLL=?rOnvxVc1kLVx70{ZpLhD2+fO-r^J<^s1xdh zNDbC@3D!Pinzd<_FtOy}hf|#LhT#oOTLFH)7JuR3^_=3xZjiWFFuYmVnFs0%`Oc=F z@3hRjYs1z8w5b4R%kIzsOcGq>J@zG5(>5Px1H`tE z1L&cJrOlNg>rxxTb>k5XWo7B8R=CYPQI^IP*?7iL083R5cbRm>XnS_~XV4%Vx*OpK z7cM@!6&)5p}*+;LqMHLHj(&ve`E%?_qG05;d1}U4dfQgwK zzTDhoNlw!+)D+pbw3?Vl(bMZ7LIyx!v)C=j?7m)yF3Do#AHYV8Up2<(f{-EFfCMbmOe>I#;mR=j9YHN zrMepairR?-7s(>;oP2{mG@KVF_y$%#}dt0?Hj_;pJqgEycb4`An7xf2(|Yv z*8B75U#cLuZcP|g-^1I%(wy<^_nbVUUDFkm*1YD0j!pc|OU*X7Fh+G-`n=_9GHepN z{Db5yYVK=$1(-MmOW^tMtczF!SNBRyt|<+W$oyL&HZlcm&&kpB)tir(4x8aOOWn8Q zl7qgxPilol;#V@zxd>~PF_c+q&&4}(~3NZE*Nd$9r!5% zp6vd%%sh=O-db^y1a5i7Q?qT!7hahQ@sBkz&6Q5O& z?T>#taE4s(7`LE)*xy0Ga18gLv8Sd%u52NHvxrd@H@YE*GG;0`hA+9s*6n)eXatc- z!RzFsg;qZ~WdGl1ywoGqGp)Z@M8zYNVpho^$6hZ;5(MJ;`t{oEZ&4%q&hQ|QXT1(n znd1s5J8%9s*OgZR{3&qD%P$UNft_SlvAadhSzr?Tf)gFPrOEL?ZoK)7!a9DN?v7z- z?&O#{76Sw8`~rPo!p(i6`US4{#x?bg1Q{!BRK3wNI&3rpI^TmM`$ov!ay~o!A-RBD z_gSf`1TEThvskU{P858~TX-o0dh!BMc=eup4b1)?8hY0yZH zNJ?tTWmd4#*v2bKguA|2oYYU>Qyi4(oCV_){o+wU10oELZ{p8JktGOSX0_eZ9FeTR z$hp~313{h@P)+~wLQ#t-HfxYqeqgf+ozejbZ(FX)tsk!VRCth@Q9hobp6 z+QHO_uF#j9BbCxa$z#ygckMu>t^sKj4Dm+@!?lYePSK0K*kclGSj>iSj}t!^I;o^VmcW+0McUr+KzS@NgNVuMT+hOpZNx$h`RjFWWU z5>toj63L#|U2h1?G<1|Cj1^2j2--87my4?+@MyArS9oDSq?BEt6=8BkT(~$@js4cc zG3dYcI$tb9D@Es4+DM8_v6Gkg$^ZTP<0s!@Ot!wnhuL}Qx+PPZ$ZcS`WCJvZxn`I>8ttuw*sys63Y#Hiw5OPc;vY(P25G1F|JFw!}4= z^bVr^+UNpfk}IxkD=BQZL~iW}-jGXN(!zuvS_Ab1S7LQLTWfNW0<@!HhMis2^KO;R zix?oS@iAJn@KnP;5U*>&!K=EuCqALjs)C7q(lI^u&lBdU5(wox7Nx&bC9cmakGF}b za`mj=YSAX+)#ZXoA#iH4oRJzs}-A5uSi`2f$O4#Ty`jhCU6~=+hP=rhBoNM@#1LH z9556KlrD&SCKPKfS9hoVL?t`z$N4uAR595ZPjmOJ*c0zlFNx)K5eA8mfxa_cjvO$X zlfh}TX2$iVkxpO*FA8iesp(87mb1$yUpojq8ipGT%sgiX779G)40-2aI5e+fVPD%C z-sVm&ujZY&e!_lP8j2%=IbuHCE@bvj&eXtcjjYpSgJja#41Es}D!T=nW({JdO*ct3 zeU@S%8M_1`t@iKtr|v7Hh-8ijRrt!EZFTErr3gM~nrAqJ0Bp2anW&}2C(#RF;oj0E zV-wr~Gb8AQo4B~&JKQ{sDP9!&7hj}JlYf9d!<0M!%hV$qs7K>?a5D*ClWnUa7n*u` zaH2eOZ_sD|cMMj(!t}vE-=d=hyj;i_@tKC2=2X*AJh{t)$e7~IOaRhTHn+j``InJ$2LuNM-+v2h~UgwisDvI ztZuFLhQw;+Oa0k4OReB>`y;FtcJf6q=t;i+TI)r%rHv?o;!^bK9NX;izh-t>m5O@l z;2KXUM*gi4h4LTHv8~dru#qGWRg(b9!K@@z47hfGk-%>TaKai}Tm2o@ZqWp|(?+Ye zztEw5bl`~#EqDM2BDmm(I5|O0Zdc-IKnWO#HJ{T`+CUK^>77gjr+0U^vn6;eQ5o3q zUUEz`2jpducT)k;b8n$g89<3(&a`ixv~E*3E{i{@x>KKLyiBw--++m)w%NZ;-+DaF z2tO;u2+EbY#fClDCVN+ycg}GwY@In%x5RE0m~D9N19xcuNC(;*VQc-;QTp=X@)pxj z3zLjXO$mVP(+)JlpB{m?y}RS+sA=O&v&w9O*Fs@EEw!VWt~qZoR#cO~NaE1_oXVhF z5g}Fp0rb0Jgrh$$u zMs%cC$Q5P`w^;&OU)-fU;k$Yt(10iM(>^V_EUI{acxHxK6Y8)!cZfGE)}6)VbSgbl zqB{G2TZF4RpAtfLLe&WvEQN}x2cl20snVHmh~_<1V1>^;{SVArK18DTC(27Ll2tvS zeyu9GUvXSqL!V+LT4mrhm6v0n=oT&t$YUxo_d#*t>$*fQ=gMg1-?dA!ik+e0C<>Z< zhqO5V(hUQq{z>9@vkOGl{{R_qrb64zMhva=xy;Pz?Fzc5EKYjgSAh)*>y1p`i1np| zLUR@2EF?p~x6j6_GIn2bx8DEOnju!W15$8N#-yRHfkh&obr^pt-^5r)#q~O4Vfd_h z522A=V~d{qLGL!P0L7adq@~TAy6xJ8l^qLm5%`O3NayOW$MX1h8eb=fpN7FV>Gr}3 ze68h5U%6O!M#aB56ZPK5pAGwap3{9gj9$ErqX2RZ3h+HkJK~%%FcwYk`OAfc7dOKq@_I zYODgnWhr%xW!v!vU$Xiu_=wDBDB+wk>QTM*#|04?UbGZDwK?Wn^ojjfj*FOPDr5aLG(YZHF>%yX|42`13A z%#n8X&5s<-W9tB$~QjZv%* ziij$=_wf0Z-NZlbW9aR=h*1elmnE$z+m-W1#F6JEWm%1R7uMRCJUyCwDY0K!YNII_ zx+#H(U})`m9kVU;-72LajRn-U$ErekBwy}O{yryDG4sf-H2$5ygjPqAj4W~gCZ;;u zKLGucm97HoO4uSF)csJA<~>5dheTB`wU1jMI$Q98PFcI7&m{q5LBQ5LUY__nWdqb> zQX@%R_#&EOeM8rq&NE4Yd^btX;({)T)0@tNf&KJ!AbC8E?nY=9q{FKXLX8Cc_cH?^ z!|D#?fL~ffX%+*!wId8}3i}Gj3TwGfOwTaaSAH$Xq*SurwA|v}OqR%yQGbRBS=K{A z{SHH9f!Fz)-ouwW-j+G@+PD^&@4BUXV;GM1w>p(59R!^3VKDup!7C>dmxqM1@g<6ulJ=k?=d?XCc(3*O+n>ww*Gj)#+8+P? zl1BIvkmiHDIVP*+o#xL86gszMmP0HqQA^o|$4+Y0p+$)+@_&H%!3blS-ZWG5F1eba zyuqIoQ_sSA(acos1|Lfz4#?gqX(4Ixs4w&rTO!5?(RzYViPJZb^f}Np3x(uteAOrt z$f)84(?F= zL*XU#{xl{|JMpxsKc29?M>YVsPy|`EqqCh=~=0DlG=8I^XK)Gw%2X~W_A#! zfgSU2Z8I7`LL`^_f2t1 zKt85o7#yBuTSl@sWzTEh&)n4(aJ7*b;W;9khGlYR3UrJFZShe zq)Cr8K=j}qiS+JgZg6c*kJsaq+q9NFHVP_{llw_tvG@l(>XevG7h^HK;;a=&H$2UDP8#kdfkc$euD}p!3l~N16#@7~-Z@neJzw1H zVgG|zL>i~ZeH9_>j_6u&!jZ9grUY1*A08p*%}>UH`!JamIy?S~*|l$(CxJ5_S3AVH zwI3iEBtayWlWb+8zw77sP4y`^+OE`iS^$iK7`sbJgE~BQ5Vs=$-uhU|QW2uPiw^11 zXIqoAudZ9qzmG=$tE@#OY$b~*qSgBm8>~fE9#0B!7#74$u(n?bUr6`<5@^d%*wW-o zFVcGm`UY}MHJ?{F2~{>;k?{S(R@LYFi=&rZ&K0GQXwbe+@J`*d1-;+BTV3g!@5;cU$5_M79}|8lOguXNrMoSod+J4BO4$IIQW ze<}NdKWE!Cu}=uow_n9+6F$f@fA-@ftxN_f$032HwRdM$b`qty_&DwmJ?)B4KYaug zdXzRb8PIVV>JO*;R5(G4xFiEjEck}^YY(Cz0wLAzHdD`n?q%}HMzn@Y?0b>@3eTLO zQ+Ix5So%CxRpm*`vI(}xun{gmb0jelTIRg1^YsvE9Ls6l=-=~Z2^`mar?``OI z>+zEmuITc(4PZ^7=2*mKU335uI&u#{$c+%xC?RB{Aj-SLXbs6N9Adk$|>$8l^Z| zB`>Z92*+F-Nn;n#Gyj-T|K2jm;U_>Hu* z)02W&^`AfG7w`elzv!O^`jc@lN*n(C#*PUjm;Js9lS``EPE_)lc~1E8kI$8;G zkyI4NJEvpJT*|F+y+~^6vZ$h#B2dlNdpQ5%&Iav8bcFs-S{cq%B@=oR8wzqR>*1pG1)>h`y1MIxg?*C1q(P%r0I$FSzjC0_JwkHx1<)pvj^ejnP z$j$j8CiPMHqr9FKeOqMaDkvDz+HZWEOngjal;J$M8OJxjn5L(1Vi_9*o_@K2|JE@KmS#qa#F+Qmj~Tc~8sd zSHuaa<#zrXfwT~7^f1iqt52@RG1?QMDI$S*!i`vlQHrE0aZXbmhKz`tV5hk)PZD8o z2UuyiOC{I^0Df_&hy$M6UF60Lu`;Pzq+2GGp;fP&XpakleqB+Ws7th|Lm>y0VCj`& zy<=kIdBSa{a{F-imSgp_B=cMmtw1^2P)($0-yG7ESGkw*0q>o_EfMEt0rXwxl-Qp1hK^RifU%7XePOj+0H~; z%$${TetiF-L*eS;YjuU#)qLoi=f}7J)$XS($_IYRO+pk{v2tH9a6{&e83laHW;JJe z537%xt%TKU>+iG*v7#8+4$gBUOr@*SNV=e$MiM=FwKsFi1?v9y#O#8Dil59t- zp(}OY6@`_14(tGXPy#5tgnim;39#DBT)t@n!ch%Q9zbJp$g$brL{m^!v(<@f!H)?h(4jA zg=V`}ZaklknVo+#2o_9kC198HzfzXun^O0Q3J-0FKBe3Bv$r0EzPyyXOO=17aX|y3 za2Fw~qHrsvN{*Ovx~YeY`_Hdn$$iHYdf|~^+j$p3rVOLhp-0-dxs@Um8wsEep%7^3 z$Zp})3AHH{&{A7viC#%I`4AVx1L8aLI}0&CCW^3jsG!MVZkD2mQY-w%nc--@8m{WA zgDq(Cll`ABZ)E81())kq%1kGJUF`Sdje0YXbj zVC79#(}S!1YJst?DClb5dqX6~;m96=KsrME)8-4E-{xeE<7fZZKk(dk33_la*60XpbXH6C8_s z3tqFk5z57IT#n#eT+r4wdH-=A`EZwgO<}BX2zL@4u(Dolqn8fLA%4<&z$V$CZ7{UR ze}Au(9L-__jgLbNtHrxmC*kE zRHbN;ERcdT*8Peh*XJPD^T+w!7YCB|@OJt*kvbVtit148ca&PhlK!d<-`^#Q@Ga`~ zq)JeI70K|0I23xK#T|s^!BKfZEcc>I4)-vBgDdi_OCZIGW0l{%nWzbSiRiE!6S()X z9W$KaQVUSf60Zq}z>VOCJkhsJJ%e*lf{cFm>>O5DG5Zbcy+o|olc zoD0+*cv3UTJ&jwwCV_%Rpzd?=K=PM77sxzK2w(I85$&A})|p3OzTV~q9Z*CCk>m;E z6w?~PjdAX@E!bugi!2%6y6nUar1XiU*k$kB$NL1~3_QkQ&nt81LLzF5@|5x7s5xbh zS-8w6Km6rQw&KrW$qQ^SKFn9q?L=Asx+T+za`w_42Y|ouAZK4Rhh(%FA&U}~?bQ_h z4o^I=Mf(R>iGPb83Yc~O2PjK^qkZF%xhGyB-!8fKlDsq3a4o4UhUQN5TGeQ1DS+fC z1KEh6sWD?J^vvUu-QEF`$4yM+)Y)CI?k zg4gsMf{!;es`}Fu6;cXJ@;;+SemI(y2}-KY0S&hoVMiuh$irFS8j% zt``4#X(=Gutx3^A^pDgUNpkZon-!n3x~AEAZn!=9+DMHFN$@;|2vS^i6^BLM&4GmR zcN)Ag{jncK8lx%3R~4gy^t(yJ2OZxys{_I603oY~1(lWM4HX+Jy35rfhr$*@tN_-5 zyj(}$Q{=9a`XFiidLe@gT@n(>ft-fQl*Tf=gO?R0T@H0YfcV0fNBO2`tZ8Ce0Ph;^ z@ZaOj4(s?BL`~m`{i@ga%)J=_vR%W`!|pc877Fp&U$Pz*D;Of=bPHqV5rvTs^ET2h zbRmmsLKg;YExix>PR;JP&w3mG02Kg{uAzGy6<5vk3(ljTxp=a_S(tjIfdm2HAts|w z%Pb!ng!+zRr^Kb!M_R~fwVsrPlAoBpZ-g<(D(cziT0-(-&gQZuz_|yGo!V7xUmVY4 zG_-X%AZg_}GrZ>ogdgd@J|oc$1E4}J_sw-Aj)&>oM@^27o)!@@o5Q!!q3p3}B62~T zI`_daJ+KVi6!`hqTz>SqyT}K&9{8P#GV4BLWndrp@tqO#TAD zy{o!aFw7_sd3z3+fHhk)#+{tI}U>|!bie`-) zC|}>Momdi^avOOqBuBzMLd#4;#X4~=Sq>%Fs|EOhceu*y zxsgDKN!|c{x<~X|_yHth1~U{c-wNNY?|6D=C#2yHD{*xT!&tH}-#G!SrMVyD`(plv#%APIA~)SLPvZ%W&5zdo6mf_05jpMD^wsRE zgy}{l+1OI%F?c%C;48!dwMhe=Oniyb71@3a96aF|yrl=5@()R9&ZS^M%_Wp>BGWb~ znXXsyRsdzk71>X^8pj`LC5#a9Txe=U5}w3fSGk@9Z7y0b4E;S_Su%eoOwMM_$i9oN z29ikgxZ0AjfLj&Fe+nNk@K2q;p|W%?4g%_(7H$k6ERt0my#9%4$$B&d`p-PN=N5R- zhk@s{Z>P%y_3X>+_w+VPO`^*?g7y_g#1!@Id{pxgJ?^voG=_+lGN!Zh7Cfz4$9-U4 z1i)v#y@}#LZ0|)fYeV#CLpEtA7G0m{mr%dA7F!*`_v=vNw0fr z=pR5u_7)cKu1S7A`@0xb{Q*7lIV&dIUz#q0V@_8`4UO5Yv@OfSD0FHkJ)#pbv%qkh zxGG2X9YP;Ruz9n_D15h(tR@^%Bixo7dn&uu#6YU0B41LrtNShtwN}E^6vGZxeyh47 zf)_E3+A`XuoJ(OBg*!*iS4m&5BW-&4_jrTdz++NTUYt<(Y}MqN_hZgCqwl9R5$0W~ zxrKzLd;e|eN}Sq%netLc<22nX>wD5Yh!3NqNm>?UOU;-rL5@qSf(>Y-C5Qi3YiR)q z_uq>{&*=$;-hXO(|HPL^AMt}M9$@3O!a-E#^g*&X-9ip8!GkV@GgKQgeTa9=9|Lw6 ztxE;D3)~K+I?3|)41wLMw|%gF{r#96!B#Kfw%wKp)P&E2T~GXsfOhEg8PcR0 zF>6T=eO>QakL=I!{8F@be_{F^)D~C8m(W*U(f!nN0m6kdZTCGVAQG3EgX>vfl zydVIQIst&s(bwy}e=P6RKPv0zxmo{Q+xOw@3-3=HS&^S=V?wqXNdlFhtW$!?Tt*Fn8*$xazDKLl z-t1LLVxNn|MgE5S^EtqgegXhYU#i$ zM0wu)mc;8Xt_7ELap017U5B{fv-8bbtm zR}IT0>7sIe$^kyZ;F!R=W6z)QR)Vx6o#xlPezSYr`m4jdWKn9~0Yb79o zOb-S#jd6gq&7bD$Mw0h(O7nW-XVvtZJ|f)pQUXaG1Y;Xi@dt^_e6MSkd>O80@NcHRsSgoiuuKpAjO`^F!`bSX0*KSt(ww z)Isxe-7gjjV?;On*@D)+)21aV=+UCyogGg@nNDVp4t+x7c`+R7Bq2PUrpCGW#+53F$cc|Zyg6vVx_scHszdzG<#o6oph+oO}r3<^+H9V)dSvM#tC-5or zvmT%UaJGunD`F!`w^-z z=Bi&21ENUr6~)>*)iQTQfh_p*7dbkuI{K^Hn!lH8a8ZMS(~WbAC??yaRm3T|fmZNn zw4ov!!;z1RQcYc>DB z&t~t$^3D@nyOC}NGyTQ>Vw+;ddvqXcQjB42WE1Q+!0h!GCI|6j@`c1?=fX`ia zzZyK$X(MvWx4>B>+rb;TSwvZ=@5+$hd!uo4pdiK-(k9Sm4t(;p{6&{&s9&)f8Za+0MIIlED`1tC=)gAia!QDeiY7k^ZD@{^`wP(dJxGNRv9m$hpJhD zBvsh7cK!bXc@l>03sDLHdHye+q&I2w+l~NMNHLw+K_Bw5KPqi>Ysk2cQcU*}56lm( zR%MDvWRe-9c%_NjIU|uuyl$rqtf!#|MAg;RT^Kqz$Rlt;5ct&?ofGkW3byK0~Z^GZPvP~ z<#DN&uDY^Tnx>*-my$;1&~iiy0961gDuqx017Aa0+QDUS6|J;F7$9C1RpbZWN!*jW z5=l8VlTAFg63H~qWR_EwW6Yo7$N{h$00lE707*ClnJ1tgXHqGuCp#SM(xxh^ekZ+C zyi+QNwo*$OR;7+q=UY-3d$lhM5fUC~vKMSK0J$G-yH^yEOQhIJ9z5b#QV4RV`nAV2 zRvC8W%m5n#t#M0lh3YFN z46sC)1)m4rEW`vw87#~|0ZAubG_XKDHOzu2Bf(}p2X+QYCy)RVPQtwr%P;2PQu4PT zJN^4@&nID01F|k7sfZb?Ei|u?b~Lp!GWmuvQ*A#cI$-wGONGctW|@1!qJ!~l{DpMA zoxF7gq>T@oAENwsscK%yF35o@Z&U{z8Y)_cIPxXrT;tE{s8e>%$(u1)NHgB*K7iDi z`#*378tH$!$Ld9DoGoIPhizutC19-rrfK7lLSP7!1STz}SIF-JwsJn+G0RmAUr|j? z@9j$mpd}SZ;^N6%@0<>p81SRk7L8>Gp=o_C7?5#{XBimD>%YFNE{P(tNQ)vc!y~A5 zVb=_-Fh+DSS&)WSD#MWn1bf9zATS_|gWp^Q6&m!UrWomnA|Jst;huBOXFu9Mjc_82 zazH)H_*YR3BcxG}f++sYbLkxOa((8y;a}As0bXRMr16rk~-)iQG|!Qd19I< z#yLhMiHeSj94O=lwZ6<>%cyDbNjq`P1DM&5Hoyf*@!=p7)Qp|YP_>&>w7PYSaK|c# z0CE{55Iiyo9(bxvx&Hv2PYeehn8;#%F}LB39=cy)z2AimfR9*v>bKf=0jC@A%_OvK z6nDE(nrl?f!C|V3cEwG;d2n{cA&N5_^p048KI=Y;c2Bfz+5K8&nM+t+1zD7PNK|^V zs_aW9NM+{8NE?Arb?qT_T|Os>g}S#S#!n^;ePk!N;1GH+?k0iyx=NZFnds{vmX@xT zSAwFRbTQ2g(VRSTA?U#Th#-PN1pNmD@Z7^3@JO>mC=9HpD!}p}_k9jQ!30)QByvL| z#VQ!&jF3Utf;t*+*C2pF1Q13+2ayCGqZ)R&qYtodIjp`=R&c%Acd4whQ^Qkis+Eh+ zHKn8!%}X?lb1T!#VF<@8VyIPOd$F7|@{QT(H2a7(dpN{U-?J>JHdUAoAnG{*Duyfu z+-gY26=}VY)ug+IO+Mkv%V?pIk24-{RGy^{Fi!j=1Imb9W>s^d6NZ*Guv$cT+w3s0 z$K!R~A^7)&v#j4$EZUXnZhn!6xEv3V6>hN#EbYSb;2#sY`R1J6?zFaBeD?~*#87}0 z0UPF-&e))g990QE1kqx~Jx{{Yzo{{Z?^ALMSW(cu38iht;;_Z45MD%{z=^EYgY4%ahvpPHGNYz&e zGI!%ACp&GA8ilBKZvOyHwQI|Vh{TMmgmTT6I2&+*j{WN|)xLmMr^B6(aeoxq=3e#&{zK8xBR>`lvZ)BxxCuPl9B_9*< z4L9mbB}J0iP@JYC4;|9FCm-bF0icMFe*#wh;KhMB*Rn>Z{s$*e$KF zI9B3z@yDva4_o6#w0OZY%0}Y~J^P=!wJlU=^(`t?w5d|krAtbcEh<#BsZi6}wQ^PQ z9FRtGE!OBMT#lXdw6#t%;zG|DK130%SFzAEI$}EveWq4%-+ zZ>dBNqnHe5_9e#dhrf11>nX-mh0*oPjWPWhV=bGJ#~yip(r4LW+%OnydJ($uuLoGW zNwd@O4T7?bZpNE+1$cFe3!E{7{`XwL!$UGQ-$|xwFuAi2 zi6g-+6Cd=EbY*Rc0Px7TWy5b)?N3g#*DX@=&PDX)a<9lZ{YUBuI|6q@vknuml~qeq zLsLB+WD?TV(#p`(Q_Q<1hEzCYb@~uSLjoB|QVH6io-3GRxPn0}GXToUau^;&ALN6v z0D>zxk~fA&ibW|TX9OLHBcc9qd5nx2-2VWRy)5!^oyM&J_If@ZsY-_XyXz}xIqt%WE1o*osQSk)( zsLj?7T7_OXcaQCsDsgJPw9v&Gw6s-G!6ia6Gdn#ri3*lR5@eylQXd4a20?0loVwIx z`(~aNM}4G1!A?K`Ff2eIk7#EgjEv`ER(iZPif!&mMP1Q=Bw(Gv1AUJ!o8a=QPZV*S zoLOCn5=bpHP8Nz8FtW`f0wk-bP)Jz{;3DMgT=U$`quNe{x;44hro2+!|?U^k&iq- zZ*FEeJ0RwJ{0H;3H8jF8fxDhV?==A(bxKSnXfgG+{{RD|Rfjbr%u)=elLPOpZ?~`eT~+@8`zwcuI02Kqe`WCWkJv$X7_HSU%fw+&C=_3AO8R&)~Tv(SZQfes?}`r(_Dp2EK+J|De59|)n$Z7ByI9_ z8ZB=cOKKvJaYra+Vcr;!N5IhOouiz{hYuN62gCqJ%u#(yD@{#LGk_XsA(euH6f}{m zkf4%4$vEb9ipqjHWI?z_U^CAEky{7L8tn<$uTY=p20i5G=qL#OQWX<75b)I@a%thQ zRMbZwfSRV|EON<@#ABs}bL5!U(Z7<&&}o{a;c+9}DiixD5FmVAkD08Cw(iFA&N6*O zh_D_k}6+QF;rQA~> zF+dw~;tI=9OaCaPViP#(#;m2vPYN7T{H6p}7ipelYK{uQR`sYfYkQl+IzmX#`i zmg`X*vLHxENgV+y`NFXSIFqghi6xv&ip85O0p>dUswby>u)x@n*YU0b^;BCO-99pY zS(rfAleQh_r$QN9BJ4muxKKLQVpL%h^yg+~BTTdoPmmiYLJz%SA~)e_Gu7nW$u zlE}oCl164M?oU=E^VW~2BF7p=gM}kF0CE5UfGVMQ#oe8bS%4(>?r1>msX*d8Qw-&- zgFasEeOMUs`$y@mx3DCgHuQ8CA6S#{tn0NPeX`vD0J8r8^J>R+d#b%@-IZT1G#pJw zXM$|ouJTH?bg}~RiDIUfNa|o4hjUUpu%(A4Q-%$N+fVI|oojKWTwc6*y0KL#<70+! z3ODN}`2(0csTm;HJ3V(iSJ7LmW*eeIDdmu)h8@keGt_ejYT0{I;X5_X!#5C33&VD| zK>|ltOvxKmLc}V;Sgjihh}R^cz;ww9;Yk{z_Cr~|wA5Ekjl{Uhyvk(!62M)w#OiJ>Nx|At3>RJhAmt@!W1=B2`g3KV~*o- zsi<{%rIAdLLjn|yM0ByBZHNb1S(vjiI;-~6SG?5qtB7t`2z2sdi4+i^95XS=B)gn( zF+75R02rg4o3OXD(_xk%OqXMg*x-^uAOV0dss_Wnl5$OII;he5fWO3#1Wrf1j=&M( z8)zW%<}^=Dc2|){A_YOcP(mJ~H6H>jFs{M(d&8c2VxZ*X;0M5JOsr&(@pt3hOn?$H zSC|>DGDz~fNh20^IVAo-c>p>O3~RMeiWNoz(`Abi&AT?{yldK3a;N_QCxiYbFZLHe z<^Hx`-fyX*$?PwX`c-DV+Df^%5_T~~9tx^(03IG^%;>ecg@rINk(1_VY{ay(XMPib z@TPitn!p@}D=qDsM?4KurQE5zS&352LB&hsBRJ)&e_>TeXkl&~(2Z}Tmmlm7tn MJ!-n9)rP@1b26LclY3nyDfH?Jn#1pxIf;i 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 B{5t>u literal 0 HcmV?d00001 diff --git a/src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png b/src/H071221088/Pertemuan_9/app/src/resource/img/cursor.png new file mode 100644 index 0000000000000000000000000000000000000000..d1be33e5ad81275d1ff7e1a1b44c19b86f32d58b GIT binary patch literal 1599 zcmV-F2Eh4=P)f8708`IGobTrs^DNV~l-`>KxIr~aH!{nnJQV~{4hzs_4

l zfHwvPV!(72u@Ifq3<5KveX9w1WZkh_8!hunzT~)s^B(qyoq`w)IQake&#(}eIswpp z+E-jn{A{93XtUPby_23>x*rB7o^#(LSY{#G8DKyI|JN7=sv(HBsQtVk{i#CG#@F1H zGvC=;ZU{~J(ZkZBNmd3xoXO_^5XPtKQm0bww~6w1dH}5nQuF-x%FB&m<7z#FpaU#x zj`10Qf5;e4x3+IF4AV;i5M^-J-Bw4y!Z8>;S*l#Bvm2ubp2e0Xd&$u2z5GCT4` zn<(XMJxMyhIAj4n?MxyZrvQl3r1k*jS`WFI4h^3`#%HZ3d7u8&Mg+@Oi%&ViI~M@r zk6M=$e2t@DdjPAxI!}U)Db6oGI*Y8Yyxq={lkV|#j`&Um008Hz^v6}ZESG)icORYt)e50>1;u09_yR|T&4E&f>ha&O`MupqyZR=$;zfyOw%Y9 zS#6&${bBh7EPCCw|#N;`6>-RDJViq8O8h>LYew2Jlx8&fxX%6HC? zKo);k`@j=<+?;j96g{gcdhCKXeF6Z0Ia8NJU(i|5SC})Ge@tRh7HSY-5f-xM;N>>s z6|{^C4oztuHga~f*8w;VjnIANtIA7-y6)5Rm9M(?&^0n}=oHP|3!~>WSgY-B0M=?d z89H*dHg3R>$+!FVO@7X+0HL9{4}j=i>*dmK;7d0PE3Rwia!XISln(LfD=&JQg%x|x z5o6eRZJa48;|Dd}ye0rqMJs^D>C1QLw>CE;Z`U3DxU9AN>ODcs{`sdi058V4>@bCgG^nrU5Q-v_x^(?sl}f15qu_Il&9H5 z`J4AoHE^we0|2M%<970*Emvq-jY`dN34?G`8d`d2C)MG5b$330cQ~dIdqXw$Pqi=J zF0@@Q3DPHCxnBMk(bJZN=4=4atD(a!&)Wp~pj(|JN)CEAX1arltBD^k%75qpe&Yo> xlIc#e3XRdcC|}|QX=l+1;=Q+_9`%UP^e@I-O#T>uDL()J002ovPDHLkV1kBb<~{%b literal 0 HcmV?d00001 diff --git a/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties b/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties new file mode 100644 index 0000000..bdc9a83 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradle/wrapper/gradle-wrapper.properties @@ -0,0 +1,6 @@ +distributionBase=GRADLE_USER_HOME +distributionPath=wrapper/dists +distributionUrl=https\://services.gradle.org/distributions/gradle-8.0.2-bin.zip +networkTimeout=10000 +zipStoreBase=GRADLE_USER_HOME +zipStorePath=wrapper/dists diff --git a/src/H071221088/Pertemuan_9/gradlew b/src/H071221088/Pertemuan_9/gradlew new file mode 100644 index 0000000..79a61d4 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradlew @@ -0,0 +1,244 @@ +#!/bin/sh + +# +# Copyright © 2015-2021 the original authors. +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# https://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +# + +############################################################################## +# +# Gradle start up script for POSIX generated by Gradle. +# +# Important for running: +# +# (1) You need a POSIX-compliant shell to run this script. If your /bin/sh is +# noncompliant, but you have some other compliant shell such as ksh or +# bash, then to run this script, type that shell name before the whole +# command line, like: +# +# ksh Gradle +# +# Busybox and similar reduced shells will NOT work, because this script +# requires all of these POSIX shell features: +# * functions; +# * expansions «$var», «${var}», «${var:-default}», «${var+SET}», +# «${var#prefix}», «${var%suffix}», and «$( cmd )»; +# * compound commands having a testable exit status, especially «case»; +# * various built-in commands including «command», «set», and «ulimit». +# +# Important for patching: +# +# (2) This script targets any POSIX shell, so it avoids extensions provided +# by Bash, Ksh, etc; in particular arrays are avoided. +# +# The "traditional" practice of packing multiple parameters into a +# space-separated string is a well documented source of bugs and security +# problems, so this is (mostly) avoided, by progressively accumulating +# options in "$@", and eventually passing that to Java. +# +# Where the inherited environment variables (DEFAULT_JVM_OPTS, JAVA_OPTS, +# and GRADLE_OPTS) rely on word-splitting, this is performed explicitly; +# see the in-line comments for details. +# +# There are tweaks for specific operating systems such as AIX, CygWin, +# Darwin, MinGW, and NonStop. +# +# (3) This script is generated from the Groovy template +# https://github.com/gradle/gradle/blob/HEAD/subprojects/plugins/src/main/resources/org/gradle/api/internal/plugins/unixStartScript.txt +# within the Gradle project. +# +# You can find Gradle at https://github.com/gradle/gradle/. +# +############################################################################## + +# Attempt to set APP_HOME + +# Resolve links: $0 may be a link +app_path=$0 + +# Need this for daisy-chained symlinks. +while + APP_HOME=${app_path%"${app_path##*/}"} # leaves a trailing /; empty if no leading path + [ -h "$app_path" ] +do + ls=$( ls -ld "$app_path" ) + link=${ls#*' -> '} + case $link in #( + /*) app_path=$link ;; #( + *) app_path=$APP_HOME$link ;; + esac +done + +# This is normally unused +# shellcheck disable=SC2034 +APP_BASE_NAME=${0##*/} +APP_HOME=$( cd "${APP_HOME:-./}" && pwd -P ) || exit + +# Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +DEFAULT_JVM_OPTS='"-Xmx64m" "-Xms64m"' + +# Use the maximum available, or set MAX_FD != -1 to use that value. +MAX_FD=maximum + +warn () { + echo "$*" +} >&2 + +die () { + echo + echo "$*" + echo + exit 1 +} >&2 + +# OS specific support (must be 'true' or 'false'). +cygwin=false +msys=false +darwin=false +nonstop=false +case "$( uname )" in #( + CYGWIN* ) cygwin=true ;; #( + Darwin* ) darwin=true ;; #( + MSYS* | MINGW* ) msys=true ;; #( + NONSTOP* ) nonstop=true ;; +esac + +CLASSPATH=$APP_HOME/gradle/wrapper/gradle-wrapper.jar + + +# Determine the Java command to use to start the JVM. +if [ -n "$JAVA_HOME" ] ; then + if [ -x "$JAVA_HOME/jre/sh/java" ] ; then + # IBM's JDK on AIX uses strange locations for the executables + JAVACMD=$JAVA_HOME/jre/sh/java + else + JAVACMD=$JAVA_HOME/bin/java + fi + if [ ! -x "$JAVACMD" ] ; then + die "ERROR: JAVA_HOME is set to an invalid directory: $JAVA_HOME + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." + fi +else + JAVACMD=java + which java >/dev/null 2>&1 || die "ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. + +Please set the JAVA_HOME variable in your environment to match the +location of your Java installation." +fi + +# Increase the maximum file descriptors if we can. +if ! "$cygwin" && ! "$darwin" && ! "$nonstop" ; then + case $MAX_FD in #( + max*) + # In POSIX sh, ulimit -H is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + MAX_FD=$( ulimit -H -n ) || + warn "Could not query maximum file descriptor limit" + esac + case $MAX_FD in #( + '' | soft) :;; #( + *) + # In POSIX sh, ulimit -n is undefined. That's why the result is checked to see if it worked. + # shellcheck disable=SC3045 + ulimit -n "$MAX_FD" || + warn "Could not set maximum file descriptor limit to $MAX_FD" + esac +fi + +# Collect all arguments for the java command, stacking in reverse order: +# * args from the command line +# * the main class name +# * -classpath +# * -D...appname settings +# * --module-path (only if needed) +# * DEFAULT_JVM_OPTS, JAVA_OPTS, and GRADLE_OPTS environment variables. + +# For Cygwin or MSYS, switch paths to Windows format before running java +if "$cygwin" || "$msys" ; then + APP_HOME=$( cygpath --path --mixed "$APP_HOME" ) + CLASSPATH=$( cygpath --path --mixed "$CLASSPATH" ) + + JAVACMD=$( cygpath --unix "$JAVACMD" ) + + # Now convert the arguments - kludge to limit ourselves to /bin/sh + for arg do + if + case $arg in #( + -*) false ;; # don't mess with options #( + /?*) t=${arg#/} t=/${t%%/*} # looks like a POSIX filepath + [ -e "$t" ] ;; #( + *) false ;; + esac + then + arg=$( cygpath --path --ignore --mixed "$arg" ) + fi + # Roll the args list around exactly as many times as the number of + # args, so each arg winds up back in the position where it started, but + # possibly modified. + # + # NB: a `for` loop captures its iteration list before it begins, so + # changing the positional parameters here affects neither the number of + # iterations, nor the values presented in `arg`. + shift # remove old arg + set -- "$@" "$arg" # push replacement arg + done +fi + +# Collect all arguments for the java command; +# * $DEFAULT_JVM_OPTS, $JAVA_OPTS, and $GRADLE_OPTS can contain fragments of +# shell script including quotes and variable substitutions, so put them in +# double quotes to make sure that they get re-expanded; and +# * put everything else in single quotes, so that it's not re-expanded. + +set -- \ + "-Dorg.gradle.appname=$APP_BASE_NAME" \ + -classpath "$CLASSPATH" \ + org.gradle.wrapper.GradleWrapperMain \ + "$@" + +# Stop when "xargs" is not available. +if ! command -v xargs >/dev/null 2>&1 +then + die "xargs is not available" +fi + +# Use "xargs" to parse quoted args. +# +# With -n1 it outputs one arg per line, with the quotes and backslashes removed. +# +# In Bash we could simply go: +# +# readarray ARGS < <( xargs -n1 <<<"$var" ) && +# set -- "${ARGS[@]}" "$@" +# +# but POSIX shell has neither arrays nor command substitution, so instead we +# post-process each arg (as a line of input to sed) to backslash-escape any +# character that might be a shell metacharacter, then use eval to reverse +# that process (while maintaining the separation between arguments), and wrap +# the whole thing up as a single "set" statement. +# +# This will of course break if any of these variables contains a newline or +# an unmatched quote. +# + +eval "set -- $( + printf '%s\n' "$DEFAULT_JVM_OPTS $JAVA_OPTS $GRADLE_OPTS" | + xargs -n1 | + sed ' s~[^-[:alnum:]+,./:=@_]~\\&~g; ' | + tr '\n' ' ' + )" '"$@"' + +exec "$JAVACMD" "$@" diff --git a/src/H071221088/Pertemuan_9/gradlew.bat b/src/H071221088/Pertemuan_9/gradlew.bat new file mode 100644 index 0000000..93e3f59 --- /dev/null +++ b/src/H071221088/Pertemuan_9/gradlew.bat @@ -0,0 +1,92 @@ +@rem +@rem Copyright 2015 the original author or authors. +@rem +@rem Licensed under the Apache License, Version 2.0 (the "License"); +@rem you may not use this file except in compliance with the License. +@rem You may obtain a copy of the License at +@rem +@rem https://www.apache.org/licenses/LICENSE-2.0 +@rem +@rem Unless required by applicable law or agreed to in writing, software +@rem distributed under the License is distributed on an "AS IS" BASIS, +@rem WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +@rem See the License for the specific language governing permissions and +@rem limitations under the License. +@rem + +@if "%DEBUG%"=="" @echo off +@rem ########################################################################## +@rem +@rem Gradle startup script for Windows +@rem +@rem ########################################################################## + +@rem Set local scope for the variables with windows NT shell +if "%OS%"=="Windows_NT" setlocal + +set DIRNAME=%~dp0 +if "%DIRNAME%"=="" set DIRNAME=. +@rem This is normally unused +set APP_BASE_NAME=%~n0 +set APP_HOME=%DIRNAME% + +@rem Resolve any "." and ".." in APP_HOME to make it shorter. +for %%i in ("%APP_HOME%") do set APP_HOME=%%~fi + +@rem Add default JVM options here. You can also use JAVA_OPTS and GRADLE_OPTS to pass JVM options to this script. +set DEFAULT_JVM_OPTS="-Xmx64m" "-Xms64m" + +@rem Find java.exe +if defined JAVA_HOME goto findJavaFromJavaHome + +set JAVA_EXE=java.exe +%JAVA_EXE% -version >NUL 2>&1 +if %ERRORLEVEL% equ 0 goto execute + +echo. +echo ERROR: JAVA_HOME is not set and no 'java' command could be found in your PATH. +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:findJavaFromJavaHome +set JAVA_HOME=%JAVA_HOME:"=% +set JAVA_EXE=%JAVA_HOME%/bin/java.exe + +if exist "%JAVA_EXE%" goto execute + +echo. +echo ERROR: JAVA_HOME is set to an invalid directory: %JAVA_HOME% +echo. +echo Please set the JAVA_HOME variable in your environment to match the +echo location of your Java installation. + +goto fail + +:execute +@rem Setup the command line + +set CLASSPATH=%APP_HOME%\gradle\wrapper\gradle-wrapper.jar + + +@rem Execute Gradle +"%JAVA_EXE%" %DEFAULT_JVM_OPTS% %JAVA_OPTS% %GRADLE_OPTS% "-Dorg.gradle.appname=%APP_BASE_NAME%" -classpath "%CLASSPATH%" org.gradle.wrapper.GradleWrapperMain %* + +:end +@rem End local scope for the variables with windows NT shell +if %ERRORLEVEL% equ 0 goto mainEnd + +:fail +rem Set variable GRADLE_EXIT_CONSOLE if you need the _script_ return code instead of +rem the _cmd.exe /c_ return code! +set EXIT_CODE=%ERRORLEVEL% +if %EXIT_CODE% equ 0 set EXIT_CODE=1 +if not ""=="%GRADLE_EXIT_CONSOLE%" exit %EXIT_CODE% +exit /b %EXIT_CODE% + +:mainEnd +if "%OS%"=="Windows_NT" endlocal + +:omega diff --git a/src/H071221088/Pertemuan_9/settings.gradle b/src/H071221088/Pertemuan_9/settings.gradle new file mode 100644 index 0000000..9b018f6 --- /dev/null +++ b/src/H071221088/Pertemuan_9/settings.gradle @@ -0,0 +1,11 @@ +/* + * This file was generated by the Gradle 'init' task. + * + * The settings file is used to specify which projects to include in your build. + * + * Detailed information about configuring a multi-project build in Gradle can be found + * in the user manual at https://docs.gradle.org/8.0.2/userguide/multi_project_builds.html + */ + +rootProject.name = 'kalkulator' +include('app')

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