diff --git a/.gitignore b/.gitignore index bf17d36..899ea7d 100644 --- a/.gitignore +++ b/.gitignore @@ -28,3 +28,6 @@ *.out *.app ray + +# Emacs droppings +*~ diff --git a/Makefile b/Makefile index 2b05862..716c93d 100644 --- a/Makefile +++ b/Makefile @@ -1,6 +1,6 @@ TARGET = ray -HEADERS = ray.hpp sphere.hpp figure.hpp -OBJECTS = main.o sphere.o +HEADERS = ray.hpp sphere.hpp figure.hpp light.hpp tracer.hpp +OBJECTS = main.o sphere.o tracer.o CXX = g++ CXXFLAGS = -ansi -pedantic -Wall -g -DGLM_FORCE_RADIANS -fopenmp LDLIBS = -lm @@ -15,6 +15,8 @@ main.o: main.cpp $(HEADERS) sphere.o: sphere.cpp $(HEADERS) +tracer.o: tracer.cpp $(HEADERS) + .PHONY: clean clean: - $(RM) $(TARGET) *.o + $(RM) $(TARGET) $(OBJECTS) diff --git a/figure.hpp b/figure.hpp index b8738cc..57e57f3 100644 --- a/figure.hpp +++ b/figure.hpp @@ -6,13 +6,15 @@ #include "ray.hpp" +using glm::vec3; + class Figure { public: vec3 color; virtual ~Figure() { } - virtual bool intersect(Ray & r, float & t) const = 0; + virtual bool intersect(Ray & r, float & t, vec3 & n) const = 0; virtual void set_color(float r, float g, float b) { color = vec3(r, g, b); diff --git a/light.hpp b/light.hpp new file mode 100644 index 0000000..ce527a8 --- /dev/null +++ b/light.hpp @@ -0,0 +1,18 @@ +#pragma once +#ifndef LIGHT_HPP +#define LIGHT_HPP + +#include + +class Light { +public: + vec3 position; + vec3 diffuse; + vec3 specular; + vec3 ambient; + + Light(): position(vec3(0.0f)), diffuse(vec3(1.0f)), specular(vec3(1.0f)), ambient(vec3(0.1f)) { } + Light(vec3 _p, vec3 _d, vec3 _s, vec3 _a): position(_p), diffuse(_d), specular(_s), ambient(_a) { } +}; + +#endif diff --git a/main.cpp b/main.cpp index 41622b0..f9548f8 100644 --- a/main.cpp +++ b/main.cpp @@ -1,10 +1,8 @@ #include #include -#include #include #include #include -#include #include #include @@ -12,11 +10,14 @@ #include "ray.hpp" #include "figure.hpp" #include "sphere.hpp" +#include "light.hpp" +#include "tracer.hpp" using namespace std; using namespace glm; -static const vec3 BCKG_COLOR = vec3(0.16f, 0.66f, 0.72f); +#define MAX_RECURSION 9 + static const char * OUT_FILE = "output.ppm"; static char * input_file; @@ -24,21 +25,17 @@ static int g_samples = 25; static float g_fov = 90.0f; static int g_w = 640; static int g_h = 480; -static float g_aspect_ratio = static_cast(g_w) / g_h; static vec3 ** image; -float random01(); -vec2 sample_pixel(int i, int j); - int main(int argc, char ** argv) { FILE * out; - float t; - float _t; Sphere * s; - Figure * _f; + Light * l; Ray r; vec2 sample; vector
figures; + vector lights; + Tracer tracer; if(argc < 2 || argc == 3 || argc > 6) { cerr << "USAGE: " << argv[0] << " IN FILE [OUT FILE [HEIGHT WIDTH [SAMPLES [FIELD OF VIEW]]]]" << endl; @@ -108,38 +105,34 @@ int main(int argc, char ** argv) { s->set_color(1.0f, 1.0f, 0.0f); figures.push_back(static_cast
(s)); -#pragma omp parallel for schedule(dynamic, 1) private(r, sample, _f, t, _t) + l = new Light(); + lights.push_back(l); + + tracer = Tracer(g_h, g_w, g_fov); + +#pragma omp parallel for schedule(dynamic, 1) private(r, sample) for (int i = 0; i < g_h; i++) { for (int j = 0; j < g_w; j++) { for (int k = 0; k < g_samples; k++) { - sample = sample_pixel(i, j); + sample = tracer.sample_pixel(i, j); r = Ray(normalize(vec3(sample, -1.0f) - vec3(0.0f, 0.0f, 0.0f)), vec3(0.0f, 0.0f, 0.0f)); - t = numeric_limits::max(); - _f = NULL; - - for (size_t f = 0; f < figures.size(); f++) { - if (figures[f]->intersect(r, _t) && _t < t) { - t = _t; - _f = figures[f]; - } - } - - if (_f != NULL) { - image[i][j] += vec3(_f->color); - } else { - image[i][j] += vec3(BCKG_COLOR); - } + image[i][j] += tracer.trace_ray(r, figures, lights, MAX_RECURSION); } image[i][j] /= g_samples; } } - for (size_t f = 0; f < figures.size(); f++) { - delete static_cast(figures[f]); + for (size_t i = 0; i < figures.size(); i++) { + delete static_cast(figures[i]); } figures.clear(); + for (size_t i = 0; i < figures.size(); i++) { + delete lights[i]; + } + lights.clear(); + fprintf(out, "P6 %d %d %d ", g_w, g_h, 255); for (int i = 0; i < g_h; i++) { for (int j = 0; j < g_w; j++) { @@ -156,21 +149,3 @@ int main(int argc, char ** argv) { return EXIT_SUCCESS; } - -inline float random01() { - return static_cast(rand()) / static_cast(RAND_MAX); -} - -vec2 sample_pixel(int i, int j) { - float pxNDC; - float pyNDC; - float pxS; - float pyS; - pyNDC = (static_cast(i) + random01()) / g_h; - pyS = (1.0f - (2.0f * pyNDC)) * tan(radians(g_fov) / 2); - pxNDC = (static_cast(j) + random01()) / g_w; - pxS = (2.0f * pxNDC) - 1.0f; - pxS *= g_aspect_ratio * tan(radians(g_fov) / 2); - - return vec2(pxS, pyS); -} diff --git a/output.ppm b/output.ppm index a3224db..aee0abf 100644 --- a/output.ppm +++ b/output.ppm @@ -1,37 +1,39 @@ -P6 640 480 255 (¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·%¯¨½‹½‹ÜIÎfÜIÜIßB ã: ã: æ3ñßBßBØPÑ_ ¹’½‹"¶š(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·(¨·KšukuukuW_±= 0.0f) { + t = (-b - sqrt(d)) / (2 * a); + i = vec3(r.m_origin + (t * r.m_direction)); + n = normalize(vec3((i - m_center) / m_radius)); + } return d >= 0.0f; } diff --git a/sphere.hpp b/sphere.hpp index 69bb437..e609542 100644 --- a/sphere.hpp +++ b/sphere.hpp @@ -2,7 +2,7 @@ #ifndef SPHERE_HPP #define SPHERE_HPP -#include +#include #include "figure.hpp" @@ -21,7 +21,7 @@ public: virtual ~Sphere() { } - virtual bool intersect(Ray & r, float & t) const; + virtual bool intersect(Ray & r, float & t, vec3 & n) const; }; #endif diff --git a/tracer.cpp b/tracer.cpp new file mode 100644 index 0000000..fab63c5 --- /dev/null +++ b/tracer.cpp @@ -0,0 +1,57 @@ +#include +#include +#include + +#include + +#include "tracer.hpp" + +using namespace std; + +static const vec3 BCKG_COLOR = vec3(0.16f, 0.66f, 0.72f); + +static inline float random01() { + return static_cast(rand()) / static_cast(RAND_MAX); +} + +Tracer::Tracer(): m_h(640), m_w(480), m_fov(90.0f), m_a_ratio(640.0f / 480.0f) {} + +Tracer::Tracer(int h, int w, float fov): m_h(h), m_w(w), m_fov(fov) { + m_a_ratio = static_cast(w) / h; +} + +vec2 Tracer::sample_pixel(int i, int j) const { + float pxNDC; + float pyNDC; + float pxS; + float pyS; + pyNDC = (static_cast(i) + random01()) / m_h; + pyS = (1.0f - (2.0f * pyNDC)) * tan(radians(m_fov) / 2); + pxNDC = (static_cast(j) + random01()) / m_w; + pxS = (2.0f * pxNDC) - 1.0f; + pxS *= m_a_ratio * tan(radians(m_fov) / 2); + + return vec2(pxS, pyS); +} + +vec3 Tracer::trace_ray(Ray & r, vector
& vf, vector & vl, unsigned int rec_level) const { + float t; + float _t; + Figure * _f; + vec3 n; + + t = numeric_limits::max(); + _f = NULL; + + for (size_t f = 0; f < vf.size(); f++) { + if (vf[f]->intersect(r, _t, n) && _t < t) { + t = _t; + _f = vf[f]; + } + } + + if (_f != NULL) + return _f->color; + else + return vec3(BCKG_COLOR); +} diff --git a/tracer.hpp b/tracer.hpp new file mode 100644 index 0000000..7de62cd --- /dev/null +++ b/tracer.hpp @@ -0,0 +1,32 @@ +#pragma once +#ifndef TRACER_HPP +#define TRACER_HPP + +#include + +#include + +#include "figure.hpp" +#include "light.hpp" +#include "ray.hpp" + +using std::vector; +using glm::radians; +using glm::vec3; +using glm::vec2; + +class Tracer { +public: + int m_h; + int m_w; + float m_fov; + float m_a_ratio; + + Tracer(); + Tracer(int w, int h, float fov); + + vec2 sample_pixel(int i, int j) const; + vec3 trace_ray(Ray & r, vector
& f, vector & l, unsigned int rec_level) const; +}; + +#endif