{"id":"drawing-and-images-tiling","slug":"tiling","title":"Tiling an image","text":"Wrapping paper, wallpaper and tiled floors repeat one small picture over and over. Each copy is a **tile**, and putting them side by side is **tiling**.\n\n### Repeating with the remainder\n\nAn image of 4 tiles across and 3 down is 4 times as wide as the tile and 3 times as high. Which pixel of the tile does pixel (x, y) of the big image show? With a tile `w` pixels wide, x from 0 to w - 1 is in the first tile, at the same place in it; x from w to 2w - 1 is in the second tile, which starts over from 0; and so on. That's the remainder of a division (module 6): the place in the tile is `x % w`. For a tile 8 pixels wide:\n\n| x in the big image | 0 | 1 | ... | 7 | 8 | 9 | ... | 15 | 16 |\n| --- | --- | --- | --- | --- | --- | --- | --- | --- | --- |\n| `x % 8`, in the tile | 0 | 1 | ... | 7 | 0 | 1 | ... | 7 | 0 |\n\nDown, it's `y % h` for a tile `h` pixels high. Wrapping paper with the 8 x 8 heart of `icon.png`, whose corners are transparent:\n\n```asset icon.png\n{\"name\":\"icon.png\",\"image\":{\"asset\":\"icon.png\",\"url\":\"images/icon-9e84c50783.png\",\"width\":8,\"height\":8,\"size\":141,\"alt\":\"An 8 by 8 pixel-art red heart with a dark red outline and one white pixel of shine, on a transparent background.\"}}\n```\n\n```java\nimport javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image heart = new Image(\"file:icon.png\");\n        PixelReader reader = heart.getPixelReader();\n        int w = (int) heart.getWidth();\n        int h = (int) heart.getHeight();\n\n        WritableImage paper = new WritableImage(4 * w, 3 * h);\n        PixelWriter writer = paper.getPixelWriter();\n        for (int y = 0; y < 3 * h; y++) {\n            for (int x = 0; x < 4 * w; x++) {\n                writer.setColor(x, y, reader.getColor(x % w, y % h));\n            }\n        }\n\n        stage.setScene(new Scene(new Pane(new ImageView(paper))));\n        stage.setTitle(\"Wrapping paper\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n```\n\n```window\n{\"events\":[],\"window\":{\"windows\":[{\"title\":\"Wrapping paper\",\"scene\":{\"root\":{\"n\":1,\"type\":\"Pane\",\"children\":[{\"n\":2,\"type\":\"ImageView\",\"image\":{\"width\":32,\"height\":24,\"crc\":\"dac3d913\",\"pixels\":\"AAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAACAACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP//////5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAgAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP//////5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAIAAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP//////5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP//////5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA\"}}]}}}],\"problems\":[]},\"outline\":\"Window \\\"Wrapping paper\\\"\\n  Pane\\n    ImageView 32 x 24, pixels dac3d913\"}\n```\n\nThe transparent corners of the heart stay transparent in the copies: `getColor` reads them as a color whose opacity is 0, and `setColor` writes that.\n\n### Tile by tile\n\nThe same image can be made the other way round: go through the tiles, and copy the whole small image into each one, shifted, as step 4 put a picture on a mat. The tile in column `tx` and row `ty` starts at (tx * w, ty * h):\n\n```java\nfor (int ty = 0; ty < 3; ty++) {\n    for (int tx = 0; tx < 4; tx++) {\n        for (int y = 0; y < h; y++) {\n            for (int x = 0; x < w; x++) {\n                writer.setColor(tx * w + x, ty * h + y, reader.getColor(x, y));\n            }\n        }\n    }\n}\n```\n\nBoth ways give exactly the same pixels. The one with `%` needs only two loops instead of four. The one tile by tile always knows which tile it is writing, `tx` and `ty`. The next part works that out in the two-loop version too, with a division.\n\n### Mirrored tiles\n\nTiles that are all the same make a plain pattern. Mirror every other tile, and each edge meets its own mirror image, which gives the symmetry of a tiled floor or a quilt. Which tile a pixel is in is a whole-number division: across, `x / w` is 0 in the first tile, 1 in the second, and so on. In the tiles with an odd number, the pixel reads from the other side of the tile: column `w - 1 - x % w` instead of `x % w`, so the tile's column 0 shows its last column, and its last column shows column 0. The same down the image, with rows, turns tiles upside down. The landscape, 2 x 2, mirrored both ways:\n\n```asset landscape.png\n{\"name\":\"landscape.png\",\"image\":{\"asset\":\"landscape.png\",\"url\":\"images/landscape-309f25443f.png\",\"width\":32,\"height\":24,\"size\":317,\"alt\":\"A small landscape: a blue sky that gets lighter toward the horizon, a yellow sun, blue-green hills, a green slope, a small blue lake and a striped brown field.\"}}\n```\n\n```java\nimport javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image tile = new Image(\"file:landscape.png\");\n        PixelReader reader = tile.getPixelReader();\n        int w = (int) tile.getWidth();\n        int h = (int) tile.getHeight();\n\n        WritableImage pattern = new WritableImage(2 * w, 2 * h);\n        PixelWriter writer = pattern.getPixelWriter();\n        for (int y = 0; y < 2 * h; y++) {\n            for (int x = 0; x < 2 * w; x++) {\n                int fromX = x % w;\n                if (x / w % 2 == 1) {\n                    fromX = w - 1 - fromX;\n                }\n                int fromY = y % h;\n                if (y / h % 2 == 1) {\n                    fromY = h - 1 - fromY;\n                }\n                writer.setColor(x, y, reader.getColor(fromX, fromY));\n            }\n        }\n\n        stage.setScene(new Scene(new Pane(new ImageView(pattern))));\n        stage.setTitle(\"Mirrored\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n```\n\n```window\n{\"events\":[],\"window\":{\"windows\":[{\"title\":\"Mirrored\",\"scene\":{\"root\":{\"n\":1,\"type\":\"Pane\",\"children\":[{\"n\":2,\"type\":\"ImageView\",\"image\":{\"width\":64,\"height\":48,\"crc\":\"2e2063ac\",\"pixels\":\"RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/88mUb/PJlG/zyZRv88mUb/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88mUb/PJlG/zyZRv88mUb/N5FB/zeRQf83kUH/N5FB/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/N5FB/zeRQf83kUH/N5FB/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv83kUH/N5FB/zeRQf83kUH/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP83kUH/N5FB/zeRQf83kUH/PJlG/zyZRv88mUb/PJlG/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PJlG/zyZRv88mUb/PJlG/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+izO3/oszt/6LM7f+izO3/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+izO3/oszt/6LM7f+izO3/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/m8bq/5vG6v+bxur/m8bq/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/m8bq/5vG6v+bxur/m8bq/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f//10D//9dA///XQP+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f//10D//9dA///XQP+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v//10D//9dA///XQP//10D//9dA///XQP//10D/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v//10D//9dA///XQP//10D//9dA///XQP//10D/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf//9dA///XQP//10D//9dA///XQP//10D//9dA/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf//9dA///XQP//10D//9dA///XQP//10D//9dA/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH//9dA///XQP//10D//9dA///XQP9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH//9dA///XQP//10D//9dA///XQP9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv//10D//9dA///XQP9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv//10D//9dA///XQP9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/\"}}]}}}],\"problems\":[]},\"outline\":\"Window \\\"Mirrored\\\"\\n  Pane\\n    ImageView 64 x 48, pixels 2e2063ac\"}\n```\n\n`x / w % 2` is worked out from left to right, `(x / w) % 2`: the tile's number, then whether it's odd. The top right tile is the landscape mirrored left to right, the bottom left one is upside down, like a reflection in the lake, and the bottom right one is both.\n","task":"Tile `pic.png` 2 times across and 2 times down: pixel (x, y) of the result is the picture's pixel (x % width, y % height). Fill in the blanks. The first test gives the program the heart of `icon.png` as `pic.png`, and the window should look like the drawing below.\n","kind":"fill","seed":"import javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image picture = new Image(\"file:pic.png\");\n        PixelReader reader = picture.getPixelReader();\n        int width = (int) picture.getWidth();\n        int height = (int) picture.getHeight();\n\n        WritableImage tiles = new WritableImage(2 * width, 2 * height);\n        PixelWriter writer = tiles.getPixelWriter();\n        for (int y = 0; y < 2 * height; y++) {\n            for (int x = 0; x < [[2 * width‖width * 2]]; x++) {\n                writer.setColor(x, y, reader.getColor(x [[%]] width, y % [[height]]));\n            }\n        }\n\n        stage.setScene(new Scene(new Pane(new ImageView([[tiles]]))));\n        stage.setTitle(\"Tiles\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n","solution":"import javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image picture = new Image(\"file:pic.png\");\n        PixelReader reader = picture.getPixelReader();\n        int width = (int) picture.getWidth();\n        int height = (int) picture.getHeight();\n\n        WritableImage tiles = new WritableImage(2 * width, 2 * height);\n        PixelWriter writer = tiles.getPixelWriter();\n        for (int y = 0; y < 2 * height; y++) {\n            for (int x = 0; x < 2 * width; x++) {\n                writer.setColor(x, y, reader.getColor(x % width, y % height));\n            }\n        }\n\n        stage.setScene(new Scene(new Pane(new ImageView(tiles))));\n        stage.setTitle(\"Tiles\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n","hints":["The result is twice as wide as the picture, so x goes up to `2 * width`. The place in the tile is the remainder, `x % width`.","Down, the tile is `height` pixels high, so it's `y % height`. The image view shows the new image, `tiles`."],"tests":[{"name":"Test 1","stdin":"","files":{"pic.png":{"asset":"icon.png","url":"images/icon-9e84c50783.png","width":8,"height":8,"size":141,"alt":"An 8 by 8 pixel-art red heart with a dark red outline and one white pixel of shine, on a transparent background."}},"expect":"","hidden":false,"events":[],"window":{"windows":[{"title":"Tiles","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":16,"height":16,"crc":"1f9f34e7","pixels":"AAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAIAAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAgAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP//////5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="}}]}}}],"problems":[]},"outline":"Window \"Tiles\"\n  Pane\n    ImageView 16 x 16, pixels 1f9f34e7"},{"name":"Test 2","stdin":"","files":{"pic.png":{"asset":"landscape.png","url":"images/landscape-309f25443f.png","width":32,"height":24,"size":317,"alt":"A small landscape: a blue sky that gets lighter toward the horizon, a yellow sun, blue-green hills, a green slope, a small blue lake and a striped brown field."}},"expect":"","hidden":true,"events":[],"window":{"windows":[{"title":"Tiles","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":64,"height":48,"crc":"b3e8e85b","pixels":"RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7//9dA///XQP//10D/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH//9dA///XQP//10D//9dA///XQP9dlNH/XZTR/12U0f9dlNH/XZTR/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T//9dA///XQP//10D//9dA///XQP//10D//9dA/2Wb1P9lm9T/ZZvU/2Wb1P9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX///XQP//10D//9dA///XQP//10D//9dA///XQP9sodf/bKHX/2yh1/9sodf/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v//10D//9dA///XQP//10D//9dA///XQP//10D/dKfa/3Sn2v90p9r/dKfa/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e///XQP//10D//9dA///XQP//10D/fK3e/3yt3v98rd7/fK3e/3yt3v+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H//9dA///XQP//10D/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+izO3/oszt/6LM7f+izO3/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP88mUb/PJlG/zyZRv88mUb/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/zyZRv88mUb/PJlG/zyZRv88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/N5FB/zeRQf83kUH/N5FB/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv83kUH/N5FB/zeRQf83kUH/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7//9dA///XQP//10D/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH//9dA///XQP//10D//9dA///XQP9dlNH/XZTR/12U0f9dlNH/XZTR/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU///XQP//10D//9dA///XQP//10D//9dA///XQP9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T//9dA///XQP//10D//9dA///XQP//10D//9dA/2Wb1P9lm9T/ZZvU/2Wb1P9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX///XQP//10D//9dA///XQP//10D//9dA///XQP9sodf/bKHX/2yh1/9sodf/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v//10D//9dA///XQP//10D//9dA///XQP//10D/dKfa/3Sn2v90p9r/dKfa/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v//10D//9dA///XQP//10D//9dA/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e///XQP//10D//9dA///XQP//10D/fK3e/3yt3v98rd7/fK3e/3yt3v+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H//9dA///XQP//10D/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+izO3/oszt/6LM7f+izO3/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP88mUb/PJlG/zyZRv88mUb/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/zyZRv88mUb/PJlG/zyZRv88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/N5FB/zeRQf83kUH/N5FB/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv83kUH/N5FB/zeRQf83kUH/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/"}}]}}}],"problems":[]},"outline":"Window \"Tiles\"\n  Pane\n    ImageView 64 x 48, pixels b3e8e85b"},{"name":"Test 3","stdin":"","files":{"pic.png":{"asset":"tiny.png","url":"images/tiny-54f3f53ec8.png","width":6,"height":4,"size":120,"alt":"A tiny test image of 6 by 4 pixels, each a different color: red, green, blue, white, black and gray across its first row, and other colors in the three rows below."}},"expect":"","hidden":true,"events":[],"window":{"windows":[{"title":"Tiles","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":12,"height":8,"crc":"f11c903f","pixels":"/wAA/wD/AP8AAP///////wAAAP+AgID//wAA/wD/AP8AAP///////wAAAP+AgID///8A/wD/////AP//wMDA/0BAQP+AAAD///8A/wD/////AP//wMDA/0BAQP+AAAD/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f//wAA/wD/AP8AAP///////wAAAP+AgID//wAA/wD/AP8AAP///////wAAAP+AgID///8A/wD/////AP//wMDA/0BAQP+AAAD///8A/wD/////AP//wMDA/0BAQP+AAAD/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f/"}}]}}}],"problems":[]},"outline":"Window \"Tiles\"\n  Pane\n    ImageView 12 x 8, pixels f11c903f"}],"require":[],"forbid":[],"more":[{"task":"In `Tiles.java`, write the method `public static WritableImage tile(Image source, int across, int down)`: it returns a new image with the source repeated `across` times side by side and `down` times one under another. Both are at least 1.\n\n`Main.java` has the methods of step 4's challenge to try it with: `sample(width, height)` makes an image whose pixel (x, y) has red `x * 30` and green `y * 60`, and `describe(image)` prints the size and the colors. The check calls:\n\n```java\ndescribe(Tiles.tile(sample(3, 2), 2, 1));\n```\n\nand expects:\n\n```\n6 x 2\n0x000000ff 0x1e0000ff 0x3c0000ff 0x000000ff 0x1e0000ff 0x3c0000ff\n0x003c00ff 0x1e3c00ff 0x3c3c00ff 0x003c00ff 0x1e3c00ff 0x3c3c00ff\n```\n","kind":"code","seed":"// ==== Tiles.java ====\nimport javafx.scene.image.Image;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\n\npublic class Tiles {\n\n}\n\n// ==== Main.java ====\nimport javafx.scene.image.Image;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.paint.Color;\n\npublic class Main {\n    public static void main(String[] args) {\n        describe(Tiles.tile(sample(3, 2), 2, 1));\n    }\n\n    // An image to try things on: pixel (x, y) has red x * 30 and green y * 60.\n    public static WritableImage sample(int width, int height) {\n        WritableImage image = new WritableImage(width, height);\n        PixelWriter writer = image.getPixelWriter();\n        for (int y = 0; y < height; y++) {\n            for (int x = 0; x < width; x++) {\n                writer.setColor(x, y, Color.rgb(x * 30, y * 60, 0));\n            }\n        }\n        return image;\n    }\n\n    // Prints the size, then the color of every pixel, a row on each line.\n    public static void describe(Image image) {\n        int width = (int) image.getWidth();\n        int height = (int) image.getHeight();\n        System.out.println(width + \" x \" + height);\n        PixelReader reader = image.getPixelReader();\n        for (int y = 0; y < height; y++) {\n            String row = \"\";\n            for (int x = 0; x < width; x++) {\n                row += \" \" + reader.getColor(x, y);\n            }\n            System.out.println(row.trim());\n        }\n    }\n}\n","solution":"// ==== Tiles.java ====\nimport javafx.scene.image.Image;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\n\npublic class Tiles {\n\n    public static WritableImage tile(Image source, int across, int down) {\n        PixelReader reader = source.getPixelReader();\n        int w = (int) source.getWidth();\n        int h = (int) source.getHeight();\n        WritableImage result = new WritableImage(across * w, down * h);\n        PixelWriter writer = result.getPixelWriter();\n        for (int y = 0; y < down * h; y++) {\n            for (int x = 0; x < across * w; x++) {\n                writer.setColor(x, y, reader.getColor(x % w, y % h));\n            }\n        }\n        return result;\n    }\n}\n\n// ==== Main.java ====\nimport javafx.scene.image.Image;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.paint.Color;\n\npublic class Main {\n    public static void main(String[] args) {\n        describe(Tiles.tile(sample(3, 2), 2, 1));\n    }\n\n    // An image to try things on: pixel (x, y) has red x * 30 and green y * 60.\n    public static WritableImage sample(int width, int height) {\n        WritableImage image = new WritableImage(width, height);\n        PixelWriter writer = image.getPixelWriter();\n        for (int y = 0; y < height; y++) {\n            for (int x = 0; x < width; x++) {\n                writer.setColor(x, y, Color.rgb(x * 30, y * 60, 0));\n            }\n        }\n        return image;\n    }\n\n    // Prints the size, then the color of every pixel, a row on each line.\n    public static void describe(Image image) {\n        int width = (int) image.getWidth();\n        int height = (int) image.getHeight();\n        System.out.println(width + \" x \" + height);\n        PixelReader reader = image.getPixelReader();\n        for (int y = 0; y < height; y++) {\n            String row = \"\";\n            for (int x = 0; x < width; x++) {\n                row += \" \" + reader.getColor(x, y);\n            }\n            System.out.println(row.trim());\n        }\n    }\n}\n","hints":["The result is `across * w` wide and `down * h` high, where `w` and `h` are the source's size as ints.","For each pixel (x, y) of the result, the color is the source's `reader.getColor(x % w, y % h)`. Return the new image at the end."],"tests":[{"name":"describe(Tiles.tile(sample(3, 2), 2, 1));","stdin":"","call":"describe(Tiles.tile(sample(3, 2), 2, 1));\n","expect":"6 x 2\n0x000000ff 0x1e0000ff 0x3c0000ff 0x000000ff 0x1e0000ff 0x3c0000ff\n0x003c00ff 0x1e3c00ff 0x3c3c00ff 0x003c00ff 0x1e3c00ff 0x3c3c00ff","hidden":false},{"name":"describe(Tiles.tile(sample(2, 2), 2, 3));","stdin":"","call":"describe(Tiles.tile(sample(2, 2), 2, 3));\n","expect":"4 x 6\n0x000000ff 0x1e0000ff 0x000000ff 0x1e0000ff\n0x003c00ff 0x1e3c00ff 0x003c00ff 0x1e3c00ff\n0x000000ff 0x1e0000ff 0x000000ff 0x1e0000ff\n0x003c00ff 0x1e3c00ff 0x003c00ff 0x1e3c00ff\n0x000000ff 0x1e0000ff 0x000000ff 0x1e0000ff\n0x003c00ff 0x1e3c00ff 0x003c00ff 0x1e3c00ff","hidden":true},{"name":"Test 3","stdin":"","call":"describe(Tiles.tile(sample(1, 3), 4, 1));\ndescribe(Tiles.tile(sample(3, 1), 1, 1));\n","expect":"4 x 3\n0x000000ff 0x000000ff 0x000000ff 0x000000ff\n0x003c00ff 0x003c00ff 0x003c00ff 0x003c00ff\n0x007800ff 0x007800ff 0x007800ff 0x007800ff\n3 x 1\n0x000000ff 0x1e0000ff 0x3c0000ff","hidden":true}],"require":[],"forbid":[]},{"task":"A border for a page: `pic.png` repeated 4 times across, in one row, with every second tile (the second and the fourth) mirrored left to right. So the result is 4 times as wide as the picture and as high as it. In a mirrored tile, the tile's pixel (x, y) shows the picture's pixel (width - 1 - x, y); the other tiles show the picture as it is. Show the result in an ImageView inside a Pane. The window's title is `Border`. The first test gives the program `landscape.png` as `pic.png`, and the window should look like the drawing below.\n","kind":"code","seed":"import javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image picture = new Image(\"file:pic.png\");\n\n        stage.setScene(new Scene(new Pane(new ImageView(picture))));\n        stage.setTitle(\"Border\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n","solution":"import javafx.application.Application;\nimport javafx.scene.Scene;\nimport javafx.scene.image.Image;\nimport javafx.scene.image.ImageView;\nimport javafx.scene.image.PixelReader;\nimport javafx.scene.image.PixelWriter;\nimport javafx.scene.image.WritableImage;\nimport javafx.scene.layout.Pane;\nimport javafx.stage.Stage;\n\npublic class Main extends Application {\n\n    @Override\n    public void start(Stage stage) {\n        Image picture = new Image(\"file:pic.png\");\n        PixelReader reader = picture.getPixelReader();\n        int width = (int) picture.getWidth();\n        int height = (int) picture.getHeight();\n        WritableImage border = new WritableImage(4 * width, height);\n        PixelWriter writer = border.getPixelWriter();\n        for (int y = 0; y < height; y++) {\n            for (int x = 0; x < 4 * width; x++) {\n                int fromX = x % width;\n                if (x / width % 2 == 1) {\n                    fromX = width - 1 - fromX;\n                }\n                writer.setColor(x, y, reader.getColor(fromX, y));\n            }\n        }\n\n        stage.setScene(new Scene(new Pane(new ImageView(border))));\n        stage.setTitle(\"Border\");\n        stage.show();\n    }\n\n    public static void main(String[] args) {\n        launch(Main.class);\n    }\n}\n","hints":["The result is `new WritableImage(4 * width, height)`. For pixel (x, y), the column in the tile is `x % width`, and the tile's number is `x / width`: 0, 1, 2 or 3.","When the tile's number is odd (`x / width % 2 == 1`), read the column `width - 1 - x % width` instead. The row is `y` in every tile."],"tests":[{"name":"Test 1","stdin":"","files":{"pic.png":{"asset":"landscape.png","url":"images/landscape-309f25443f.png","width":32,"height":24,"size":317,"alt":"A small landscape: a blue sky that gets lighter toward the horizon, a yellow sun, blue-green hills, a green slope, a small blue lake and a striped brown field."}},"expect":"","hidden":false,"events":[],"window":{"windows":[{"title":"Border","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":128,"height":24,"crc":"305cee13","pixels":"RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9Ggsj/RoLI/0aCyP9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/06Iy/9OiMv/TojL/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7//9dA///XQP//10D/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7//9dA///XQP//10D/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O///XQP//10D//9dA/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/VY7O/1WOzv9Vjs7/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR///XQP//10D//9dA///XQP//10D/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f//10D//9dA///XQP//10D//9dA/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f//10D//9dA///XQP//10D//9dA/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9dlNH/XZTR/12U0f9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P//10D//9dA///XQP//10D//9dA///XQP//10D/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P//10D//9dA///XQP//10D//9dA///XQP//10D/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T//9dA///XQP//10D//9dA///XQP//10D//9dA/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T//9dA///XQP//10D//9dA///XQP//10D//9dA/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2Wb1P9lm9T/ZZvU/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX///XQP//10D//9dA///XQP//10D//9dA///XQP9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX///XQP//10D//9dA///XQP//10D//9dA///XQP9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1///10D//9dA///XQP//10D//9dA///XQP//10D/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/bKHX/2yh1/9sodf/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r//9dA///XQP//10D//9dA///XQP//10D//9dA/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa///XQP//10D//9dA///XQP//10D//9dA///XQP90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa///XQP//10D//9dA///XQP//10D//9dA///XQP90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v90p9r/dKfa/3Sn2v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7//9dA///XQP//10D//9dA///XQP98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7//9dA///XQP//10D//9dA///XQP98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e///XQP//10D//9dA///XQP//10D/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e///XQP//10D//9dA///XQP//10D/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/3yt3v98rd7/fK3e/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H//9dA///XQP//10D/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H//9dA///XQP//10D/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh///XQP//10D//9dA/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/hLPh/4Sz4f+Es+H/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+LueT/i7nk/4u55P+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5PA5/+TwOf/k8Dn/5vG6v+bxur/m8bq/5vG6v9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/5vG6v+bxur/m8bq/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv+bxur/m8bq/5vG6v+bxur/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/oszt/6LM7f+izO3/oszt/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/6LM7f+izO3/oszt/6LM7f9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/6LM7f+izO3/oszt/6LM7f9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9ajG7/Woxu/1qMbv9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0aqUP9GqlD/RqpQ/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/zyZRv88mUb/PJlG/zyZRv88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/QaJL/0GiS/9Bokv/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88mUb/PJlG/zyZRv88mUb/N5FB/zeRQf83kUH/N5FB/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zxutP83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv88mUb/PJlG/zyZRv83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zeRQf83kUH/N5FB/zxutP88brT/PG60/zxutP88brT/PG60/zxutP88brT/PG60/zeRQf83kUH/N5FB/zeRQf+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/5ZuPP+Wbjz/lm48/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/pX1G/6V9Rv+lfUb/"}}]}}}],"problems":[]},"outline":"Window \"Border\"\n  Pane\n    ImageView 128 x 24, pixels 305cee13"},{"name":"Test 2","stdin":"","files":{"pic.png":{"asset":"icon.png","url":"images/icon-9e84c50783.png","width":8,"height":8,"size":141,"alt":"An 8 by 8 pixel-art red heart with a dark red outline and one white pixel of shine, on a transparent background."}},"expect":"","hidden":true,"events":[],"window":{"windows":[{"title":"Border","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":32,"height":8,"crc":"017c7e25","pixels":"AAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAIAAIP+AACD/AAAAAAAAAACAACD/gAAg/wAAAACAACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/gAAg/4AAIP/mKDz//////+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP//////5ig8/4AAIP+AACD/5ig8///////mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz//////+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP+AACD/5ig8/+YoPP/mKDz/5ig8/+YoPP/mKDz/gAAg/4AAIP/mKDz/5ig8/+YoPP/mKDz/5ig8/+YoPP+AACD/gAAg/+YoPP/mKDz/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAACAACD/5ig8/+YoPP/mKDz/5ig8/4AAIP8AAAAAAAAAAIAAIP/mKDz/5ig8/+YoPP/mKDz/gAAg/wAAAAAAAAAAgAAg/+YoPP/mKDz/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAACAACD/5ig8/+YoPP+AACD/AAAAAAAAAAAAAAAAAAAAAIAAIP/mKDz/5ig8/4AAIP8AAAAAAAAAAAAAAAAAAAAAgAAg/+YoPP/mKDz/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAACAACD/gAAg/wAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAIAAIP+AACD/AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAgAAg/4AAIP8AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA=="}}]}}}],"problems":[]},"outline":"Window \"Border\"\n  Pane\n    ImageView 32 x 8, pixels 017c7e25"},{"name":"Test 3","stdin":"","files":{"pic.png":{"asset":"tiny.png","url":"images/tiny-54f3f53ec8.png","width":6,"height":4,"size":120,"alt":"A tiny test image of 6 by 4 pixels, each a different color: red, green, blue, white, black and gray across its first row, and other colors in the three rows below."}},"expect":"","hidden":true,"events":[],"window":{"windows":[{"title":"Border","scene":{"root":{"n":1,"type":"Pane","children":[{"n":2,"type":"ImageView","image":{"width":24,"height":4,"crc":"b56749f9","pixels":"/wAA/wD/AP8AAP///////wAAAP+AgID/gICA/wAAAP//////AAD//wD/AP//AAD//wAA/wD/AP8AAP///////wAAAP+AgID/gICA/wAAAP//////AAD//wD/AP//AAD///8A/wD/////AP//wMDA/0BAQP+AAAD/gAAA/0BAQP/AwMD//wD//wD//////wD///8A/wD/////AP//wMDA/0BAQP+AAAD/gAAA/0BAQP/AwMD//wD//wD//////wD/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/ChQe/9Dg8P+gsMD/cICQ/0BQYP8QIDD/ECAw/0BQYP9wgJD/oLDA/9Dg8P8KFB7/ChQe/9Dg8P+gsMD/cICQ/0BQYP8QIDD/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f/LotX/5lmM/8zZpn//v7+/39/f/8BAgP/AQID/39/f//+/v7/M2aZ/5lmM/8ui1f/LotX/5lmM/8zZpn//v7+/39/f/8BAgP/"}}]}}}],"problems":[]},"outline":"Window \"Border\"\n  Pane\n    ImageView 24 x 4, pixels b56749f9"}],"require":[],"forbid":[]}]}