labels, int degress, int fontSize) {
+ this.labels = labels;
+ this.context = context;
+ this.degress = degress;
+ this.fontSize = fontSize;
+ }
+
+ @Override
+ public void draw(@Nullable Canvas canvas) {
+
+
+ int width = getBounds().right;
+ int height = getBounds().bottom;
+
+ canvas.drawColor(Color.parseColor("#40F3F5F9"));
+ paint.setColor(Color.parseColor("#50AEAEAE"));
+
+ paint.setAntiAlias(true);
+ paint.setTextSize(sp2px(context, fontSize));
+ canvas.save();
+ canvas.rotate(degress);
+ float textWidth = paint.measureText(labels.get(0));
+ int index = 0;
+ for (int positionY = height / 10; positionY <= height; positionY += height / 10 + 80) {
+ float fromX = -width + (index++ % 2) * textWidth;
+ for (float positionX = fromX; positionX < width; positionX += textWidth * 2) {
+ int spacing = 0;//间距
+ for (String label : labels) {
+ canvas.drawText(label, positionX, positionY + spacing, paint);
+ spacing = spacing + 50;
+ }
+
+ }
+ }
+ canvas.restore();
+ }
+
+ @Override
+ public void setAlpha(@IntRange(from = 0, to = 255) int alpha) {
+
+ }
+
+ @Override
+ public void setColorFilter(@Nullable ColorFilter colorFilter) {
+
+ }
+
+ @Override
+ public int getOpacity() {
+ return PixelFormat.UNKNOWN;
+ }
+
+
+ public static int sp2px(Context context, float spValue) {
+ final float fontScale = context.getResources().getDisplayMetrics().scaledDensity;
+ return (int) (spValue * fontScale + 0.5f);
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/policedatasystem/widget/WaterMarkInfo.java b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkInfo.java
new file mode 100644
index 0000000..bbc9e73
--- /dev/null
+++ b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkInfo.java
@@ -0,0 +1,208 @@
+package com.police.policedatasystem.widget;
+
+import android.graphics.Color;
+import android.graphics.Paint;
+
+/**
+ * @author Leon (wshk729@163.com)
+ * @date 2018/8/24
+ *
+ */
+public class WaterMarkInfo {
+
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+
+ private WaterMarkInfo(int degrees, int textColor, int textSize, boolean textBold, int dx, int dy, Paint.Align align) {
+ mDegrees = degrees;
+ mTextColor = textColor;
+ mTextSize = textSize;
+ mTextBold = textBold;
+ mDx = dx;
+ mDy = dy;
+ mAlign = align;
+ }
+
+ public int getDegrees() {
+ return mDegrees;
+ }
+
+ public int getTextColor() {
+ return mTextColor;
+ }
+
+ public int getTextSize() {
+ return mTextSize;
+ }
+
+ public int getDx() {
+ return mDx;
+ }
+
+ public int getDy() {
+ return mDy;
+ }
+
+ public Paint.Align getAlign() {
+ return mAlign;
+ }
+
+ public int getAlignInt() {
+ switch (mAlign) {
+ case LEFT:
+ return 0;
+ case RIGHT:
+ return 2;
+ default:
+ return 1;
+ }
+ }
+
+ public boolean isTextBold() {
+ return mTextBold;
+ }
+
+ void setDegrees(int degrees) {
+ mDegrees = degrees;
+ }
+
+ void setTextColor(int textColor) {
+ mTextColor = textColor;
+ }
+
+ void setTextSize(int textSize) {
+ mTextSize = textSize;
+ }
+
+ void setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ }
+
+ void setDx(int dx) {
+ mDx = dx;
+ }
+
+ void setDy(int dy) {
+ mDy = dy;
+ }
+
+ void setAlign(Paint.Align align) {
+ this.mAlign = align;
+ }
+
+ public static Builder create() {
+ return new Builder();
+ }
+
+ public static class Builder {
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+
+ private Builder() {
+ mDegrees = -30;
+ mTextColor = Color.parseColor("#33000000");
+ mTextSize = 35;
+ mTextBold = false;
+ mDx = 100;
+ mDy = 240;
+ mAlign = Paint.Align.CENTER;
+ }
+
+ /**
+ * 设置水印文字倾斜度
+ *
+ * @param degrees 文字倾斜度(默认:-30)
+ * @return Builder
+ */
+ public Builder setDegrees(int degrees) {
+ mDegrees = degrees;
+ return this;
+ }
+
+ /**
+ * 设置水印文字颜色
+ *
+ * @param textColor 文字颜色(默认:#33000000)
+ * @return Builder
+ */
+ public Builder setTextColor(int textColor) {
+ mTextColor = textColor;
+ return this;
+ }
+
+ /**
+ * 设置水印文字大小(单位:px)
+ *
+ * @param textSize 文字大小(默认:42px)
+ * @return Builder
+ */
+ public Builder setTextSize(int textSize) {
+ mTextSize = textSize;
+ return this;
+ }
+
+ /**
+ * 设置水印文字是否加粗
+ *
+ * @param textBold 文字加粗(默认:false)
+ * @return Builder
+ */
+ public Builder setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ return this;
+ }
+
+ /**
+ * 设置水印文字X轴间距(单位:px)
+ *
+ * @param dx 文字X轴间距(默认:100px)
+ * @return Builder
+ */
+ public Builder setDx(int dx) {
+ mDx = dx;
+ return this;
+ }
+
+ /**
+ * 设置水印文字Y轴间距(单位:px)
+ *
+ * @param dy 文字Y轴间距(默认:240px)
+ * @return Builder
+ */
+ public Builder setDy(int dy) {
+ mDy = dy;
+ return this;
+ }
+
+ /**
+ * 设置水印文字对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ * @return Builder
+ */
+ public Builder setAlign(Paint.Align align) {
+ mAlign = align;
+ return this;
+ }
+
+ /**
+ * 生成水印全局配置信息
+ *
+ * @return 配置信息
+ */
+ public WaterMarkInfo generate() {
+ return new WaterMarkInfo(mDegrees, mTextColor, mTextSize, mTextBold, mDx, mDy, mAlign);
+ }
+ }
+
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/policedatasystem/widget/WaterMarkManager.java b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkManager.java
new file mode 100644
index 0000000..c3089c7
--- /dev/null
+++ b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkManager.java
@@ -0,0 +1,188 @@
+package com.police.policedatasystem.widget;
+
+import android.annotation.SuppressLint;
+import android.app.Activity;
+import android.graphics.Paint;
+import android.view.LayoutInflater;
+
+
+import com.police.policedatasystem.R;
+
+import java.util.ArrayList;
+import java.util.List;
+
+/**
+ * @author Leon (wshk729@163.com)
+ * @date 2018/8/24
+ *
+ */
+public class WaterMarkManager {
+
+ static WaterMarkInfo INFO = null;
+ static String[] CONTENT = null;
+ static List LIST = new ArrayList<>();
+
+ /**
+ * 设置水印全局配置信息
+ *
+ * @param info 配置信息
+ */
+ public static void setInfo(WaterMarkInfo info) {
+ INFO = info;
+ }
+
+ /**
+ * 获取一个满屏水印View
+ *
+ * @param activity activity
+ */
+ @SuppressLint("InflateParams")
+ public static WaterMarkView getView(Activity activity) {
+ return (WaterMarkView) LayoutInflater.from(activity).inflate(R.layout.view_water_mark, null);
+ }
+
+ /**
+ * WaterMarkInfo初始化判断
+ */
+ private static void assertInitialized() {
+ if (INFO == null) {
+ INFO = WaterMarkInfo.create().generate();
+ }
+ }
+
+ /**
+ * 同步设置全部水印文字信息
+ *
+ * @param content 文字信息
+ */
+ public static void setText(String... content) {
+ assertInitialized();
+ CONTENT = content;
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncText(content);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ public static void setDegrees(int degrees) {
+ assertInitialized();
+ INFO.setDegrees(degrees);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncDegrees(degrees);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ public static void setTextColor(int textColor) {
+ assertInitialized();
+ INFO.setTextColor(textColor);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextColor(textColor);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ public static void setTextSize(int textSize) {
+ assertInitialized();
+ INFO.setTextSize(textSize);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextSize(textSize);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ public static void setTextBold(boolean textBold) {
+ assertInitialized();
+ INFO.setTextBold(textBold);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncTextBold(textBold);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ public static void setDx(int dx) {
+ assertInitialized();
+ INFO.setDx(dx);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSyncDx(dx);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ public static void setDy(int dy) {
+ assertInitialized();
+ INFO.setDy(dy);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSignDy(dy);
+ }
+ }
+ }
+ }
+
+ /**
+ * 同步设置全部水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ public static void setAlign(Paint.Align align) {
+ assertInitialized();
+ INFO.setAlign(align);
+ if (LIST.size() > 0) {
+ for (WaterMarkView view : LIST) {
+ if (view != null) {
+ view.setSignAlign(align);
+ }
+ }
+ }
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/java/com/police/policedatasystem/widget/WaterMarkView.java b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkView.java
new file mode 100644
index 0000000..53e453c
--- /dev/null
+++ b/app/src/main/java/com/police/policedatasystem/widget/WaterMarkView.java
@@ -0,0 +1,334 @@
+package com.police.policedatasystem.widget;
+
+import android.annotation.SuppressLint;
+import android.content.Context;
+import android.content.res.TypedArray;
+import android.graphics.Canvas;
+import android.graphics.Color;
+import android.graphics.Paint;
+import android.graphics.Rect;
+import android.graphics.Typeface;
+import android.text.TextPaint;
+import android.util.AttributeSet;
+import android.view.MotionEvent;
+import android.view.View;
+
+import com.police.policedatasystem.R;
+
+public class WaterMarkView extends View {
+
+ private static final String DEFAULT_SEPARATOR = "///";
+ private TextPaint mTextPaint = new TextPaint();
+
+ private String[] mText;
+ private int mDegrees;
+ private int mTextColor;
+ private int mTextSize=35;
+ private boolean mTextBold;
+ private int mDx;
+ private int mDy;
+ private Paint.Align mAlign;
+ private boolean mSync;
+ private int textWidth, textHeight;
+
+ public WaterMarkView(Context context) {
+ this(context, null);
+ }
+
+ public WaterMarkView(Context context, AttributeSet attrs) {
+ super(context, attrs);
+ TypedArray typedArray = context.obtainStyledAttributes(attrs, R.styleable.WaterMarkView);
+ mDegrees = typedArray.getInt(R.styleable.WaterMarkView_water_mark_degree, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDegrees() : -30);
+ String text = typedArray.getString(R.styleable.WaterMarkView_water_mark_text);
+ if (text != null) {
+ mText = text.split(DEFAULT_SEPARATOR);
+ }
+ mTextColor = typedArray.getColor(R.styleable.WaterMarkView_water_mark_textColor, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextColor() : Color.parseColor("#33000000"));
+ mTextSize = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_textSize, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getTextSize() : 42);
+ mTextBold = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_textBold, WaterMarkManager.INFO != null && WaterMarkManager.INFO.isTextBold());
+ mDx = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dx, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDx() : 100);
+ mDy = typedArray.getDimensionPixelSize(R.styleable.WaterMarkView_water_mark_dy, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getDy() : 240);
+ int align = typedArray.getInt(R.styleable.WaterMarkView_water_mark_align, WaterMarkManager.INFO != null ? WaterMarkManager.INFO.getAlignInt() : 1);
+ mAlign = align == 0 ? Paint.Align.LEFT : align == 2 ? Paint.Align.RIGHT : Paint.Align.CENTER;
+ mSync = typedArray.getBoolean(R.styleable.WaterMarkView_water_mark_sync, true);
+ typedArray.recycle();
+
+ setBackgroundColor(Color.TRANSPARENT);
+ mTextPaint.setAntiAlias(true);
+ mTextPaint.setFlags(Paint.ANTI_ALIAS_FLAG);
+ mTextPaint.setColor(mTextColor);
+ mTextPaint.setTextSize(mTextSize);
+ mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
+ mTextPaint.setTextAlign(mAlign);
+
+ mText = mText == null && mSync ? WaterMarkManager.CONTENT : mText;
+
+ textWidth = 0;
+ textHeight = 0;
+ if (mText != null && mText.length > 0) {
+ for (String s : mText) {
+ Rect tvRect = new Rect();
+ mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
+ textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
+ textHeight += (tvRect.height() + 10);
+ }
+ }
+
+ if (mSync) {
+ WaterMarkManager.LIST.add(this);
+ }
+ }
+
+ @Override
+ protected void onMeasure(int widthMeasureSpec, int heightMeasureSpec) {
+ super.onMeasure(widthMeasureSpec, heightMeasureSpec);
+ }
+
+ @Override
+ protected void onDraw(Canvas canvas) {
+ super.onDraw(canvas);
+
+ if (mText != null && mText.length > 0) {
+ int measuredWidth = getMeasuredWidth();
+ int measuredHeight = getMeasuredHeight();
+
+ if (measuredWidth == 0 || measuredHeight == 0) {
+ return;
+ }
+
+ int canvasLength = measuredWidth > measuredHeight ? measuredWidth : measuredHeight;
+
+ canvas.save();
+ canvas.rotate(mDegrees, measuredWidth / 2, measuredHeight / 2);
+
+ canvas.save();
+ int y = 0;
+ boolean odd = true;
+ while (y < canvasLength + textHeight) {
+ int x = odd ? 0 : -(textWidth + mDx) / 2;
+ while (x < canvasLength + textWidth) {
+ drawTexts(mText, mTextPaint, canvas, x, y);
+ x = x + textWidth + mDx;
+ }
+ y = y + textHeight + mDy;
+ odd = !odd;
+ }
+ canvas.restore();
+ }
+ }
+
+ private void drawTexts(String[] ss, Paint paint, Canvas canvas, int x, int y) {
+ Paint.FontMetrics fontMetrics = paint.getFontMetrics();
+ float top = fontMetrics.top;
+ float bottom = fontMetrics.bottom;
+ int length = ss.length;
+ float total = (length - 1) * (bottom - top) + (fontMetrics.descent - fontMetrics.ascent);
+ float offset = total / 2 - bottom;
+ for (int i = 0; i < length; i++) {
+ float yAxis = -(length - i - 1) * (bottom - top) + offset;
+ canvas.drawText(ss[i], x, y + yAxis + 10, paint);
+ }
+ }
+
+ /**
+ * 设置水印文字内容
+ *
+ * @param text 文字内容
+ */
+ public void setText(String... text) {
+ mText = text;
+
+ textWidth = 0;
+ textHeight = 0;
+ if (mText != null && mText.length > 0) {
+ for (String s : mText) {
+ Rect tvRect = new Rect();
+ mTextPaint.getTextBounds(s, 0, s.length(), tvRect);
+ textWidth = textWidth > tvRect.width() ? textWidth : tvRect.width();
+ textHeight += (tvRect.height() + 10);
+ }
+ }
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印文字内容
+ *
+ * @param text 文字内容
+ */
+ void setSyncText(String... text) {
+ if (mSync) {
+ setText(text);
+ }
+ }
+
+ /**
+ * 设置水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ public void setDegrees(int degrees) {
+ mDegrees = degrees;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印倾斜角度
+ *
+ * @param degrees 倾斜角度(默认:-30)
+ */
+ void setSyncDegrees(int degrees) {
+ if (mSync) {
+ setDegrees(degrees);
+ }
+ }
+
+ /**
+ * 设置水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ public void setTextColor(int textColor) {
+ mTextColor = textColor;
+ mTextPaint.setColor(mTextColor);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体颜色
+ *
+ * @param textColor 字体颜色(默认:#33000000)
+ */
+ void setSyncTextColor(int textColor) {
+ if (mSync) {
+ setTextColor(textColor);
+ }
+ }
+
+ /**
+ * 设置水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ public void setTextSize(int textSize) {
+ mTextSize = textSize;
+ mTextPaint.setTextSize(mTextSize);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体大小(单位:px)
+ *
+ * @param textSize 字体大小(默认:42px)
+ */
+ void setSyncTextSize(int textSize) {
+ if (mSync) {
+ setTextSize(textSize);
+ }
+ }
+
+ /**
+ * 设置水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ public void setTextBold(boolean textBold) {
+ mTextBold = textBold;
+ mTextPaint.setTypeface(mTextBold ? Typeface.DEFAULT_BOLD : Typeface.DEFAULT);
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印字体是否粗体
+ *
+ * @param textBold 是否粗体(默认:false)
+ */
+ void setSyncTextBold(boolean textBold) {
+ if (mSync) {
+ setTextBold(textBold);
+ }
+ }
+
+ /**
+ * 设置水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ public void setDx(int dx) {
+ this.mDx = dx;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印X轴偏移量(单位:px)
+ *
+ * @param dx X轴偏移量(默认:100px)
+ */
+ void setSyncDx(int dx) {
+ if (mSync) {
+ setDx(dx);
+ }
+ }
+
+ /**
+ * 设置水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ public void setDy(int dy) {
+ this.mDy = dy;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印Y轴偏移量(单位:px)
+ *
+ * @param dy Y轴偏移量(默认:240px)
+ */
+ void setSignDy(int dy) {
+ if (mSync) {
+ setDy(dy);
+ }
+ }
+
+ /**
+ * 设置水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ public void setAlign(Paint.Align align) {
+ this.mAlign = align;
+ postInvalidate();
+ }
+
+ /**
+ * 同步设置水印对齐方式
+ *
+ * @param align 对齐方式(默认:Center)
+ */
+ void setSignAlign(Paint.Align align) {
+ if (mSync) {
+ setAlign(align);
+ }
+ }
+
+ /**
+ * 销毁相关页面时调用(切记)
+ */
+ public void onDestroy() {
+ if (mSync) {
+ WaterMarkManager.LIST.remove(this);
+ }
+ }
+
+ @Override
+ public boolean dispatchTouchEvent(MotionEvent event) {
+ return false;
+ }
+
+ @SuppressLint("ClickableViewAccessibility")
+ @Override
+ public boolean onTouchEvent(MotionEvent event) {
+ return false;
+ }
+}
\ No newline at end of file
diff --git a/app/src/main/res/color/bottom_nav_colors.xml b/app/src/main/res/color/bottom_nav_colors.xml
new file mode 100644
index 0000000..f834a0b
--- /dev/null
+++ b/app/src/main/res/color/bottom_nav_colors.xml
@@ -0,0 +1,5 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_10_ccc_bg.xml b/app/src/main/res/drawable/all_10_ccc_bg.xml
new file mode 100644
index 0000000..757b52d
--- /dev/null
+++ b/app/src/main/res/drawable/all_10_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_4b8e01_bg.xml b/app/src/main/res/drawable/all_2_4b8e01_bg.xml
new file mode 100644
index 0000000..257761d
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_4b8e01_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_de7900_bg.xml b/app/src/main/res/drawable/all_2_de7900_bg.xml
new file mode 100644
index 0000000..29c0007
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_de7900_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_2_selected_bg.xml b/app/src/main/res/drawable/all_2_selected_bg.xml
new file mode 100644
index 0000000..352767f
--- /dev/null
+++ b/app/src/main/res/drawable/all_2_selected_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_3_ccc_bg.xml b/app/src/main/res/drawable/all_3_ccc_bg.xml
new file mode 100644
index 0000000..a4e3f93
--- /dev/null
+++ b/app/src/main/res/drawable/all_3_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_fff_bg.xml b/app/src/main/res/drawable/all_7_fff_bg.xml
new file mode 100644
index 0000000..65ffac7
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_fff_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_line_ccc_bg.xml b/app/src/main/res/drawable/all_7_line_ccc_bg.xml
new file mode 100644
index 0000000..f7fd2cb
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_line_ccc_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/all_7_main_bg.xml b/app/src/main/res/drawable/all_7_main_bg.xml
new file mode 100644
index 0000000..5375343
--- /dev/null
+++ b/app/src/main/res/drawable/all_7_main_bg.xml
@@ -0,0 +1,6 @@
+
+
+
+
+
\ No newline at end of file
diff --git a/app/src/main/res/drawable/back.png b/app/src/main/res/drawable/back.png
new file mode 100644
index 0000000000000000000000000000000000000000..76e3e82c86223a01bdf01855ccc955db193d0a60
GIT binary patch
literal 688
zcmV;h0#E&kP)Cfog`K$GV-HS-=ov_oO|zc?>YCgnV#=_&wb52KhE<#H*2@sG?dxE75RB^QiI4i
zFhd?6@A6vWGgBcZA5ud@z(a+61%^{XL-L=@Qpg(MRVrw(0C{d6q=5Q?`wIC1thY!C
z$RK0DJcVok9=nY((DVXiOgGns`heRC`2}naA$6fXc}*56WQ){;sR|V#H@t2qRiG)r
zHHG{Ewv{1NfDCdASgw$rz*Vn1kWL_rtOy|Iz3!ZpL6d3NhJL1)&5o$YuG2yV(z%
z^SVot2U%oe06FP(*Mz#|FV@INT_gk<{h=!1|0QPL_p?(djrTJuR9Vt&@@8eU5D(@nOBWWcdOOvQJdvLU;wz28XA|4
zbE(3n0r$KW5fC!;4G3Vf1n31Gc&j2HACt8u*2&Pq{^f^A#=ndr`9Fk%B5J<+55X3OG4OouR8*A
zv1jT!XMjy!cLZdyb-)X!)+4iE5Q{nSeUZa(M_B9`)?%*}b`e;a60+E8;Ehx3l@rK+
zEY*F6&vMaREajaOi@jBtIVCPmeJ{vhW`}?0)TRO#nz+05UcM+@tiK7!#hw5kfsucl
Wt%I$Vk#$`F0000x;^#6U*
zK}ZA(mB11ZmynPn!`_6+%zba)K9bd94_tQU&AI2ypZ8{F8GW*=
zSW>&9@d4VF=jk0rw}a&Y@HW|u_JNOfn1n-R6qp3=I=orneWvPsYH5r~Y9%8I8_Erb
zi#=aX_$|}%_@(BHiO_3FO@|jp(|9o!9bT#V6-j%Mz^bI-sC`t@Stk$Utwy(>p|w
z`PHcW1=!6P<=C}6Pp_+aBP##OTB{+>Yj_z&<}pe)f)aGit8rh5V7>`l
q%TiAs-~Q>ehwb%^-9Y;b*!l}WS&mZH7qz4S0000?YN;(jn^DsxbMZXdyg0CD93S7}lW^gLUFHj4}=vv5!2M)ILak(sv*E
z{4{9C`8+;1G@kU_xYQ52z9&5q!8<-rM?%aG4IW?lbkE>CgZ9aBe_h})q~{ao6We!@
z##%p@I9GU{`yJ&WZ^x7F6s&J0^MUnEra~{{!V9S#a3R%47chkKCEz_oAJbTh8TiAC=igE0x=BU5G2IjT-YAmRq35e^MOR+)
zB9C7CG{1Qciob28p6`(uO~-XCwvGv^6q@l@J#D6;I2)JG%RtJXy*h3Cp*$a(YZ1#b
zP`__OkFsf7A50LYv^0BCsyKnlhQ!-Ot-w|%$
zV<7<80l0zt7(>}7E}!4qbj-_|DD^3(If+wD?`ntda~k)QzbEuvlKD$*b)NIoiTYgq
zf?O!u%fEE4ZtGm#OXr)q>hp6C#aw}fcCV?s>DQUMmgcCrHdP8|&bN)3x);U(XX-xJ
zFI#tWdz~x0aK7&IRdp|&gWd=Cin0sm>pnH(TPWK+i?cu4dY9&+&f8lv^&9Q{u1_zW
zUpRN}+O`KS?^AD`na(YgT^viVvP=84bgpW*>EBY>rTe9GVDUOHlx?y$2TUsGXhrtS
znBOnGqQx4dGsnF$-9*Mc8hi|9paJZ*0B{Eow*U^oi3eFot$A@p;KEwUj{I#UgH}Gu
z{E^KIMK`o#O>09Zf9rt62t_~xK^HWpSF)(2`S9h~(;Thj=v4kj;DXk-D_)@>@G*Hl
z?~f7SC`PaL^(Yl$AF!d3u*Q
z0Rp1jEd)yFeK?gb5CS(m0~LYShjc$EXhOh(ET9$Kz%ouihbX`X)#Z7y-+&teMnnaj
zpaeIt(IMypSik`RHwaja9dN@X3oSo8p#yHje5?UCOnuZI0#}o%N)(CIi`)w|PUHFJE7y9srn(S_P!4JVVUKd)Fr{^dID&NkfRT+hBl)
z$lopkH1xPUyJV1qIfidQ3tlKNfbVz$e(St-`M@BFf+t#@fD=3>yDOo(RytG{sBEg2
zK4rFi1|SIJs6j1Ve{{;@>o!W;2tdTTygopV0hBmO|2?;r0U;TC$eT5EY>H{4g8(4`
zWN7?Y!UB8LzUNEo6VmcdY33dB7HRPVb8EVx?z6zjHEGG6ZDq
zX8d)!>3+H8nqJXvGrlXzUNgK~=A!B2cWQSr{VdO`P486i_nO12uJcmfrE_gsseMt|
z1Z|Zw^ZU)+p5#9?o}b02M@Gj3|4YB`r88?bN7*Jry8-{#F(8DQH
zVB>haldSy)VHT_hAl?Qt6$Um~6%=uIo(y*aMF3W)=wnU#}A_m}op}&(|5j5bPQ*&U}>JCY}@8z&Z+3V`JDH
zM_ItFU7j=CQ5$^PiS%P2TM+v~M&e}F^Rn=!{DWZ&jSOz&opAv-BJUW|y4x!YLX3uJ
zKnI_hB;EiKIIb960ylJlj^~N>A&Y?Mayv|dX~B))(^e;VyWmVaZZR{M64KI*XZvhbbV<_jNOcjV#pKUHkJ=P1sjXL#M
zH@VdYFer`a3eB$PuV>tw`~|b7Q-_1RlYSAX(#zXBW{>yoyIy~Nm8aK-Ign#1Z!_mr
z@-t&-uEor;#r9(XT+l5xu<^~u@-rN(ycUqqXN>-ekO76sfE2-%bEwz20Xbp@Ig0nP
z)F}&r0{GB=n#~sk`Qv0kin6T|IEf4z00TMHuch+!q`DS3vE}I`es4lGCfSUje3nh3
zXbL`G$SO^Y8F|hpxdBrDJIJ7>W|3R{zG<<2Wa<-*`Rt=J!dY}A9H0?V#H0w;9cjsXS)gVs2{A%QW&F_!Ed?BC9_
z5r3R0&xFSI&S&Fs)LlTHOC~Zn*|9Q46wdcnZW#BtCt@`)5A*%hHWm!s0tk4k)N@Ul1F>qu8qEFJ
zvG>yN`gm^)b9MB93!7gI^k&`+7?AGe9zXyFfJu{J+DIQRQ*SlC#IER#p{TGwHdnJV
zsl_@dJ<|P0{m<_<&R>=<`h?>Td9L*v
zr~o~)Ty*|@LiwZCr|iEVfXpCZN^GC$+tWK5;Jxq6&(QCmg}rfY-PfeIWN&;gKH>&q%V57Vl%i=rL+e^qcxPO4vKmP%ne>~DY{&JO_YqpsG
zmhP&}^C|}ai@2(wCdUp9cyVP}iK|MKU4JLX)Rn@^Z)I_a4o8%{er49B`Z2f0qS;ZV
zKXpUgERu$S7YXEYBibKP=$&Zr4_<(Yz$^l4OI=cwRS=lTL9V=e(YM&JrAKZjCtghi
z(Hucm1u`fmWN#qLLa3x@^dpEtIv#^d<;e|Va?IYq#nWp@j1jVNPpApOl#+m;!8oy<
zxy3dHW*MAB0|J2()t;C#VB`_NK!yo|D?10n7{NbJ5D;G2u-gj(NQ1CL5NtRyn1Ucy
zunZAwTit2Y-y0bW17DP=%-fylwHyRsAa@y`7iu8jPLw4q0wV}G?YSMS4(E!>jAD$7
zyUet9<-&XvmWDM}R=#k(aAMpN&@(Z(QQY{00XK}R3z(f@7mVfx2$1IT{h0+}*u98x
zsBCmZ1x!3Y6V4hGj@d5WY=nZVp8OuTF&O5CGqfcEH%KQ&jV*87pzLlsRN#h(lG!0f
zRZwduJ%^n)M+0tD=d4j^3sm4nGOUbNMdP}vhITX{TCD0yed*{Xn2LJFS=mp+a<~NC
zIOkfD*hTe;P~O{3UB*c7fgHZ7vzO;u_C^ofX!4l9hfcdQ2J@xHz12SG)!~MUB{kL8
zX$F9S8P}8sAjk%JkuM#q0Guktx_rX~G2^T2aE3Y5^vm=gD&Ru%uGmeXC~uPjq6_WU
z?2N)SMcElWw-f~_oBu5
z`X5pF4?T8>egC97!2rB5--oHrDfg4h8+HejAO`~JGBmbWylcgNJt_XdSP>Ni=K`&&Y>m{?qvr3y-3a
ztBeV9H9=uXWK%c+Hc*dZ&%i{y=S7Ow-)K;dLLq$+y68y=q#HEKnbAN=#5a}6f@}{G
z4}B8$gY5iZ+mldNi7+q)2(OOxGa~A490e%A`cOY(5^zNr0|b0bF*8C2W^VWcGcyQ~
zK=D%1Mqv?9FFF+-;+-P{klHX}t)wG?U`WWU8W5L?@t((t3=JnNjVP=f1W;7?PJspl
zOyd2(hCk*f)(E=&$Z8)KbW(;07OIP}MYkcmMh39(41SQP={__fcO(QFgarfYN5SH!
zv*51seTX2I!Z}r(R;70QCngKWb6w4Q@fEx(bBn+qbF_;54Vm4ZeWGU!N;6~4&
zws=G^0I6+1<*kh83fw4C&EC*#*L-Md15%r=MMaw`Ls`BDUbr48V%n(tSznXt{Kc**
zi>az(s*P|1V)cysC1!)G#?+~!5Z!EmhYldI>degyaL^pH^~TPz-Wck1XZsG)EBa9Z-fQLh-GrbEGSCf4(pZ@&CM*|Iz^A7wnJHj
z$>&u#wbDhEJO0ieMhK@VEyv2#xj65J2X@+O
z9*oF>o#a;WBD?$>c3~lQhel)hAkk3<5u1FaG=^2vWrK6heqSTh$bUsO@kFAe^sZu|Kd~ZcI?(ctP+W)5^#Jwb}OO9PGI8|
zK^_wA+_0GF@XU*e1Y*PpljxJsT%k)xWKm577*LagfQvOixLYwOfQyh7FL-=f@By-Ub;b%G{84kdDvpOO9D0I|mbiAP6D_VlNSMV94-0NsfVBs1^d@u$97%=h$Wr#~QuK^-smJtyc7fZnH)g&hYDBvVOzau=
zbH{tf=8jvVeX8?Tt|?<_;HPWTGyIhq)i5q>`^x}Miki|J!yp373+0n=Y7fxpxz^Z!
zg9wY-9#C>;6%7)#>lZ-gwK@+`6~)>z1AP?*uGdRrC#?t!vURanTFY_X499
z(t9(BRvUod{|VcF`#>Ao)6)?qVwOh;Pp=(-qcfjB6x`@FaFB>3FA~8-#Yxu^iDktM
zj|ifzp+@F`zt_5q(HDbRj}6ilWpy}R5N2S5KI|$1kapH}anc#zC{Z#tti6FQ
zHOSt;o%}%JrI8K&fzP?u2!j|{lNbGteV!jbs*4I6*cb|y+*EcP$%GgJ2$&2J!mF%@
zP`C}58|ZrS%#HyXnl&*^WWExRfbJ)c1Az&AUuTR
zK11MwEXZitgY8Do8X`#O5KWU6hOkAEQ)Gw?0+a;V{kQG{zyhIkJr3MAVe161&P27(H0?hB0Qj>eorN9B7qxG
z0lEwd5I`5Q)`%A)Wzxl}x(4amo^(+7cM5fDzzr3%?SUJ?sf2;BMZ|B5LmLJLh13{V
z=7vN7%J*-{+{icJ0=NNUAg$S|CQz+rZp1olN@i~?fg7BmI_InbZ;YyB3`0Jq`8zwu
zDJ5`2GFd>uGD4J?6DpBZ1qBwsjUFJ93pan5zEy23oKFX4z>&5i6+ohMH=5sd9p~5^
zO?&Oa`7F3mw;Rkg>}2QX$fAwyHSg+Hn7ppmoq#H@-tRr&!W-R+T9d-MrgZvM^tX4c
zci;Aog}T3;@^kErrmu6?ai)B)Uk%6+3*aI&V1~MhRo4ZK@Mr;OR3HWZ*gC8^guc
z1to(VExY3?fl-%%j|6fw0-+ryg)T0VyKDw{w7iR@3rNr?Ffu8H_C}C8dm(V=1V$;!
z6u-|kYG^KTMzD
z2hHWX-p3~W5*Pip^fS8R{N3GC&$?95XlI
zyMP-rZJoOj)aY^QtvU%{fW{qy9a|CY{2)3FsPV89u~4
zoEq5R@`B5OL_?9CZ`$ov(nF9%hK7$FC4B6_24~Vqn6iK+vI{VTD!JF}d2u(anc;!V
z1weO}qks^~7&(bX$%;io$=DYco#{b#&0iz8zxK)1M3yTQDwLQGo^?DBAR>_9AS{?2
z>slaFBp?&QMHo)(wn2vG-9VvnN!vs8K+tW4z7dr$BZ3^$mRT54++Ij$;?6-BJx}i_
zw?I^l6=Y#}24Kb<$tB+Dwt5s{R9Uy9a3zlap0za4#bpqX23aE%-#^48#7XxP0uy+h
z??g;BFgt?WHiRKUE<1tUX$X{%>zj=C1#p8S<;Vh0*&~p_4eZmT0-_puB`km&atyD#
z+6V-6$qP&EfvFPK%TDQd?YxAebs5o4X2uckwTWriJser(cK7B`SN3&%owi~
z=%c^8x*K5gmw-@HmrVw=EmK(hX$`B?PR-)f#b~b&@8+7)8Ak1z(iqJ4ns!7#je*~U
zRPBKYP|e3&-llKLZh-#WF1c{n6g%1*myRJBzn$Zfx6$6H#+$%13($b+|5Et?eeI2z
zYu06F)W^UW1l7YOpMTiBw#^?N_(Rc
z7zHTV9eGyObpTLLHThxdwf1F&$D!QUKsn{-njf5LmR
zuJ@W|eoArCp8zD9&FTSmJAlVeu)5!Xzu!U_PjLG42-DXmvp7NdiU$EWIu~TN{!Y4T
zjGeY9HIr=5RULD(h<1=^_qZUyoqvqd@#+~!K&=i8h59J&BKYq?7#WjcXbjTEv08u`
z<0%>=Mt99=F)#>F0b*z;riZwoL`FjB@W6(&(;ZPXyf-pH1S$~V7-f#47^!!n-66D4
za#N8osqi2jeHE>awGksb$x;KE4G0dP_Qu+g;qQ+jh5QU61R6y=Gfsh-5(om_IW}yk
z2*WG8HH-+R93n+Ei7}+PRIyPMCv~fsghW}mlU*Gs)Gg#WL#Bk=Fc?8L{&S?o7U^7U
zgt;M$an{A~iJBX>Il>GvK-MgdO7k)T39#aVZIb9OxEo8r1D3&vG31^i8X{80gHeN*
z>pMB_o5wL8Rg5Hm-?5C!b?_VW@#c7g=zMPsl>
zD8UT~rPwHdapi!RU8jN?`wVVTzdf|zhU6g@%_#`m$q8jyjUQynOj(aZi>_McMzUvY
zI7I;2E!3s)0=NN}fE(d*aKoOfjdo`Yh&r7S6-}&c-I&!)Pz!EYVN093?Ulnz)7EoM
zDN@Mg=TdEe*WHN~i^1j}&MbmEU1OZytl)Ar`h13B#VqLx-Lw$c$c~uy>xwc?jQ$qiqVDM(Se9~{2X}|v7
zTi29=oiPV|Sho%d3kz{Zd&3(RgQ>H}q?iLaqPd1wX>Wi~=%Ts*WIoPnZ)lxE%-S2`
ziV0qKSUT(yC>bO6{m=-EP7_}a6cAm>M<8bHjhOl=6=+|*OV^CP2NSbRm~jFbd!xTs`dQf<=hD(T`P#BSioJ0z{U{LPe;j+`1|#?uanW~6KjHoSFDEW~
z3vjZOF33Bq2-w*EZ@+`zu3-H73a39`$PR_mNasCDFrZBmQHSFQ?&JT}j3fq{>x{dS@i5ykyu
zWRSv%OAN9@be>hCAZ(dQqwXxUCfabs5^8rZAvuT4q9HdNTtpo?k_>54JPh3S7*iyd
zw4jbM)ChwAM>36r9InApH%B(xPEYClFs@3FE5gV;RLIifE@35mdc*5hS7oo&`66
znF<^#S8jkYGc=fr!{CN9;0A|F4axsmL8WwSdtOwtpLAvl(K+E=F}NY%hXPhBmy8KN
z8Y4wCXq>vfgpgPpdf%#B3e`uG8%hCDfXw*NaIn*qKpZ;bvZ!jq+>k~5q#%xfB@MV?
z-xU`#Hz0*Eyb0U@6H>W$gMstlM%r1oZ3Oc-R1Ak2U`Y3X0Rhf|8(OY;zn*bT@n)_&
zt|yJ|Mh#ee3wz^RbvKGejPYMK-nLPLKYD$7ppeslX8Mo}^w^y*N`7YEn!Fu=qUdi`
zaRqWD?Twi+bmze2Wr5^QzvNgkhMt>>TP~lCtU``GFvOJjbp*#jqg}9gw^^Xr001BWNkl90LZuSW@nA)BnP2mXyND*IP}i+gv$i{+0k4bmjf9aE5xMvvAz}xO9OK9@iRKX7xEJBo
z12Z&&e`oi^8Z;*VaJ|
zVh;lv*nLy*-9V?P{XOYuA(}Z!GI=
z+UmHbfEhzwz5z;R<^Za1Y|}4gG@AP_7~xdtU-xFLy~Sj~QOS
zXm66ZEFytBT!Bj2g)qM>?apRX$VhWFt$>1Wi9_$4mdPffkw
z_*}2H03ScX`tu_U_Z$Aqem%hWd|=yhH$WUmh|fM%V=KoIu;9Sq0^RUdU25546h&g=&~{8Sj>}zFz<3S7Er)qkVV~B)WhJg
zw4j?01E2Rt1`N^;r0$@u<+m8i1bFCzcVd?jJV&gDdx`q7=dn8p3rczKq~d){;Z>>k
zE2DaTP;Cc^#G>@*J+RxxAoYu&BpJTP7R2x`?81UTKwoKF(Ycg_96y0G0CbbckQuhH^$w5*f$r0=tlRl-2cwT#iEa{SMw0t}$LCC-lG#0WLJ`F26C#
zJ`gq8f)xsiKn5`qxS{LVRS9l*H751ErAk9KH0fDI?Gpus61CjPy%jSP#U=qaSVXl3
zH+0K0WRR!Xf%q11BlgSAfg7E7{6)GOI+YbjlXCQ2Q;Pm}z>Q{?z1pF-dFtKj&iPqz
z!={=&ax;6Q!)ma_YPXE~8kzfUt`1i-6Ph}f*%^gyMcrkcw;Gfwz>Lf$=#3#8xHDt8
zU=EV|4Ro%NHQM!9o%c+6p@Ge`AB*EW{K{~znHXA}W5QNUh>D$&)&Rn;FieuiU{y&&*L{fS7a(djrml;}?75in2@RI{o_Fu{Y|r7V16M?lt#hleIbUZS_LE
zxqYVW;&|TazFE9y&Xm37p81w~??1xu&);DExM9u1i5K4E(*eTMGk;IWRu|^R?hfF1
z;&0B~168r=RKJ+6$(ugdcEK)mPz@uNB0uQ$Gz^V7Fr%gr)BcJYdxHbjAVF!zYf*2k`=ZAZVuCbMFzlsnhZ{qX4J(Lkw(r!-7^-vg3)cz2c
zjRbDovF-;M*$S2nti?g;RYXNWfC`D&LBNLSPbA?=aibxIhODpXesI~vgj`$@5J2}2
z&qA6C%Ai_0vq`dc0_ku_yBzUCcK=4HFQ6O9Kp}dE*O&o`6>EFwypwATaEMi6Gi=0v
z_XWX(Kn6MrtTM|%Id0(A)=Ztp6PCS09llmees2~8v
z#*^{wWg{xOyeWm_pgV^E9C07Paj0){kdV5LBh#o$RIRr`43~{h_dSJmjT}}s8Y9_P
zzyh-{m~NF=7;=A;t5FnVe}WXEG-$Y4>yiRuqza?Mo%DGLDP$|HIVVWFeChf0hKZqW
zIr{AMzzvrpr9d#QK&}Kg)OO(m{0C}~;B^`_%7EPelz-p?e(D>}LFWGZf*WZIJtw<^
z9;@GV6KBDVbeU!hM<~FtzH7=EaHDRpV~E#O{Nnr)D+J8@uWmP#qMr@8(PNaP_Y{MTccVP_O>9W(5RreC%Xy<3^GuAyY_UuV8|rmNX9Hla&WfE;u{#u~=xS%kz~{gd)(M%>
z-cW(jnq83)k^CO&Ms}Havw*(wF_$j{M&%t&LZV(68Y=vZ+FEIzA$|K)%sUFu#P8jh
zTvMVxBci>5qOT!Hym7iuSe=}fBpQLMo32`AUY8b)ikmBMj=WiFzF}9i^*z}eOW?-2
z^rLq7m%xp`OS)<9nj`b+P1ze))b+!(RTk0`xN$ChFCC2cs`sicTv_jG4e!;EfaK!TV`Krp5*wf*XV>tiY}K8xsyAnt$&w9tK|l=P
zaI|4BLznQU*gn-qY>q&SE7aj2=1X8!N)$H>bdMP@tSnwT(a#_~47?V1?7&Pw%_KW}
z8`*)HSPO*N6zm#9K*ZfZ;Q)!baf;a$1H_GFC2KNbjYx!*4Uc^oV_uIdMPEQOy8e3+
zPaOmZk~yMdvY01V4Ft>vcC8?`%Sj^tsF*Euz>PJFydk*35q7xm%GyA11N%q!iU0%3
z+VEp#m}CD|!T_1_ZmeZxcoj!gOEZBR`57i~LxDOAZa_9(EVzLYb||ol0XKqo<;%nD
zFr$DgUcV$a-~^0Z831T(4Xwn^3U2^zB!l5LaH9!18q2>MaKi$jMdub=Q@mKnz1?-&
z-=)+85_;^ArTXUB8@;@CTo&A@T|3UE8P^m&*4qWJ*9T&A%;t4NH819#Eb`6)7qerp
zTvKcx?D!*;;;Gk;0U*0C*2kT>2N(LE0HAsfG_RYv&dQpIu?*{4wV#ag^gYhwRN+v~
zmXBos7o>g#KGJ-pN2`ot5`0*8L6LiE4*19dqejmoRxT{HTS^Tw7*H;Ugf&w#Q$8WS
zUdx&rLL;LD(@*GtEWxlnjld|gIW&B&w4RdM7Q?<_m8mo{ehySoSyb@`0rBcYJSiMX(!@tF)`jm&Xi
z7Z(!nM8ByQc40ww1SkW+YBPw7#Uui#|7fg{L#QDL=_?;iw3un#24Dq&^O
z6^Ryb;tHb-26EN$qS4`)5kriT4FfKu>@ntRQD|>$XnT$OhMFc(K!CN-c5!@%Y>?1B
z;f)K499NeVc6p9TTO%<#oYCnB0&c8C&{V?y7KVspaKkC+;j*hodd?`+uX#FMc4eWT
z6BG+ix;MyOX37SR6XuYDC^An9ZV(G2ftoG>XQ@38rLKmJ{zBkaXx{S(8chixQePH*
z-zd-$vP%~|3>7u80XOvA9JpZ$+w$kY4Jdynkhf+`SSt@IZ8|A4hP-+NUq09$*ugLpP-A&@ux&GE&r4|^Cv8_{^Qqd4ozHn=qGJ7Pu
z+SvZP^xWz5dX-y@)6h;LFzSt43gt5lJq@!v#o`^sQBx<=xo$`~ol@0k(Gl(+S|PXYG#dwiFrdrP;3Ou8^x1L7K#!
zA!?L&yQ)oVirLy1lSaZ|5XFESK{O5wxN#}40Tp0EcG_!%`0Bu~#n?obl?NH`oy@^O
zTs$Bznvk_Y%YlQ^dV$ymVJ&?g1;iKy*jS5phel%&MhCJMl!me+=Y({CzSQdG0y;Okp02?S5f-)JhB8DNa3cX-
zeQ*QkcanFGH~#hn{3*Dh?lgmH`)J2}4qIu)ojdi7;D#Cwmw+44c~4#lZWMj?rijfm
zEG*KXV~}=!pLI=H`Y89l0dN7hQFpc(cSp}5LOJJi$3Ow~8PU!34U4($-ZgTidrgtI
z=ho3-M^IYmL)qTUv8G@4KFfxB(Uvu8Yj%d|YZ2DAz8=bAS}0#IY&z`&l-D4{$}I&-
z;n7xLG-t~nd&e#qV3-upGBE(=Tu@vAew6GEndaEK%A`bYo;@aq5k0NLw?+ma5+D&X
zP@=jcewA6B>OuOX
zte0Ry#mZpuJg$|99WsI$oDmpB24D!{8Y8YPxMNXA4eF*VjrD6%W5`uyf3Y{-x$cGZ
zo-QQ6Lc`9d=9##n?6n5}QhGPHvNyaZuWI%u7*BIOt|)s|_s?WT*2V*de*Fzrk2^R$
zA1Fc!-auqeqbo`b5GIr!a1c>E6xkVQ6QV(V+;bE6kIeEoyaKFu40gOc%`-T<2SFA~
zoyDvRd50m&l3w*S=G;%d1>mqQDNYR85G5@C8-W`Lm`qwH33a*Tsz5*i8uX76Zgwq<
zj!D16iNKS&4mlGn4SC+(cqh-GU5U0ZNe3;m~d3
zBzg-wUT|ns6q$T7+NrKRz;KvY(_!nA_$gfn9Pm+GYc@h*rTPQAq2NMfowkTLgsKQv
zB1jRGX>pJ_7l44Uke%m^o0mYY5g2hLip~h>h{$5u%R*1xFGx)Dm5?&7gY+5##L*>#
z-b*BoX^=&fhNngQcE<}o`mJ*dtdWL`ND@F5<_3*@C9WdC(NmIWn*bIxe#1B+rqG(*
zf$+LwXj;0idfN>yX(kY`Ba263?CM-1uwjhvm>3t3L;2D!SZswvd*FsMwvH@5QyAp2
z0yjM0&(!$TaY^wCZsZ-w6e2gU>rEHjF#WVI^K;+^>Dxdb+z8%)8wzC9ZYhv=ElFI^
z>jm#H0I~(sY41XCBUIo9R0eA8n$lwkTmWt)16}i6qPx*B0Xjzf61ZXWSQdh9;#|~}
z>iye(X=Ydtwtc;>O<5gdEYDY9NVM}`*W+fyQS0u-ZDrBIJC0tO^M$6jSj+we4dXiaB2Ev
z!N-{MlE_+>|6#@f<$03pf4#Re-wM8F5eh6Rr))!H=r{o-&*%I^>z!`bY?yl
z%PyVk^lOnB(G*_zxm0hb-KD&X07o;?O?4Nyd#>!#^=%J)TfI;-8PAkm9M3!5H;ebo
znX-%bOm*PmdOg7XJ@`+bVEySHhV2T**AtxncpXRDRYG`UGz5|Py60oyn!A^HH5o&@fMFvNSHbdGc
zGB|b9@nUqx9KMyq`MDfP#pqzrdN3F_5TOUN8%bWUCcO=iYbl#w3ET)By$t~fXi==J
z3Ii-exy}?N$LMVk>uJRzztoQ@m~&p3M%p)Vbx{|RQNR%U?5Hk?HNuU7(SRGm?nv%j
zJ#a(CL@jgU47dU0STyBxp|i7`UH}>R;=FqQ7=)q$H{@J^LP)iE-CPWAn1VC98$}zw
z2X35kP4VV^T)z^{yXehbQ$lMLH?LAFc-a|3VsF^`i+P>_9?UfBfnG`S!GMLCJ1~|!ehHk_Zjv|sHn{+`6G4gfng$s&+Q7LbyJcHEv
zoflI7vlde^CaBuivDY9+a{mjt|AYGKh$~-ukM<*@WF6+1T}o{f6(b<;NMKa1Rf>-1
zrKujsAuPdJL-@=ByBr)6zJ8
zROFO*t$XPl%ze-BpkMe?^~f0h!**J!J{pfZlj*wF~FEm0j4U
zbLSWDn}u@q`6la9y`A%*pQFE8YhGTd!odU^#o8~`34OMs&WHb4ZWoDs)LV85=ZZlEGv18^jU
zg=5O5ij_L;i!N?lytv+m4PpeqEE{Aop%M1rNvk7;a=kOG4hN!b0RVpr%~Rc6RMSI3
zzDCv606Di8HxV!OZKckyVkiz0l>~u?Q6i|EvYUzOcBq&rjS&reaT)Qi#s_y0(XT$
z>uroUL-gDo8{!mcL)alnJ492E@VCd1-Dq&yUIi#Y*OE26@NffsowN*s7{vC#e!Wha
ztsxz=t{Dw7P=l0}mYHE~Jtq4X0Es73}1oU+AdT~Z*-fE%m4sD`mLRyYbxSOzz0
zmc|X$GK<*2(I@lN7RU6-YW4o;B5Xy19hBFy2?^WF
zTeB-P#i~H>URoN19;;nbs`5oh*iK&y?GO+^-R3=0zPL_MUaN+kkzR$Ju&`Ywh0B0|
z98+&J8x}U{WOTGQEXV*>d!yFGNY8;7=}X!h0P`TnCE6P^qrKsD2P>xcB45uQ$RVtcSOUk6Knez4q5(wMZ449KDD
zrCE?;VIlpCz0p7Li@nhty14G8dYjC3Ix`=OWtYx%`t`SCZ`5rq)O)VoYe2UqYjfc8
z^X~?5e5d=S>EBY>rF*72aIRi__uqej_5b>v+)<{(38v>g>uS&@_)#;W2nPWg4n;@T
zY%`HO!D@gBg+?(z!FnLA4j4ypn+-U$RZ+8JJi+j=16U0i;7In5UBJ}4Me_Zdy$;O)
zm(xW+gk(w4P+T@}YjC5v@j5BF%h;>~%mOA$iTZIT^iLGhME4IgmOpxkzcV1=q7f+l
zDwW*}fbo~KwK2QsTg@G<91Ul?E1T7os
zdO`D!`MBk5Skc3gFim18Nt73XG`EH@X70jt;m17T~Dc
zOTSB_xvipQcQk2kagyfUT!YXW_z}$cP92SFN&-!6nHdnq8rjvcGH>TTDaKF@y!zh8
zx_mtcH9MplYvG#G>3kcbJMopV`s!@jDNVqU8DvHVg@cCGqCaoOv}#5
zAV&p0H0+L0fPDo>A^+B5pgJE;z|VQN7`|Rfh|{>BXq~iq6H5>{O(?I@7|hV}qbWZ?
z27|QyROOP!3fua9Ox>ltl9)}2$-U5mT8pd)aQPsdPR72
z1Kp<119vYxqLmgZv#;P_W#Z`5^PyTQLWroS8O=fZkvlYdK$
ziuJ#JhVAbUFg_n(|Ns5PpvGoHAO&rpZ#Lk!>jXBa8#oG#hT{bA`pUq?ZVM6JP>}I)
z|3K^w(&j)nmB-Hj>ovgFKf!(Yzhg{`Y}=<0(+9SgpWZcS26kCG3vfgzqoMd5BGT2n
znM*I(RGn-4|1IE#8kmo~u!zr*cm9FJE5~i#ji+?)DBLVFCFH+X0XVQptHW`Uzem}b
zzvrkS@FdYp#F$hg7Iif^>WR3XtQ5S+(JkosP7L0oQJ%*|g^H5yO~eo{!i`&|4h>Ii
z5RxG1CeI-m@uNf#*>Koa+Kqpf#gy8bULw*&3CSB+|AN>V6N^wf0Xs;*-Lbn2g_V7Z
zEM|(uF$AnP5k<_kA|cg#ZexYl;sgXX1dNFsnc1S@@@O6cvs1_=2;E*@xgr8J)D;E?
zh6a96cPxo&0}{^mBq3uriVn&m*UP5s@DE%B+yCUuEnrjV}uX|Kxk>0O`u&S4G
zf%Q5n)&?wr8v=m%ROb@7!R=fOZcH7GkK~r3ed&N3E(`Sajp4ruxM6-5;+VES;{`1n5A_^ZeTdaq^n2A9Jrzg;
z(4PxoU^U0gSR2=r;}iu3001BWNklK
zzXp|Mfs;}y|Mq?)6N!f91-{SV-^%W*n`Q9K=g`W1w;hiwzsg!}dz^DtruXpwL?A-8
zZZ5p_+s+x9{?^%fo`zd59n7>z%wJ@?9T~M(2^H)%Ut2C4ZF>4@1_k1!1;Yc}W|owS
zf1Lhg0OZ1Ur7mr;hr8u#DyxfxG|WE-O6;fA*Z&G8rLG<>a68@yEQf8{i&|gGH-^|)
zl8wu!)N^dIEF1yf*jZMzo?tX2sy}~~!b0GuZP7(`{1*34GG7en?S`<#ARJY<1d!nV
z538TANEoQb2wP7OVW$ojTjF^@`4z#mj{(B@he0D(hV&`PO{)E2Y<8)Ef{4iQsWm`XX9hKDcL}*Yg
z=8>+5k`(|(-OEMv=G}<@mIi97uxLbR+BR|0ahHacb92+sb4>imUkfyzJqT=;Hjn~#s(K1M*d
z;zZ{zTD&pglwVVM^r!N|hvy-Jh;_;6xA?3(@!ZpD(m=i)A(oItj>oSE_@2QV6^aqH
zszJKd{Nfi+XsExvotmnp+OIILk{HM2^bXMoYwY52-e)Z9qF5V8F3;Q6O%;Gc?e*zr(9v#r@+I|AT1g2VD+~r)-OkQw*#T`iI^|
zMJR@YF4pf7#P(~(Q>tVxWV+RyfvL?4Vh1!)&o*4En|?W+Ni*7%u|#d3Jx%u%izC|4
zLN}5!6q1kJSE5kvD=Zaj1LY`?jc54+DEWV&MoN=f=aG0TyHRN>Xjw}UDwStrKs7N@cJr}vT
z+dg3W%bMs9NdkeIPRTge+UE#)SIaj
zENd~c1S`;z?*j+rL`f3;nf+oi{WJ253P&`0Q;dPendAyG`M1pjcc?0e-Zx
zUDH6yOmj`!WO#p%x$C#5lfvMM*2;y>7zL%tV(DD@y=2K)T=@8-U5HTjUyBE^h3Byk
zR==*A@)eO
X1rd)OBidp+ro!T~%**}%nJPXtGjk?i{Xv6S8
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