From baf0a8ef350b36dfb07773944073c1ab3d1dc040 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Thu, 16 Apr 2020 07:41:12 +0200 Subject: [PATCH 01/91] Update README.md --- README.md | 1 + 1 file changed, 1 insertion(+) diff --git a/README.md b/README.md index 3124bd10..48aa48f6 100644 --- a/README.md +++ b/README.md @@ -30,6 +30,7 @@ This is a React Native Date Picker with following main features: 1. `npm install react-native-date-picker --save` 2. `react-native link react-native-date-picker` (Only needed for React Native <= 0.59) +3. `(cd ios && pod install)` (If you're using CocoaPods) Xcode 11 is required to run the latest version of the date picker. Xcode 10 is supported up to version 2.7.2. From e503e956fbd2730dfdd0ca262b67307a4ec832ad Mon Sep 17 00:00:00 2001 From: Trust <603049583@qq.com> Date: Wed, 13 May 2020 13:07:51 +0800 Subject: [PATCH 02/91] add zh_CN locale --- .../src/main/java/com/henninghall/date_picker/DayFormats.java | 1 + 1 file changed, 1 insertion(+) diff --git a/android/src/main/java/com/henninghall/date_picker/DayFormats.java b/android/src/main/java/com/henninghall/date_picker/DayFormats.java index 02f3e75c..4e9747f9 100644 --- a/android/src/main/java/com/henninghall/date_picker/DayFormats.java +++ b/android/src/main/java/com/henninghall/date_picker/DayFormats.java @@ -732,6 +732,7 @@ public static String get(String locale){ put("zgh","EEE d MMM"); put("zgh_MA","EEE d MMM"); put("zh","M月d日EEE"); + put("zh_CN","M月d日EEE"); put("zh_CH","M月d日EEE"); put("zh_HK","M月d日EEE"); put("zh_MO","M月d日EEE"); From 8ba71ca366387e6d4a1db160d8f032d742491ea4 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Wed, 13 May 2020 12:15:37 +0200 Subject: [PATCH 03/91] v2.7.10 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 6d373d0b..1b8807db 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "2.7.9", + "version": "2.7.10", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From 481cf76fe38b29b5eff2a73dcf74bb869459d9b9 Mon Sep 17 00:00:00 2001 From: Mats Byrkjeland Date: Wed, 17 Jun 2020 15:20:29 +0200 Subject: [PATCH 04/91] Fix return of wrong pattern piece MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The getPatternIncluding method would return quoted pieces if the check contents of the quoted part included the format letter. For instance for Danish (da_DK), the pattern is "EEE 'den' d. MMM" If we are calling `getPatternIncluding("d", "da_DK")`, the method would return `"den'"´, but we would like to return `"d."`. This commit ignores pieces with apostrophe ("'") in them. --- .../main/java/com/henninghall/date_picker/LocaleUtils.java | 4 +--- 1 file changed, 1 insertion(+), 3 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java index 1585b6bb..596ce914 100644 --- a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java +++ b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java @@ -17,7 +17,7 @@ private static ArrayList getFullPatternPieces(Locale locale){ */ public static String getPatternIncluding(String format, Locale locale) { for (String piece: getFullPatternPieces(locale)){ - if(piece.contains(format)) { + if(piece.contains(format) && !piece.contains("'")) { return piece; } } @@ -50,5 +50,3 @@ public static Locale getLocale(String languageTag){ } } - - From 69bbb9968000a459125b988cad15cfad7b4d42d3 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Thu, 18 Jun 2020 20:03:49 +0200 Subject: [PATCH 05/91] 2.7.11 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 1b8807db..48dabe47 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "2.7.10", + "version": "2.7.11", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From e4b57846e7fd16262451f26cf06f4e35eb63a2f2 Mon Sep 17 00:00:00 2001 From: Mars Lan Date: Tue, 23 Jun 2020 14:59:14 -0700 Subject: [PATCH 06/91] Fix zh_* locale parsing By properly searching for the first undescore --- .../src/main/java/com/henninghall/date_picker/LocaleUtils.java | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java index 596ce914..1c8fabfa 100644 --- a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java +++ b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java @@ -43,7 +43,7 @@ public static Locale getLocale(String languageTag){ locale = org.apache.commons.lang3.LocaleUtils.toLocale(languageTag); } catch (Exception e ){ // Some locales can only be interpreted from country string (for instance zh_Hans_CN ) - String firstPartOfLanguageTag = languageTag.substring(0, languageTag.indexOf("")); + String firstPartOfLanguageTag = languageTag.substring(0, languageTag.indexOf("_")); locale = org.apache.commons.lang3.LocaleUtils.toLocale(firstPartOfLanguageTag); } return locale; From ec530b2f075746a040f78c97df6e7b95b18c2617 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 27 Jun 2020 11:42:03 +0200 Subject: [PATCH 07/91] 2.7.12 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 48dabe47..a4a4e53e 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "2.7.11", + "version": "2.7.12", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From 32eabdf5a6301005d2380fd1457c27a911ac4e08 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 5 Jul 2020 21:57:48 +0200 Subject: [PATCH 08/91] first working version --- .../date_picker/DatePickerManager.java | 5 +- .../henninghall/date_picker/DerivedData.java | 5 + .../henninghall/date_picker/PickerView.java | 21 +- .../com/henninghall/date_picker/State.java | 9 +- .../date_picker/models/Variant.java | 5 + .../date_picker/pickers/AndroidNative.java | 77 ++++ .../date_picker/pickers/IosClone.java | 47 +++ .../date_picker/pickers/Picker.java | 33 ++ .../date_picker/props/VariantProp.java | 14 + .../date_picker/ui/EmptyWheels.java | 2 + .../henninghall/date_picker/ui/UIManager.java | 6 +- .../date_picker/ui/WheelScroller.java | 5 +- .../henninghall/date_picker/ui/Wheels.java | 13 +- .../wheelFunctions/AddOnChangeListener.java | 5 +- .../date_picker/wheels/AmPmWheel.java | 5 +- .../date_picker/wheels/DateWheel.java | 5 +- .../date_picker/wheels/DayWheel.java | 7 +- .../date_picker/wheels/HourWheel.java | 5 +- .../date_picker/wheels/MinutesWheel.java | 5 +- .../date_picker/wheels/MonthWheel.java | 8 +- .../henninghall/date_picker/wheels/Wheel.java | 6 +- .../date_picker/wheels/YearWheel.java | 6 +- .../src/main/res/layout/datepicker_view.xml | 52 +-- android/src/main/res/layout/native_picker.xml | 50 +++ examples/detox/src/examples/Minimal.js | 1 + examples/detox/yarn.lock | 346 +----------------- propTypes.js | 3 +- 27 files changed, 334 insertions(+), 412 deletions(-) create mode 100644 android/src/main/java/com/henninghall/date_picker/models/Variant.java create mode 100644 android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java create mode 100644 android/src/main/java/com/henninghall/date_picker/pickers/IosClone.java create mode 100644 android/src/main/java/com/henninghall/date_picker/pickers/Picker.java create mode 100644 android/src/main/java/com/henninghall/date_picker/props/VariantProp.java create mode 100644 android/src/main/res/layout/native_picker.xml diff --git a/android/src/main/java/com/henninghall/date_picker/DatePickerManager.java b/android/src/main/java/com/henninghall/date_picker/DatePickerManager.java index f08a0d8b..6cb67ae3 100644 --- a/android/src/main/java/com/henninghall/date_picker/DatePickerManager.java +++ b/android/src/main/java/com/henninghall/date_picker/DatePickerManager.java @@ -7,6 +7,7 @@ import com.facebook.react.uimanager.SimpleViewManager; import com.facebook.react.uimanager.ThemedReactContext; import com.facebook.react.uimanager.annotations.ReactPropGroup; +import com.henninghall.date_picker.props.VariantProp; import com.henninghall.date_picker.props.DateProp; import com.henninghall.date_picker.props.FadeToColorProp; import com.henninghall.date_picker.props.LocaleProp; @@ -41,7 +42,9 @@ public PickerView createViewInstance(ThemedReactContext reactContext) { } @ReactPropGroup(names = { DateProp.name, ModeProp.name, LocaleProp.name, MaximumDateProp.name, - MinimumDateProp.name, FadeToColorProp.name, TextColorProp.name, UtcProp.name, MinuteIntervalProp.name}) + MinimumDateProp.name, FadeToColorProp.name, TextColorProp.name, UtcProp.name, MinuteIntervalProp.name, + VariantProp.name + }) public void setProps(PickerView view, int index, Dynamic value) { updateProp("setProps", view, index, value); } diff --git a/android/src/main/java/com/henninghall/date_picker/DerivedData.java b/android/src/main/java/com/henninghall/date_picker/DerivedData.java index a1ea1e36..79e5a7e9 100644 --- a/android/src/main/java/com/henninghall/date_picker/DerivedData.java +++ b/android/src/main/java/com/henninghall/date_picker/DerivedData.java @@ -3,6 +3,7 @@ import android.util.Log; import com.henninghall.date_picker.models.Mode; +import com.henninghall.date_picker.models.Variant; import com.henninghall.date_picker.models.WheelType; import java.util.ArrayList; @@ -96,4 +97,8 @@ public int getShownCount() { return oddShowCount; } + public boolean isIosClone() { + return state.getVariant() == Variant.iosClone; + } + } diff --git a/android/src/main/java/com/henninghall/date_picker/PickerView.java b/android/src/main/java/com/henninghall/date_picker/PickerView.java index 725aa6fc..ff81fdb0 100644 --- a/android/src/main/java/com/henninghall/date_picker/PickerView.java +++ b/android/src/main/java/com/henninghall/date_picker/PickerView.java @@ -1,9 +1,12 @@ package com.henninghall.date_picker; +import android.util.Log; import android.view.View; +import android.widget.NumberPicker; import android.widget.RelativeLayout; import com.facebook.react.bridge.Dynamic; +import com.henninghall.date_picker.props.VariantProp; import com.henninghall.date_picker.props.DateProp; import com.henninghall.date_picker.props.FadeToColorProp; import com.henninghall.date_picker.props.HeightProp; @@ -16,7 +19,8 @@ public class PickerView extends RelativeLayout { - private final View rootView = inflate(getContext(), R.layout.datepicker_view, this); +// private final View rootView = inflate(getContext(), R.layout.datepicker_view, this); + private View rootView = inflate(getContext(), R.layout.native_picker, this); private final UIManager uiManager; private State state; private ArrayList updatedProps = new ArrayList<>(); @@ -29,6 +33,21 @@ public PickerView() { public void update() { + if(updatedProps.contains(VariantProp.name)) { + uiManager.setVariant(); +// rootView = inflate(getContext(), R.layout.native_picker, this); +// NumberPicker np = findViewById(R.id.numberPicker); +// np.setMinValue(0); +// np.setMaxValue(1); +// np.setDisplayedValues(new String[]{"Today", "Tomorrow"}); +// np.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { +// @Override +// public void onValueChange(NumberPicker numberPicker, int i, int i1) { +// Log.d("onValueChange", String.valueOf(i)); +// } +// }); + } + if(updatedProps.contains(FadeToColorProp.name)) { uiManager.updateFadeToColor(); } diff --git a/android/src/main/java/com/henninghall/date_picker/State.java b/android/src/main/java/com/henninghall/date_picker/State.java index f540525d..dd1e98fb 100644 --- a/android/src/main/java/com/henninghall/date_picker/State.java +++ b/android/src/main/java/com/henninghall/date_picker/State.java @@ -2,6 +2,8 @@ import com.facebook.react.bridge.Dynamic; import com.henninghall.date_picker.models.Mode; +import com.henninghall.date_picker.models.Variant; +import com.henninghall.date_picker.props.VariantProp; import com.henninghall.date_picker.props.DateProp; import com.henninghall.date_picker.props.FadeToColorProp; import com.henninghall.date_picker.props.HeightProp; @@ -22,7 +24,7 @@ public class State { private final DateProp dateProp = new DateProp(); - private final Prop modeProp = new ModeProp(); + private final ModeProp modeProp = new ModeProp(); private final LocaleProp localeProp = new LocaleProp(); private final FadeToColorProp fadeToColorProp = new FadeToColorProp(); private final TextColorProp textColorProp = new TextColorProp(); @@ -31,6 +33,7 @@ public class State { private final MaximumDateProp maximumDateProp = new MaximumDateProp(); private final UtcProp utcProp = new UtcProp(); private final HeightProp heightProp = new HeightProp(); + private final VariantProp variantProp = new VariantProp(); private final HashMap props = new HashMap() {{ put(DateProp.name, dateProp); @@ -43,6 +46,7 @@ public class State { put(MaximumDateProp.name, maximumDateProp); put(UtcProp.name, utcProp); put(HeightProp.name, heightProp); + put(VariantProp.name, variantProp); }}; public DerivedData derived; @@ -106,5 +110,8 @@ public String getLocaleLanguageTag(){ return localeProp.getLanguageTag(); } + public Variant getVariant(){ + return variantProp.getValue(); + } } diff --git a/android/src/main/java/com/henninghall/date_picker/models/Variant.java b/android/src/main/java/com/henninghall/date_picker/models/Variant.java new file mode 100644 index 00000000..955b152d --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/models/Variant.java @@ -0,0 +1,5 @@ +package com.henninghall.date_picker.models; + +public enum Variant { + iosClone, nativeAndroid +} diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java new file mode 100644 index 00000000..3d42a9fb --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java @@ -0,0 +1,77 @@ +package com.henninghall.date_picker.pickers; + +import android.content.Context; +import android.graphics.Paint; +import android.os.Build; +import android.support.annotation.RequiresApi; +import android.util.AttributeSet; +import android.view.View; +import android.widget.NumberPicker; + +import cn.carbswang.android.numberpickerview.library.NumberPickerView; + +public class AndroidNative extends NumberPicker implements Picker { + + public AndroidNative(Context context) { + super(context); + } + + public AndroidNative(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public AndroidNative(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public void setTextAlign(Paint.Align align) { + + } + + @Override + public void smoothScrollToValue(int value) { + // TODO + setValue(value); + } + + @Override + public void smoothScrollToValue(int value, boolean needRespond) { + smoothScrollToValue(value); + } + + @Override + public void setNormalTextColor(int value) { + + } + + @Override + public void setSelectedTextColor(int value) { + + } + + @Override + public void setOnValueChangeListenerInScrolling(OnValueChangeListenerInScrolling listener) { + + } + + @Override + public void setOnValueChangedListener(final Picker.OnValueChangeListener listener) { + super.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker numberPicker, int from, int to) { + listener.onValueChange(); + } + }); + } + + + @Override + public void setShownCount(int count) { + } + + @Override + public View getView() { + return this; + } +} diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/IosClone.java b/android/src/main/java/com/henninghall/date_picker/pickers/IosClone.java new file mode 100644 index 00000000..aea14a5b --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/pickers/IosClone.java @@ -0,0 +1,47 @@ +package com.henninghall.date_picker.pickers; + +import android.content.Context; +import android.util.AttributeSet; +import android.view.View; +import cn.carbswang.android.numberpickerview.library.NumberPickerView; + +public class IosClone extends NumberPickerView implements Picker { + + public IosClone(Context context) { + super(context); + } + + public IosClone(Context context, AttributeSet attrs) { + super(context, attrs); + } + + public IosClone(Context context, AttributeSet attrs, int defStyleAttr) { + super(context, attrs, defStyleAttr); + } + + @Override + public void setOnValueChangeListenerInScrolling(final Picker.OnValueChangeListenerInScrolling listener) { + final Picker self = this; + super.setOnValueChangeListenerInScrolling(new NumberPickerView.OnValueChangeListenerInScrolling() { + @Override + public void onValueChangeInScrolling(NumberPickerView picker, int oldVal, int newVal) { + listener.onValueChangeInScrolling(self, oldVal, newVal); + } + }); + } + + @Override + public void setOnValueChangedListener(final Picker.OnValueChangeListener listener) { + super.setOnValueChangedListener(new NumberPickerView.OnValueChangeListener() { + @Override + public void onValueChange(NumberPickerView picker, int oldVal, int newVal) { + listener.onValueChange(); + } + }); + } + + @Override + public View getView() { + return this; + } +} diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java b/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java new file mode 100644 index 00000000..0ba7edea --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java @@ -0,0 +1,33 @@ +package com.henninghall.date_picker.pickers; + +import android.graphics.Paint; +import android.view.View; + +public interface Picker { + void setTextAlign(Paint.Align align); + void smoothScrollToValue(int value); + void smoothScrollToValue(int value, boolean needRespond); + void setMaxValue(int value); + void setMinValue(int value); + int getMaxValue(); + boolean getWrapSelectorWheel(); + void setDisplayedValues(String[] value); + int getValue(); + void setValue(int value); + void setNormalTextColor(int value); + void setSelectedTextColor(int value); + void setOnValueChangeListenerInScrolling(Picker.OnValueChangeListenerInScrolling listener); + void setOnValueChangedListener(Picker.OnValueChangeListener onValueChangeListener); + + void setShownCount(int count); + View getView(); + void setVisibility(int visibility); + + interface OnValueChangeListenerInScrolling { + void onValueChangeInScrolling(Picker picker, int oldVal, int newVal); + } + + interface OnValueChangeListener { + void onValueChange(); + } +} diff --git a/android/src/main/java/com/henninghall/date_picker/props/VariantProp.java b/android/src/main/java/com/henninghall/date_picker/props/VariantProp.java new file mode 100644 index 00000000..1e84ec1e --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/props/VariantProp.java @@ -0,0 +1,14 @@ +package com.henninghall.date_picker.props; + +import com.facebook.react.bridge.Dynamic; +import com.henninghall.date_picker.models.Variant; + +public class VariantProp extends Prop { + public static final String name = "androidVariant"; + + @Override + public Variant toValue(Dynamic value){ + return Variant.valueOf(value.asString()); + } + +} \ No newline at end of file diff --git a/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java b/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java index 0500a63f..c9541568 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java @@ -33,6 +33,7 @@ class EmptyWheels { private ArrayList getAll() { ArrayList wheels = new ArrayList<>(); + if(!state.derived.isIosClone()) return wheels; for (int id: emptyWheelIds) { NumberPickerView view = (NumberPickerView) rootView.findViewById(id); wheels.add(view); @@ -41,6 +42,7 @@ private ArrayList getAll() { } void add() { + if(!state.derived.isIosClone()) return; int numberOfVisibleWheels = state.derived.getVisibleWheels().size(); int emptyViewsToAdd = numberOfVisibleWheels + 1; for (int i = 0; i < emptyViewsToAdd; i++) { diff --git a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java index 08f88223..4cbc14f5 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java @@ -25,7 +25,7 @@ public UIManager(State state, View rootView){ this.state = state; this.rootView = rootView; wheels = new Wheels(state, rootView); - fadingOverlay = new FadingOverlay(state, rootView); +// fadingOverlay = new FadingOverlay(state, rootView); addOnChangeListener(); } @@ -38,6 +38,7 @@ public void updateTextColor(){ } public void updateFadeToColor(){ + if(!state.derived.isIosClone()) return; fadingOverlay.updateColor(); } @@ -80,4 +81,7 @@ private void addOnChangeListener(){ } + public void setVariant() { + + } } diff --git a/android/src/main/java/com/henninghall/date_picker/ui/WheelScroller.java b/android/src/main/java/com/henninghall/date_picker/ui/WheelScroller.java index 18f2d731..dc20acf5 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/WheelScroller.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/WheelScroller.java @@ -1,13 +1,12 @@ package com.henninghall.date_picker.ui; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.wheels.Wheel; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class WheelScroller { public void scroll(Wheel wheel, int scrollTimes) { - NumberPickerView picker = wheel.picker; + Picker picker = wheel.picker; int currentIndex = picker.getValue(); int maxValue = picker.getMaxValue(); boolean isWrapping = picker.getWrapSelectorWheel(); diff --git a/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java b/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java index 3b5a700a..b4c531db 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java @@ -2,6 +2,7 @@ import android.view.View; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.R; import com.henninghall.date_picker.State; import com.henninghall.date_picker.Utils; @@ -24,8 +25,6 @@ import java.util.HashMap; import java.util.List; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class Wheels { private final State state; @@ -60,8 +59,8 @@ public class Wheels { changeAmPmWhenPassingMidnightOrNoon(); } - private NumberPickerView getPickerWithId(int id){ - return (NumberPickerView) rootView.findViewById(id); + private Picker getPickerWithId(int id){ + return (Picker) rootView.findViewById(id); } private Collection getVisible() { @@ -122,7 +121,7 @@ private void addInOrder(){ ArrayList wheels = state.derived.getOrderedVisibleWheels(); for (WheelType wheelType : wheels) { Wheel wheel = getWheel(wheelType); - pickerWrapper.addPicker(wheel.picker); + pickerWrapper.addPicker(wheel.picker.getView()); } } @@ -135,9 +134,9 @@ private ArrayList getOrderedVisibleWheels(){ } private void changeAmPmWhenPassingMidnightOrNoon() { - hourWheel.picker.setOnValueChangeListenerInScrolling(new NumberPickerView.OnValueChangeListenerInScrolling() { + hourWheel.picker.setOnValueChangeListenerInScrolling(new Picker.OnValueChangeListenerInScrolling() { @Override - public void onValueChangeInScrolling(NumberPickerView picker, int oldVal, int newVal) { + public void onValueChangeInScrolling(Picker picker, int oldVal, int newVal) { if(Utils.usesAmPm()){ String oldValue = hourWheel.getValueAtIndex(oldVal); String newValue = hourWheel.getValueAtIndex(newVal); diff --git a/android/src/main/java/com/henninghall/date_picker/wheelFunctions/AddOnChangeListener.java b/android/src/main/java/com/henninghall/date_picker/wheelFunctions/AddOnChangeListener.java index 7b7f67d9..af9e4417 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheelFunctions/AddOnChangeListener.java +++ b/android/src/main/java/com/henninghall/date_picker/wheelFunctions/AddOnChangeListener.java @@ -1,5 +1,6 @@ package com.henninghall.date_picker.wheelFunctions; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.ui.WheelChangeListener; import com.henninghall.date_picker.wheels.Wheel; @@ -15,9 +16,9 @@ public AddOnChangeListener(WheelChangeListener onChangeListener){ @Override public void apply(final Wheel wheel) { - wheel.picker.setOnValueChangedListener(new NumberPickerView.OnValueChangeListener() { + wheel.picker.setOnValueChangedListener(new Picker.OnValueChangeListener() { @Override - public void onValueChange(NumberPickerView picker, int oldVal, int newVal) { + public void onValueChange() { onChangeListener.onChange(wheel); } }); diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java index 97a686c6..6e40b0d5 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java @@ -2,6 +2,7 @@ import android.graphics.Paint; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import com.henninghall.date_picker.Utils; import com.henninghall.date_picker.models.Mode; @@ -9,12 +10,10 @@ import java.util.ArrayList; import java.util.Calendar; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class AmPmWheel extends Wheel { - public AmPmWheel(final NumberPickerView picker, State state) { + public AmPmWheel(final Picker picker, State state) { super(picker, state); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java index b875521a..65953038 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java @@ -5,12 +5,11 @@ import java.util.*; import com.henninghall.date_picker.*; import com.henninghall.date_picker.models.Mode; - -import cn.carbswang.android.numberpickerview.library.NumberPickerView; +import com.henninghall.date_picker.pickers.Picker; public class DateWheel extends Wheel { - public DateWheel(final NumberPickerView picker, final State id) { + public DateWheel(final Picker picker, final State id) { super(picker, id); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java index 59af7d7c..60e75559 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java @@ -1,23 +1,20 @@ package com.henninghall.date_picker.wheels; import android.graphics.Paint; -import android.text.TextUtils; import com.henninghall.date_picker.DayFormats; import com.henninghall.date_picker.LocaleUtils; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import com.henninghall.date_picker.models.Mode; import com.henninghall.date_picker.Utils; -import java.text.ParseException; import java.text.SimpleDateFormat; import java.util.ArrayList; import java.util.Calendar; import java.util.Date; import java.util.HashMap; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class DayWheel extends Wheel { @@ -25,7 +22,7 @@ public class DayWheel extends Wheel { private static int defaultNumberOfDays = Calendar.getInstance().getActualMaximum(Calendar.DAY_OF_YEAR); private HashMap displayValues; - public DayWheel(NumberPickerView picker, State state) { + public DayWheel(Picker picker, State state) { super(picker, state); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java index 2ce30f35..1bee7106 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java @@ -2,6 +2,7 @@ import android.graphics.Paint; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import com.henninghall.date_picker.Utils; import com.henninghall.date_picker.models.Mode; @@ -9,11 +10,9 @@ import java.util.ArrayList; import java.util.Calendar; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class HourWheel extends Wheel { - public HourWheel(NumberPickerView picker, State id) { + public HourWheel(Picker picker, State id) { super(picker, id); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java index 62cc224c..de6837b1 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java @@ -2,6 +2,7 @@ import android.graphics.Paint; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import com.henninghall.date_picker.Utils; import com.henninghall.date_picker.models.Mode; @@ -9,11 +10,9 @@ import java.util.ArrayList; import java.util.Calendar; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class MinutesWheel extends Wheel { - public MinutesWheel(NumberPickerView picker, State id) { + public MinutesWheel(Picker picker, State id) { super(picker, id); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java index 05b17efb..85984a39 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java @@ -5,16 +5,14 @@ import java.util.*; import com.henninghall.date_picker.*; import com.henninghall.date_picker.models.Mode; - -import cn.carbswang.android.numberpickerview.library.NumberPickerView; +import com.henninghall.date_picker.pickers.Picker; public class MonthWheel extends Wheel { - public MonthWheel(final NumberPickerView pickerView, final State id) { - super(pickerView, id); + public MonthWheel(final Picker picker, final State id) { + super(picker, id); } - @Override public ArrayList getValues() { ArrayList values = new ArrayList<>(); diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java index 671e009d..0b86d0c8 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java @@ -3,7 +3,7 @@ import android.graphics.Paint; import android.view.View; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import java.text.SimpleDateFormat; @@ -26,10 +26,10 @@ public String toDisplayValue(String value) { } private ArrayList values = new ArrayList<>(); - public NumberPickerView picker; + public Picker picker; public SimpleDateFormat format; - public Wheel(NumberPickerView picker, State state) { + public Wheel(Picker picker, State state) { this.state = state; this.picker = picker; this.format = new SimpleDateFormat(getFormatPattern(), state.getLocale()); diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java index ceb68636..6772678d 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java @@ -3,21 +3,19 @@ import android.graphics.Paint; import com.henninghall.date_picker.LocaleUtils; +import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; import com.henninghall.date_picker.models.Mode; -import com.henninghall.date_picker.PickerView; import java.util.ArrayList; import java.util.Calendar; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - public class YearWheel extends Wheel { private int defaultStartYear; private int defaultEndYear; - public YearWheel(final NumberPickerView picker, final State id) { + public YearWheel(final Picker picker, final State id) { super(picker, id); this.defaultStartYear = 1900; this.defaultEndYear = 2100; diff --git a/android/src/main/res/layout/datepicker_view.xml b/android/src/main/res/layout/datepicker_view.xml index ed71829e..04893b5c 100644 --- a/android/src/main/res/layout/datepicker_view.xml +++ b/android/src/main/res/layout/datepicker_view.xml @@ -12,7 +12,7 @@ android:layout_height="match_parent" android:orientation="horizontal" > - - - - - - - - - + - - - + + + + + + + + + + + + + diff --git a/examples/detox/src/examples/Minimal.js b/examples/detox/src/examples/Minimal.js index 27bc566b..4686e28d 100644 --- a/examples/detox/src/examples/Minimal.js +++ b/examples/detox/src/examples/Minimal.js @@ -8,6 +8,7 @@ export default class MinimalExample extends Component { this.setState({ date })} + androidVariant="nativeAndroid" /> ) } diff --git a/examples/detox/yarn.lock b/examples/detox/yarn.lock index ab42ae08..b9330c4b 100644 --- a/examples/detox/yarn.lock +++ b/examples/detox/yarn.lock @@ -689,11 +689,6 @@ xcode "^2.0.0" xmldoc "^0.4.0" -"@yarnpkg/lockfile@^1.1.0": - version "1.1.0" - resolved "https://registry.yarnpkg.com/@yarnpkg/lockfile/-/lockfile-1.1.0.tgz#e77a97fbd345b76d83245edcd17d393b1b41fb31" - integrity sha512-GpSwvyXOcOOlV70vbnzjj4fW5xW/FdUF6nQEt1ENy7m4ZCczi1+/buVUPAqmGfqznsORNFzUMjctTIp8a9tuCQ== - abbrev@1: version "1.1.1" resolved "https://registry.yarnpkg.com/abbrev/-/abbrev-1.1.1.tgz#f8f2c887ad10bf67f634f005b6987fed3179aac8" @@ -712,13 +707,6 @@ accepts@~1.3.5, accepts@~1.3.7: mime-types "~2.1.24" negotiator "0.6.2" -ansi-align@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ansi-align/-/ansi-align-2.0.0.tgz#c36aeccba563b89ceb556f3690f0b1d9e3547f7f" - integrity sha1-w2rsy6VjuJzrVW82kPCx2eNUf38= - dependencies: - string-width "^2.0.0" - ansi-colors@3.2.3: version "3.2.3" resolved "https://registry.yarnpkg.com/ansi-colors/-/ansi-colors-3.2.3.tgz#57d35b8686e851e2cc04c403f1c00203976a1813" @@ -1004,19 +992,6 @@ bluebird@3.5.x: resolved "https://registry.yarnpkg.com/bluebird/-/bluebird-3.5.5.tgz#a8d0afd73251effbbd5fe384a77d73003c17a71f" integrity sha512-5am6HnnfN+urzt4yfg7IgTbotDjIT/u8AJpEt0sIU9FtXfVeezXAPKswrG+xKUCOYAINpSdgZVDU6QFh+cuH3w== -boxen@^1.2.1: - version "1.3.0" - resolved "https://registry.yarnpkg.com/boxen/-/boxen-1.3.0.tgz#55c6c39a8ba58d9c61ad22cd877532deb665a20b" - integrity sha512-TNPjfTr432qx7yOjQyaXm3dSR0MH9vXp7eT1BFSl/C51g+EFnOR9hTg1IreahGBmDNCehscshe45f+C1TBZbLw== - dependencies: - ansi-align "^2.0.0" - camelcase "^4.0.0" - chalk "^2.0.1" - cli-boxes "^1.0.0" - string-width "^2.0.0" - term-size "^1.2.0" - widest-line "^2.0.0" - bplist-creator@0.0.7: version "0.0.7" resolved "https://registry.yarnpkg.com/bplist-creator/-/bplist-creator-0.0.7.tgz#37df1536092824b87c42f957b01344117372ae45" @@ -1143,7 +1118,7 @@ callsites@^2.0.0: resolved "https://registry.yarnpkg.com/callsites/-/callsites-2.0.0.tgz#06eb84f00eea413da86affefacbffb36093b3c50" integrity sha1-BuuE8A7qQT2oav/vrL/7Ngk7PFA= -camelcase@^4.0.0, camelcase@^4.1.0: +camelcase@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/camelcase/-/camelcase-4.1.0.tgz#d545635be1e33c542649c69173e5de6acfae34dd" integrity sha1-1UVjW+HjPFQmScaRc+Xeas+uNN0= @@ -1160,11 +1135,6 @@ capture-exit@^1.2.0: dependencies: rsvp "^3.3.3" -capture-stack-trace@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/capture-stack-trace/-/capture-stack-trace-1.0.1.tgz#a6c0bbe1f38f3aa0b92238ecb6ff42c344d4135d" - integrity sha512-mYQLZnx5Qt1JgB1WEiMCf2647plpGeQ2NMR/5L0HNZzGQo4fuSPnK+wjfPnKZV0aiJDgzmWqqkV/g7JD+DW0qw== - chalk@^1.1.1: version "1.1.3" resolved "https://registry.yarnpkg.com/chalk/-/chalk-1.1.3.tgz#a8115c55e4a702fe4d150abd3872822a7e09fc98" @@ -1204,16 +1174,6 @@ chownr@^1.1.1: resolved "https://registry.yarnpkg.com/chownr/-/chownr-1.1.2.tgz#a18f1e0b269c8a6a5d3c86eb298beb14c3dd7bf6" integrity sha512-GkfeAQh+QNy3wquu9oIZr6SS5x7wGdSgNQvD10X3r+AZr1Oys22HW8kAmDMvNg2+Dm0TeGaEuO8gFwdBXxwO8A== -ci-info@^1.5.0: - version "1.6.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-1.6.0.tgz#2ca20dbb9ceb32d4524a683303313f0304b1e497" - integrity sha512-vsGdkwSCDpWmP80ncATX7iea5DWQemg1UgCW5J8tqjU3lYw4FBYuj89J0CTVomA7BEfvSZd84GmHko+MxFQU2A== - -ci-info@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/ci-info/-/ci-info-2.0.0.tgz#67a9e964be31a51e15e5010d58e6f12834002f46" - integrity sha512-5tK7EtrZ0N+OLFMthtqOj4fI2Jeb88C4CAZPu25LDVUgXJ0A3Js4PMGqrn0JU1W0Mh1/Z8wZzYPxqUrXeBboCQ== - class-utils@^0.3.5: version "0.3.6" resolved "https://registry.yarnpkg.com/class-utils/-/class-utils-0.3.6.tgz#f93369ae8b9a7ce02fd41faad0ca83033190c463" @@ -1224,11 +1184,6 @@ class-utils@^0.3.5: isobject "^3.0.0" static-extend "^0.1.1" -cli-boxes@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/cli-boxes/-/cli-boxes-1.0.0.tgz#4fa917c3e59c94a004cd61f8ee509da651687143" - integrity sha1-T6kXw+WclKAEzWH47lCdplFocUM= - cli-cursor@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/cli-cursor/-/cli-cursor-2.1.0.tgz#b35dac376479facc3e94747d41d0d0f5238ffcb5" @@ -1358,18 +1313,6 @@ concat-stream@^1.6.0: readable-stream "^2.2.2" typedarray "^0.0.6" -configstore@^3.0.0: - version "3.1.2" - resolved "https://registry.yarnpkg.com/configstore/-/configstore-3.1.2.tgz#c6f25defaeef26df12dd33414b001fe81a543f8f" - integrity sha512-vtv5HtGjcYUgFrXc6Kx747B83MRRVS5R1VTEQoXvuP+kMI+if6uywV0nDGoiydJRy4yk7h9od5Og0kxx4zUXmw== - dependencies: - dot-prop "^4.1.0" - graceful-fs "^4.1.2" - make-dir "^1.0.0" - unique-string "^1.0.0" - write-file-atomic "^2.0.0" - xdg-basedir "^3.0.0" - connect@^3.6.5: version "3.7.0" resolved "https://registry.yarnpkg.com/connect/-/connect-3.7.0.tgz#5d49348910caa5e07a01800b030d0c35f20484f8" @@ -1427,13 +1370,6 @@ cosmiconfig@^5.0.5: js-yaml "^3.13.1" parse-json "^4.0.0" -create-error-class@^3.0.0: - version "3.0.2" - resolved "https://registry.yarnpkg.com/create-error-class/-/create-error-class-3.0.2.tgz#06be7abef947a3f14a30fd610671d401bca8b7b6" - integrity sha1-Br56vvlHo/FKMP1hBnHUAbyot7Y= - dependencies: - capture-stack-trace "^1.0.0" - create-react-class@^15.6.3: version "15.6.3" resolved "https://registry.yarnpkg.com/create-react-class/-/create-react-class-15.6.3.tgz#2d73237fb3f970ae6ebe011a9e66f46dbca80036" @@ -1460,7 +1396,7 @@ cross-spawn@^5.0.1, cross-spawn@^5.1.0: shebang-command "^1.2.0" which "^1.2.9" -cross-spawn@^6.0.0, cross-spawn@^6.0.5: +cross-spawn@^6.0.0: version "6.0.5" resolved "https://registry.yarnpkg.com/cross-spawn/-/cross-spawn-6.0.5.tgz#4a5ec7c64dfae22c3a14124dbacdee846d80cbc4" integrity sha512-eTVLrBSt7fjbDygz805pMnstIs2VTBNkRm0qxZd+M7A5XDdxVRWO5MxGBXZhjY4cqLYLdtrGqRf8mBPmzwSpWQ== @@ -1471,11 +1407,6 @@ cross-spawn@^6.0.0, cross-spawn@^6.0.5: shebang-command "^1.2.0" which "^1.2.9" -crypto-random-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/crypto-random-string/-/crypto-random-string-1.0.0.tgz#a230f64f568310e1498009940790ec99545bca7e" - integrity sha1-ojD2T1aDEOFJgAmUB5DsmVRbyn4= - debug@2.6.9, debug@^2.2.0, debug@^2.3.3: version "2.6.9" resolved "https://registry.yarnpkg.com/debug/-/debug-2.6.9.tgz#5d128515df134ff327e90a4c93f4e077a536341f" @@ -1602,13 +1533,6 @@ dom-walk@^0.1.0: resolved "https://registry.yarnpkg.com/dom-walk/-/dom-walk-0.1.1.tgz#672226dc74c8f799ad35307df936aba11acd6018" integrity sha1-ZyIm3HTI95mtNTB9+TaroRrNYBg= -dot-prop@^4.1.0: - version "4.2.0" - resolved "https://registry.yarnpkg.com/dot-prop/-/dot-prop-4.2.0.tgz#1f19e0c2e1aa0e32797c49799f2837ac6af69c57" - integrity sha512-tUMXrxlExSW6U2EXiiKGSBVdYgtV8qlHL+C10TsW4PURY/ic+eaysnSkwB4kA/mBlCyy/IKDJ+Lc3wbWeaXtuQ== - dependencies: - is-obj "^1.0.0" - dtrace-provider@~0.8: version "0.8.7" resolved "https://registry.yarnpkg.com/dtrace-provider/-/dtrace-provider-0.8.7.tgz#dc939b4d3e0620cfe0c1cd803d0d2d7ed04ffd04" @@ -1616,11 +1540,6 @@ dtrace-provider@~0.8: dependencies: nan "^2.10.0" -duplexer3@^0.1.4: - version "0.1.4" - resolved "https://registry.yarnpkg.com/duplexer3/-/duplexer3-0.1.4.tgz#ee01dd1cac0ed3cbc7fdbea37dc0a8f1ce002ce2" - integrity sha1-7gHdHKwO08vH/b6jfcCo8c4ALOI= - ee-first@1.1.1: version "1.1.1" resolved "https://registry.yarnpkg.com/ee-first/-/ee-first-1.1.1.tgz#590c61156b0ae2f4f0255732a158b266bc56b21d" @@ -1979,14 +1898,6 @@ find-up@^2.0.0: dependencies: locate-path "^2.0.0" -find-yarn-workspace-root@^1.2.1: - version "1.2.1" - resolved "https://registry.yarnpkg.com/find-yarn-workspace-root/-/find-yarn-workspace-root-1.2.1.tgz#40eb8e6e7c2502ddfaa2577c176f221422f860db" - integrity sha512-dVtfb0WuQG+8Ag2uWkbG79hOUzEsRrhBzgfn86g2sJPkzmcpGdghbNTfUKGTxymFrY/tLIodDzLoW9nOJ4FY8Q== - dependencies: - fs-extra "^4.0.3" - micromatch "^3.1.4" - flat@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/flat/-/flat-4.1.0.tgz#090bec8b05e39cba309747f1d588f04dbaf98db2" @@ -2027,7 +1938,7 @@ fs-extra@^1.0.0: jsonfile "^2.1.0" klaw "^1.0.0" -fs-extra@^4.0.2, fs-extra@^4.0.3: +fs-extra@^4.0.2: version "4.0.3" resolved "https://registry.yarnpkg.com/fs-extra/-/fs-extra-4.0.3.tgz#0d852122e5bc5beb453fb028e9c0c9bf36340c94" integrity sha512-q6rbdDd1o2mAnQreO7YADIxf/Whx4AHBiRf6d+/cVT8h44ss+lHgxf1FemcqDnQt9X3ct4McHr+JMGlYSsK7Cg== @@ -2184,13 +2095,6 @@ glob@^7.1.1, glob@^7.1.3: once "^1.3.0" path-is-absolute "^1.0.0" -global-dirs@^0.1.0: - version "0.1.1" - resolved "https://registry.yarnpkg.com/global-dirs/-/global-dirs-0.1.1.tgz#b319c0dd4607f353f3be9cca4c72fc148c49f445" - integrity sha1-sxnA3UYH81PzvpzKTHL8FIxJ9EU= - dependencies: - ini "^1.3.4" - global@^4.3.0: version "4.4.0" resolved "https://registry.yarnpkg.com/global/-/global-4.4.0.tgz#3e7b105179006a323ed71aafca3e9c57a5cc6406" @@ -2204,23 +2108,6 @@ globals@^11.1.0: resolved "https://registry.yarnpkg.com/globals/-/globals-11.12.0.tgz#ab8795338868a0babd8525758018c2a7eb95c42e" integrity sha512-WOBp/EEGUiIsJSp7wcv/y6MO+lV9UoncWqxuFfm8eBwzWNgyfBd6Gz+IeKQ9jCmyhoH99g15M3T+QaVHFjizVA== -got@^6.7.1: - version "6.7.1" - resolved "https://registry.yarnpkg.com/got/-/got-6.7.1.tgz#240cd05785a9a18e561dc1b44b41c763ef1e8db0" - integrity sha1-JAzQV4WpoY5WHcG0S0HHY+8ejbA= - dependencies: - create-error-class "^3.0.0" - duplexer3 "^0.1.4" - get-stream "^3.0.0" - is-redirect "^1.0.0" - is-retry-allowed "^1.0.0" - is-stream "^1.0.0" - lowercase-keys "^1.0.0" - safe-buffer "^5.0.1" - timed-out "^4.0.0" - unzip-response "^2.0.1" - url-parse-lax "^1.0.0" - graceful-fs@^4.1.11, graceful-fs@^4.1.2, graceful-fs@^4.1.3, graceful-fs@^4.1.6, graceful-fs@^4.1.9: version "4.2.1" resolved "https://registry.yarnpkg.com/graceful-fs/-/graceful-fs-4.2.1.tgz#1c1f0c364882c868f5bff6512146328336a11b1d" @@ -2346,11 +2233,6 @@ import-fresh@^2.0.0: caller-path "^2.0.0" resolve-from "^3.0.0" -import-lazy@^2.1.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/import-lazy/-/import-lazy-2.1.0.tgz#05698e3d45c88e8d7e9d92cb0584e77f096f3e43" - integrity sha1-BWmOPUXIjo1+nZLLBYTnfwlvPkM= - imurmurhash@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/imurmurhash/-/imurmurhash-0.1.4.tgz#9218b9b2b928a238b13dc4fb6b6d576f231453ea" @@ -2445,20 +2327,6 @@ is-callable@^1.1.4: resolved "https://registry.yarnpkg.com/is-callable/-/is-callable-1.1.4.tgz#1e1adf219e1eeb684d691f9d6a05ff0d30a24d75" integrity sha512-r5p9sxJjYnArLjObpjA4xu5EKI3CuKHkJXMhT7kwbpUyIFD1n5PMAsoPvWnvtZiNz7LjkYDRZhd7FlI0eMijEA== -is-ci@^1.0.10: - version "1.2.1" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-1.2.1.tgz#e3779c8ee17fccf428488f6e281187f2e632841c" - integrity sha512-s6tfsaQaQi3JNciBH6shVqEDvhGut0SUXr31ag8Pd8BBbVVlcGfWhpPmEOoM6RJ5TFhbypvf5yyRw/VXW1IiWg== - dependencies: - ci-info "^1.5.0" - -is-ci@^2.0.0: - version "2.0.0" - resolved "https://registry.yarnpkg.com/is-ci/-/is-ci-2.0.0.tgz#6bc6334181810e04b5c22b3d589fdca55026404c" - integrity sha512-YfJT7rkpQB0updsdHLGWrvhBJfcfzNNawYDNIyQXJz0IViGf75O8EBPKSdvw2rF+LGCsX4FZ8tcr3b19LcZq4w== - dependencies: - ci-info "^2.0.0" - is-data-descriptor@^0.1.4: version "0.1.4" resolved "https://registry.yarnpkg.com/is-data-descriptor/-/is-data-descriptor-0.1.4.tgz#0b5ee648388e2c860282e793f1856fec3f301b56" @@ -2549,19 +2417,6 @@ is-glob@^2.0.0, is-glob@^2.0.1: dependencies: is-extglob "^1.0.0" -is-installed-globally@^0.1.0: - version "0.1.0" - resolved "https://registry.yarnpkg.com/is-installed-globally/-/is-installed-globally-0.1.0.tgz#0dfd98f5a9111716dd535dda6492f67bf3d25a80" - integrity sha1-Df2Y9akRFxbdU13aZJL2e/PSWoA= - dependencies: - global-dirs "^0.1.0" - is-path-inside "^1.0.0" - -is-npm@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-npm/-/is-npm-1.0.0.tgz#f2fb63a65e4905b406c86072765a1a4dc793b9f4" - integrity sha1-8vtjpl5JBbQGyGBydloaTceTufQ= - is-number@^2.1.0: version "2.1.0" resolved "https://registry.yarnpkg.com/is-number/-/is-number-2.1.0.tgz#01fcbbb393463a548f2f466cce16dece49db908f" @@ -2581,18 +2436,6 @@ is-number@^4.0.0: resolved "https://registry.yarnpkg.com/is-number/-/is-number-4.0.0.tgz#0026e37f5454d73e356dfe6564699867c6a7f0ff" integrity sha512-rSklcAIlf1OmFdyAqbnWTLVelsQ58uvZ66S/ZyawjWqIviTWCjg2PzVGw8WUA+nNuPTqb4wgA+NszrJ+08LlgQ== -is-obj@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-obj/-/is-obj-1.0.1.tgz#3e4729ac1f5fde025cd7d83a896dab9f4f67db0f" - integrity sha1-PkcprB9f3gJc19g6iW2rn09n2w8= - -is-path-inside@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/is-path-inside/-/is-path-inside-1.0.1.tgz#8ef5b7de50437a3fdca6b4e865ef7aa55cb48036" - integrity sha1-jvW33lBDej/cprToZe96pVy0gDY= - dependencies: - path-is-inside "^1.0.1" - is-plain-object@^2.0.3, is-plain-object@^2.0.4: version "2.0.4" resolved "https://registry.yarnpkg.com/is-plain-object/-/is-plain-object-2.0.4.tgz#2c163b3fafb1b606d9d17928f05c2a1c38e07677" @@ -2615,11 +2458,6 @@ is-promise@^2.1.0: resolved "https://registry.yarnpkg.com/is-promise/-/is-promise-2.1.0.tgz#79a2a9ece7f096e80f36d2b2f3bc16c1ff4bf3fa" integrity sha1-eaKp7OfwlugPNtKy87wWwf9L8/o= -is-redirect@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/is-redirect/-/is-redirect-1.0.0.tgz#1d03dded53bd8db0f30c26e4f95d36fc7c87dc24" - integrity sha1-HQPd7VO9jbDzDCbk+V02/HyH3CQ= - is-regex@^1.0.4: version "1.0.4" resolved "https://registry.yarnpkg.com/is-regex/-/is-regex-1.0.4.tgz#5517489b547091b0930e095654ced25ee97e9491" @@ -2627,12 +2465,7 @@ is-regex@^1.0.4: dependencies: has "^1.0.1" -is-retry-allowed@^1.0.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/is-retry-allowed/-/is-retry-allowed-1.2.0.tgz#d778488bd0a4666a3be8a1482b9f2baafedea8b4" - integrity sha512-RUbUeKwvm3XG2VYamhJL1xFktgjvPzL0Hq8C+6yrWIswDy3BIXGqCxhxkc30N9jqK311gVU137K8Ei55/zVJRg== - -is-stream@^1.0.0, is-stream@^1.0.1, is-stream@^1.1.0: +is-stream@^1.0.1, is-stream@^1.1.0: version "1.1.0" resolved "https://registry.yarnpkg.com/is-stream/-/is-stream-1.1.0.tgz#12d4a3dd4e68e0b79ceb8dbc84173ae80d91ca44" integrity sha1-EtSj3U5o4Lec6428hBc66A2RykQ= @@ -2812,13 +2645,6 @@ kind-of@^6.0.0, kind-of@^6.0.2: resolved "https://registry.yarnpkg.com/kind-of/-/kind-of-6.0.2.tgz#01146b36a6218e64e58f3a8d66de5d7fc6f6d051" integrity sha512-s5kLOcnH0XqDO+FvuaLX8DDjZ18CGFk7VygH40QoKPUQhW4e2rvM0rwUq0t8IQDOwYSeLK01U90OjzBTme2QqA== -klaw-sync@^6.0.0: - version "6.0.0" - resolved "https://registry.yarnpkg.com/klaw-sync/-/klaw-sync-6.0.0.tgz#1fd2cfd56ebb6250181114f0a581167099c2b28c" - integrity sha512-nIeuVSzdCCs6TDPTqI8w1Yre34sSq7AkZ4B3sfOBbI2CgVSB4Du4aLQijFU2+lhAFCwt9+42Hel6lQNIv6AntQ== - dependencies: - graceful-fs "^4.1.11" - klaw@^1.0.0: version "1.3.1" resolved "https://registry.yarnpkg.com/klaw/-/klaw-1.3.1.tgz#4088433b46b3b1ba259d78785d8e96f73ba02439" @@ -2826,13 +2652,6 @@ klaw@^1.0.0: optionalDependencies: graceful-fs "^4.1.9" -latest-version@^3.0.0: - version "3.1.0" - resolved "https://registry.yarnpkg.com/latest-version/-/latest-version-3.1.0.tgz#a205383fea322b33b5ae3b18abee0dc2f356ee15" - integrity sha1-ogU4P+oyKzO1rjsYq+4NwvNW7hU= - dependencies: - package-json "^4.0.0" - lcid@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/lcid/-/lcid-1.0.0.tgz#308accafa0bc483a3867b4b6f2b9506251d1b835" @@ -2912,11 +2731,6 @@ loose-envify@^1.0.0, loose-envify@^1.1.0, loose-envify@^1.3.1, loose-envify@^1.4 dependencies: js-tokens "^3.0.0 || ^4.0.0" -lowercase-keys@^1.0.0: - version "1.0.1" - resolved "https://registry.yarnpkg.com/lowercase-keys/-/lowercase-keys-1.0.1.tgz#6f9e30b47084d971a7c820ff15a6c5167b74c26f" - integrity sha512-G2Lj61tXDnVFFOi8VZds+SoQjtQC3dgokKdDG2mTm1tx4m50NUHBOZSBwQQHyy0V12A0JTG4icfZQH+xPyh8VA== - lru-cache@^4.0.1: version "4.1.5" resolved "https://registry.yarnpkg.com/lru-cache/-/lru-cache-4.1.5.tgz#8bbe50ea85bed59bc9e33dcab8235ee9bcf443cd" @@ -2932,13 +2746,6 @@ lru-cache@^5.1.1: dependencies: yallist "^3.0.2" -make-dir@^1.0.0: - version "1.3.0" - resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-1.3.0.tgz#79c1033b80515bd6d24ec9933e860ca75ee27f0c" - integrity sha512-2w31R7SJtieJJnQtGc7RVL2StM2vGYVfqUOvUDxH6bC6aJTxPxTF0GnIgCyu7tjockiUWAYQRbxa7vKn34s5sQ== - dependencies: - pify "^3.0.0" - make-dir@^2.0.0: version "2.1.0" resolved "https://registry.yarnpkg.com/make-dir/-/make-dir-2.1.0.tgz#5f0310e18b8be898cc07009295a30ae41e91e6f5" @@ -3855,16 +3662,6 @@ p-try@^2.0.0: resolved "https://registry.yarnpkg.com/p-try/-/p-try-2.2.0.tgz#cb2868540e313d61de58fafbe35ce9004d5540e6" integrity sha512-R4nPAVTAU0B9D35/Gk3uJf/7XYbQcyohSKdvAxIRSNghFl4e71hVoGnBNQz9cWaXxO2I10KTC+3jMdvvoKw6dQ== -package-json@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/package-json/-/package-json-4.0.1.tgz#8869a0401253661c4c4ca3da6c2121ed555f5eed" - integrity sha1-iGmgQBJTZhxMTKPabCEh7VVfXu0= - dependencies: - got "^6.7.1" - registry-auth-token "^3.0.1" - registry-url "^3.0.3" - semver "^5.1.0" - parse-glob@^3.0.4: version "3.0.4" resolved "https://registry.yarnpkg.com/parse-glob/-/parse-glob-3.0.4.tgz#b2c376cfb11f35513badd173ef0bb6e3a388391c" @@ -3905,25 +3702,6 @@ pascalcase@^0.1.1: resolved "https://registry.yarnpkg.com/pascalcase/-/pascalcase-0.1.1.tgz#b363e55e8006ca6fe21784d2db22bd15d7917f14" integrity sha1-s2PlXoAGym/iF4TS2yK9FdeRfxQ= -patch-package@^6.2.0: - version "6.2.0" - resolved "https://registry.yarnpkg.com/patch-package/-/patch-package-6.2.0.tgz#677de858e352b6ca4e6cb48a6efde2cec9fde566" - integrity sha512-HWlQflaBBMjLBfOWomfolF8aqsFDeNbSNro1JDUgYqnVvPM5OILJ9DQdwIRiKmGaOsmHvhkl1FYkvv1I9r2ZJw== - dependencies: - "@yarnpkg/lockfile" "^1.1.0" - chalk "^2.4.2" - cross-spawn "^6.0.5" - find-yarn-workspace-root "^1.2.1" - fs-extra "^7.0.1" - is-ci "^2.0.0" - klaw-sync "^6.0.0" - minimist "^1.2.0" - rimraf "^2.6.3" - semver "^5.6.0" - slash "^2.0.0" - tmp "^0.0.33" - update-notifier "^2.5.0" - path-exists@^3.0.0: version "3.0.0" resolved "https://registry.yarnpkg.com/path-exists/-/path-exists-3.0.0.tgz#ce0ebeaa5f78cb18925ea7d810d7b59b010fd515" @@ -3934,11 +3712,6 @@ path-is-absolute@^1.0.0: resolved "https://registry.yarnpkg.com/path-is-absolute/-/path-is-absolute-1.0.1.tgz#174b9268735534ffbc7ace6bf53a5a9e1b5c5f5f" integrity sha1-F0uSaHNVNP+8es5r9TpanhtcX18= -path-is-inside@^1.0.1: - version "1.0.2" - resolved "https://registry.yarnpkg.com/path-is-inside/-/path-is-inside-1.0.2.tgz#365417dede44430d1c11af61027facf074bdfc53" - integrity sha1-NlQX3t5EQw0cEa9hAn+s8HS9/FM= - path-key@^2.0.0, path-key@^2.0.1: version "2.0.1" resolved "https://registry.yarnpkg.com/path-key/-/path-key-2.0.1.tgz#411cadb574c5a140d3a4b1910d40d80cc9f40b40" @@ -3961,11 +3734,6 @@ pify@^2.0.0: resolved "https://registry.yarnpkg.com/pify/-/pify-2.3.0.tgz#ed141a6ac043a849ea588498e7dca8b15330e90c" integrity sha1-7RQaasBDqEnqWISY59yosVMw6Qw= -pify@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/pify/-/pify-3.0.0.tgz#e5a4acd2c101fdf3d9a4d07f0dbc4db49dd28176" - integrity sha1-5aSs0sEB/fPZpNB/DbxNtJ3SgXY= - pify@^4.0.1: version "4.0.1" resolved "https://registry.yarnpkg.com/pify/-/pify-4.0.1.tgz#4b2cd25c50d598735c50292224fd8c6df41e3231" @@ -4022,11 +3790,6 @@ posix-character-classes@^0.1.0: resolved "https://registry.yarnpkg.com/posix-character-classes/-/posix-character-classes-0.1.1.tgz#01eac0fe3b5af71a2a6c02feabb8c1fef7e00eab" integrity sha1-AerA/jta9xoqbAL+q7jB/vfgDqs= -prepend-http@^1.0.1: - version "1.0.4" - resolved "https://registry.yarnpkg.com/prepend-http/-/prepend-http-1.0.4.tgz#d4f4562b0ce3696e41ac52d0e002e57a635dc6dc" - integrity sha1-1PRWKwzjaW5BrFLQ4ALlemNdxtw= - preserve@^0.2.0: version "0.2.0" resolved "https://registry.yarnpkg.com/preserve/-/preserve-0.2.0.tgz#815ed1f6ebc65926f865b310c0713bcb3315ce4b" @@ -4112,7 +3875,7 @@ range-parser@~1.2.1: resolved "https://registry.yarnpkg.com/range-parser/-/range-parser-1.2.1.tgz#3cf37023d199e1c24d1a55b84800c2f3e6468031" integrity sha512-Hrgsx+orqoygnmhFbKaHE6c296J+HTAQXoxEF6gNupROmmGJRoyzfG3ccAveqCBrwr/2yxQ5BVd/GTl5agOwSg== -rc@^1.0.1, rc@^1.1.6, rc@^1.2.7: +rc@^1.2.7: version "1.2.8" resolved "https://registry.yarnpkg.com/rc/-/rc-1.2.8.tgz#cd924bf5200a075b83c188cd6b9e211b7fc0d3ed" integrity sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw== @@ -4313,21 +4076,6 @@ regexpu-core@^4.5.4: unicode-match-property-ecmascript "^1.0.4" unicode-match-property-value-ecmascript "^1.1.0" -registry-auth-token@^3.0.1: - version "3.4.0" - resolved "https://registry.yarnpkg.com/registry-auth-token/-/registry-auth-token-3.4.0.tgz#d7446815433f5d5ed6431cd5dca21048f66b397e" - integrity sha512-4LM6Fw8eBQdwMYcES4yTnn2TqIasbXuwDx3um+QRs7S55aMKCBKBxvPXl2RiUjHwuJLTyYfxSpmfSAjQpcuP+A== - dependencies: - rc "^1.1.6" - safe-buffer "^5.0.1" - -registry-url@^3.0.3: - version "3.1.0" - resolved "https://registry.yarnpkg.com/registry-url/-/registry-url-3.1.0.tgz#3d4ef870f73dde1d77f0cf9a381432444e174942" - integrity sha1-PU74cPc93h138M+aOBQyRE4XSUI= - dependencies: - rc "^1.0.1" - regjsgen@^0.5.0: version "0.5.0" resolved "https://registry.yarnpkg.com/regjsgen/-/regjsgen-0.5.0.tgz#a7634dc08f89209c2049adda3525711fb97265dd" @@ -4412,13 +4160,6 @@ rimraf@^2.5.4, rimraf@^2.6.1: dependencies: glob "^7.1.3" -rimraf@^2.6.3: - version "2.7.1" - resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.7.1.tgz#35797f13a7fdadc566142c29d4f07ccad483e3ec" - integrity sha512-uWjbaKIK3T1OSVptzX7Nl6PvQ3qAGtKEtVRjRuazjfL3Bx5eI409VZSqgND+4UNnmzLVdPj9FqFJNPqBZFve4w== - dependencies: - glob "^7.1.3" - rimraf@~2.2.6: version "2.2.8" resolved "https://registry.yarnpkg.com/rimraf/-/rimraf-2.2.8.tgz#e439be2aaee327321952730f99a8929e4fc50582" @@ -4460,7 +4201,7 @@ safe-buffer@5.1.2, safe-buffer@~5.1.0, safe-buffer@~5.1.1: resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.1.2.tgz#991ec69d296e0313747d59bdfd2b745c35f8828d" integrity sha512-Gd2UZBJDkXlY7GbJxfsE8/nvKkUEU1G38c1siN6QP6a9PT9MmHB8GnpscSmMJSoF8LOIrt8ud/wPtojys4G6+g== -safe-buffer@^5.0.1, safe-buffer@^5.1.2: +safe-buffer@^5.1.2: version "5.2.0" resolved "https://registry.yarnpkg.com/safe-buffer/-/safe-buffer-5.2.0.tgz#b74daec49b1148f88c64b68d49b1e815c1f2f519" integrity sha512-fZEwUGbVl7kouZs1jCdMLdt95hdIv0ZeHg6L7qPeciMZhZ+/gdesW4wgTARkrFWEpspjEATAzUGPG8N2jJiwbg== @@ -4524,13 +4265,6 @@ scheduler@^0.13.3: loose-envify "^1.1.0" object-assign "^4.1.1" -semver-diff@^2.0.0: - version "2.1.0" - resolved "https://registry.yarnpkg.com/semver-diff/-/semver-diff-2.1.0.tgz#4bbb8437c8d37e4b0cf1a68fd726ec6d645d6d36" - integrity sha1-S7uEN8jTfksM8aaP1ybsbWRdbTY= - dependencies: - semver "^5.0.3" - "semver@2 || 3 || 4 || 5", semver@^5.0.3, semver@^5.1.0, semver@^5.3.0, semver@^5.4.1, semver@^5.5.0, semver@^5.5.1, semver@^5.6.0, semver@^5.7.0: version "5.7.0" resolved "https://registry.yarnpkg.com/semver/-/semver-5.7.0.tgz#790a7cf6fea5459bac96110b29b60412dc8ff96b" @@ -4921,13 +4655,6 @@ tempfile@^2.0.0: temp-dir "^1.0.0" uuid "^3.0.1" -term-size@^1.2.0: - version "1.2.0" - resolved "https://registry.yarnpkg.com/term-size/-/term-size-1.2.0.tgz#458b83887f288fc56d6fffbfad262e26638efa69" - integrity sha1-RYuDiH8oj8Vtb/+/rSYuJmOO+mk= - dependencies: - execa "^0.7.0" - throat@^4.1.0: version "4.1.0" resolved "https://registry.yarnpkg.com/throat/-/throat-4.1.0.tgz#89037cbc92c56ab18926e6ba4cbb200e15672a6a" @@ -4951,11 +4678,6 @@ time-stamp@^1.0.0: resolved "https://registry.yarnpkg.com/time-stamp/-/time-stamp-1.1.0.tgz#764a5a11af50561921b133f3b44e618687e0f5c3" integrity sha1-dkpaEa9QVhkhsTPztE5hhofg9cM= -timed-out@^4.0.0: - version "4.0.1" - resolved "https://registry.yarnpkg.com/timed-out/-/timed-out-4.0.1.tgz#f32eacac5a175bea25d7fab565ab3ed8741ef56f" - integrity sha1-8y6srFoXW+ol1/q1Zas+2HQe9W8= - tmp@^0.0.33: version "0.0.33" resolved "https://registry.yarnpkg.com/tmp/-/tmp-0.0.33.tgz#6d34335889768d21b2bcda0aa277ced3b1bfadf9" @@ -5081,13 +4803,6 @@ union-value@^1.0.0: is-extendable "^0.1.1" set-value "^2.0.1" -unique-string@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/unique-string/-/unique-string-1.0.0.tgz#9e1057cca851abb93398f8b33ae187b99caec11a" - integrity sha1-nhBXzKhRq7kzmPizOuGHuZyuwRo= - dependencies: - crypto-random-string "^1.0.0" - universalify@^0.1.0: version "0.1.2" resolved "https://registry.yarnpkg.com/universalify/-/universalify-0.1.2.tgz#b646f69be3942dabcecc9d6639c80dc105efaa66" @@ -5106,39 +4821,11 @@ unset-value@^1.0.0: has-value "^0.3.1" isobject "^3.0.0" -unzip-response@^2.0.1: - version "2.0.1" - resolved "https://registry.yarnpkg.com/unzip-response/-/unzip-response-2.0.1.tgz#d2f0f737d16b0615e72a6935ed04214572d56f97" - integrity sha1-0vD3N9FrBhXnKmk17QQhRXLVb5c= - -update-notifier@^2.5.0: - version "2.5.0" - resolved "https://registry.yarnpkg.com/update-notifier/-/update-notifier-2.5.0.tgz#d0744593e13f161e406acb1d9408b72cad08aff6" - integrity sha512-gwMdhgJHGuj/+wHJJs9e6PcCszpxR1b236igrOkUofGhqJuG+amlIKwApH1IW1WWl7ovZxsX49lMBWLxSdm5Dw== - dependencies: - boxen "^1.2.1" - chalk "^2.0.1" - configstore "^3.0.0" - import-lazy "^2.1.0" - is-ci "^1.0.10" - is-installed-globally "^0.1.0" - is-npm "^1.0.0" - latest-version "^3.0.0" - semver-diff "^2.0.0" - xdg-basedir "^3.0.0" - urix@^0.1.0: version "0.1.0" resolved "https://registry.yarnpkg.com/urix/-/urix-0.1.0.tgz#da937f7a62e21fec1fd18d49b35c2935067a6c72" integrity sha1-2pN/emLiH+wf0Y1Js1wpNQZ6bHI= -url-parse-lax@^1.0.0: - version "1.0.0" - resolved "https://registry.yarnpkg.com/url-parse-lax/-/url-parse-lax-1.0.0.tgz#7af8f303645e9bd79a272e7a14ac68bc0609da73" - integrity sha1-evjzA2Rem9eaJy56FKxovAYJ2nM= - dependencies: - prepend-http "^1.0.1" - use@^3.1.0: version "3.1.1" resolved "https://registry.yarnpkg.com/use/-/use-3.1.1.tgz#d50c8cac79a19fbc20f2911f56eb973f4e10070f" @@ -5216,13 +4903,6 @@ wide-align@1.1.3, wide-align@^1.1.0: dependencies: string-width "^1.0.2 || 2" -widest-line@^2.0.0: - version "2.0.1" - resolved "https://registry.yarnpkg.com/widest-line/-/widest-line-2.0.1.tgz#7438764730ec7ef4381ce4df82fb98a53142a3fc" - integrity sha512-Ba5m9/Fa4Xt9eb2ELXt77JxVDV8w7qQrH0zS/TWSJdLyAwQjWoOzpzj5lwVftDz6n/EOu3tNACS84v509qwnJA== - dependencies: - string-width "^2.1.1" - wordwrap@^1.0.0: version "1.0.0" resolved "https://registry.yarnpkg.com/wordwrap/-/wordwrap-1.0.0.tgz#27584810891456a4171c8d0226441ade90cbcaeb" @@ -5264,15 +4944,6 @@ write-file-atomic@^1.2.0: imurmurhash "^0.1.4" slide "^1.1.5" -write-file-atomic@^2.0.0: - version "2.4.3" - resolved "https://registry.yarnpkg.com/write-file-atomic/-/write-file-atomic-2.4.3.tgz#1fd2e9ae1df3e75b8d8c367443c692d4ca81f481" - integrity sha512-GaETH5wwsX+GcnzhPgKcKjJ6M2Cq3/iZp1WyY/X1CSqrW+jVNM9Y7D8EC2sM4ZG/V8wZlSniJnCKWPmBYAucRQ== - dependencies: - graceful-fs "^4.1.11" - imurmurhash "^0.1.4" - signal-exit "^3.0.2" - ws@^1.1.0, ws@^1.1.5: version "1.1.5" resolved "https://registry.yarnpkg.com/ws/-/ws-1.1.5.tgz#cbd9e6e75e09fc5d2c90015f21f0c40875e0dd51" @@ -5298,11 +4969,6 @@ xcode@^2.0.0: simple-plist "^1.0.0" uuid "^3.3.2" -xdg-basedir@^3.0.0: - version "3.0.0" - resolved "https://registry.yarnpkg.com/xdg-basedir/-/xdg-basedir-3.0.0.tgz#496b2cc109eca8dbacfe2dc72b603c17c5870ad4" - integrity sha1-SWsswQnsqNus/i3HK2A8F8WHCtQ= - xmlbuilder@^9.0.7: version "9.0.7" resolved "https://registry.yarnpkg.com/xmlbuilder/-/xmlbuilder-9.0.7.tgz#132ee63d2ec5565c557e20f4c22df9aca686b10d" diff --git a/propTypes.js b/propTypes.js index 7a3b70b8..7b656c6c 100644 --- a/propTypes.js +++ b/propTypes.js @@ -3,6 +3,7 @@ import PropTypes from 'prop-types' const androidProptypes = { fadeToColor: PropTypes.string, + androidVariant: PropTypes.oneOf(['iosClone', 'nativeAndroid']), } const DateType = PropTypes.instanceOf(Date) @@ -14,7 +15,7 @@ export default { minimumDate: DateType, maximumDate: DateType, mode: PropTypes.oneOf(['date', 'time', 'datetime']), - minuteInterval: PropTypes.oneOf([1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30]), + minuteInterval: PropTypes.oneOf([1, 2, 3, 4, 5, 6, 10, 12, 15, 20, 30]), locale: PropTypes.string, textColor: PropTypes.string, timeZoneOffsetInMinutes: PropTypes.number, From 9e4921770fe159d2207e4a4ea0e7e9cbfdb7d90b Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Wed, 8 Jul 2020 01:19:21 +0300 Subject: [PATCH 09/91] Change default date format for Finnish --- .../src/main/java/com/henninghall/date_picker/DayFormats.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/DayFormats.java b/android/src/main/java/com/henninghall/date_picker/DayFormats.java index 4e9747f9..6a48892e 100644 --- a/android/src/main/java/com/henninghall/date_picker/DayFormats.java +++ b/android/src/main/java/com/henninghall/date_picker/DayFormats.java @@ -285,8 +285,8 @@ public static String get(String locale){ put("fa_AF","EEE d MMM"); put("fa_IR","EEE d MMM"); put("ff","EEE d MMM"); - put("fi","cccc d. MMM"); - put("fi_FI","cccc d. MMM"); + put("fi","EEE d. MMM"); + put("fi_FI","EEE d. MMM"); put("fil","EEE MMM d"); put("fil_PH","EEE MMM d"); put("fo","EEE d. MMM"); From a98b0d747ab2d3d803f8d4a56002721b66eb58ce Mon Sep 17 00:00:00 2001 From: Hung Nguyen Date: Wed, 8 Jul 2020 01:22:05 +0300 Subject: [PATCH 10/91] Change default weekdays format for Salmi --- .../src/main/java/com/henninghall/date_picker/DayFormats.java | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/DayFormats.java b/android/src/main/java/com/henninghall/date_picker/DayFormats.java index 6a48892e..4cf264d4 100644 --- a/android/src/main/java/com/henninghall/date_picker/DayFormats.java +++ b/android/src/main/java/com/henninghall/date_picker/DayFormats.java @@ -623,8 +623,8 @@ public static String get(String locale){ put("sk_SK","EEE d. MMM"); put("sl","EEE dd. MMM"); put("sl_SI","EEE dd. MMM"); - put("smn","cccc MMM d."); - put("smn_FI","cccc MMM d."); + put("smn","EEE MMM d."); + put("smn_FI","EEE MMM d."); put("sn","MMM d EEE"); put("sn_ZW","MMM d EEE"); put("so","EEE MMM dd"); From 1bd41fdb17a31538019c64c3f7e7357c0ee47d0e Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Wed, 8 Jul 2020 23:44:58 +0200 Subject: [PATCH 11/91] 2.7.13 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index a4a4e53e..77ac8641 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "2.7.12", + "version": "2.7.13", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From 37eb16d8ac04216e73c9dd87527bb0c98094c48f Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 15:10:05 +0200 Subject: [PATCH 12/91] progress --- .../henninghall/date_picker/DerivedData.java | 13 ++++++-- .../henninghall/date_picker/PickerView.java | 30 +++++-------------- .../date_picker/pickers/AndroidNative.java | 27 +++++++++++++---- .../date_picker/pickers/Picker.java | 2 +- .../date_picker/ui/EmptyWheels.java | 4 +-- .../henninghall/date_picker/ui/UIManager.java | 7 +---- .../date_picker/wheels/AmPmWheel.java | 5 ++++ .../date_picker/wheels/DateWheel.java | 5 ++++ .../date_picker/wheels/DayWheel.java | 5 ++++ .../date_picker/wheels/HourWheel.java | 5 ++++ .../date_picker/wheels/MinutesWheel.java | 5 ++++ .../date_picker/wheels/MonthWheel.java | 5 ++++ .../henninghall/date_picker/wheels/Wheel.java | 2 ++ .../date_picker/wheels/YearWheel.java | 5 ++++ .../{datepicker_view.xml => ios_clone.xml} | 12 -------- android/src/main/res/layout/native_picker.xml | 30 ++++++++----------- android/src/main/res/values/styles.xml | 16 ++++++---- defaultProps.js | 7 +++-- examples/detox/src/examples/Minimal.js | 1 + 19 files changed, 107 insertions(+), 79 deletions(-) rename android/src/main/res/layout/{datepicker_view.xml => ios_clone.xml} (93%) diff --git a/android/src/main/java/com/henninghall/date_picker/DerivedData.java b/android/src/main/java/com/henninghall/date_picker/DerivedData.java index 79e5a7e9..13fb5614 100644 --- a/android/src/main/java/com/henninghall/date_picker/DerivedData.java +++ b/android/src/main/java/com/henninghall/date_picker/DerivedData.java @@ -97,8 +97,17 @@ public int getShownCount() { return oddShowCount; } - public boolean isIosClone() { - return state.getVariant() == Variant.iosClone; + public boolean hasNativeStyle() { + return state.getVariant() == Variant.nativeAndroid; + } + + public int getRootLayout() { + switch (state.getVariant()){ + case nativeAndroid: return R.layout.native_picker; + case iosClone: return R.layout.ios_clone; + default: return R.layout.ios_clone; + } + } } diff --git a/android/src/main/java/com/henninghall/date_picker/PickerView.java b/android/src/main/java/com/henninghall/date_picker/PickerView.java index ff81fdb0..6996fa4a 100644 --- a/android/src/main/java/com/henninghall/date_picker/PickerView.java +++ b/android/src/main/java/com/henninghall/date_picker/PickerView.java @@ -19,33 +19,21 @@ public class PickerView extends RelativeLayout { -// private final View rootView = inflate(getContext(), R.layout.datepicker_view, this); - private View rootView = inflate(getContext(), R.layout.native_picker, this); - private final UIManager uiManager; - private State state; + private UIManager uiManager; + private State state = new State(); private ArrayList updatedProps = new ArrayList<>(); + private boolean initialized = false; public PickerView() { super(DatePickerManager.context); - state = new State(); - uiManager = new UIManager(state, this); } public void update() { - if(updatedProps.contains(VariantProp.name)) { - uiManager.setVariant(); -// rootView = inflate(getContext(), R.layout.native_picker, this); -// NumberPicker np = findViewById(R.id.numberPicker); -// np.setMinValue(0); -// np.setMaxValue(1); -// np.setDisplayedValues(new String[]{"Today", "Tomorrow"}); -// np.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { -// @Override -// public void onValueChange(NumberPicker numberPicker, int i, int i1) { -// Log.d("onValueChange", String.valueOf(i)); -// } -// }); + if(!initialized){ + inflate(getContext(), state.derived.getRootLayout(), this); + uiManager = new UIManager(state, this); + initialized = true; } if(updatedProps.contains(FadeToColorProp.name)) { @@ -93,10 +81,6 @@ public void scroll(int wheelIndex, int scrollTimes) { uiManager.scroll(wheelIndex, scrollTimes); } - public View getRootView(){ - return rootView; - } - private final Runnable measureAndLayout = new Runnable() { @Override public void run() { diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java index 3d42a9fb..2f265ee8 100644 --- a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java +++ b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java @@ -5,11 +5,17 @@ import android.os.Build; import android.support.annotation.RequiresApi; import android.util.AttributeSet; +import android.util.Log; import android.view.View; import android.widget.NumberPicker; +import java.lang.reflect.InvocationTargetException; +import java.lang.reflect.Method; + import cn.carbswang.android.numberpickerview.library.NumberPickerView; +import static android.widget.NumberPicker.OnScrollListener.SCROLL_STATE_IDLE; + public class AndroidNative extends NumberPicker implements Picker { public AndroidNative(Context context) { @@ -31,7 +37,6 @@ public void setTextAlign(Paint.Align align) { @Override public void smoothScrollToValue(int value) { - // TODO setValue(value); } @@ -51,16 +56,25 @@ public void setSelectedTextColor(int value) { } @Override - public void setOnValueChangeListenerInScrolling(OnValueChangeListenerInScrolling listener) { - + public void setOnValueChangeListenerInScrolling(final OnValueChangeListenerInScrolling listener) { + final Picker self = this; + super.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { + @Override + public void onValueChange(NumberPicker numberPicker, int from, int to) { + listener.onValueChangeInScrolling(self, from, to); + } + }); } @Override public void setOnValueChangedListener(final Picker.OnValueChangeListener listener) { - super.setOnValueChangedListener(new NumberPicker.OnValueChangeListener() { + super.setOnScrollListener(new OnScrollListener() { + int previousState = SCROLL_STATE_IDLE; @Override - public void onValueChange(NumberPicker numberPicker, int from, int to) { - listener.onValueChange(); + public void onScrollStateChange(NumberPicker numberPicker, int state) { + boolean stoppedScrolling = previousState != SCROLL_STATE_IDLE && state == SCROLL_STATE_IDLE; + if (stoppedScrolling) listener.onValueChange(); + previousState = state; } }); } @@ -68,6 +82,7 @@ public void onValueChange(NumberPicker numberPicker, int from, int to) { @Override public void setShownCount(int count) { + // always 3 date rows -> nothing needs to be done here } @Override diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java b/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java index 0ba7edea..3f819c8f 100644 --- a/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java +++ b/android/src/main/java/com/henninghall/date_picker/pickers/Picker.java @@ -18,10 +18,10 @@ public interface Picker { void setSelectedTextColor(int value); void setOnValueChangeListenerInScrolling(Picker.OnValueChangeListenerInScrolling listener); void setOnValueChangedListener(Picker.OnValueChangeListener onValueChangeListener); - void setShownCount(int count); View getView(); void setVisibility(int visibility); + void setWrapSelectorWheel(boolean wrapSelectorWheel); interface OnValueChangeListenerInScrolling { void onValueChangeInScrolling(Picker picker, int oldVal, int newVal); diff --git a/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java b/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java index c9541568..badfc9d7 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/EmptyWheels.java @@ -33,7 +33,7 @@ class EmptyWheels { private ArrayList getAll() { ArrayList wheels = new ArrayList<>(); - if(!state.derived.isIosClone()) return wheels; + if(state.derived.hasNativeStyle()) return wheels; for (int id: emptyWheelIds) { NumberPickerView view = (NumberPickerView) rootView.findViewById(id); wheels.add(view); @@ -42,7 +42,7 @@ private ArrayList getAll() { } void add() { - if(!state.derived.isIosClone()) return; + if(state.derived.hasNativeStyle()) return; int numberOfVisibleWheels = state.derived.getVisibleWheels().size(); int emptyViewsToAdd = numberOfVisibleWheels + 1; for (int i = 0; i < emptyViewsToAdd; i++) { diff --git a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java index 4cbc14f5..977d0b88 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java @@ -38,7 +38,7 @@ public void updateTextColor(){ } public void updateFadeToColor(){ - if(!state.derived.isIosClone()) return; + if(state.derived.hasNativeStyle()) return; fadingOverlay.updateColor(); } @@ -79,9 +79,4 @@ private void addOnChangeListener(){ WheelChangeListener onWheelChangeListener = new WheelChangeListenerImpl(wheels, state, this, rootView); wheels.applyOnAll(new AddOnChangeListener(onWheelChangeListener)); } - - - public void setVariant() { - - } } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java index 6e40b0d5..814a65fb 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/AmPmWheel.java @@ -35,6 +35,11 @@ public boolean visible() { return Utils.usesAmPm() && state.getMode() != Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return false; + } + @Override public String getFormatPattern() { return Utils.usesAmPm() ? " a " : ""; diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java index 65953038..6cf8932d 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java @@ -34,6 +34,11 @@ public boolean visible() { return state.getMode() == Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return true; + } + @Override public String getFormatPattern() { return LocaleUtils.getPatternIncluding("d", state.getLocale()); diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java index 60e75559..4a595320 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java @@ -110,6 +110,11 @@ public boolean visible() { return state.getMode() == Mode.datetime; } + @Override + public boolean wrapSelectorWheel() { + return false; + } + @Override public String getFormatPattern() { diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java index 1bee7106..ec420593 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/HourWheel.java @@ -34,6 +34,11 @@ public boolean visible() { return state.getMode() != Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return true; + } + @Override public String getFormatPattern() { return Utils.usesAmPm() ? "h": "HH"; diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java index de6837b1..d162a300 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/MinutesWheel.java @@ -35,6 +35,11 @@ public boolean visible() { return state.getMode() != Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return true; + } + @Override public String getFormatPattern() { return "mm"; diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java index 85984a39..ef7c052c 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/MonthWheel.java @@ -31,6 +31,11 @@ public boolean visible() { return state.getMode() == Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return true; + } + @Override public String getFormatPattern() { return "LLLL"; diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java index 0b86d0c8..726545e9 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/Wheel.java @@ -17,6 +17,7 @@ public abstract class Wheel { private Calendar userSetValue; public abstract boolean visible(); + public abstract boolean wrapSelectorWheel(); public abstract Paint.Align getTextAlign(); public abstract String getFormatPattern(); public abstract ArrayList getValues(); @@ -34,6 +35,7 @@ public Wheel(Picker picker, State state) { this.picker = picker; this.format = new SimpleDateFormat(getFormatPattern(), state.getLocale()); picker.setTextAlign(getTextAlign()); + picker.setWrapSelectorWheel(wrapSelectorWheel()); } private int getIndexOfDate(Calendar date){ diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java index 6772678d..474ea619 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java @@ -59,6 +59,11 @@ public boolean visible() { return state.getMode() == Mode.date; } + @Override + public boolean wrapSelectorWheel() { + return false; + } + @Override public Paint.Align getTextAlign() { return Paint.Align.RIGHT; diff --git a/android/src/main/res/layout/datepicker_view.xml b/android/src/main/res/layout/ios_clone.xml similarity index 93% rename from android/src/main/res/layout/datepicker_view.xml rename to android/src/main/res/layout/ios_clone.xml index 04893b5c..c5a9b0cc 100644 --- a/android/src/main/res/layout/datepicker_view.xml +++ b/android/src/main/res/layout/ios_clone.xml @@ -24,7 +24,6 @@ custom:npv_TextColorSelected="#000000" custom:npv_TextSizeNormal="18dp" custom:npv_TextSizeSelected="21dp" - custom:npv_WrapSelectorWheel="true" custom:npv_ItemPaddingHorizontal="0dp" /> @@ -176,7 +166,6 @@ custom:npv_TextColorSelected="#000000" custom:npv_TextSizeNormal="18dp" custom:npv_TextSizeSelected="21dp" - custom:npv_WrapSelectorWheel="true" custom:npv_ItemPaddingHorizontal="3dp" /> diff --git a/android/src/main/res/layout/native_picker.xml b/android/src/main/res/layout/native_picker.xml index 5934f590..3c22faa9 100644 --- a/android/src/main/res/layout/native_picker.xml +++ b/android/src/main/res/layout/native_picker.xml @@ -1,50 +1,44 @@ - + android:orientation="horizontal"> + > + style="@style/android_native" /> + style="@style/android_native" /> + style="@style/android_native_small" /> + style="@style/android_native" /> + style="@style/android_native_small" /> + style="@style/android_native_small" /> + android:layout_width="40dp" + style="@style/android_native_small" /> - + diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml index dd946c24..0bf1fe71 100644 --- a/android/src/main/res/values/styles.xml +++ b/android/src/main/res/values/styles.xml @@ -1,10 +1,14 @@ - + \ No newline at end of file diff --git a/defaultProps.js b/defaultProps.js index 73372a3e..fe7e5ed2 100644 --- a/defaultProps.js +++ b/defaultProps.js @@ -1,4 +1,5 @@ export default { - mode: 'datetime', - minuteInterval: 1, -} \ No newline at end of file + mode: 'datetime', + minuteInterval: 1, + androidVariant: 'nativeAndroid', +} diff --git a/examples/detox/src/examples/Minimal.js b/examples/detox/src/examples/Minimal.js index 4686e28d..6da7f4ae 100644 --- a/examples/detox/src/examples/Minimal.js +++ b/examples/detox/src/examples/Minimal.js @@ -8,6 +8,7 @@ export default class MinimalExample extends Component { this.setState({ date })} + androidVariant="iosClone" androidVariant="nativeAndroid" /> ) From 159a69e914ddd8f1dc724d3290e6415bfc8432a8 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 16:18:02 +0200 Subject: [PATCH 13/91] update prop in example app --- .../henninghall/date_picker/PickerView.java | 44 ++++++++++--------- .../henninghall/date_picker/ui/UIManager.java | 2 +- examples/detox/src/examples/Advanced.js | 12 +++++ examples/detox/src/examples/Minimal.js | 2 - examples/detox/src/propPickers/DateChange.js | 10 +---- examples/detox/src/propPickers/Variant.js | 18 ++++++++ 6 files changed, 56 insertions(+), 32 deletions(-) create mode 100644 examples/detox/src/propPickers/Variant.js diff --git a/android/src/main/java/com/henninghall/date_picker/PickerView.java b/android/src/main/java/com/henninghall/date_picker/PickerView.java index 6996fa4a..6da29e73 100644 --- a/android/src/main/java/com/henninghall/date_picker/PickerView.java +++ b/android/src/main/java/com/henninghall/date_picker/PickerView.java @@ -1,11 +1,12 @@ package com.henninghall.date_picker; -import android.util.Log; -import android.view.View; -import android.widget.NumberPicker; import android.widget.RelativeLayout; import com.facebook.react.bridge.Dynamic; +import com.henninghall.date_picker.props.MaximumDateProp; +import com.henninghall.date_picker.props.MinimumDateProp; +import com.henninghall.date_picker.props.MinuteIntervalProp; +import com.henninghall.date_picker.props.UtcProp; import com.henninghall.date_picker.props.VariantProp; import com.henninghall.date_picker.props.DateProp; import com.henninghall.date_picker.props.FadeToColorProp; @@ -14,15 +15,16 @@ import com.henninghall.date_picker.props.ModeProp; import com.henninghall.date_picker.props.TextColorProp; import com.henninghall.date_picker.ui.UIManager; +import com.henninghall.date_picker.wheels.AmPmWheel; import java.util.ArrayList; +import java.util.Date; public class PickerView extends RelativeLayout { private UIManager uiManager; private State state = new State(); private ArrayList updatedProps = new ArrayList<>(); - private boolean initialized = false; public PickerView() { super(DatePickerManager.context); @@ -30,40 +32,36 @@ public PickerView() { public void update() { - if(!initialized){ + if (didUpdate(VariantProp.name)) { + this.removeAllViewsInLayout(); inflate(getContext(), state.derived.getRootLayout(), this); uiManager = new UIManager(state, this); - initialized = true; } - if(updatedProps.contains(FadeToColorProp.name)) { + if (didUpdate(FadeToColorProp.name)) { uiManager.updateFadeToColor(); } - if(updatedProps.contains(TextColorProp.name)) { + if (didUpdate(TextColorProp.name, VariantProp.name)) { uiManager.updateTextColor(); } - if(updatedProps.contains(ModeProp.name)) { + if (didUpdate(ModeProp.name, VariantProp.name)) { uiManager.updateWheelVisibility(); } - if(updatedProps.contains(HeightProp.name)) { + if (didUpdate(HeightProp.name)) { uiManager.updateHeight(); } - if(updatedProps.contains(ModeProp.name) || updatedProps.contains(LocaleProp.name)) { + if (didUpdate(ModeProp.name, LocaleProp.name, VariantProp.name)) { uiManager.updateWheelOrder(); } - ArrayList noDisplayValueChangeProps = new ArrayList(){{ - add(DateProp.name); - add(FadeToColorProp.name); - add(TextColorProp.name); - }}; - updatedProps.removeAll(noDisplayValueChangeProps); - - if(updatedProps.size() != 0) { + if (didUpdate(DateProp.name, HeightProp.name, LocaleProp.name, + MaximumDateProp.name, MinimumDateProp.name, MinuteIntervalProp.name, ModeProp.name, + UtcProp.name, VariantProp.name + )) { uiManager.updateDisplayValues(); } @@ -72,6 +70,13 @@ public void update() { updatedProps = new ArrayList<>(); } + private boolean didUpdate(String... propNames) { + for (String propName : propNames) { + if (updatedProps.contains(propName)) return true; + } + return false; + } + public void updateProp(String propName, Dynamic value) { state.setProp(propName, value); updatedProps.add(propName); @@ -98,5 +103,4 @@ public void requestLayout() { } - } diff --git a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java index 977d0b88..9f4ca573 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java @@ -25,7 +25,6 @@ public UIManager(State state, View rootView){ this.state = state; this.rootView = rootView; wheels = new Wheels(state, rootView); -// fadingOverlay = new FadingOverlay(state, rootView); addOnChangeListener(); } @@ -39,6 +38,7 @@ public void updateTextColor(){ public void updateFadeToColor(){ if(state.derived.hasNativeStyle()) return; + fadingOverlay = new FadingOverlay(state, rootView); fadingOverlay.updateColor(); } diff --git a/examples/detox/src/examples/Advanced.js b/examples/detox/src/examples/Advanced.js index fd318a38..8306a1ed 100644 --- a/examples/detox/src/examples/Advanced.js +++ b/examples/detox/src/examples/Advanced.js @@ -13,6 +13,7 @@ import MinuteInterval from '../propPickers/MinuteInterval' import Scroll from '../propPickers/Scroll' import CustomPropValue from '../CustomPropValue' import { readableDate } from '../utils' +import Variant from '../propPickers/Variant' Date.prototype.addHours = function(h) { this.setTime(this.getTime() + h * 60 * 60 * 1000) @@ -37,6 +38,7 @@ export default class Advanced extends Component { timeZoneOffsetInMinutes: undefined, minuteInterval: 1, dateString: '', + androidVariant: 'nativeAndroid', } render() { @@ -52,6 +54,7 @@ export default class Advanced extends Component { date={this.state.date} onDateChange={this.setDate} onDateStringChange={this.setDateString} + androidVariant={this.state.androidVariant} locale={this.state.locale} minuteInterval={this.state.minuteInterval} minimumDate={this.state.minimumDate} @@ -88,6 +91,15 @@ export default class Advanced extends Component { /> ), }, + { + name: 'androidVariant', + component: ( + this.setState({ androidVariant })} + /> + ), + }, { name: 'mode', component: ( diff --git a/examples/detox/src/examples/Minimal.js b/examples/detox/src/examples/Minimal.js index 6da7f4ae..27bc566b 100644 --- a/examples/detox/src/examples/Minimal.js +++ b/examples/detox/src/examples/Minimal.js @@ -8,8 +8,6 @@ export default class MinimalExample extends Component { this.setState({ date })} - androidVariant="iosClone" - androidVariant="nativeAndroid" /> ) } diff --git a/examples/detox/src/propPickers/DateChange.js b/examples/detox/src/propPickers/DateChange.js index ff210147..74e25b8c 100644 --- a/examples/detox/src/propPickers/DateChange.js +++ b/examples/detox/src/propPickers/DateChange.js @@ -1,13 +1,5 @@ import React, { Component } from 'react' -import { - Dimensions, - Button, - View, - StyleSheet, - ScrollView, - Text, - TouchableOpacity, -} from 'react-native' +import { Button, Text } from 'react-native' export default class extends Component { render() { diff --git a/examples/detox/src/propPickers/Variant.js b/examples/detox/src/propPickers/Variant.js new file mode 100644 index 00000000..eabe0047 --- /dev/null +++ b/examples/detox/src/propPickers/Variant.js @@ -0,0 +1,18 @@ +import React, { Component } from 'react' +import PropSlider from '../PropSlider' + +const data = [{ name: 'iosClone' }, { name: 'nativeAndroid' }] + +export default class extends Component { + render() { + return ( + + ) + } +} From da671411285ffe25bc773970f67779a0b68e06d4 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 16:22:35 +0200 Subject: [PATCH 14/91] center --- .../henninghall/date_picker/PickerView.java | 2 +- android/src/main/res/layout/native_picker.xml | 41 +++++++++++-------- 2 files changed, 26 insertions(+), 17 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/PickerView.java b/android/src/main/java/com/henninghall/date_picker/PickerView.java index 6da29e73..78eddbb9 100644 --- a/android/src/main/java/com/henninghall/date_picker/PickerView.java +++ b/android/src/main/java/com/henninghall/date_picker/PickerView.java @@ -42,7 +42,7 @@ public void update() { uiManager.updateFadeToColor(); } - if (didUpdate(TextColorProp.name, VariantProp.name)) { + if (didUpdate(TextColorProp.name)) { uiManager.updateTextColor(); } diff --git a/android/src/main/res/layout/native_picker.xml b/android/src/main/res/layout/native_picker.xml index 3c22faa9..c9f4e99c 100644 --- a/android/src/main/res/layout/native_picker.xml +++ b/android/src/main/res/layout/native_picker.xml @@ -1,44 +1,53 @@ - + + + style="@style/android_native" + android:tag="year" /> + + style="@style/android_native" + android:tag="month" /> + + style="@style/android_native_small" + android:tag="date" /> + + style="@style/android_native" + android:tag="day" /> + + style="@style/android_native_small" + android:tag="hour" /> + + style="@style/android_native_small" + android:tag="minutes" /> + + android:tag="ampm" /> From 070d268cd0c16da2c00e43766b6a4485f4ee8754 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 16:33:00 +0200 Subject: [PATCH 15/91] text size --- android/src/main/res/layout/native_picker.xml | 8 +++++++- android/src/main/res/values/styles.xml | 7 ++++--- 2 files changed, 11 insertions(+), 4 deletions(-) diff --git a/android/src/main/res/layout/native_picker.xml b/android/src/main/res/layout/native_picker.xml index c9f4e99c..ba672582 100644 --- a/android/src/main/res/layout/native_picker.xml +++ b/android/src/main/res/layout/native_picker.xml @@ -15,38 +15,44 @@ diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml index 0bf1fe71..4ca375ca 100644 --- a/android/src/main/res/values/styles.xml +++ b/android/src/main/res/values/styles.xml @@ -1,12 +1,13 @@ - + + From 64168ce0c1897bfe9b3364649148ace57c11aef4 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 21:23:46 +0200 Subject: [PATCH 17/91] scroll animation max min --- .../date_picker/pickers/AndroidNative.java | 100 +++++++++++++----- 1 file changed, 75 insertions(+), 25 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java index 2f265ee8..796955d8 100644 --- a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java +++ b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java @@ -1,21 +1,15 @@ package com.henninghall.date_picker.pickers; +import android.annotation.SuppressLint; import android.content.Context; import android.graphics.Paint; -import android.os.Build; -import android.support.annotation.RequiresApi; +import android.os.Handler; import android.util.AttributeSet; -import android.util.Log; import android.view.View; import android.widget.NumberPicker; -import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; -import cn.carbswang.android.numberpickerview.library.NumberPickerView; - -import static android.widget.NumberPicker.OnScrollListener.SCROLL_STATE_IDLE; - public class AndroidNative extends NumberPicker implements Picker { public AndroidNative(Context context) { @@ -32,12 +26,6 @@ public AndroidNative(Context context, AttributeSet attrs, int defStyleAttr) { @Override public void setTextAlign(Paint.Align align) { - - } - - @Override - public void smoothScrollToValue(int value) { - setValue(value); } @Override @@ -55,6 +43,75 @@ public void setSelectedTextColor(int value) { } + @Override + public void setShownCount(int count) { + // always 3 date rows -> nothing needs to be done here + } + + @Override + public View getView() { + return this; + } + + + @Override + public void smoothScrollToValue(final int value) { + Handler handler = new Handler(); + final AndroidNative self = this; + + handler.postDelayed(new Runnable() { + public void run() { + int currentValue = self.getValue(); + if (value == currentValue) return; + int shortestScrollOption = getShortestScrollOption(currentValue, value); + final int moves = Math.abs(shortestScrollOption); + for (int i = 0; i < moves; i++) { + // need some delay between each scroll step to make sure it scrolls to correct value + changeValueByOne(shortestScrollOption > 0, i * 100); + } + } + // since the SCROLL_STATE_IDLE event is dispatched before the wheel actually has stopped + // an extra delay has to be added before starting to scroll to correct value + }, 500); + } + + private int getShortestScrollOption(int currentValue, int value){ + final int maxValue = getMaxValue(); + int option1 = value - currentValue; + int option2 = maxValue + 1 - Math.abs(option1); + if(getWrapSelectorWheel()){ + return Math.abs(option1) < Math.abs(option2) ? option1 : option2; + } + if (currentValue + option1 > maxValue) return option2; + if (currentValue + option1 < 0) return option2; + return option1; + } + + @SuppressLint("PrivateApi") + private void changeValueByOne(final NumberPicker higherPicker, final boolean increment) { + try { + Method method = getClass().getSuperclass().getDeclaredMethod("changeValueByOne", boolean.class); + method.setAccessible(true); + method.invoke(higherPicker, increment); + } catch (Exception e) { + e.printStackTrace(); + // make step without animation if failed to use reflection method + setValue((getValue() + (increment ? 1 : -1)) % getMaxValue()); + } + } + + private void changeValueByOne(final boolean increment, int ms) { + Handler handler = new Handler(); + final AndroidNative self = this; + handler.postDelayed(new Runnable() { + @Override + public void run() { + changeValueByOne(self, increment); + } + }, ms); + } + + @Override public void setOnValueChangeListenerInScrolling(final OnValueChangeListenerInScrolling listener) { final Picker self = this; @@ -70,23 +127,16 @@ public void onValueChange(NumberPicker numberPicker, int from, int to) { public void setOnValueChangedListener(final Picker.OnValueChangeListener listener) { super.setOnScrollListener(new OnScrollListener() { int previousState = SCROLL_STATE_IDLE; + @Override public void onScrollStateChange(NumberPicker numberPicker, int state) { boolean stoppedScrolling = previousState != SCROLL_STATE_IDLE && state == SCROLL_STATE_IDLE; - if (stoppedScrolling) listener.onValueChange(); + if (stoppedScrolling) { + listener.onValueChange(); + } previousState = state; } }); } - - @Override - public void setShownCount(int count) { - // always 3 date rows -> nothing needs to be done here - } - - @Override - public View getView() { - return this; - } } From 66938fc6563be0a86036db84af431991659641b2 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 21:24:04 +0200 Subject: [PATCH 18/91] not editable --- android/src/main/res/values/styles.xml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/android/src/main/res/values/styles.xml b/android/src/main/res/values/styles.xml index 9eadd9f4..92dc67c0 100644 --- a/android/src/main/res/values/styles.xml +++ b/android/src/main/res/values/styles.xml @@ -8,6 +8,8 @@ 5dp wrap_content match_parent + blocksDescendants + From 3466f1f834beb88a788baf24ff404f38dfb6c87e Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 22:51:07 +0200 Subject: [PATCH 23/91] ios clone as default --- defaultProps.js | 2 +- examples/detox/src/examples/Advanced.js | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/defaultProps.js b/defaultProps.js index fe7e5ed2..926d735c 100644 --- a/defaultProps.js +++ b/defaultProps.js @@ -1,5 +1,5 @@ export default { mode: 'datetime', minuteInterval: 1, - androidVariant: 'nativeAndroid', + androidVariant: 'iosClone', } diff --git a/examples/detox/src/examples/Advanced.js b/examples/detox/src/examples/Advanced.js index 8306a1ed..8bd10123 100644 --- a/examples/detox/src/examples/Advanced.js +++ b/examples/detox/src/examples/Advanced.js @@ -38,7 +38,7 @@ export default class Advanced extends Component { timeZoneOffsetInMinutes: undefined, minuteInterval: 1, dateString: '', - androidVariant: 'nativeAndroid', + androidVariant: 'iosClone', } render() { From 2d4d9298bdba3291b838a2bc529f4aec1d312b8d Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 22:54:11 +0200 Subject: [PATCH 24/91] update docs --- README.md | 15 ++++++++++----- docs/react-native-date-picker-android.png | Bin 0 -> 19107 bytes 2 files changed, 10 insertions(+), 5 deletions(-) create mode 100644 docs/react-native-date-picker-android.png diff --git a/README.md b/README.md index 48aa48f6..d2bf9425 100644 --- a/README.md +++ b/README.md @@ -11,19 +11,24 @@ This is a React Native Date Picker with following main features: - + + + + + + + + - - + -
iOSAndroid
React Native Date Picker
Android
React Native Date Picker Android - React Native Date Picker Android +
A slightly improved DatePickerIOS.A custom made native component.Choose from 2 different styles
## Installation diff --git a/docs/react-native-date-picker-android.png b/docs/react-native-date-picker-android.png new file mode 100644 index 0000000000000000000000000000000000000000..2663890e71031cd88998aeb28962489dd2153029 GIT binary patch literal 19107 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 Date: Sat, 11 Jul 2020 23:25:26 +0200 Subject: [PATCH 25/91] add gif --- README.md | 4 ++-- ...react-native-date-picker-android-native.gif | Bin 0 -> 391340 bytes 2 files changed, 2 insertions(+), 2 deletions(-) create mode 100644 docs/react-native-date-picker-android-native.gif diff --git a/README.md b/README.md index d2bf9425..4855b1b9 100644 --- a/README.md +++ b/README.md @@ -23,11 +23,11 @@ This is a React Native Date Picker with following main features: React Native Date Picker Android - React Native Date Picker Android + React Native Datepicker - Choose from 2 different styles + Choose from 2 different variants diff --git a/docs/react-native-date-picker-android-native.gif b/docs/react-native-date-picker-android-native.gif new file mode 100644 index 0000000000000000000000000000000000000000..756cc6639ee6981288cd4b431bdfea487322253c GIT binary patch literal 391340 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

IW8Qyhm1=BDA(>|KUUcPNvF`6(ypiIWIH5aK> znmxdxghXY))}k9m__^=35A~yW8U+joerLjcgVCgvqaPpIa}P>zV=7{K?HjBmG*a^a z5O$YAQTT7z=z#^6TtY-zx};0GmRLGPy1S)8kOh`y>7`^zDUp&!N@K2zPvacw9VkIra_(-~>n?C4xK$V~& z9%aBsp6JKIE@BzWJMqGAIAI0LXN%oqFpdwKjK*+P3>_Qi*qVuf9(u@8=!w~R=If=xdv z3Zr`IvU=ES6q)oiy&a= zo8nfOA@LA1k8uxc$J5(aV9_dS{o`rA(B3)`bCu8R+J(;S#x~(14%>P3;T}DFn>$jI z&OW8OYM-?QDWZ}T2kZvpeui15@F{Jco4%s34Zy0byPz|X2B!@q3JhqmG%9dV#J}Dc z;S1~G-05LY=;3%X%i$Mktr*J{+9OmJBT}Yl8rBmMpve2xOfBVoWxx@~N)Ja6n(LFd zzDNPkv~Snh3yM(G9R zns@zkD6Ba=DoIi&?m>j7?i$^@gEYqHWhJCm-T1FlqD=%eYf$)%d<(Vnb|zTN^|JkT z(oq8DirnUrotBY;2yk%9h&WX1@uYwcy34oI^Tl(L52??*+rtk@v>8S;^kKc&>EXp8 zC_EqJ@9TN76Db@DZt>@ox$og)ZdI zNxmdZ-cYJYUthRR|9DF{Q!pkb<4hb4x_X~pLZ^nMl5Mqv14={lYwQe`4&n{9^2du? zV)4E5aR;dS4Jz||ua!B^;uNS6fnug_=pSf>jW;^}W3bGUx) zE(wu2>GA>UhXoSjv?}8N2)UcbF$#|`eaA%~)*-ZfeA2;EBE15B5aF+B&Iq_K{35{p z*GmVX9zWn;-Cp~GA!U1Tkoh>jJm42Y{A=B4_Up8t2($pN+*$C7ptlJ5*s&1K)dlgk z(4oplf#*UMG{05Ygkx`2yd;J7bEm{=afC?0!uFX;5Nvy6h?29Qp^`V?&Za6z7{0?} z>Yf>74tlJ8D|>93Ozf4qnZX*nAiimkiHTpu5z$&`)LOqx{lW&WB0<3OmNWSSB*4>V0R9SDggxPCMN@;r1sM!Hc6!4Y6Iv8hWZ=j&W1F%MNBfA zOx8u%7R)6`dxa3H!UDDddCJD`ec^tpRH_4dox^XmME>3~iRI!75&?3}dliZR5>#S} z&Z5$3*n;D|hm(`^9Ay9UMIBy$aahN-tG%FZMZ1{E`S}hvDI50LiCpOhT1x~nx+d2J zA~@=ZJlGgUY+?WpoMIZuN_O#m(xU)P^o2sql>=JL8+h|4k(Q3Ik6JWJu=ZFv{ldH$ zC)x3LpvaBOh`)F^P{bQM*E(u#bmbN87x$R}o_L67^2;lsX>C-I_owENnr5MPuQ#-T z61CC0@{PX2FO_?Tozok9k8aF0l#DHU{hy4`Z10}Xi%D4b39EatC9b4$RK4OX{M|e!!1?T@iXlKi0HAA@q%glC)gJX4 z6CmKuEGZ(+EED9J1F>JmH@p*rlSrhbp_||_*avxfFAV_!y+dYZFh3SeI8@C4sM(Z) zTQEpW5CVSLcT1g@ppWrrl|2fg=SgYURLZx>8s^9&-;_>?T*9%$DzF5jM9e4fOFyuf z`ORlbZP9dGX+h?#E`uWmZxwe)Tn(LDJTR9hDzoxR>I1-1wpUOdAVyK1R5s&}Cdeg>#w~OJg%7_NLG}fhFrAdhN)!6}FmiZ+$Trgj?$3lWawf+iPNp(L9 zEk8alk7<@%1WP&tDy_yLR^w<2*Y_^mtzJrL%^`vUQDS}oshvsjr`X@lo=Dk)MOk|# zU875-+HbMGp5uS*{{D5;uKjb<WEohBGtY3nVxm{AX1!vUj&zFfpJ6;OqPWq~ z-T&L$3=z8Ck8aHL6Ty$gMR`OG4DEkLy<`@iG4(7H{fAg)9CV-oLi$b}IJwqyx- z{I}nj4Yr6l7z&o|1EZtlw%8&*Onu&vsqh5|crS?6!sRl~J3B*V%wjh=I*y*p8Z3#e zdEw+qVd(snIDO)^+ANqa9J_ z@4GQ!S!v(s+Ox)!ZHb*qaBUR&dObhYqu*$OF3PKSX#4L)r*gI&dP67t=(XIxC!xo7 z;oE`HrowXQOu7FM9;CHG6wbs`^Gwf2S$wEM@5O7+)pq}9g4H>y$!k*oAv~9ZDcg`# zdT_pBYpR1rCcn)ed$X-+P7}Edf|7$lq?;1Os>#~9&VCjWevm>MHpz^N z9>3MHR{$ekbe32gwXmlWS8A17CUaQntM>Pgy~$pi1O51yMY;*ENK};LGQF�%!DQ za5YWq-B*tzpPIcF)NJ%&QhhI-<>N5IeNe6Ob^J{Jo2pbyDS?q)vyaJhqviLW`CF+8 zw9TQRS^q#G9TsFCtX42E9o%wjI19UfhZo6jNh(Q(um|X}|d9oL=R5N8nbPo>Api zf{CYzZ0du}r(CCDL#jNu|MB&FdhqF=(hLibsdMsLBO=eQuUv)3B$ezF-S79aQ}!Rq zt4+n|9q3KnGTS{q7mK5Ltuq;UWE;gKmpZuA_`KjnB(3LJkskT-X_ z?4+>{lHP8KPUQH|Rlg~k-M4a4-de265Ssda7u7o+{B>uLgFkG2 znE#pdXPfpnft6OY^M4#>Tu2u5qXq8N*TVS^30cDF@hopQqhD9Gtc<+bknhQ57>t+- z@=CV6J1DPNyE}6E7cX4oP9H-I><9#hzFg#7zyG!B&G_$XNq+s`&880e@1O3P4-ePd z6CZB>ML)9&yITH^D;i1?>Wa~eG4kx|-zAdJKfW6PCMpGdZDi!r#tj@nlmf9QGKxN( z@!w=~*Lf>HBgX%?!GZq&F*u5qLKwhtbZYe_|Ht5HC1V}Q6tEl4Rck2KO6T+XpTRNl zLH_w3k^28JI27qB8p~%s=@xILt2b55RT>iujSV+dF4TxLNB+;?h`0UE;J9}G@x^<4 zIPor^dbK?$cz*2B;8;(4`=7yqvi+aI!4UMH!4XOe&evSx`8I-Hd-Z5=oH!t}rQ#X> zUHLjrml>G(Q=2v&EkG>P;acrt8c3AK(VEPY8~3%YD64eduPtv=Y>q-($#mTRI@_D^RjKKavA;gu=795ec39tC|Nhxu)7feM zpvLx-6bc|%B#nULL>G7vQeKUFl`6ARJCYIj8)_4~HZJIrIU1v4Sg4&z0|{g}3lT(N zubC7zBdAhi(K|}ES}n00lW;-YpGB%d@8C=_psHo(0v|+F{86OFGebV#m6Cbdw6Pw@Z*^|GDQxA{)5jKoa1B%*A^H+>z2F z7h%bpb;xq`MSU~)nJ)JuHWkUp#-*D<0qWyO?;;-7LxE{R$_n?D4ru*DlYZ~`nYdQ$ zCyrMMx#nM1^?oXTCy6c?6Ez_iD$^PN)-ax!C9Afh3HDiV5zViUwL$Gwspov8#Ub2l z0PXbrL`8VUd{R6Lee7n&;nE-#29*_&qWXrjSrlpKQ=BUL@&GHx z(?jh4qc+yvaY_K6g9vFGsD}2SY=+re=K+onEauIy* z%9*z!nC;Mo`&>kzPAiStIcvD8{OOdTPj93A59=+ALB;EYSi$zw%cbfeAtGX=d;~s? z%$R`YZWjoJ_V}_ugxj*p5jsEQh|e{=%=O%|$a$WC;GYuldcE>lPC2DFacRca|rbGKKA;G&U$ zRO`s3@t7HY|MyxtB+`2HG?u7RWx+cS)lgqrl|j}mj9deemt|s~u@H7`dM}`5IpW-$FVFU)gNUA1iR7P=m2apJFch~xQ}7Nc3bugoRSp& z>ji?FF}9T0QADK`(#L8p3K=bkVvsR&D7h4$5^CanIm2R~+U1APb9SWfr8>}v+JP$F zHb9pnRGPmOC*%!aS4LwGNrLnYs180pjX^Gn;itxZm+<55Q1~J5Nw#QRSRb?;@l)P= zuv7J*Tyq=Sz>yOFbB{+1xf>gObHb~7GFxZovDz1!w{R`ax!F%4bya}sUz`JIiav@< zVP;nWSFm*3q`!AYmBUMg4(s4*8dumf6Oql=1L`x%`QcOm_9kx&feUG|sFrnfp{NJX zLVS$Fw7Bab7oTJSX^gz;wmTLF&X;QgfyeexOOqV_i`nKWVY*oYCOo7*4=I$8(lfG1vVh;*ECqRI}((OIJ4 z35idJh9uc|mjy(4A3}+TKjbL;N>mu0WRISY0C_8mB#KR^1Bz0F-?3y!?TL>%Rk!W+ z9S}{K)3G-DZ;^kI#GsMXIM&idv1nzvs!uFE#pAD_XwetRPepIf4YuRB&mbXH6ZOW< zKfWLdJOvxx>bJUE=Q0lLAM9?Q&daOdh_@Z!aoJowujS9l83>N|)32xc7!b_AWcz#R zx-b7}aUeAcQ)b`ypTyy)42#3B&-&WsEs8;&W)C3Z)+Pnu3Iv7PXog+G=i#CEKWpCJEw3x`|B89|x0(I!7L9&rCi#m&cK7KC#(wyXHwkV8^hTHD${YHx zfP`E;f*db`GAM!y74cX``cIyeoD=%+{R#dpIjAZ8{u9kJPAGOzq!?xdi!mwDK9m#^ zK~WYV78FH27{O3R!nhbA^(*oPnKb!66bnIeI~j!mAr)_dX)eOFZ(+K(;aHqdP#MXu zNs_Ba?tmlW00|PQi@rm`a8jVcRB#$RGACy;@GbP8K=j{@aL{Atq3{$;@1Iu9k;s}^A0=@`;!T^8Q5 zk8z=!(7hPnC!PT0N&s=i6CA*w93VRfNm}i1ZMZ^bZY9yTnL4T?{%Gk45W7m2$>hl||g3lCNr$|CN!H z;l1VBjM-}mq}yVTeilp)4?c3v&?(I@`ICf<$*^#FeOUnd#b^XTBw4g1Uw45HCW&u1 zQhXOdJ`$OJCYb@jnL%8cAPAcg6$xlE0nJIO!4;87M)J#>b-_9DW)k#QJd-1sWa9Qe zk0a6Kv1t<&oAu5e?DMTfXWXZwU2BbJS6v2?CAjp(*`Efc>(E<0tSJ?M~s8)u7K#S;Au!9QFb9E zO(8=_A#+X=>X+*a!PqtxBBl*1cqKP%sHFa-YxoV6T8IEeu&z#yo_n8YfZ-1@Z4RJNRg z@vZ{H(6-DPT~rpWUJ`a#mMmEoPf!jsEl-y$2Zxj^v|)nIiI#1mgQu|{(Fwv@4BA@E z1cLIa9~GdD@~66(I#2?fwvvC7B_Gw<$emb++%4Rd{vj4+8ND7+8e0RU0(bTawi~rqz2P)va-rw}|5M!5HbF z;&(1MIs!Gn4>2xXYp&GUbh@xXq&PaHIC>bon&&k-&>Eb#HNOdJ^#p2{3u_4pd9mGU z$#ZHkMr!|6)ZX9mkj2+tsn=ne)oNnYqFp`zy5dm(<>?b3zWWKqOCefjs?kB>m_5oB zm9++F?*{Rl2FdmY>E#CTw>Tz9977+X<~UORAe`6obrV9hmv=RyW(`WikBJ!!O@Z2n z!#W+eMnG_JwR(Vo2Ah=|juj!Vt<;wZ<}cQ%IJVX-KGZ0tt!k{G=uh4R%Z0@tQi6c^ zWiqp8;*k})6G%PYz_<%0{mqz9>6>VHfub<)endAGjY)_`OV;qC5S*l$w`uM1l_|m9 zuhr-UCAyI=-77C+kgeS##+m0_9|B#94_cF3vh(r9Kb*Pr3exqW4oa>!NJ@_~Wt_+r zxe^tqBW?-VZ}OM?Nx7-g9fP7Ps7YMSd)P-+1i8Ao?@_pzafLJ_KVmZV-?O^~Iov2HWihiG65bZv=Vee$2zCa805v9PV^V&g25kC@RSCKic6ZLBkcJou5Nv z-w$?SNq3RA#Nl}xOZJj zP2Bt){+v63nJ__7Ht}&~;!-oJUV8Gzc?8Im`MiaMUX!$QWs-w>v^O;ROEz?{YIHGl zii`{TENqGn5&?3CffBpjG`m@}y0HpD?syZbM4hi&#y(KR!RX>R>1PDcS~G8MGhgz? zh+E7^%EU;0?v@#wQOKK7JLvgSW`c%JK3SY{G>-jvJFQ4Rr?;96=gA}*MMOd(;+L|d z1iwElM3dddGKF=sg{3-#rE-iV__j<#R;CrX=A{44C=oBnTFm%pEyxqk1Zpja^DgjL zbw3o(n&-`Fg^_%~iwMeF^c(CG8LelinuDKo$p4x%yX3V0Wwvw8d-R<^aAsTZxt;@**IbM4-4KU z^!X27iDiv^wjE_2g4)7u`Rf^ zvr4}gwziP6c4$F=yt+2^YwdiD?m}jLSa1E>gYGtOy{B${>16#uYfa&XvXodwukjth zYg&}%dVHotlm99!r+}$2V}CbWsx5m~w;E&@X*}ur)wJ7tbqNoaYxKTkmc$F}o-! zz+6{iK#@)Cd}s0#jlvpM=o*&r#x{8EXH)8?RTC>n05=HDkgHs@n!xvTK>)zJu^kH9 zO_v3@H*B!iffmjI%iX)ex&WOddlMhrKv{saH{g{l_DbZz7&B=<>8`f5t2-`hfhAx{ zo(_t|3bk~_9DlO3fiX;aY#|KLwk8_!K4t{4R!7o{0(XtOa(IhYaeE9^Q~904@Q0yY|_mJ!@i!A?W8ZZD0jjz zwivtd9=C(WNl%Q)cP->ytwjM+j5{)E;-qspENGIQwBDU0!JX3!ADWt9R5u)EJ;c2Q z+=ET@#s$YJ{Y1@3f=*rH+iU5`Nut;p5p2~HKe98qT94BQa>EPaecLm0D`Ih7Kwr9! zgRE)gF2>V|SDo){6txdR^u^JW!Y>8zM67bU$?)VYSrsFdCFFNsPU7Uut8~m9fVyzS zKajW!T_I2Ry8QqWlSCUV7BA0#S#IKZ)X2QlQ|Sb-rRnZ*!IVL)cCS1E_|IVaSi9O3 zXE-cxbjbl$wRrNff*&KVElBbG&(hi>ZYp~?j7c9~0gz?xMp=NpY4S#{7P#RE5Z_Q- zp2E_urT2vb6sv_tyRbyhcc*c7h0h60(0Xqkjg%|DUu-Fg0wR9DWPgy7oITaCb<;l3 zB-u6he#M#lYj_e%?3|E$k1kIL@ZK8_gRB?xTR3{3o(HA7sR$>g|9=gRr@ZWb8yFfr zQD^%Si0s0BRPsdiT1h zW#v+>JnqJW0>_R|uUG~WhUzzJ6GriTLT^0jWjys&X__Qc80Y;1UHyKQxvS`f*i8Ib z6ff36&QhQDFg5YJYW8vLeFeFTn=$Xh+-2FvvZ#RfOl7WPEUPu35{!o7MRE% z;8F4#d-x~&B*kbMXVin>0Gvv)eOs*C>Y9Jupw!@m3+Ln^b>1g3jIg;}`N}vv>v$ zQ{AYN2&{&}3>*$RO>{~^qp+K#*aIz>mgtS4aF4w0BBU^|L_|?{m?%UzAvp=kq<_^@ z5YOt;gD7O@q1(qQF+9BcnMoZ`>jsybuMiQe!sT+6CyzM38t5)E)t%@V_t}7h5p$$W zKyOkAg}qymfq;U^Jx48dz%M*v;P_;PaWtpsvlb2E-9b!Bx=E+J9m>X7Rz7Uz6tE%v zAdvn7ZtYn{>G*HIm{K$A6z-Y|erXXeJFHSG!FD2A?BE669g-#SvCbM3DWz&zm#?sa zXKPov@b7REo>YbRlwlITk26)D6qfa&>d9R;dnr52K7?qbJz}mPO-5WWe|P{zN^sM< z8apZ!g(GaxMxY}^A;OsFet#(M!(j+6lkReh4bz+PeOy}orD;PK-`b&Oq}P$K08McZ zOR>7X+n+Mi>#fpws)uuAzVJZ5gi}MO_6yR)&d?jpz(WnQ67{I!dnWQnvXn);tQ%Ak@j-Kc5VIl(N6(YAs;$oz_ubs(HQ9@9(;^{ANrj=VpXbXEQNT3wGkRoSh6^68 zk{XVNK5H3k;|2-Oo5ESyX(HM|uctUUV`CjgiX7_L(HA|Fs^o@I^pYDur)S2vc6S16-Pn=|uO|i;8$E;icr73iOx(-W|j&}3Q+>8ptQc^(z=V2sS{@~arB1}%L zw-w^K`EDh&kB~$1kIEla+v%c1(O)5wuc`y)DoIifU(fB}@W3J@RF*1?=h}>7AMa8X z6}7j-FOAyfpJsXfOSw26=JgBiEkQ}xFc#hr&a+@o}8C))OqH(;TIMUWw z&sw^!lxhJ)$5uH!i`|&xkZ=vbO#^X8iq(Pvxx*>TXgU^_!dd~Y+qVRU>5F~;862;^ z+ENy8bq)>U$!+A2o=x8{+;F}L*PzQF&y1u1-PR!@a;=%4NDL|@5g?e*W~5>Jz3q31 z7(i&m2Ej}59=&p(jCgkk!&%|)7<+xm^pi;eA`%_tdSqcI%OoN8-D8H(M}tG!NpfLn zJaE7_|LUug>`m*qQSH!E>@Xal2qqP%>^t143i;Mvi4cTTq+mF~;BHx(&K&S774i84#t()sdK)+?j1-BfEIAb9F!?B5$L5TRyoMHnJ)a8uYE6iLNjfDHUNGOBJHIl zA9cwwm*mc25UZmP!{P19nl^M+d_s4g@HXA#Ihmrn@(xq7-y#^Bu|>Y6U&hlXb9v=4 zC*L-fN9Lc_K63_t8QH6a8Dh}IPV;CJ&><5ztlF6v=b_kC8yIL@fr2%lYEaM9YHuQu zl}(cH7JwwFCncY58x@jk2$cPf|d;Y*E9NZ3% z0BJG;o^%Cw;Me}nJ<9zlu^v1bwdPwyBJ-16Uh*5Er#G=U^cgL?@R#UDkGCboTl8Ha z^GzLBAV}_!)p}cB|C)b&^6Iezht#|QDBw%;>WRmK{K{^A3dr7i{Z{n1+BZv`)|=I{ zaA4>L&hx+ktAZ`q7b>J!b+UKhDkkG?3jlHoZ7E)1*Z3Z~C))Yvqw2@sZAOD5c55U+ zr0nA_jwGfKGNPr1;b*1SzcG*Tkj@&*Yl)a|xbDfnTinq3=U>k~XPZX8CAiZ*zd)#7 zWORn^yM0QHsKg43a>f(KNhmNu=8m)syO?P)7*xAe5x! z;(}UbkHJszJ05L^Fx_6uEIAA!uzw3snogG32FSM}797+k$kQvO1ZJe`L^y+|&4hZ9 zV2&f8oIRe(ELe93EO!qk##g%I?o*fOLlgGW+V$m_)({iPgyZ#Qx^)%4!7!%))0j0{ z#>WT-_q+|NQDRZF9_@B8AE@S*FE2)DSM`gUBQi&n!x#JE7yaji1MeWRk4GW2QUgpd zu!H@8FROwRtLV%Hi%YJG>sN$q7VpvJ^!AVeaqTWby zuDgUd=J$;k6ktQS(EIM2AFAO&11h1a=w;Hr1Ug~hqOuDO&tG{63|lqK{PAys+Va-- zhLpVcP=dtS!6eNmNlfpN_o_E7-&03bFLMUtN|fJgCII~qC~4+0s=;jc<%1GY!7*o^`jc!P$`Wjqk2^zi>T0JE!!_6=U+>auSx0I{ztk&ftV)hF+K()n zj(mY>%!Q1!l#EPekF@n^jJJ(E8XQAEMmn%H`|n1&SVzCnjP@vLevusQv)8OK9UXva zeh3*IEYS?e9v$u*%^n^dYpfbsc~QJGy2qU$dciwMG`7P{G$B1Ux5Mzqc5LCk;&j{0H$3_lV7~WHFi%HM5H}!2+C<2uap-a;2Njh*7hCZIxe9?&T7uk zrCo~9I(O^z8*6{EjdRHQu1+@2DEK(Z2d`cZmm*(;f{xcc}yL;Y>S<)~$ zQ3%14ry-wU)as~3rC3uu-0Jk8K)*P3uwG4Cx@g~Gmpl>u>>m3aU#98-f+#*f*d1hF zVRJjyP1e}NM&f^%Cz!a$Cf@Z1#aCoD+)lvj@mc?9A7AD_`xeu~MLE04GX1zqFemv1 z;XK$Nz4X?Td=$34uYpG4jjO6A;+OoP`G%Fh@M~GWi(GMHtMT)2}6(#|Ns~!ZCnfw5m6| zB|xcj7voq4Q#HocIVlKlf$Jf$BNN_7LE&W>*$D!0FVf@&jBJq$?Z>@@dO_v}-7KS8 zM=&QGObS!<#!$e6DN?~qI9Ve1RS>%G&&aT86Y+jxe9F2=4CKUpM~&SGsL{PV!rj|g6AI6OE-LHIaC5-exWjIbx;cpld4LM zn3jA}U<=US7-&O|+INR=IM&P6kAb<^KK z$beLEusH0lzy#=wD-#^!d^@{2Ldxj?J1NWa8Z5G)N_HPcL`quz^u_?|Mt>aA-&-wy zV+>O=#{IQu7PTL3Y7O^ki7_sKX(6oL5!f0StR7TGzGcyBx-c*T+o)v)nE1GQhdn%U zD;PBN|6<$`F!c@GiF0dL!xA;B9 zjESs@r%pF(CC7pYx2v>$k@z_eBYiCK6>!&Q~|ab1^)XmY9}6#2UuO# zHEP3oQ8!s20Ha}UuWmot4RPxBIyaD$5V)}q`$sRtw^(+I-J|`xi+~#l#Vxq$K1s}> zEc}#E9!*=0GvA^Op(NBNhd-|Jea-{JI;ORPZg6(?^;+0Mx^OiHu`Qah`vyK}bz#>) z2~vYXGM6ZOI>;J!34?}ldy*1ge1T!vPIT^{J46^qaz9IOQ)y&ad{dN3broF=y$1%E@U?tG-{ z@!rrzz-7D!ZU4aen({fA688f>z8G=irso}j}kYXWF+aq z4VjsMnIZ08J-^|>K{#ZIHAQ~;Y%XR4usVoW^~wck*4AH*>}?pZ1NR^PZGRbxkO-ke ze_MvdE`&Xpd`7q>-I+mm6R z&#nG@^B`Zz8v$c95M4kVO7O~FKjbX8DO5v;b`+(9-W~Qk;@z6GT1bMa>x;Pdok7Gj zt`4r)6LNeq3>LKWB!NZqU+#CiW(SfKrWD?pKG|KU0$I=d3A_+j4Vjd6D9v|k1(dnc zL(-PhGok|ZiXTEeIt<44Rt*}GPpO#C7Rn1go2@={=zDyd`u2saRJ|4Kf>(_>ydE_1U|3X)lv z71H2oH7_>e@6Ku%foVw8j)>-PJzW#h>aHggVf0C-7hCA=$un)2Ux)`R4K^hhe*FwK z(O9tfUJO9DT0bdrj*EVlp``$-I6)QH_6sdb;)MZh)sl*g>Pl3ye}zKoa6Ab zQDa+@N@V6-ii!0RFE_t$a^bEn56Z8;L>V;6a_^`1QBxXy2!sFF&PsG$ zJhCa3K%AH-FD>kOoZFlJaJ8@dQ*OK*Ic!}v#U`E)*_3ITZaoB1TLj#yx0knH_#7R& z=;0ilbt14;WgSs*a@M2i%)Hx1eO4GeQx*G})%qi&3+(O# z2%goTPumta?1u-QHhe#2xPN0j`fguf+-fS6dzj_v+sfgUhaulKqPss7HRabUE@L_@ z@MZnW4cy96jaL>TwuiQ(F7s+Yg3B@eCyNMI@L1ETb=b(1 zOiQ`%;gH$#@`*7QFgswwZrMCwEk1npb~UM;-elrU;5XhrWV>|Bp7q3U!+68uzt{Wa zZ#;c}mREL29^tqxx9Nx7gjvZQ4bNSVB6>Td&c6KxwanBuFK&fhjy}1n|Ag+4{yo;K zHGkHdd}Jdx_jc*V`}8N5UU=1s2%{|xLkr~jJ8a2TR=j>ym zNnnuWVZ`H#1~Ut#Ag+&Wo=i}-a_UdTDn;2o#eCVy<0BZO0~;oL%mwqMzJXhbJfa@P zkF>#gf=xmZ%@XH#(l)_FgyaT3q882_30w_`CJC&>h34*8P%a5bFP6S%O=y) z)mEUx^QglXLDp!fBYPhHmQ_eH6baD3sP3M<55rD@_(6|S4BEZgk3azc(~_~ z2XIeDkT(|K%5W+^sn89l9I;Ota*}nqqVjDiEb>GERJN_B;s+E!K3!$1U~b^cDz;+w zL_i*$_jE=*MKM=cIY5ltAnOaPL@e<@)3?GPzNhh%>_0BuDDK%p@}@Es8E*ZwirJ6s z{>5LXxWcip{%_u&6oVAw3nn?{f1R83cyy53g6=51C*0%6z2hU({{DXWH0lj*ob2myhk=tVUzr4R{ z;eVZ*6?3VADVD2`dH>fHCY^Er<^8ojJI?&qxyk&$y#K4eIy)=vLBEYYS3c(bJD~tV z2F;e*&ECh(P0P`i|2j8WH1Z!iH+M%+!vA${HvF6@0LORWlW#4j$!Iyr%Cyy3%zV@< zeK#25cQS8jHRC9;yy-FI6;48t^!L~ud1*aB+47Z1e+wJ^O`}3L@VrVUjU>i0%}X<+ zE&4qg_pHFrxFn$U*@trJCdlWLBe)fwelR%YH<_zWb=d87^2WEB6`iGT3+uXP^f3Am ztdGrW+E)>obebDWsy2|N0+uP*6UhZlZqU?k?dY-18?C6HWNhnxyO?F^kRyARM8FI$ zXPV!x3}izfi*dF%kq?w^rO0ffIK>UJ_#Mx+LdQy;sv?Hkjz1GH7~#&l7b?+4ho+6N z%SfKb0%#cQlLQ}w^(-!<_%M6~sEf-!{;FRjA;paQHkNIn%5F7cCz=x}1TtoxjP<&* zEdw+&y6j7;_d5=8l4MU;L$_Oe!&pTKZ%ElkxX`u%8+WPf+&!OwQId-T$()14qoWyclg_9!4tY~}w{z^uQg%AN%)2-d zTL`*phDi9#dRv}P%awIn=^H%GRj(#5r^KBs)TBs>-KNQ}Ks<7t zKvAp1Hta+Z`u9!=tnV*jvwo?eu4a`YA4^{)9?V^<2lqm_rV;@3t3^6h1?V|^uwdQ3 zfzJ;-L#<(KQM>1vBGnDf?cr%Aryn7i^YKf6zrcf+wPMMicbvs7Foqfzf=eUr+-Ss&1&RU|20BdL`ZtK2RNKE%)U$x%~uy*6mKA4NwpTX z){Y0quu%yT5t7-HaRbJ7+8Ua_O2~VG1XL`tOAyA?N|xlUi|HuL59WPb?j7og1Ijvt zyFHHdKT}vQUS!fDFGvx@$dt<0h?r*rDbi0{tPm8HZt);}CG`8e(X58qPuO}Q`CYVi zD7(8ig9Hr0zDa%*g$Q?NVy?I{6@|%eJf;q$#sXinSe60Pjg=6pqekS z(yJs889uWkkSj*MNdBFm${pi(%$Sx%RmwMbz9&ag{o+b^WVVv>*^>!aQyZA{wF&%K zlbCRC8s80nyv(N#o}Af}X51NF6V@?W072~khrPFqYP;LFMgs{DJi(pdT8e8a?oM$l z?rniWu|jczySr;~C|ca11SwAO7Hg5xVuieU_SyIB{f>Li9ea#>$9vC*oqYV~OEPBW z`mMF5FvUBx4Two6{Ln2>#w+T7$6lQ1*bxp?JkRU=K9MlbC*OO(43X2DhJ9*a)~x)j z7z}f>0O~Lt{E>s4c}??6xkjytw{{sgVWfY1w&LF+6QyD%=K?ykP|ok*#3Hda6{89R z+x(1|Rpt;5XSZy}u|f`f+1nFB_)JS2eSQiK9)iSFrir-gK~$b3@FSl^`B$zmkYn#i zA(s{C2^nWXxOa;aqqBL@e$2sI;9V`CMhPNQnWe{l<8BE?Xs*YOXo;L zbq7fEy&$-z6VHN|@5Q4-nFbn|i1JpkAnDQL;&f2BO5qew(81865kq34A_6VAJ&C@x zDZb$gn8Sobp0AJ3G$tG4FW>%%so(-ak&_2eW{K*-*Ov5lwtLLL`u2zABgSkBIpDp?qJCIntU*Lp{!RI($XK~}WaI2piHDW42 zt%hMTPkg8@$I;_o73(hplC_`>L`@3@MugB!6Zmo1QI>h$Pm5={IFhessyZikTy(?*d6 zEdva}qCk_n*3&1uiqEUWV7+H3+a&t0ORZ8J}!4{|elX|1KJW#1#7%@X8ye+Dn>pn#(R5VzC+4EHbn?NfXJ5}tQ zdx$5*rqR)2J$0wG(cZCfRsnsIgl+9)f-cF!CNtJ9Co68koZzQ@1ov0|$cRaM&F1W- zsjtFaH^^zX_`iawzKO5heDe9!oPRa-?djdkOb|g!A(qC0EcGn{E?k*LJbj?7P(Pb! zFk8Z;;WWX~F_&q-RVFa)^kuJozA*hug`CDw30cQNr6PXzvuWqvy3WrHbY8U%FOm%B z#Xq-w^s0KXkzjFmyVOU}))1+2VoiOwjEY=nip0337k z{mF((*C(@wv8TVG1^cOY>j#=2I+vz@yy?2z*#8|V^_20{Vr`HP$GxrR{Cm)=`miq# z+RCWmn=nA#Wuq6LKrE49lw|z`W^CJ0! z=@$TU)BEFT(M2H8GzYmQDvN1xmRKRNZ6hf%_)7#It|6XJ~Swat0M<@Q?D=TKECam;qiYn|8V+)mFUR7 zC!vp;S?s1^R0%?O5=^~$y~@+p{ENYRl6vo_Wx7OoIpOJtWM#1>hF1AkU=UH3F+Ro|2&4(QLtglj!&Wy4jsu6zB+tbMK?P%oN zaS>NnL%Mr6DnumNHJcAEoacK|0Ki&_$T5J7T|AvxeBYfAgV+j25yB`M!pt7>f&9hv z2NH}W8U{BA!&%5kzB{IHAB!nv9@Kc1! z8lm%oL+K&mx)kABM&SlN;YMR&d=xksc91LKu%|}hkfd;1pHM9yH;iq=qde+lb2~cbVsTYk~Fp8@{wLc?Z zM~H9*=!;9(D;)?1(K(1fI$ldU9>Xdg&prN|DCA^09y2%|=RE$0a>99g{FzbwclHDf zK8%O!1Vhx;*@MC4KZj)=I%b=4-fQc@abn2J{^G${z$3dsyWD(yK7N=wu$|QpZ z36=yogH$x6qwC;ktl;n3$6(6fIAx`IiDlSkW%wDVsgI|IL_#)%AqJEta zy{U*QU$QA%E+{b&32V)=(lUVc9GMx8&hn0=-8YekfFl@Wd*y}9mDiP9J|&y@7vp?C z?^GEy_jcog-&y{dO1}MAxpk~>K34^BwtDxJ=irQSsT}$!$po7$37&j#`?=sUe)Cdh zH2>3^{CySoy{vp$HhT8Hng1^i zNU@>U#!`O2L+bG;#P_O1+Qb)w@1?x>%LFzFCU`LmMaZ`i&L5N^V`(nTXs9rX5H`QE zD>0w23?CJ-myb*!c9DgG(K*7-zO7cN607-=oe-JT@{bM>1=Ug|lXr54IpmFL=(_lTf0szOJr%Gg_+Ak)U6Q{HE+k*`!MJq$+B0 z|2);ed)}95V>K_(Y?&Ae8j@xtSv89^e*8Ad^4!ca8u zoSBJuR+_J!Sk-k8@Tri2yh+{MN3|A>9^g+YAPsrM3*^&=m_yv5N%XdDWS=2G7&VZa zx``XNiNRf5{a0Afcq!x5Tt+kVk8+OD#l~TfDSft@09z*!)2AV*ouD=$j`oqZJ-Q z4(Rw9U3p=ffSdYG3QX7qvq+9oqX{oWjqgz+D9oB`{TgC~`@&?B>=dSgDs)Tcg3xlA zix*MvN)tjuTQ6b!q6qBuAQDtrn_Ytwy9}Wfpvits9cYEgphQ@{)#T97`r69i_*rn> zt}Qd8ffcL;#7c}wB#ISd-J(W(pbZjs=@gi4++JW6umm+U0fic{=Fo^@8rp;yh^7;} zNfaSsC~+tf&^^IND?8Z|>rdGx!N0GAzs;1 zqDO}0#nYvhl0p0EMcvfM&&1bYK#1E~DuexK3nU){WMPF^@q$pZTmLa&JqRf5rt?)z zJtNp+mVt;Z1SquDTJFWv7z7k5Y&;>aa|y^4 z=|GQLr_S*iQ>0OXG@NGvZ<6oShfPWH_P7@<8attTq5h1KM>tena8+EwPl?C~QH zOaaJ1TheIiciM4xEC+98rlz^_AS0T3KZd~NRYIiYh4lhvHvR5jC zW`MuPaAAq@T!3M1$Y-*tjj=^}7TxZQumA#lVku(>0jlGE8QfoNBx#y&iRi(WvQ&z2S5lko9^EHH{i&T&y)l+_5EE;&LRb*AI@8ujx1=3DC+XiL9$ zx-PdyQjf8CXE%{O4e0rzv=X1^nIU|MxGIXq`;5bjCjbRvQ9Gh-;4C_ctBCYE$rA+n zUbE0z9I4@?AteQ|iW_1`5W#%j_{=;9-D=K@59f6*Z=O1~Xd;m7l2GvJzFr`yVE_bA z6C#UvlNXC=^|J@4BVu1eEg-GhF)&K;^{edp;MWg$T1Yx@PPY(fe%!oJNoI%0r*IX! ze~N(*C*fY2>zMOC7*h^yi-vCks~^wV3{=32*WlJR3uUngV%Co*v7iA4B;ru+0&F#` zV+xxr5*xxkv0QEqj}DV4_Vpw{B+zv@PPIEl5f%#qJc7YMJ@qml zAF$5F*0880^{pG)^k~E<;8O$gy|pF+UQi$cefxoMwr}TRde`4{GsUvP^qjB}u%=Oj z$H}!Rbk{_iL%7=jMADsc-whD(P7x_!Uq5kPd;(kzB9V}$o8QJ1-~}mBlcDM;H6C7> z@(DH;>h1>&mqgjINo_gmwig*TasAk*hdR%@=saM+@DUnIHk$ZNq!yc`6OCb zEp78EFe8{pkOBz+b?^v)ct7iRtM&VKPK#n8f%IL0JU#N=8%1ZgO1G>+nXF1gD#(}+A1w=I)l6G? z_}-gw_Bb5~CG3gvbvDk>GS0erhjZMU4v;xo;L!c6b2IY{)*p-xCGdpkSPuo>|G7E- z7DWD7mzagfa~Z-c7lExpKw^AmI~YcE{JA7^c2_-Hi0xtUaH~KgpU(ZqTE*l1Ar6H& zIt5hcrY=hF|1_LRzj`iPy$*6LmV}eWO3e z+@$U9rf`~8>{s!i;M`_E9CIJ>b$^olY^T(;O!;tiuQ3(=*v5W%O5o+!{`-S~2dn`! z%(*g+0>wO&U(So~&3hwgOHs>k>$9y~|2xI}Cmo@<10`X_ z+=3Y?uJeDk$*=p!=;(KK zkHq5byIYSL6VCG}IV9l(KY0wqq7UPh#lpzN9{Bckf=~vN0$vFulww8%Unw#-$`fln z(UISC#v!aYm~cVJYzczhLh@ZxD~I5abC%*;_F9hKOT2ldf|+=EeifDs+a?vZf-rtn zj*8f(F?clhMRW83Zau5-pY!vA=nOx#i^XigU z-NZ9uz60~YLO0AU+H#{c2gtGvh`fLRLod^ufD~a_i>}(^VZnJ-wgDm@p^olRHQvLi zp9sal76EbkjZ|#SySLS^wV$wkZuw}8%sph3v8iq~l)uwyp;OfQeyDT0x8g8;;K|Zv z>=2dr8O@(Ry1Cr5Jgq7ZF1_Doy35^qBAv_QC)gbm#OYz+wPg3f+91&Re{bHqd z&hD!C;H-c2i!d@pi4O5#wfH=g@RKv*X<1oYfuBPY)*5`(slqg-<4@b1+luXZ{_D^= zEQ=&1Rxy(t&gg5aFv$ULa}VV9(sLWb@(%m#*Q+YiAA+KnRii}PR=OlZSvwtZ9E8Q4 z%03U?NHhAjjeg^GHy1}LOV*5tyL7aC?L4+V^pwu?kA54qll=VstzBV{{hEF0T13vl zIV(=WiQg1YmP_lm_^#8?&EFDkzj(@{@_9;_mJ14gt2Cc~yec^_cW$e9JmG zd^{7J5$y3qy_cc>kH>uPQ%NtS`o*{1pVnvy*$Y1{nx6CPkKV7XdsjFeEPDIVetT!D zCH(5W$~VaySenB}-){xTS3l;8Dn9xhdlx+TegE+7mN-_Ta*&C{2$7*e zeE0T2tfRz8DfvReynP868K0M|D;YG-NRE5}KWa#Khe+Z&VM+2diqtlbM8-(rn|Y&- z4hbx9k5O__xsHkx2(%CSSx zPhMZDgqReipsnN3Wqaeg*Smf|yi6IFM6g@}TxCysQ2rL5`-GWZiCvYXlU+QgdtE}^ zD)$Ki5u0c1WYWSxkXN@{Lh^!1;O*cF;uc4l0v}^?ToF;=Ehav`R2F{9prL3f zOZ9TF49E;k(jyt9$xDSZ|8}ZvS7#(@1lZH#`f|>=DndfwVEJv|LJRx-*e_LKKm(^- zFZKbnNzrm(Dj$yOTqz{fEeMA2ofRoxKx2;sGZi-?3g0u4LP+Hq(=&8)%P&b^*m5L( z-BHWHVT3>>IT@Lbf?ipA#6pEII5Q3v1ZPX=r+upAN45d_^70h9Em<5BY_r*!C1eRc zj;fzI)L*b$L$cr_4yn*2lXxWR6H%=j^`Z~eBkfgXfx7sqerMz}-7HubKOk{xp z+Cqw(eAp;&J4wEhjo77%XegIwZB$#Rv!M;-2ED3TG!_Vys|c+%d4?OTA@+5#>ew=j zfhZ~km6A(b8NOrt%45xN-Ij7Zj$1tJGC}9efYke*K%k&C{+q0~!1KHpFH>*E-z&~Y zB!OR^(lp?{pb;Tm#aMIT=M&0n;pbgR15g?hf_#?U_jxX*!wdrX+|CaS=4)T;sgx{e6oiPGmK$`Ke8+GgD!i z8QEl6TJ*D#*cfA3kwOW}QjRFq@kGA4SUHcAKe53wT=?jkz@5s*i6|aUw~1z{@;g&t zITnLF=DgYaEfe*J(iA~YoG+oRDP>WX;Y=DyxOtt68Ncvba^9!2ex`fD7QHP0%)6K% zcgkQKS|tC}CBz1mirmQa8BO%tvymY>FlJr)<4(nE`iBGkH z-uxdYNP0(9japIgM5*Q?H_%S= zCwmm~N%a&%hyZDK&jo}tx@J(R$(9)T`{~4Xw&KU@edQNQrmZvFHbhzR{*?9ZaUJ4- zKhsah;PPYm4+OJ`M71mGkf@)L^oYJ zwraxC_~YZM#g}IzyiGs0`><_i#dsTG;Lv>R9miHn1len+z0(%*G$|oyp>$fVuq$MY zKg@-gRu$qT78&=(T1Rv^V>%(2$lX7}CI!2SBlQQW+n1j#rnFDsCNiNhXJvw1J0ndB z!@O5XBYuKk8c9d7%h;V2xYjTen9=63*K3`Xkc7ypD|ZeuWj|zsof)Dy#JCE;XKKgq~~4h|6GJX8039S>zql$m^ij zU}~`_xF)ZHRb`lY7_G@#m@rM7dIN~88(UqqiD0l)U)Y;G=;s=ZZU}k+YKcmbNjI!mX(tI*;HN! znKqyVlCl$4LsHcuYTB4He(wVtFg;^27n{OxW5L@lgGIZ=BQ=BYhSBy)OoLRoPU;xv zMK?!tSX?Kz(^!~BB_@wLl^+F`r)LQ&rP;`JXiB@a4!74(Hd0$nK2IA{t*|_brrdEX zOtYP~K}RZgVK6!xS6zF|d9O9;524*zx2zzRSEa~IOgP_4tGXkGYa!OV6xr>`F!h5W z_;py(N!h`2wFWPSBSHwvr@{~}tnSw&`!>>*oefJ{y(kKH~Np??J8SP%2Ysm%kYY57!~oP-VMz{`)q`m(VTtFc{`!?kf| zG{En-lHey{8U@-ybwhY=CK#g5#OJ94FQ-1)6%%__hI_Au>43H2&!}F4wE%f=lT6%X zPR;QXkiZ=aH8taSOXWMGUVT4W%eB%^e4mC&IE#)-g(t!pJ-hwTD$wS0;bRz89<%vI zksTr7Mvgk7>*3U1LC)9ZP=OA=DI^Mw}%;4ch%j)?x+05^; zaqnYau}3hg@xLsbd%G58)-d;FLj52Y{31wmsAvqSFoZ~p5}pC4Et!;(d$9-#e)v+& z&H?;DHYF5QSTZq%C!|k0vm^6ut>azEr^0bn9=&G@17pOV&Fw~5oZsK``{k(*M5zpC z6L|?r)+T62&0Fb`T5*0D*p8A!XU7Yree7S_x)%#I8)XRppcbxQze21RPAg&ZxWhA5 z;X)!voq5OPvq#J)1ug@*9hO}9eDFh9+!k|q4f@eZ^l%_j<0C5!O8l;^*Mkj}J1 z&h!1r?PQb`Avk%jL+kYU^p@sf0xJub5(eS23-i9IuK4xxtr9hYFIJt$SX-7qr(#_Hf}RM6zJbM* zuE~VUd9}sPq{VKn(QEDAc#X$-t>Z=EVwY)uQFhO;Y3C!A^Fz~)d((b=v$No}0n*jM z@A*UeW~@yk&8W~%3|J4#`eB#Zgb@9t(E8M8v%xsCq4#SuJ+Mz{W-crn!}uE`0V@mo z8^Pb#XT3JMzstPM+gQ_hv^Ko4(UVoQzfrllA-93?Wjow>hULrJuZ>;(F9*S^`(75+ zE?>T-SwzQuIc&A)6!>!dXnpVVmme<}PBAv$;BTG}TlBMR(oI-gh&{*3UJo^YzPds7 zl9~QFM{01{=H2k-pU<23`lOhj>jZNfLbeTM-6j&=CRW@gF|Z=a-x39b{~=yt2e1Qt(3S!J zm3S%qlID*;O1z{HhGeCh@@Xs?O@RGJSgA?`jaD^tm5${|D%W3OrSp4}*+Pe{L*qZU zK4nPwqr^*>w&f*R(b=)eya)37s%n8m1`x-E8lz@Ln(|bq$wGz>47+T-nw4h9c?;X4 z!W4Ow4(-z(t6SD;jOFRkhRd_9@+edVdd<|F_C}i+Vm6h9l@yNV%vB1B z#L|;S*@1kym=SPF6R;DVO~u35f^#y4Mf`fpR2XR(A1m{x6mpke! zsn>fyi3NMWy;Ja*?@e&&&rzkb;=d#fV9$X(6`P^`&{D7_w9%XV8L@07!%ND6t0Z$H z-;Bi&2pvCm6t&`hq4dLhP_ZU*VIV~@LU3@2VSNMBMz%cjz$#jrNFmLEigZU;EmZlk z#9ij7)mFA!Lk|u!DIOz_tfAoIab`#gr|4OX3ZZtq%JRJxJRG- zl$F@beLN0&|F(XXpt2-hfmP|zuLX%E-@V!I%=pbcw?j;c;#bldzn1kA#53#m)6IW( zPnIprWJ(V|5?Lk8Q*Yj2o2IH=^;tsVGD+$@6TI5;d`6-2~~RZ~h75lACJ23gFVZ+oM`0>3QNJ-n|ZK9Co+*adYHdyX+{~ zHeC9dy3C$bs=#*NsgUG3h*&;$Tqtkt2`H8#JpTD%Eek~BIvL8rDPpF@B8Fb2=trf_Dt`l_u4UFS+dagPC32-pbIJi4KT{_kr0xZctgs=@25Gp)j!fx`+K04VI&}`7JNyD>`M! zs0QL?fhia>>r&S2T=5mD41)ra?uw91*e)=9auH;{oG>p|8Y-9dyfaxjagcI0HH&uYt0*~`oM%oH#n0` zqdldJ?uZwylJHX0rzU8Y|4{{FY-P|T2Vv6?+Ok`Oz!!!|pZidv_Hn&O*iF%1%_uD=`zks?TS7|>q-h5G!cFUWo?YPsi>_5F)9vO z?wID!q1YxOfp;KS?fi)XK$fve2C9eA+@eN^Y>f1P`*8>!9)=#=IAM55a z2GP}l??Bd1qhn8p*fkrY4RftS!%ktWYUB4LvLC&img#XlgU(h-pKxAZk47JwqfG1F zTxP+H{c26g8B=?#Y?KU-HFIy@(qMd_tqDY@+`wS8e2l3lk3)b6l4h4ii&o#7a{LeR zk|22)l0=H}r!?=Dy^qxjT6_#3V`Dhzss9REK)EtUUo4swa)p6XxuuwV`an^_ZPT_X*h9~rIOkl}or-(5Ba;u} z5@k;rYd7~3;6ab*aRQds*%@V@;GT!YtF<*{OrO|uUdTZj`oL*Hko9eL=3o=1G2#M7a!Pl6#^J{-%0!!eWG{6%6QIILLD-@|Z}M4R z0xR}}pb)B`;NBz-nK9zZM)FJup`j0?0U&?c$D-R#0;3>`(1{SVqDu~rU}Rtd>EQLs zXqud3yYkVi8$rVc0tp%kGI_BTE4f|UiJnkUd9p#O8mPMYEE?S+>Cxz6x1!j7%aGGV z?9{W!kmWbT!9GP$O5piB>T3cXBaZVufWR_IB@vuKhZP_MEzrjP92Cs}ji$~Zg)fEo z$wD$MA@4+}+jamQ?etMfkJTAsSk7Z)8+}IF=^KooF``tL+Hea8>M}>_p-Q4QIAm#y zY#GkkhQ=7-@Ge0o&afzMVjFN^Nw@Y5D#r-fV}DMJI{!+{ec9mlkOHB(cg~1dTq>iXd6m1LfqWZoN<$#zRLw114l+5k&{Hd^L?ISxmH?^XWN z@=L-0rse;~I9xcKLabJ8Hr`bBpV|F?)AFy6H&>vt`~RlpubeGWPT@4K<_r5PyFbG6 zKeGFqol#nT7fmk9!M|zwjp`leU$Q71rLKJ-_>v#ZbwyI$<$c_wKl$NQ*YENHn-1@q zcB>ywjKqyyuHPM%g$l5$i=EpJBVjII%vuUiT7Fs|vW%j*sQbZxn79iOjmpDuTl=hRaurQtQ@((hcV*JbPsVwhdgi976+$*r(cb22*449 zPcO{$*li;Tet#`?f9iZ#mT6yoSf2al=&+(Ng7c`dG~M~Asf^fZ-$%#weVAM)4MV7LxN(dXH4aY+AEU-$#Yqy&$a?{G=DBqF1nJng zP>nWbG(|+-R(#8g;w+XcEnxynUDP;CKt9QuHT1V}*kz~fRMf5RBjpP&o(}-5lha-# zSuM1+4-@ncAP%E3pm2$X0wM@N3;L%AQGhJ~5P*()fCC^F(=Hzi4h{OJ@(DM9BY+nz z@xKP}|7AuA*5Oz5Ep{&%VS~we{8@J2O^IQD_ICh3k_%^4X#T36Bjl34+9ANkk;VIW z0H+--Y?w|6Ry`}%F8T5d=T{}Fe4^R82b|_SU$4`n+Vi2c7PX(7eK4JDdmq~R3R#w? z_My%k{^Dm-T+Pz^FI^}z3Xg=a>vo+k7RrpWyuUq~m?8XsH>1#LbhaGMS3aw;nC?WC zPc+y}=4*7deP3&Tef(v*>%-}0Unnm9|6u^P({TO`z?JZJBgtO}B?-|bIx^uTx`O@k z#JZx1B|z>@aET)kNCgdpilhn+1O3-Lp&23N;a-a7gArM(j(DN%b0hnzvQ$%!amE-` zoJ&H<^UGbPjC|i4yG-{qU)Jp0j!Nbn)!SV{Nss=+tlZbED+zh(M;r%*VPwt+MR3;Y zgW_1>ql1z}Mb5+0RD=Hwz!+b#kIakX{{di}EsHv5Hw+gPfDN4A8*Z3r7q*wnYjGCH zhazfws!QQ8>_Zb2fG^sVn-wK@`uGtBF5g?1?I(>*FA+?!Evpu(-!d=XzSd~pNnd@` z$-dvg^H2LZ<8g%<(`#X7!@`N*YKY!qOztz8p#f^hKfntItOG!(HvmiwI23b(xfOY%zha9BJ&Y z|JIbE6?J)VPpv9=&{Zg(!gYur~apab$H{omI;O8 zn_*HN`Tijyb@^>+Vsxi5tH=cC)((i+7G{G<3>Hk4dT0O}W6@3>*kB4jgqFl7;FlFe z#E5MrJdu5`Txz9Am&F{fQTL14##U^>7R zBOKpyJr|w6<@tQA`j-Fp_u;pKAWY7G39N;St>_1FW|Kf&z3<;ef`!M_5y0d|U#C*zfT zyD14U5x>34^QhsJzq6xSOp$C-w#qYmjch@+!-c36y{U}9FYoeRM?W~sqgxK=Dzr~o z0-Rg^s^)1Hek-0UNW=t+9bd|{`78}guL;+0{AJZ6 z#ZBj3stiF{^|)snc1Kky{|l?${}jOeeR*#;`x_lbX8sc$B8q{qXyqL{q6K9X9qv{B zjSgo_1q{k}6UBdD+nCAder1BgZrKr1mqYUju_~Hv%qf}!EG%jI{H(KXH2mhPQ{!M28f9zZTO=kZ|W&qS{1dZ`u3Fv4n8G83WppY}`{oX{TfPYVI zN3%m`fn3a|318Hih`3sb#dLPr(PD#5%-cs@Z7*6rygsH=@kgDB#0KNi^Q58{N|Pim zsW1K=KWC;3)JACnI)9CRu6I$&4d}Y+-RO-$j#3A9-?Z<~)EMRjO1`=hUIX5KeV@n?h;`4&-4$-r+yq=YtF+l1W zL6n(^${1uYBNPhY0DhyyNWciZD9mG4RR0~0>WFm|s8JLV$?>pf9qU(gP!hmLH=Z3w z-jQmMNQM)pA^*hUYb>x)u%#GyN;6a<&5Idsl^~5azMsHwd%&FH-552?3VzWPlPoXZ zFd?6{Pv>RBPzA{wOnC9)G~?#-TlZZ zkKj7UB#3!OVfD$r1>j)juVCojBh`6URYLHvBR5tfj|YI&UPRWE#cKG=>Guccn{b z9|RvwV)XAEkE*Jmv)b^?61y;ufLofSHP!S~P}j98h{q}G(eBK(1TFE*#*tv6GFx(6 z&HkS~AuQ2i^BgIH@;ipH{byCkFo6vM<+(PQ^2@KuOOHPJvB@A9X{-Se|lU&LKD>%=q>d$IC2AGQg2(KTdx#&TX)Sp?p|lYn+|r_%a&g7M5% z4gp=jNpO~JY?7JAttw;r57G7*pQj6UZz8LOCA*${Cu+kld*BIJ;U<#oIaMDRtCqrl z{OxDRBX6Hq5 zs(ZaAuu3fl+a(}_QSTeTirxAhnct)oMG@Q)FDxvr+VB)c)KjEBj+Qov5YPRV@~-=g zx>9!pQ^Jrr*fo(sD%VmO8M2ow4`O4>IZFVKiX`GEAFF-0fu(tT1$5(ssUy$KzQtY> zV2#-N;T#gPT(ssD!IixU#-7V0!L}|IZ*|hh^@?m zkR8d0YaKWZ1KB2sA3Ot<5As^2{8GIiBs-=I4K*6+;!Lg8YPY3;I@#tuoD(o9@=!0fiqybciU41#%4?z`!^a|6M%|fZ+WFXmgG|Ch#@Q1=#CoA;rA)MXkmo<* z*|}F|2Pi~)=duz*^=xw=3GEQcFz={z;)YRS5vkuJjx#&dEc78Bl*~ zI4=&hDP@=d?KtvLi5LuWK>}xpR~ZQf6gyj%rob>iXv9o0LLz5f4NyRthN${B&SM>SuGQL-<7a-?pJRlbu1M|5*<5#!L6eWvh$q;3B|~oiJ_cd z7l&4RkW&}RO8gFYRL_>kI5?c;{a$Ejrj9mn6PqupGPvTFmK~_Sse8u#!zPBwd_npH z+mfWl8;s@+PkeoDAd{wdhC~5hR7Ur~_X(f*$u9{lS3SDMkKcalQodci(!QELRsS{l z{N(pl?-z`QpbCjCbSXq1__t{Yxhv5P|Nnl+{iz{BWNMqh|9TKc&4Q$vsQ{cQOrDBp_6rcx-ogQLH-&U@pS z40%h3*V)v3uXAEU$hUG}@jEN$dys=a_2hKpNw6TU<2$hJ8e!OZkD6==|0&Z_NBp$Z zM?5FlK~vhR2JiS9GeNky543Q_(;y{vMaRnumsj+ z9xI=WD7;p)B{^E6O_AY78bUa3&X`1cQ`(L9enF`Bb|itAq$=u;yJlsW<4;=&8q=v+ zhO`K2i55G}85&kSkkVhJ51z9ZnE+4t1!-NWzp-uthwXYSTt(J_P&Skd|M-i2H~ zT#sozJ%w8PVO@uuMHIwsKIpjem~LYmWQP3yFmwMyY5Q)Auorn2l9)9cWuJ~(C4_-sCesLnj}^H2h59KqR;r|ghh2;rOZ7x!mj zYGYwq@NiY1aOvf6i}rAEaJboWI9`&=M{S7eSeTk3lQ=~2u{mu= z5Wh7FSjB{Ew|UMgu|AZ$3(UGb(j||{glm==ERo4hq&rC{nO!fRg!@wY=+77Jd7-pd?!PMh(0(m!s>h->%vj}3`{g|3pOv$oKX-){5Az<_lm+xTh1q!%=T#J*i?_&ID}9wZMLnX zH(R-Xw(-7?7o!}te96TQ+UAw+x}R+nVv5CiW(7JL3R^mg9)%FV2U&QEB;M+Cd`95C zG$FefmadT(fh84pP!gp{=ky|_b2igH2Umk||D- zlMDqN^i*@EA@4m?%1ZldmN693(Nu?+Y%vrFz4~%`?I2)J z#+Hua7DMVE(GVfXX&_ZRJsfz5MXOzeHuS7*zLWf4nsh7IS_}5 zCMEy3I0O~2AR<7#g8WG+ZdV6j#JilRAtfsK9t}D1G`u_m=G`_2h(XNvh!*G21Nb42 z-1vTGwP@+o7y-(xcZhm#480f{GCQHxDa6)t3g8^6(3D0!E^4S6E6SZePRi69CCwg^ zPheS*KZt>f6nTi|yAp$Zx@{eKR?RWd#IM7U7cIbYK`#u`71+iM`mAc&3E{5JE32;S z?JvjB!6eWIMO4>)1~sG0d;kW2;6t#%pc0EeF_duIk+%$J3hmqWCMh*awGvs{U2Uym zm^U!S64-l!t;U-aNdh-azP>t<{tW!!4iFy}H8qWoTZ`!gCXWDS{|$i+q>7i3Q7eW| zGKQ2xw<`$A&>X8Hxk%+!D4S2(35=B`6x#g|FJCq2-*Mn9gl@&2s;6?tz*xx>8A^648%yjAB;XovVscY z2*Q-RCHn3JBfZEu4K0wHMK?^rf1)?gc8<000_o-uyawjVL1+X3MZhEugz5X(BCdO5 zh>CQMP@#%(aLb0c*~7Ln+1nf}MZU_IJa7*2)77WhxJ7uelx%j2K> z1Q|8TjEvs9h#*lTA`b!E6Dr`t_(^0B)nca&e}}HyysiHoOPpi{~}b(SqLP;AvyhUv1dm zlL5*ge=twKyt4f~D~pFwrU9rxGh*&Nc7-khc9C~~ojr%1nm01Wat}r%w`e&Vm#6U4 z5-LBDbkLys+1kK)LT7P8@8^U8%cPB9SbVtO6TGtvDT+HyxxqEz1Xa=S6XCj`JjA`hh$o0_UC6 zF%|1R9rGFBnFk@)6p7b`AcY_vpQkcD&v>#-r`60R#Lqw($nJdvwDG1I6geJy6ION1 zRWHuH08!Pl%-8*dGz!hvTg=x!nXj^V%1{o$1?tXyn};0C_gXCU3oTII3ZDB22>E$W z_!Ho5$Nb_o$nX>DohV51Pc~yHAsB_zG&elOIb8(?;;i{zYDBSJf#PjU*i>qaDM@WqsSMc8xJ2YU3lSL zVPBEXUzhD%zp=D_^Vj;m`w9~~L@9p-zhQ->2=CCHh6RhKZ9;h`BHoJaD?;NS#(o z5*zh$J@L(A*gAfm#?NRO?%>dNamO`o(1w)Q^D!%3TmOf|e8zx$-=LAG)L+z36QWtZ zrA^MHXj^P;`fm{jP{#gJ725P6aSUIIW4oX6Dc#$zy}#%+pQ)~+t)7(c!zMa_)JN?T zZ%rv0;X7_&{q_ZtH4KN_)!?hgqC0fsJC7NXBrO{zNPG^!~b@JKS+}q4vvYRKo7k7u|y|C+VK~`Fr?x*^i%2 z026Hh%L(}J_p&PYk5p|dN!+(O_Xyvo(iB*M+1$cL_G@n)#8PcD-^up*xkvo|U?*z= zul#_B{vh(^;aNfwUHqXv%aPcH!jbs>Bgx<+>4GEKw?{XYk8WNZ!P$XERmBY6(PxywKguzowc6;$JT|Fo`09#RpEspe zNqFLE{v|~7-T6`dX0i{bjTF0n8o%9;t-krqU1+H8i>HR74r_N_5WexnQ$?+P^?dxz z$CCz8ciPHux^?*N{<0gL&-YoCYg!YhD-D`K1*tjFcXdX2*1v+^b)QB*{BEIQW>xy$ zbeYv6}Y zA{|rs35JsO?8AttNC_;&Q!W7HSM%6Zd!_i5eyE9^@~x^!%<{w^kz|P!k8+Vza+A(@ z(o8k#JFU?mymaD?wY9Ug0ITpqV9>=ckjn2sPB55L{M5_3FcOTG3Fk}ZR7;?fe@eh; zxS^3u#6m&6ftqazjUZAp=Swcqe8z1gQ7z*|r5BFSlZ_6)wOOdcLabS=Zs@FmXfpgF zKw`}Py6m?4uNNQ2@osy74b`+?@7r)F_K;*Zn~7fQRwj8y%1!>F9A!dGe)Gnbj)7K! z>-aB1X6fe$J>h9m@vLS8PG9T$vZXQOA{si8#+r9p6R7lwBZ(3OxcQ51GmVKmCj}Vx zixr!?e_j2EDpP(}bwPNc9s9=V+M7i4&Id^XA2#Oc=sFOB(8{7$l%R)qju{$&M)~sO zFY_$kOqNDbbVNMHGM6ZKTk)34d|&&XJUz-~IlT2l$L(z^M?g}At)h;5I*niTtIry- zYR@&m*7mRQE_`;`Hwk(vIZEk`lbYUzg}E^%dd*X0?0`8Fl&D_9-YK+Gbk{K=Y?28& zT+Pg#GR_IK_RAoIb1FsjscWJ+ngV`saFRn7LT3!7|=)eclBkGkf-HET0BVLFLLDw+d(It?y__eR@dDM9k_;WIhj; z7!*%n`W$YIthKgF4(L&pu7`2WB2)C2TmlN6Qzz959V~5~leILfoafX#A8x%fVtJu5 zAI==do#THcZEMz%=9O`gxaXOEQ6_({whi|cGwzBg`tQA=PVF6rZ6*NSeY330J3AcO z)MD!ION3U%FP6eNV}#nObTm&2)#-x>)Pm9y26u`#e%3APJa))_6`cD}HbtE^hC8!o z98bIIiE zvcoh5u8dK=o)6`tD`*dL<8pUN(LKDw=br#)JJ%q78nYPcmS6ty(|zT!&f+)fF;BnY zbu5$79Je~oSz_bVZ*$%~D4^Mr%z#a#Z{Lgh9>xE(nKRGyeQ55wk+D-mmT9y8eQ?DL zH&YX&vB>3uV`Kfkq@Nn4j*iU}_Gc>1wT>~>9~_)L?=e4MPO79C^pwk^i581}(Aeu| z7wRj^qMt&|L9EmLlw>vnSc((L`wil)?G)l{tzUL8<4FQnYJmoGm_QYZW)+`tq=OjgP_3V$c}n!4t$IX{2i48is0(1OB;usmRw zjZ#2cYqgMYH2xrwd~>pXQpYX!lS2&?F~z1#<8_*6P;#ZUKI*K|>$jfAL~vOMwAGi| z#DG!#5^H6{EpD7K_=Efs-kX4;wO&SVW{tan(uR?|Zf@X#D+vVDH5ScD4{TWmgm2<0 zKyA{}I$Q_rWzS*?(~Y%8i(RkXY>1OSH z!d6mr`jE7V`#cA&h|7?OsSqtZHrNpsoS%GhkjN2G6jw~p$hU#wy`rx>@cBF??H=>z z$_I+kB#xqS7R-n2DmT)_=;@vXhtqMi!E1{%p&wE0%3g6vfxLL8kWp(e5ve zAhc#^M;uOg(CT~=&s+yie-|ciD=-3Ly8v!* zUVS!rO)@>Y=p552ZtC;Pem^m_n#Emyc8K!WC*To}{d0KMi~Fpwq$Xxzwvt(lry6%I zRsZVQt7k(#zXLfx-kp8+KA6a_kWk)9>B<~7N>a3#uER-9YHl{uQe7E{2(N6Xk0DRku4_?zGHJ)TYo_3*N#1tZ_{c{tIUtt8P<$Le>_`8^B%taDbye%{uoT+ecHnU ziIP@XSi6$h3g^@FjXCxkcCwh}Q`F`#OPvYs|ttGGYy7muz!4C&*g%6(vw{Nn( z{XU@D=o97Hz6SognE1avRr+s#V1;J|fC5Nxm%>_rJ<`8tCs=m{|9P(dJ3B$TA^$J= z@gVLXGtv)I{FmOMEbKBn;Zkp*pZj+?hd%D*R|KH=w`+J*z-GOuFMO{H2!L>~4sHS# zTReBRoEJ3S7pfUqet$1OSYyD9MN}xkhhW>BiE(O!{rAXDHtP!(_LvYd>exNT{EE$qn%%Guzalp zz6;cO`)2hub%$%6!{Ql_&a)=hIj?UQ{v$<++If*~zqa^vOhoMm>i8-19yP#~n=%*8 z?#3f5057H4K`@L4kX354u*cl@L-FQKBsYaEf9mZmE~ZrU{&NOUllBgJ}D)=|8Y zFAHe`$%06-W#+_v<3;<$X>=t<1#QuC%M~HCfEU;vkmQz$3`E|@nk!y>k~t70-mf!5 zOl-fqmZG&FIFqSn!q$UmsH|uy2=>kzR++>6 za^p_vC?Ab(N%zEkST`p(iH;gE=_@(-3BCG{>Sm&^lr;zcQQdsLsX+82uD;{AlkRV~%9mfF zB3||1zrwzDXyNOIy$Nv|)TO3no%?RrI4hrcn9YhE71m z)_4Vi$-%YFeS5lIk@w5FG)|Ynq}dXQ#OX3ZeN8WZ>Yji5lGB&^?Ph{`+tD=I_3){l zyszsgsu!*;dM9Tmds!C1ix!H`cBjM5@u<3*&L?&!U;ZI1`hL8%xXgB%_w*NlwQM;U zk3MiJgoxLKK8#FqfDQpx&<;?QMz%ExJhZ=aPM$Q7$W8Ozm> zwHC+qfp{HBWPdoyJBzJY*Vv<_olM}*Hi3kt>u_@?U1g0~g`eG0!YXKSR$8ag{T$bU z83swm2r!Ht=_S&BP-jm!Rm;*+qYX2C9)%3&F%So;Hf}~1xHYeF$3cz#$oUn+CRjUdioc~W@(Z&C&u;}_{ zoX-BYF5^;X|D|`K#nt~2ZR&woxNxu)gL;0!NURWOt-^9zVhnBOP&4UF!Y_^5n6oO?Fb|NalyUh z#!ht_uID*by%&Ah29DgThKY}=)*--=dUDwHF`X7WuoQmLQM`0IJ#1oUT;YqaGi1QR+YX{F2SO zV`^P`|LlZaW>5Z6r|XDEZufCZm( zQJ|pnVj^(;J&K8>M0~T25b!_&{#*4oZ#!&h!Wh&OM;yCitqc%Xxmf`TDz!26gU{+HV7Vk~7rFa4Xus%({_yRV+A4adD zCF1|`4JVN6G+yNfRV=VeMZm*JWz7`DU^(Y5c`i~)drf`r6fQ^-R zjH~?n$9Vjhb!JCm0Js&8rSdeN6wn%X7Z+5Hdq@^5ECNvl)%b+9TW{|}C73t%@bprM z1U-`D?vp4pVh8%Aev#m|vV_#*fl&_BH-reOGDDvU5vXA?g6@{$d)DIku7i8W{3mI zhQ0x^BvR{y=ZLebpJ77 zKtU?N%pt2t(QpnBv568w5Kb&xTLkhoPkER$9w}a5L}4$@#WWcbDHeN>;8}rsz^tLF zd;Ou|@}^}0GXyMu3D4Jad%mlFro)sVC?raFQO%)!;C7$OTFXEeT4G-%QVJ% z`E`?vkD9D#$8WwRn3p2N7kc^k9mN2^4&ViJ{y7<>_X~gsg3I`*q(a4T5SNxVaxcDggU4?K@LeAd7!y1b>Vh2m{l~TeZ0i5f+&7_(2EAb?*y(aB}YUIR7TfeR! zqNOMXumd`JH)2TvC3qn1Rb1`o?DXJM6~P7|?&CzAW`^BoGmrbuZ|{_q>VEs|>S4?N zer9p*NU?i5w-@E@IQoU*W#ZeH$I9E)Ep z0i&T~y3{?CGkqrsJ`oI#R8bEkj1Zuqg|GUe63x(IYwDkP7S^75qPX9kkbC6ti)my zZ8N|cR-Y2DTh-BLsVuDZkux6rY0x155kAwFB{>ySVIkts)TlU!H`}o&jbrX^A%p5% zMM>hX%DW|*mQ@wXQ8wG~Ob(@*w zj#XQ&v5R*3l>Lr&_^UEOT_f>J$*EqlA<^&2z!<3dUT#NvAKU_IRH2mJl&%NMZne{R zXw4^-V05>T2)!2JCqF=v_}i%g#gwK$g6QaIbIFq0W4F)8M z0o0k@z$0Ax%|~bjeRHu$HjM3kcx41(5%aD<{&{*@dj($scaEBz8kjwTlsE(?;Q5>BCOa-l`8md7$Vut-tx ztTTeK+bZ&c{#jB^HR8TpjGZ_-3T};j&wzomU8g&&d%Hr#WW1m%a`=&gI*6F(C)12X zu64GGR=lfmPn@iA%-aEp1n-dD^xWfty=}=ze$x%0MP&rfaRZ! zk8hvtcWxfHlNT;G5C5%V?f@1~G8U))^n)kPtHtKrRC42MEY*w_)w{`E>0>pNLH?;r zh0pgnB2vP!vH8DkeBhtzUwJ3XBQ%)A{&%$MWzg8ME;Brna|3nhF>FwToRqVs$sRcb~JrpSsR!=GS#Fi9hQ4LY3+n zxb*lecymU5QL)paMCUdTrwI?5gFndCIW_$@A4|9+Ci%3eO4WVlUbedC8o-Gd%RL##bXI_W9r6C(!4%tcY2H zKFvz=yYOC1cd`=YWL^Da%8+sI87W(~2hQv+lQPQ+EZ^2ltu6G1q(n!2Zl6E9_<%q9 zUD6irsgp2W8iKjrw0ju$9BXxPgt>nwRKT3g*jqV~L-SXCHm>5DbS^6nmt0G zuR<0i=FFdCWuN!CAjL2$Mj-Ja3g0|3&e}DU)T~Z!lJ|@XFkXDd2>}!DvpUjaqfcvy z)7kRMx$1fN^i>Tu&D$3nm8r~?AUW2$djv;}Kc+Bx}QNS$8+mGa) zh6-V27c@#J#E*^DxpV~IFpPhZI!3O+1sN3kbzwscP1+(|vOP7kR~Z99>(^;^BpTTm zBab8|jcJ-&c!O0aht`ot7;gu13V*ezA@}heGMsYfuaoyn9}75M^q;l$pED_AzKP*7 zDSyLF3Cq7SDODIReJmL7;%wb6Gbwp5KKd{j+9<56)sKrzij|; zJ{CK-t1g#{VeF-?TTKcslhSg@g}obH-zh`wmkYMi1_jeG860ob^*vc!f;c0^(ra2A4tP2=So@gg7 z+i`#Saod&VEup-@9@WAMc^yiC$_)$b=WW<2+Yv-VwZN3kLJeT<!kY)4P-H&Ns6(rvs=n3@QvHSTkETN*-aj&uRVyg_f-XNu*Cev7!mykCjcW(kyxP$9Qz?$pY1G%<^5Q9=OfQ{r5e<9MFK<1El`!Re|=u^K)5q zQ3n4dKlid%k$egjKhI$*V z*Phd{#XoqDZAJsOnl*j*Mdsg@>Bdw&b_CypC9752JaP1@=q_Kc6)O3*7fR)JoRKZ( zJjG%5QUI^D??Jk=UQEFBFJR$xw0_&p)}$&!Rt>NNkP!V-GT@-AAHk*ouxj9dhT@ny;cvMtnjX~a<=h~>lr+3 zS@Egw!_kXdNrgl=Y&Xop-{sF z5+AcF!AQ-*jVL7dj;$3L-_(BvORiHqTE3$_`CZ6h!5kqdKdo{!qW?y)ci>kpc7Kn{FmO zH;6yNNUak@B&czI-$kK-y*W7 z969{Ik|6zm*R*DmRERJ;QuspEmnUF{8&Gi-}|{?X-;4l`N88} zd66hcWv88zPp-D|vt=`te1HIr2w*WXdkaX(&9N){J)zn2?E%pZ_cBev>kh9-)q90d z1RVEXbggrmi>mIe&DI0yZ+KM$AIc_;%H1~mwEm7J;&BC>w;Jj%PhhQ%bg_3~XP~u3f6?>iYF}Eyj=KC^K>QK)~>fInZ7{(qu0DmSS^PI!^n?cWQzDb zmkA_O(TCNe#V#Ap;S0k1mL(^$?MAt0iYa2g+~RG=Dc>#|PH$b<`4OgA_F@UUJzLFx z*>8Gq1NiZ?!4^TQ?^45K`tNyU=StmitG@=<HGJ`;yB1H z*?bW1CT+_wJD|=cXb@>$Ps%cV8o758l?>B#_PM^3W^s;#`Fh;{6~)zo<_2EIFR>%O0jPJS~i0bPO2fQAd4F*GICe`3pl zbMOdFrRcCar<%}^vasyOs6M7nL&V)Bxiy#+@;AtC^?Ovq{utHLt(<>E-LvKv;^>Nh zi@I+pK?Ls+jM1EW*!2e=|Ef`T1eXH+c=crirSz^2`7c{VR!1MQX!$MIlAcF-Fu%^D z4X9En7h=-NfhXD!ID_vsrKvSi;oOcn2fU{e?jv6%@$YaJ@jbQFSZky;A%T;J@QyhQ0!~aK?%h5UrWPpu#AQh!TDqNP;7x zpwcr6l*b37E|G9z6s3v`J5qF59Eg!vz|zfo^MelmQ6Lc?E(?VD6I^oHPm(iLS#%vG zFpEVHh1%wRph&S09=M0tY>hC4)k{M!YeT7!P|rfS1YQ^OjseD}m>QSgy*p+|ML>3_ zZvg%3peK1(^GI8C2x^Oj>e;Vxk*jmWqy=7ghLzwZFm52@CNPEkdPNm{Mc~4#BtB&= z?<+`h6wU>boO_%a59_f@)yF~NWNoc2^P_lYcD$GN(IQWbKvfs!To{8LyY*^EDaPh` zxgDK3By^pk3 z|4z04pE^UZ{@+qIqj{H$?f>qw(T<3pV>ibvzsl&me)Xtp*-MJN;8}fu;zp8t-Bit~ zxP1K(^2gKqyDJFpQhv4zl^BaRxUvbul}-C)+4v@iux85vh!?)a##|@S2ipfIAFKpsK|5i2e4b?zyZ5)t9!FQfp9jq z8i(j73Xl&W(0;*j3h`+#<-2Yle!>RS(P*VaaeCT}VTDOSL@99g@%U`C)o0=|;O`xl zFu^+mrWrJ7W#8~@on8xrT0;r;pO0&Y(o6g6#^ZNLvYDU@aYWK1vL7l|{xDVw7W%l1`U%&hDwmyCtXNA(=YsVS4qh7;9{E5>3 z6Qji08~m3uDx*;BpNx_u0nQm!8!2!Z6o6xt!hibwoI zO0?owYjqbnw!T-mHSpWUs z#eG)L{{i~+h5kqA_B3tr=)E1 z=i+Rh<+2SZrv!MZNET|DeX6kOxH!@+0H60bmjD9iw)5(`wI&sgktLYoS8H=yR0V1- z&+BZS`GOi+)ZzpyB2R_{4TozrcPdAhf(WF*Sw-_zZBBZ-)>1KhHI;3W;q;s}Yfhk4PU3J)Qu9D?$ld0AE52LM0jo1?kN5Ra+>!0AA}1>Vpl0FCfK9Ay(p*o zIWW$0mO`)zZG%?mfVwD(#skihY&N(D6%&6f2~M{7f0F`-&+yta zlspV~Rat+~oJA!;!kl`fjqs4txi($7~!(v z9BGS;i3ga_w@k5+H&c~j}nNC&TkN9!Y;ePs{9u=@&FO+(QB6*dL9ww zI!eSNlR$crV%?Vh&PMbE0f7nt57OS=vzlHjbo4&s*8qa@=63UXGy{dsik&tE6pAGP z>I`bj|NL4`L_fc(NSXPozGp=Cb8E3Co4xCVkf@tyIPx`$-gpfzUT1zGfGd1yBVC#Nr$e_Y@Ohr2 z70zy8qi$R{9VK#H{lz|4-N(?Q1DkY0Tn~IL+xr5zY=S7d8L_)g`3Fn#<^%49Vo00| zBQfp7r6)ss=f|kDJZUq}Ki)>&q#~V0%(-agK9w4!wF`eerqsls#D*{T+TjQEUj87- zHQL;bw`(M?rWf9c>a9y-aXaj}AyN#@z(sNQ*=f0w?zC6a z%CMmQ2Y~ntLu#$~?+q8%vAZ99Iq`;3n?gXPY3_{_PuBM7p=O&1tT^XXg+XO8~`U`f`*cPD(GNttp{#X zhT-M16Ru9fDIAi#G4m;k^cg9{LD*2d>YQDbXcUdZe&}_TB63ovE;6#Z@GH5iM6L|o zr?PR<4LvNkD_Wf#_B3 zFMhoO*#}4`W*a6MPLzZmH+4OrdC5b|v-{WfB*6;$GI9^`ndd^Dcc z)>7`&W1`rfAyF$nE0I;!V~oJ1Br`6jt&-mcsv>#kpq)E}5C z5K|(pnzrGp3vcN@JsEzr%O27`!%Xr5Px_14>+nxMfnGBt1G?a1iF~tCCR1Ayeg%M+ z-A*}di_c?fkYT(=D@C1+H}CUexo{=(X-vawdkXreJaNx;ek}4{6$)x8m97|J38#++ zuI#UnwD@-b8VpB#7Ny;W=N2!xJc`bNPoIx)3B%Rkl0nI0u~e}WF^g= z6nUP#q>dAQYrKt?c;<0YWm^tLe+LskYCodHO}~>Kg)I^;9Fqh+s*()r*4)WGCMmuS zYr}G3vH%-CiQ>J|Mj*+Vz^{eXEMr5oN|^daEmbFo6p{P~+{wP=a+Ys`tY;W`Q7h5U z9<*RnFTR<`hN|y-iD|c{5!vltqq;`0IjkHwvdf7U>E69;B9LnX3d`n4%Z29IMpJTQ zBrseP;p5T~zp&%XCi`sBgGpg04^NOBMVITq#>{aKFg;jU0$Fd(CFz=_49lhO3y&Aa zsvHSR&HU9wM)4nEq)t2r$1%8fAdGb76Qg+1NXwo>#T~mN{}~58dnjU&^Zni{l;?DJNy5($ht;VF4|Vv82&h$z z6MK(G^^1O95|ekPuDlcKo}K%IoT_*KpoPO{+{EH@zk1y7OWM49bpg%zRc1`6S}&qgy*2vlwD z0{deTTm-A~UWba*YS?fNDr*wWXeFj@(l7$=BJgS>5Azf>LYkIi(}q){hd$pcTJGGM zl)Su`h58^u!><_ESj6~)uwDi#oFV4Xs%&Bhp^9m1RL`VUuRT5BxO0Px2~*K8v5kAq z8)avfO6ilCJ4gsbm#}{0y8!ZT4@@THY#zHqIwH6^=oSJw1i=~r(d|bl9`RFjGZ7KhGLG<&g&UtCGW!N zrazf~Oj(n1n+_wRJHxEDy3Pg(JigLg3irDq+IjEeL|2RJoOJ)hopg5DXOrD`VCBt4 zl1|uqO`5Bc_iiPVwQ2UeI?NMy-f}TZe}LiW@K<=DiFhTvh6-3FxDO0+7k=GH_FnB# zKz*@&bf*4c^>raL%kZg8vnClC;$`0b}?cB*+zL{ie*Y;lPqD5 zgQQBnCsPhEhltx_Z=NF=m50&L9?TOAay>*6V|+vn8_t4ZA2;Gu+7b}w9tv@O(Q%!p zQ9?avDT^AK!cd9NcCu@Zi<$mg{lSOA;Sq66$29D%}YWYMO`(0Zip^9PP_L>lv$i^tgO=yewb;ON`yb*7sLW@Zm`wC0Ukh1L4nN+!U+8XGi4g z;PWF&c{ExKDf68$S9_6iF)u)4Cu^}qb)niK-e~>YkUUbvJHB;|RMB@B%J*b^Sn!Qg zD_W#!Ln-ycu@y{Ps2le`h&sH-mz5t~5PLmdb_B|Vs}U*K!n)Ciacx&auV@SJV8pa% z8g$-|Np<();|^ap4#`KrDot@e>LzS-#OrC-)5Mp?W4|{?LL3&>o@}~iKh+zfDipcWbES!ztdCv7op4(gOojRlveMY6 z3mWVfS^YzwMdO21?AS*6-YJ_kBt@RDF@YWqTr=}wH*#C2r+M~H7HpW5(96yJrd3tP zrO_vGcY{ghd!PJM>R1;7TQ+`vEt8~6oEH_^TKJ8buT;u7S2eUPYY*ew+ikAi zmqBZvHKrnW*BH{D>DcwBBxmN92uqOaIA@5)hT1uBDa4>%QVuePR6erko9Y=w9%jW= zZ;F)gYkKsLWv)E_2#xrDfxffto7=QoE=TxDUwc#RS;ejcjFeF?B7vsxQ|ZSW2cOW7 zWSa}IXg;>CPnhUhqx?Q*J|)GN;gm6>lCN%Cnu@Z9zORfq1^hp#c96c0c|e=@ESLAD zs>^Wn*>SFuo1@09*G8EM#<>i)?G10Q8KisoJR|;mO*D$^{S$islG|Uesgw)o>y1oQ ze4*gGgI6_C?juoc`SYWpD*qj+AZIb#ea<&MSGELoJR< zPH?@ z-Ql^Z*C#LQ<7?a;wddz9=1yLvV4*gR=dK8JNQI zE8a>`OkVqhe4efs3f?U_Ro+_)oTXAGV>l7}LM#jju6^y;DX@d92oNx0sxsV5wn z1Y}+bAr6H0B!Y}UxOCJ}X^0Zbf_0nz?g}wBItq9;n&?j(N*u=ivg&U9tm1Lo_2bhh z$?p9v>GLj7CM+xmpqyw<5kwL=gSg^TkGSfk$c;Y51Lqn;UA%}DvRAkC(YCCV z){!OFqT9D$Fg1lmc4>aTVfl4%xL`8hKerm`C{Tj7MDshr zl_ZL0(TNc9?-c_#)^7PeX$7*JF(`pdiYT8HB8Ww12qqi65m%u-tCWe-ic_Ic3>0`A zJE+$F_WewNW9&D~0L`Ub{+M zhvr=NR-sf{oT;Vu%z(n>!26w{-$KK!iA)9(#rv&*3=|xs<|uryRblL-nWtBvGm0|X z2ZRi#iY#9Z)Ne%UpRd}U9A1m*p@`jQ@*R*rE|dzZ$KAQT!>%9mNNF&diy%EJ)_*A1 zhhFf_-2(fk^^iy!M978%5H5fV);^J62a|db&E6GajhnF_KZ1kext_3W?Sp2hh=dG$ z!o+}5RurWVAm8?Z%>k5pqQo#Sf;K2n5Bjh;;xS3{--B!MAb)Y6frAqFAj)ktQ?QB#?vvVJkxE(<&kC9{L%Op(LPU7TMc)2A95kmMDA|FZ<(q3Roe2s)1Rz73m8Ub?pJDs-D zm0pw~^QVz&)4}R+n)}Ht22-pI);I$+U={SmcyI8N3mNbeqAPlyq% z5s%wVryKK7%|G^kaS+Md1j$ih-au>&2>%0gwQ>pci;VkdsZi7dwdX-G$RoiUbd^oe zc^d8xH%o*fd^```2%ztC(7i0oIG>Jv4@j780!7`q%;bC!6%KF08G&+($omW)pb;&Y zXB6!9Dw~cdN0F04aWudu0CD~oIP$*c01Gq5mYWBPG#2o49X=_x-ZKWcy$L`95f~+- zH;7of+KBfyNgS@#EDQUdcHH~EZ)W7-VGWZp7OI{u9ty+;S&Dq%U@oRae`Mk;KKaI* zdVTCE{`CzQ1JG?;3mgYsaYE>G6T$92?kgbjG@|&HXGzS4NYDjr+XSYQsn^3o zzlyyUog6Zg{6x=iq z3q;s8)wukM^eo@)AZ#Wv&tlHg(+BPc?~ zHp9X6gP2(f*GH(>sb9Fpi!S;%zH=S)9-!%mP?R%p6SJi$hEh6c(L^4mq< z$wx2PrEd}RY#MVdAMGq%&7a*t^Q_*gK76gHdVj3x8daRbQl)&ddP`Hik7w+Z@VxQC z{>{?q*LGpGTW98|*l{xU`NL2d5#vVGnDnU)I$9yfHb5jrm0|F=IMqxJMP; zy3K!oJ7-R$_`J?)d~NKoySV3plXJDX4{JOm4tbd!n(w<^QFwTL!};ZL<_WdB=0b-C zpMwoPWbX{0*L`)3VTW%0zEgka&|Tm9`>3k@wk3~-ow6bI+G@VtVPu0J?%0w8-49)x zoXSUs>myrl--~LH^>y!e@_mV_TB~-SMK!)Etz%2v?J;X;n`#(HYOpsuG9Fu>r+W9% z)ZO=5e&3wxFPhz*FD3s#-Rs`XAm|3W(%KiTciq!jx5E7R z4{IOnX5mg9X_Il(QEO_@u%C5L#{V|8S);63tFu|>RrAh2%{$S)?xYsO zBP|AeS%0vekXdJoMSY8jHXsdZl_s_B|I;E8-0D!)>eSil{HpcfpH{MLo7*2ze2dRl zQJaHqL0YZiib_SL5`tEbm8h!;vZA!$gY_~UK?9j7uBV!%>6pI&W?9GxE-Z`*%Va8C zYePiQkjGyEZ$UBd#Y7ibsH=4A_IO+w2_C%y3mvj-A;J9EP=C?`Z!YvEuU!*=|6v5& zkBT^wkmCo0q_v<^cu+qeLn{Fg%o++;phw9M!Z=c3B~0xrcn=f1NWmlnoo?PfF&rqf zUUYc|THOgO@sKAtP=BDa?i67LfE}g5^Ad1P6xdM!Zkm9L<3KNQbXNEjls^EAwQCDm z0b;n&RF>#68FrM1#*Sl-@}NO16paggZVr@?9((*OX+oPV0Wg0e=FAFco(%Knbz1C? z-J=?w&VC%igZj6KkMoc(7t*&@Wa7BcC$AKic+jH&TJ#(A7!R#kNzDU2!I6>S9C%w5 zESj!8!G%Tfuw`7BY6C2vxm&CWevE~{2cW{K@GV!o!DV<{Qxd*mFLoVwTRU^F559QQ{O8q0jP1VLe=VoQG&003&DZ83kY=)PZ6PL8u9} zaim{v93H?zdad&y>*fp7A zHR|FbawzUOBmfsigSC)VHmFm1B;Y1*>S=`G3DC=B03JfZ$aN!5y#`j8k0Lm7b$E0> z8R?}R62pX*@PHyFEQY$1`Vn)21UEgG8wMyXvteN*G_e(3Ps;*cz{BW;YI>;XBW)b& zxw^}O)ANk%I^qPk=cNhi1P%VVX?BB$3G{; zr*VenIjBoqSgK|44CQ?$2+ImUMzP+98c3Yhc_*)j)Xfrm#`;i0Rs6evSzEyTNyD{( zG7$>!s1;ZVpuR#zM{{AZ2YZXzuo#lo901ow21fyKABzz|)DV&I6{h(WmS@>H6NHJX zhiUGG=UeuA8sN&YOPFc&K!~Wc(Qo0GW%+}nA`XhXuQs$b#X~OiQScA zt_^E$l>ye+XCE|z`AuyfM?^pR4AJq%%?%P)1M;zDtUZvz(jQHns3!L^pUXwQa<;ah z`r_NR>-n}#f)1r3zrHVH-QoB*`PkOIQ0Hm>Z<|?&m*T$fq}}!YQ|rH+T(>_TmO0`i z`^x>u2PgBQ8>^}wA636iY`Cd@u*LtmW4e1i^45Ay>w)f#hEefGP0xF~&faoN{=U-6 znuYvSz2y)-RbQp*aoG26!mXbIG5Mg!0ndB2CmpMf@B1+u=IVIpXOM`yomw+x>Sx4r zkBiUA^IBd?Mc;n={&G0$mbk{E-n%W{>8$+Z$G?XzM;;zNp}6I7)lKTwjhLxBWydxz zyx;1W+X|7eGd@%;Gj-7E=J!~U`d!ByT!Oa_Uafhfio7z{`g1*`_p&U)yAlzznuMdFDjB_ zp8x(e{P)>0CRg!akJgXQ*zFmu^0l>Jb!$xxtzPLL96<}*o8WjbQei&>sIW@LLd~{~ z=@mA~7+tq;6a3;pvV@+Ub8X(Db)K}jjE*Bc!18|$l1YMXt2aPX|2KFQq_e=WFo8s% zgMPy%390CmG{max{~sQu|JnDm$r#onzmCOCS}}lBLKZB(T6c?Br5GdxS}FzI$bi zQaDfZ6Cw9_Z0PY)V9x&CwH=j1LD$b$?zo+5ow8Y8unnP%eBNPia^to?tJptMJF4h|*8f8yv|L_Der9oL z!QlB-xeffDE}E4FKH0@naKYYjaYX zR7_~wiy_zeNB7kHUl?*srU~v?v&-_W2aSdu_=!0J|M$Xf+qEokw*E9Xd(!M})_LF{ zuA(>F^z8WvdzTGn)eyli@?SD>k#&4j+Mm*GODNb5xHyFib+;#!pVu2u1~*me8^M(} za5Bd{z8OhI6;4VDc*jCNu|PuT+fia_vHZ7{T!Wp1FFTC38+*8R~{?n zJ?ds;Si^5VtHyrefs{I?@f|P@p+sz0hLIG_tnWmAwfkE4Dsd5#k9uLdNIb*tAtKx? zcVS4!R?8Bt1{RPPBqik3@-@{g&S*kpCF1B1eDQ8KCLY8_%u#8k zIM*aI7DVK|xPw6soev2Hj?2FczeR*wJqr{U!V=zlsSZ8Ok5f>RS!TY{&)5Q?2}03R zqy({dj(~-Dci!3%bYF`VK9;(GXpBrF8T!IiNY)u!8GTmhcOq9~A~Ej(``yLkB5)8_ zXl>HYg5sLA&*Fo^FA7W&S0@4&4?@^7Y+XL&<=Bc>Anx((&A#R3MrH}s*;4FW2Ay6u zJ$}FIufwTB=YOOr7sl883r)eN04Ya^RT9D%X-9SGkkcE95;nEHyNX@Y>v2NZ-^=!9 z!yr#5%%a3GQiJApx96pqDp4Ckg3R#nZ0U_3iedgMw-xk~+C`5y3{ew+E2JbvZm%LJ zO_!W{QN)vfT(ZvJqz`yT5`k}k%U6BitQC`VBWE)(Z(6S z5fZrvtqa$sLQcTnpIzr{Wh6m z>X&~w-od-^n5MeI6;?murg!W6Z2zce!I0Svcd|ULe3d)o zu=iZv0a5}!6eJ7~y7O;a1ji|HhrJa*5E>;&{^QJunUV1BT34uy2L*&-S_+FY>AUY; z1%zuY)yOmwC2YF6z#xiE#qtS&K{VIbkK5x(* zW+M`v)GII1-jM``T+2p}=;~i>I*I#wLc9VIX5Nc2cGBpJl4a`+%>_bs2Nl z0@L1=W03OY-?oh(@BY*xyNG%Rn(jWwIhHvCcd zBH8ql=5?_8=Ytj=+ww*;O>30_Km8Fwgkjpi?tyOc2hr&szv{#(3L5mi+qcqE1e6I7 z?9UPxRGZ0{f@#S)}QSW}Ow2LtNT&o*nY`eu#tKVGo6T5HukGj>g7$JQE*%WDjzc03XA(R7_ z%^W1|xw~t7RqE;w9NW(P(?XX2wl(3&4AktO9^}j8f3hOK-4EW&kXQh@EC)LCcsP8g`2Vm!rTQ@T68)F>34Ts|yOt z1F{1raBrDd-%ac?(R6}|8Ltp6Kf4v9HiQ``##N`L%#9OD-ADz51dvHem$4}olAb=Hh8D|IGQlnK zuzn7)p5TkO&Yk~zF1E5s!g5?=Ydr&&m}QYB8X79sxSYk>jCrb|?V74Lgphf`I1@LM zAtI(GH$(hftfx41MXoA)W+rEAFp=V+ARVHX`x7`a~fAR2KKfzjjwPq1rBI;BTRYVc|f$%2RO^jP;&}0Q1j5+EhP1mWHlQp1b{A(QPnh5n;pcG4r6jbPAp+< z5UQ4j8ipZ>C}c}Wr8Wq8gedrR1_?7E*MUI6-H2|308 z4D#hbLbPhUSisp~h%X5Utb;~p)Z}N>oPBsQ<)^4Lsjk|o4nh}_p$p-dbz+>lyPxYI zY>*fi#0mq!*q|yWkPI0Fu>?_#00R#IIq<}0PaGRgx+fjiBmuZdi63~kYJlb>+iZ1GhoFD)S?B{l?urN z_vBfiufBj7{ocRdb;2ukGR(W(X7ys6`hm}Pw?5bP#Nx%6LQri$R2xA2xr;kcU)_YE zQ6c+yU<)=h7ZgEkf$yV1-Hv1Sks)(50W1JpTRH;)xW*~JZGHd{zylvuaY$kNs#jnd zYBWz!IYl7#IR&0E$AB*vp-VzFG^O81NAtS9xkfU5@YgQX1 z0Ao#o5MlRA)LL+QI9tm7&;!7+WH_+^K~}R6Zo(vLw=OY#FLVM?B#6@~i4_vO=E(l! zZ@4m3$j1+$IBLfMb6|i3vFCIIm_u~6E%LP?CoZ)>BOVZ|5ac$Aon=1E6^IS#Au2*} z!%j^*kwjW&x42Qf9%`XqYMBPLVLET{Iq;f#qeDLegu5}e?9LrZ4{Ufy7a{ab_6-Og zW<%YFVFN)Gt1m84hfJqUf0%6Oe!kTbz%n?o}5w^6B z`+wLE%N`%Q1T2!gs%WMPQTs&Vap!{(fEBXC+{FQZ-;VQyZw{G>#4Aiep?2cV=dfja}b0nB~dQCEfQ5L*)JoV&Lj+YaoCvBlhkucK_K z{j;j>yRrcOsXoK3gEp&9_GC!>ewV$@QbkmVJpg~e!>$Qn78mlq+F^nUu_MFBNVpM- zy?I0DDNO$c33rfBhSZRXae_G!1rk6)7q%k(D3D-FQ|Acml~vd%1vkQjALI^_Mxi0$ z_|5(7hrJgCYRz0SW&kwOPZ}AZnY;eM75nwsaR)mu!xvNy%ZP(LmmzT!h&QK$!yRnU zcBnW7v2Fl5xzIehr&k(a9804+bjYOK)6Mq~YjfO=U|Yv6=VNTqbkf*z)-$11Nn8N# zCKDDc;JhsO6Q%^Pjt(cog4wVKG;A0do~?~N!-Zwbnu7QAqSmnjEctB}R>Ko-Pyu?# z@NW$;LDC?c3~$_VNI;_QtQTUUr}jFl)uuh6)mu%WjHbGZ;&A)yVwwEuyQjk6IdWKyY$adCZMLR320EvnNx z=V`>$k7X%YH~LdIB^gc0fza%C-dRENq8OxFe&9=8;fz!A1a9cdj&*z_R%@wAH(P5+I4}LQX2f5`u;rOKV~wmY)6d?i zLoUu%Oys5J<%aE1jtHE&6gPcSL%Ym{7-uaiN z-Ss*Gk)Am;_PSsp=f${2z&V9xf5N*lRq@JKNA!~sJ-N5tsJYp*_x(?21-|MFRAF_= zZFXt>6VkeTTD$hw+)CH0wO4*M@1ycK`sOHAnLccIqWvK@r|6PiZ21)EA)i)T5;cQZ9{@2*?D zO3Hh$@>s>x?SXlM2KHZidEDG}tkmGd`+iX!$Hy|M0k5Aly~!(oxuLu?bWZkv?;rk0 zxF|xu|2M)VNHqUPxOg}JUkKO#-9N1Rp8{nZ*2%-~f;!NC^z4 z3;PTDt;2qcw5yJ0Jgh-4Au$_Vg$Z=DT5|}(FlIJ?WgAYsPs=u(C7T}6O?Y&t%5o{( z&4Cz?5M4Hb=><7d#$zgn)#F9`#*{Nq`OC?|SOW*8If0g4Iaz%9M0g9x&Cz<(}@x6bcU)mC_e4#f9w>~r-KK*}0>ib45K`D++41hK-5@>KCUN_A8*bw2FN zsd=~jMdQTnCg)aR-52(XQ}frd72`e5SAmN*TpjZpABomojo%m_jT_t6OEU!r2oLGF z<1WkS#5pGf>BSM=y^UKVP1x@e?tceYgPj%?w7n+IJ17nyHl7jVw)NGGuR`+gjWl-a zAam+BnueGgSre&ggkO42Io2biEd3JIm^9@}t9cu7C7~7}yLMl5{1JAKi+AM2g!506 zwJ$+Nh7>4bN$GEbCJM$>MRvI%)r&Xd1v}2HUZfI*e47WgqdQ+_yfH0JuvfOvxUyhg zz#U(+EFykon-{I(9Sw!{o*a7bWKKmW^q2tpRpl)|w^U$X&ZQCsBW#31%cI9A1+O)S zLn~Pb)iL>)21hb6TD&DlD@LwzRDKHnTt+*l@DSN3hKnC#tUzMomMtmxN z#lRh|@RlcHCSXVHui-M$Gl|My*{0tcQzW*{Mb+Pt5MNB$a)oJ$W0ewVCf+^!hS@gq z;sIS|lieqUt?bp8Nbog19lUy9@1$H>spn+(S@46YK0`wNQ9=(k4iGcre^tpcpNz*p zSnl8P&ntC5MpZPTws*&c@eIq!1>E@|+jn0L&|+V+Q|f&BQy?7Pi=htQI=*|CA&mR^|k2179+^%bqg@#)yiNB#Knjqlr6XCsn80|PS+cc z4w(=0Nx$@Z_l52ZU&|o*d2hQmn6*eqUxGxZxBKqm?yLj>z&cawuIyz{;X8Ml%otVe zz3*LVAK1KKO)EvFE_%c#V@ZB(NG<(B$s>Q^f|B-Xdp+q2STI3scbe+01Iz2!(EY;L z7{a^VE#Gm5j0H>tA=qf}>GkOS)<7X;z-)H*I;g^ive7qYVV=*gj$3Lm6cv46u)X#C zor61NNL9mb@)jpSOIk^_bXX_WHLLhmrAYva?NdjB+Z;b~-M< z#7(i`1mGeq@@pLWKf9d}cFogo({qSJWH&3ltb^5716JBz-NF<1cBb4CLDm^nF3`g{ zL2_?dT6;1|J*ub@+L}??LEO)DW=NGZTra`spOs42o7Q_*8#Rw(Rc6{#Y?aqYaHHaQ z07QsyFw`IPDU$Ii(Nb&7yA>WRrs6u9vnX@@796C&oVm(psNC}kUU4DCy1lt8sh zY-03E1U~w*Wq#Q{6poT?{QdHQCeox{6g`MwASh!E}xu^{GMPGw|c58>jdqe9Rtrs zq_mBToYU}?KQvtHoN4jQx%2lFE2q_SFHa~zhb`nl1?`LU`=E(7>E$wEdZCtyfC&>a zbkL|7S-Bc)ZV2Jz+;6?@@+IuZpE=I`4B`8YG^hrR_?u0=ch%*CszsuVC({b5MWbEl z{PUWZ)Bfn~>Ah!O{du$bto`w??6Z$l6T1@C5fyQ-->4>4$@Y>HB;-iR+I|5j;A}_l zj;~aBL5QMct$sZCD=5UFT5+8N-(9;vBPS(@Yw!=5YU1!{HH8)5N_R}-_n_gyE>mB!KzK(nN)!}8QR;hZ>_~E`QNqV zu6f}Y=HQ+;0pNHGrYJvcKs!v}^`;?ZUe4&-{kHn`@YUb1{U3fu9(w~XKRW{?USW$= zYyJ;_HA)@W-KsSCVDayIOVM@IUV@>p`Jni5CWgbqO%X9o9Q1(YrMF&5b|(G=3EKY;MsY59dSfrPdHE1zj&$Je zO<_iuS4RQt4BcxqI%PLP0zMTt&AD2Y8dYbTYVIkyD;c*)^U?^7wO&e9^}M(%*?A3! zOyir#5PzPxY>&!azEn^fR)k2u=Iv1uDpO_>Qf`uvL&&HW%Ba?msfo#`>&R%B$+)|j z!6Ia~^!YW<5T1%BVB#|+#`T44GqJTh)z2x8BqZ-pa=}8gMpRwqBK4^6QV->;Y7SxF z^{H99?tEAaEKy*`*alA>)SvWe32@!;{w%W(iqmAcIUQ_50|&53qZ?vJ>EQF02eZ%%-k2Cc>XOggd)Uozy!yac z65g8x4kfF%BC>)73znIAs+HJiHh70A*nk;l{0%os2WydFy{yX(B#7%%?C|6zZ!-8O zS^bw1QjZ3{nD4UPR4nD5ByL)mp6HC}C4=J&ol1ZKj<6{gQVzg$iTTiRxDgw?X#g~F zgmsy=KW<}pY@vp|uc`YWN0dD#8Ass3$`d@twHW+a%{}3ofH9(EH!T;{gkdnTLi#X0 zVi6<{qQ|p>#N)J)W$%7rjYwchi^>XsOktaD(BJ~}1l7Y>kRbC!V2lUeN5w|4!8#zY zIRKMY&x4Ma2nQhgPZ|%f!TUH4AX0qgOQFjKc*-B4W; zWQ^!gb_b@%14ETCT2ye{JJ2uy)@4JDIM5&(G%Xz_H(nw%0oNgc#R4%p6!4GliD-BX2iT%y@A#!*)>cS+!a`(6_-i^>oPHr z;Bp+1VM0>sCxOMa00+lXNvj)#1^8|fWOMS8S~J=dRAfwol#uD4D`5tt7>E+)gk}{n z_S#Z(esUsy?`Nhlv09H@Etyd*p$C)wT>x%E3lhGKstFUS*bH{j^9SHCik^DqEk85h zXa-onu4;yNV4j&j$Ir)?UsQ|(z$cx6epZb{Y&AjX_J`TrQDuk@7f$lL+OrH==AgpJ z5N%CJCkfazt^N1ymT(1z{L~J|s@3Jxj&_usFasBu0Y$?#j97eWY3>{aVnl&ye9shg zaTzSZrv~yCAU4XVCTmsgCV`ueR~wVSmM^j|EJ6&JFz`71QJu3*7&vW8puf8fi%^{B zLJjDUXe9D8ZSO8J^|H(P(`z0>aWa@X@x3hP49kiy0gFZMt5oTYN>_qLvX8B zT?!j|jB~)W4{QLye|5u-$n5*9jM0;+{};AH=*R)#CX4TGKy4jtdjXywtGyj@7lpoY zW*F$@*8x!g*n+or?WxC#7lqfpI8=z* z2P$f>7e+sYway{W$`%Nc;4$ob@%6$NJg-G*vqpR|HXOR)Z)N}y%iL0}VOHsKpPc8l zO&sVd85Z6tlXdMCJ?$x7mo2Qt7IxZECkV0CaAC)I&|nU{tEKpt;Dp431_1Cb9yW#p ze;SMZVsNkeAv}i3_!4VX%!FyI!lq=MqX1X{7xsYN6UW@M%!79X;nyh07!so5Je)kg z*G;FNW1Z-3Z8$RQ46)7jxqSaz7~Vdif6odfti(c~S36gd>z7q={$elsN5N!Tma;>! z*P}yz76XST4vi3$#=kjtduP(*h7v4>l2$Ku6=hh&4^{Jbi)T8E)zx||sfimTyBm9^ z(;uBo8$C=2@bJUCr=_L4jbFAOPu(9(cpsb;Dj^kNHC#1+_;$mQD=D#$q{Itnh6C}D z)gN539iA8lzQk`halw;0PpJ%#IP$?y=EulwiP1Vw-}8CyL#vl>lg1|f#$H}V;izN6 z5o7b=W3$d|NHgkKqyG)6a005yJS0Zx&FDRK)t~voG_{0I%mi zuLE0t5t|mz|LAalU(aEGsozJRgLR+djD&E1Ilx~IjwFPm3rWU}6HbpyoF2!&9>?tg z2rhth+&FS!T&!zcC3`~Ee?si9;P`|zb3*CMWj((C3!^nBqGN_5T7JP)5~ zK0Q+^KY!`3q)*hV(!Vo}aw8*g9>?*o3L3=qevHiUUEJNvU#B+W@6?VKwaunJ3hPo6 zTgATl^cuKf@5D4&lWSWL5@yOyy_or# zffWj-k&db(p$~a4t{URP3Nnx6gkHzZ@X#dya$j?S za31z1QE(7h!2Q_9E0Q$E6@ivr_?19C5t(m^oU`c}A`DjVzb2c9$_LQKVrs{QKc0JY zcZ`H80FZ*@V40=iA{|-4Lyq%k{S;(A)#2zF=Or?-^(a#KI&c=ZT)~MWf8QF?~PibBN;?&3k&HvN}8f0t9V!j9m&^J>Y{xq=OJ&> zzNk2VXONK(D9A%kkiaessvlKM>FuE*(|5Ye(s??3Feo!n|c6OGvv1h(GK9(Z+blGV1NNhe!qwIY!>O#6t((Y>*yDF_?@E zBBq41n)w8Y=Hsg9$o6NzFIRN<^Q?1^x*O@p2f#{tq@q?Ua)O2{XCZ%_sV-w7=h#@< z&0T_dK{>kv$3vHsP3FmeUKZM)M1 zf6GHZp`+P1(Z*j7xAKv~78v(F(f|*6`YyKZ<}N{C{OuuNiG;dIfB%-Y32J)QZ3$no zi#lgVUg$}_XZAzcWc5XD^1OPEY{$;29Vao!i7I>2^leY2JxBjcetL1+YuY(BN!oqM zxpepGH+?1U9}nKx6HzJq1L@n%d@J|pJS%K+H+=4JnC#|?`_9~!y}GiSx*BH58_sb~ zX$CKMq~VsavcV`#tIVpbi5ElTA$MIHmK*&$?v@&cG}+zyyzI`S^dw^y?Q~|iwILxv zB{CsKbG7-n=3D1ZU3gi03~lpI##3jd*44o!cJ~zFwq!*6Rns>V6Fs~Gjt^5KAGph3~Bm9BfE)IWW-(baa3uw#$4 z6@M-@@*tTdZowD)9UAXsybTVn^L2^siUsqBT0EW82O2)$_LHmxb1&T@j}#e1u?I`< zgv8;F=25FGIl!*S-(t95JfzvpRw5n|YhUCsdBmYCEbDVvu}7cm5JS|ZYL|p(hj4n4 z2cz!OHIKkg!$Rjrk;o1|x9%{j9XFHohZ*78cx!l;&n-!vldaB0o|H!+65c%h5xHH) z+XEwF@YoYYo(CvUpR{A_y^u_9rMV_oCM}}vJbQ=Fq?70A_Y{APq z+oBLqVYAzTUA9?Hhf$*$5@??Ql;-LAr1f&|!>%C}f!+`Lt0TMvl1HN{$?i%a-WQ?0 z@pk@d#wQP-OdbvS=PX`qhYp6ig5mm+QryP@wngEjTlalWT`FypI9L*QtH|#w%CYRQ z@7927=)=>nr)P^#-cs8;`02t})zMk;nzKhQez+F?#>&3b=aIkIo5NYs@bU;oxAF9T zzFKQdfbX5;ic{XwjIvHvfZ?@hjjsDax%ay2Uxyy7haEd{bOQDk3;&ER_6q5il0;Y~ z{F2ZIPrWoqxVv@jP15;UPW5BafnQRWGtV~^r9_?Q2GohFA!HcG()%BO@QPLX9@N-A zAYSetE0jOxf5FG+ep7(qr?S9v57eZB9{XskMxL7ucA+oh%9LU`0U_6X&wc8bj@0N6 zx#qWA3@bl+rJGlN?25pK7F#%*Y{&g+6mspzg{|O_oCmNy8{mD%il681OkD}7^*VMx zit*;+iN`N8_n%l)^&c$X$M|`FkLCDP_}&NEKDQ0VpC8L`IWZkDt?4)+Jv^sA;c~(t zX64=?jHT^a;q>3{;~tjByuCfzb(?o{aBtiX^R z-Kl`czf6aw|3bT(W(^E#kX>w#@84ku!2+E8XLfh|PKHh1E~+|Hu38&5URz>vzSKE1 z9A9-aOLFTnq;ULp4&;+kT&)LJ%g(qUwzW30?pZzfQ}(HWB5iFrPb+}xN|LJv^w(E}AOFxQ(wW*a>T~1hYa*>0Ib;pIZqf@U~VRvoH zw6t%XBFGy@hV2pl_i@(G+MPOeSN7L~)4d$%v~974fxdcwa2aYOa)_*Sp!1pJqhhB# zC7Y6rTV{sd#E0JbIf}!EI*o~e1sZWG+b1V<=3Ccb{C{5cEUVZiltk(AJNXq>H(`e+ z)dkr?ry^yEK##P>2absvflt*zxaLgDDTFe@U@T5$h&Y_IBfzQ!u%nY`kY?w=X*pqp z&X}h%LS>0KkU@<1n8?$*y8j!NvcXn%PhAO@2@KrALCJyVWf z)xSZyx>=F!yNnP{(=QY{j3fsC{eJM$INRY+AL6jnW@I}6 zQ5KYcVMsC9jCX*Tzv}sM$JN@jn(&0+2SbW@GulC=c+xW4EHMdrv@F`w8+k_WcT-x9 zaK%=-V!iXEqoRGuN6Q^o$@=(GfkM}L=e<6@RvLKZy#(@(u;z;FQAR>l; zc`Ds9ccWs-DlWwcO}w-*o~n3tW5Kf0!i?k1irWr;eJ{VOc`%@AwHsk|v8j1bUD);= zO_LkkoZ3n2ny@E6@#_@`=n49qoDJ~_xFP>h)L1z8ogvb%Wif%awVi*a$VKrAjpfqp3iFNtTjK#t7IIa*naHByCVa1uzS+aaGAD^lh zyY7657}Mt>IobNU>7*NTs^>9x+koa=RR%6$2V#6h{J)d>5Aw;zfQtDk2cwU?Ld^qkSZ#Jqb+Eu%xv z=_qpS?~jksUxbT>e8Pg9&Zb{h#+D^~nHf<|(FjDD4eU?w_2nNAay*-X_dAT1~Rgi&cMN%x==N{<~Zr*(Sqv_E` z9kHBZv-5_eWnG8P$>iBIn+w$pYnS6nzA^=f0FT=(m%);P(ZmIicXy@^PwDQFOayw- zY#v~_hYeK-s*pXB4>`(v9u1rG&kdz`Q8}p&kA{s|R)))J>*?kvDQB1twppPk<$-!- zmilo9F>GD+3Tjkp5Md)CnUS!sP*Hk%Xu#;5!cuno7^AR^8$F)XDc-K4Y|6-Pp$p1fms)#)34|HlDgp zgy13{q!C@V=+QGOD*8bmY>qmLM)Pcn;XbgPYt0$bU(czZ{e6p+>NpxG^PMr|T%&*O z>1c@A_YzK4jiK05|4HBPr8A>7M(t0>&LkYj9g)i>9gD$7Iw#;Cwkq#`2j7psQYCSf znkeH?l)c0{E0(#erV~x#gYR^6OxsPS5z-SGd;8+C@oCB7K#f!gq5`H@YlRNs2+PeY z7xkUD#!P~qo#nl_x%}C~P-i_+2BW0-IFe?V0~(jHjD!V%Cd}k1S+aeCPM$`J{$AH4 z=^19QP-G8=Lv~5nDA0W0-GdDwB?@ZZ)o%$smj`#)aWUFEShT%GG=;^Z%wqvn8r*@Eq}G@x5)%9)~t2g~^-CU0!Q6pF(Vcj@%>5S-I4 z?3oC9fm4N@pF3bcoXeO)9Pfi_+F|r3Y~$yD5=-$14U>Sxx7pFo8y(4FRF1GD8^lL9 z_K)TB)v|QORAGATf#@eqldrBHSMuJOR(_)L^KqB!7WkRuXo_`2SWn1 z^0gUmf9DvTeq5ddmtAEN6sv~d3%74M&C{TsFNs#ZR3O~sxVZtN&kj?-SlgKdg`Vub zIva?Ihg^Ds7Ygt@OUhiD`%Y|P^)=bmN}XRN!eVCdvSIXM9hqtleEjF1Lf5R1TUtmx z6C17m(-l@#e=L@N??<1ZqPNCEa0Wx&S}y`~6h~=Tr|!fHAM@!^l)En~_>H~r`g4hr zlkqzfX7tUTRf-3Z|LhEjV3WebP=@1|jrcLi`)%4nPjHE_Yv({}fh_Rp$aMg>%Xq&> z)Qx@flTU>;Q}!2pHMm*&l9Wei4FKhc1-~c4dNUR}ZGYm7H(N#eXXbW0>m^BI7FLE? z-I(7*Y@}r(-h>LmeZKSFLJBfaWOC?}g*BXvWU1*ik+9+bIh6QS8`!2&5x(JA(Gqdo~mvej0Z3-&Eg^gyiF|)}hj9G9Oi1i8!x&7Wf zlX;b-4(Qv88vPWBA)o3R^l(-?^UB@sQao-Pz{cLUoJhq9a=U8z;h`zGZ{KCY_MdfH z|8ELXqfYP~PtXhvs}iy{T_yx9o*Esn+I(RH?K|innY3wR6Q*i+swwHaLDFJ(((R=r zzFX4a+HiiP)y{&;Fv$S@{W^XZ2sew|I$YWK?@+2<92JjQ__-quC_0)j?F`qs_iFzm@>01Fk!A^7iX4WlD6P zp1XbUg2~Yr67~}SHl{lKj-iCRkOEo{_m&(l;+mcAX(g~ujHTgMERk7c%99QpO%=Zc zU9v9^sQ^?i$b-<7o5k7-ufTQ+bP`*L??yI)ej>^g zJwV1Z2p|RhAk?a$h)>A|$NyJfH1x?a9mFpui{%5(sGoZ!Me%baq{vAWgDS{cUlbsX ziDW|Oe^?@kAE8yiQ+E%*6bJ|hb@v$5+CV%p!|L4E0(`Bjk{2OcU@c&f1m^)PgN)uK z>>;0|@TOuPEdm?llbd0UEF@x9t$bkP$U-_g$5Z6ON-K3xfh)KE4Xcax&0|7fA zp=*-QT)z*D(Mn`1O1d~%D|BQbfF&i_UJ^nV0um9kn10?>LDcd3PYX!A;y4{u#KBzA z1m;P^YbnSdg=!-lWDy1Ve{uGnQBCgK+ioC~JZU7<&_n1=LvJFXN_B-QAZh?XiiIu~ zBq8)>Kzh+oL=ezW6j0F6i=Y7u#X=QPEJ0DRt(<4={r=x~?{UrceZ*!0^_+9h5 z?>XrQT!}i#UxS+LK~{1U9)tsiLi<6y(Zvb4&#IDDs@~$6U`u+^iTsEX20U8H;l`>Z zni|jVt^%&pN?33aLrfn9=vg|u;w?E1@(D6xmWZB(fOG|TrdBnX1>B568E#ZwiMk@y z5C7SNxlhDL2bR7kU^clRw5fo#9Y+%pQU*qWUXsEd0p0E@93mQWwm>Wp4YHaUV%47? zBF$8whp51!0@o?H7Z7HDzx5)wR&}cgT>yNkLzOY><+Lz(cyvP$koq*e+9PjcR_FH9_3w%LUM_IzR;8#e*d3HIN!mq|4mZl3I`AI&X z25cH7t0~u1r?CUX@~UaA3TO4|C}XUHNTrjWmH{ZnBMRr?&%)4K%V(N7z%3h*IbwN{ zcgvO%xVi#_Q#5-xz!?IVt}d$*P%A1!?p^5PR z5|cUzg1Uvc!bLdKP$tV~H)_;{w-BKDiB^(D7TlPPz;+PfpUrLGmFG4rUCU9bl!?X% zG-9Bs=t503bRfKeO!04rH?ZWJ8SvmVl;lBN9|Mm5<#$Ib{!7kaSg(2^M@*~@ah;4*sn_U>GY%&hQQHs<1mfn_<&vx7!z}nsE@5CE-ogS`i)ir< zEZ!S4&xSWMk-K)#t3=UO%pEivb)>&SZLOrnMJh59+b?d(VRtLFL|(S5vJ;hB@$NBI0iZqJ;z38Oa~Su>ZC| z+{7SS*^Si%%&ZIcr(JTjKC+bq?_eQ%h=>*l;ssR}^zhs8&1ec5|Dr!l6mjaab>VAd z7e@Og3&CM)JzR$13nc*e!N{?Sn=E!4-t4oo-v|Z){DzNEQ7j@NsT18s9emqxfA@LZ zCk(1@X`lm-wDT+}+OqLqIVn9fZ0VS{N>yXE4c{x=7xMn_SD(DT6>Gyz^iyAneW{^J z^=XYGnivHV(wNs%N%^Wzeh+d)rW5H0%evNyhc0*cOLJ zruH8bY#9X-sV~yprfrD>C){9TMnn0>G_aP5*2mAM#cJ3db4u5g$c&TAP~#)Hb*EjI z%kclry0GD*6`UICc&Bv_=0D|0L&&cG8)<-n@}wz4;eYP-5c&fugZy5M6|7pFeW2zf zV-{2BR9NUMUq3pdWb1R$RrUD%49&JwKGx%R7xML(V}V^^z}H9C)9D6?zk^jZy{)VM zig$jw^QqFi`L06Jorw4pc)EUNQ+CDGC48r8Pav;=ieB zFoJx3lzN=ZhoV^6z6C*EjB{-GnYqNBZn>CpcVp)m*4AtE^wo zmTZdgJ3d`|ivN@Y&pEC+_G5lA@71oKtusmvJw<=c#)XOA;XaU(F6?wEyKYCXk;uDH z%}RJc$cQ797^mZcCXdX?1!Wq(c^mhf)Fs}Y<$-3$II2`7ZKKrEy=*ut>2d83_kA+0 z%Ty9L5i_Qx{WD}zDI+TQv3lCr(IV)5+(2fK#6Y~uk&+~3CBqAE1>KZVyp+kts5?IM zYIKTzDYWB>{(@E7pG#wS&YVD=Qg&Iac*)%WUzLDO3FR@u#Gf6kYD%ZmU%Dy21EucU zxdfQnIZK}>=9|4B(wM~EdZ}1uN;jRavPtnU#BWAEWOdY8>{&^1G?z-Eg$dF zC1==}G}#_9>UPsBOkc!Qb8{t$B>gm*XSFjrsqG-q{cbyQd8|-E;B{ z`+5sq3|5KH^o{SED!O@3dMVFZZJNfq=nT%4xEWaUzM>T3kJ|R8&HUPb;!?3v@vGmC zwNrtvGP#yAObdWzLEKT$G z19P5Qf2OP9YPzXwtsSIMO4U4C9k#tJcCB$h=o=&3*UQ<>qih)d^(J9!vlch%IHF&H zNegwYllc$Q@Wye}{D10T$42-5+`33b*5m)bNyGT~{RD3RKJiaRB zIX>ZY=W{VD_o|nVbTJ}=hil9I2Nxa+z(K+jl!Q-~jhQ46q244r*%S>MlT$V#Cnp1i zP1*fuhcOUpWv5W>QCOENt1rkLzihx)!F8xtFjn$X;}ZBwmEB3bQB$Y z$_T%%577$3K#ktp$i5)UA^aJcM=JJJIQBE`MYGdG?$~=B&f@FDq~uw!44AqY8`sh{ zILK4pzZ zL(GR#F3FU6YfiB3jNt}CIS$YGoG7#_+a5&OC+xrAKO7LD40s#AmS{%zu*EA{h9Xae zhTp~siKIgmgiTk4ZP+7ni5z~}T+bv4>p>E-pRR~;lAcOS_tkYNncxH?tzY8HAi}7D zhavLDnbxO5Ka1#0GGPzH{GhFkLK0l2+9ymp{3JCX8=HpyZQdux$}KDoVZELwoJbxnyp8Rgmv42MQR`{ug@LG338 ztw)!}(c84%+oGb#n9hZz%&@o`QaYn*`~yovUxEK<^IZh>HbmHVZYT++!I0!a^bW?n zUzTGA`WR*@%)oA5G+miHVGe24)3|0I%3c-s$NJrE>_=5Z-=h4q=gDO4@R3h5(<7H2 z@#XiGx%fxXDN{@#rHTh8<_ns;f>|0yAc>Yfj?wR8=*{o&A^7{PQ+>ZHE+h`irL#Pg zI^XWg_eM_nBYR7b3w%Y?Fd;#YC5Kft%UPlgVuDrMHe#sp%Y&ID_QrCOWon$mp>Z@?DX zf6sa~mRRpiLs_EBc$qc%o5rBCIM4D$v^Cyg*__=#;<0I-_dkoAe> zc6;HrJ-w@9Mq}28V|6emd}?nxjf|M4)}%`};*o(9LeDbr$P;UX8iZ74@QJ#CYZee0 zy|R8Z5!9pKD{UOoIAh0Wo_gqLom4>B7OHHSaaDM3{bQtk4s;9dJH#)^3bWS^nqH=h zhsw8rF8rs36`A^ryLoH@#7CKJ+;2;8+jN@;=X?~EZ6vMq{Jl>v74n4p43Avce4z2s z*@HHs)DPXthQH{+w58IxXluWCYO>03lHgc!$+{G{OO59W9w7_S@ZkTzq?TCWBN(Ch zD33&z@aVS4EQ@BYkJ(rKjFhjiVPT}M0TPW73T6v+5Ye(>#|oc`IysBmKDiGS;W1 zH-f@H1xr8O4tA@>9l08u8YZU7dm{Z*#pVAGY4FXtotV>ImUE{&r*|&r-cAl1mpfpZ zdwk7h!V5d%dt$sEQ&1)@z80%$t*oxy}(J0>^u)9P!Jz8m)4J*J{rfs34 zrGY+G%=dm6D0C!7W4bUvC5S{IdqxK=SD9MDfeIT`w3{LJ%96!#tgGN4W}b-PkZfAW zb{D$g7a0cvx3DirW$BujbAkxHTqkOcpnicCixlDP@rkj_w^q* zlha@mxLx{U%sSIrsgQjF8i@V~pr(j`bNay+=9Lfbz}ZWtMHE2gJ9>kOEG7dnqoSWR zK>~qXNJZZw0Yy=+VtPPZl=xlBm8SqxI2*XcVhUo_z;Ew|cKfYZ@eNXCSCp(nX?dgC zA*))H=5^GYa=9yHK*U4(E*U5Y7n^6)iV8@tGHPA*u|?bitSl<-em zB-4OumgEAYCFd=KSwV%mBg!e!e-cSHJrYuJ&D9(Y-*1405rX{|GsgjdP0URe(1X|F zQLz$_W3EPE&C6NIZNQOi$#=YW5|R8^`)S}gZCA6c|J?;Z>1wH?wFt;eW~t}~3OxU9 z0sj_i0;C_L#^$B;rEwZblPqux`^lu zc3OQ#+sEF97QnCIRV~A=No~WcG0AWhi@cc=b?i_FJ_Vt0xUVW^fe5d|q;QVGM@X@C z-1xAqQo%sDjWcG1Rq0Y9(?En5K#gc}V^c$O1(7nV^|0dL?U*a;|BRNpO!&V!-iGmNVD*t>6XaAAycsjl!>Do)PHMvRA(p{C&!I7XR12qStE}oS zvEP`69+{OA6hpK@2JQP%BiEEYf1vI|5W~W3i&S(QsZl@=G|f(#Y6KyM!cV*$}6kb*IL1;fCYFYh@ReBGPbC@xBv>yAKN=&7X<2aw$u{ zG;i>iM#jNRyMW+B0hiKB*Y{q(W3ySXC#_qmQVe(hyggIa0qA~^u#guZaK~>)7F(wv zdGtZX_=C}2oP^!fb8~a{`{N0ONoM8b43d(oac%jx&HChIa{>sOG5>L5*bofe1n~X0 z6!9-q!L2loMJhX2{acCvFV}!gX8ZEC)$TnoeIVL=QN#0pHN4^(f*8Z;9(O)F{&l~FTMcN5Iy1Z*QYdQbi_}?)U=MM`_)Hm;5TNp(( zJ2pUa4r$C&UJNpAb9TM(X@xq}$=yG6VAAWF`@p^NR&&h4^}iajr!D4v@r%)Y4oS`- z$JgdUdt!bl`0A9lO>^p8)F--H==N7!5vif!({-P6v^072J*;Q7_PH~`KZhD44h9x* zt{pl0cHv3rn>MVS)R8&xZ<){>HU#>i9cDAHQ#+$urZugs3Q8(iOub9I} zf~Dz)cP%m>=c?v9g2~8rV(r*&r8IH33;ZJ*tGQyYW5(2@TaB^_mAwWfzAYNBgXAuhe~_asqGhqnW~l38tY|8V@yk+b1Lm)rV-(> znM#~(!6~JJNpGLfuDA~9BU|w_wMU(#CNoKN-ER#yg8_v^5S#8QqGR))}-NSLxjx)B*yU&t@Uwz zGJ1Oj(#J^K2F5&{pqco^-y5rh1ZA0;b z+)pt4JrpjXnuHv3RiuS^`WQ=V2TPdHHh8YaJ%@yMb(7lU44>&FZ7aEXFUrmAOE_ge zlR;3vRqUd8flOc+C!2EM-Y+ynPtSY*>2O*}dGd93sYUozhKkUij)&?=zxy*)FR~6@ zYnsoMhbdn)y^skl5O6uJm_clJRHTcquyqCg1iP+$)?fJfwdFttS|{Uu!4AHeCH>xu z!_M2Mn7-!W^5S0W<81t^@9tTK4ezZDGZvRIWxWSK+>OiJ zQKMy93Y@U?mo34?$4!|c?LV#vsY;Ug)JA9==NaLo)iOT)Yz3Q3vqA^LZlERC=#@%R zmOs6!4gS3LI`)of%)d+x+rF4a(kVU2V}_V!XTD2|ak5wEch4yML(C-S79a#2?NVRl z*oGcF1pDzh-+ZzLolP7St8;YN=bfQ!q=Gq^I-MQj+LjxYOYmOe?>1e)W}ho4yz_Bv zAKw4kMQUyk3hFer@97r7Sf`%A`#xfC{@E({{C`Uk|94d3dR6Pd|3(!$$DAJcFMKZP zp1iv2^!S6rKR=hUtM&u`k|H_^`jKmTrQ@zaYMzCEG8+u9IZZ|UBSjRg8z`1fojm)c za{5Jsa=+8VmCtbFb}rF2l+hz()sp~rRbJF#_YC6^=ZsN6Evd{&!xT!`5lZom4v)greRFmUA=b6Ha?RpKj zCg%eaGbMMnuM+c`T#q?Fu2|S^Fr8}JZ!b1p{d4;o33Z*kTkA z^X>D&!Uj88hhhAA&T-4a!q%f|h5sz|@j?N{Lq~dawgbbEwm{c}Y7A!1HI2Y*^ z-l3B-^c8v8Z0%4mbCz?#76+OKerb$-w4D|~qaAC}To!bWccb>2`Jo4dhj)P3oiMrk zpa=4VT%Ib|-f=mvKfpx0MJj)guig!2z&-m+dXfYK;z+uoWV&$8iN|o* z?fhkKV`~^@)P2J58I6wf`jk|6sN7Ly6|a0gbOIjm`3=_m6ZvCY&i6~dAjQvg#2LVfLUBAtyl$of@Mx~| zP*wcF+^eJd31qr#T%h;{&d5(dCu|XBJH0^KMq+aEW;*#>bEd}>f+*1Vf_b6J2G?tO zcdMk4)>Jj*v*f27>AD~-nZWLTzi3MOUwca3^>(bU7#lz}MeMrW2@i};66t>htRaiu z+9FS~O7Dr&=N{t6+AVc4$8!Apj9u*ziTF34^Y7x0EcM?AX3+z@@=0ogMWiS)19x=L zYq6UK)#6)AVara*-0X&awqzt7uuEOz%@3navf)QR#u-3=JLpZYHf1=7DJx&$gK|WA z%6oq+ukjtuD>uB$Y?{8eS`W!Je~i*3BWyslBW(2!&uG*kblH5@otR=b;y=PbfKP z=FU8J<>-x$Lm$l*Gie8}e#(0RmvP9nmcCcHa`k$kkVWP@e@;!*ia8Y(e)6L=IvHdn zKVXBNQk178X{#uodF|yKv&n41-UG+(nS`WXmD*?H_0$-1zRgm^U#>9V{c~K#EWuV_ zGHtQ0=}k&l0rvzK)eM<>Q*xTkGiR|D_j+R=&F}OhS**A0^Q-8g3%-4FQS>*dcCw-I zRKaPTqy*0u1EoOt-E?LCE%Z6cp~ce%26zdjepCSK*z*)3M-{7tg|>uXnqCVez1j8k zwil0uc$WbU!NBNLVFxz95k4NQ!B)?Nf}x#Q7F2v6#_L(EzyNAb*MY?)0gACu%98Nf z8_3u`=?#WJwvRA9N_Y?Z z+F+u38WQFis12@kfT83IE~1hHj8ISOKb8vGLQk-OD@~P^=G>tA8h`wHi zn#1JGG@>%rX&!|tb7LA8Oh|$4dErMbUxwMhj!Mk=%7}g^-FTCuS)vIsam|&mF?f>S z{6(^ML;ZMk{;)~B$&ix4n&il`^`>A{y92E{P|MKECh&89Xx-UBql?cTTmOV*)f(@s zUC+5^N|NZoToKX*niy|!7W1k}#8B*N?1i&f+mAMdl0R%k=A(Ot3)W&BzBgXPN*CPN z7vaZSvoRh&wMW`U0c;UC2m>5?F`lB0elp=V0M%1a`8N{-K$ocvJ|C0!b0RvPD5nsBBxvApzb zPwDyj(hEOIsnTUBW@V{%kqDewGJ^RL$v~y3#FZC@pk#XcCywX z`S3R1BZ1{B-+?mHVM5@MSQ>hfh>q0@HyxJB3x=grD$)(m?S3%IEr}8eEZZInl9V)7 z{5e&r7Z60wEM|&Onax5x{pPujuS}0R*4BZ@AXifa&nwb^3@SyuAC`_e4GToy=MjON zC|E_X@nt}Y_xSQ$yKlQpvNz&H$75(P`ERV-?Ym0YfXw*gs@G^DkNdLeAU z53|UC_j_t&Ff<;-pmG?nn;b(-(UpUuSJ0TqjT+duV;C=eOopgV?L0$VFR@rJ+)fn` zF2u|*VPVrq|1F)WaD|lvk~=l91gMwX9k?pLX%kic!*t~FK<0}m)FLzX3Ju-%4ZTi9 z&9W=z-a;x_u)H0#>rWe3b03)=l2to=JK7%9TLvIfi&TZ7H=eLBuv{jxfDJ1Tk=Vck zxh&)dtoJ&IWblebWPM3v;1Usiod`^b0av&|;?uSKZHP-eG7ue&GE|Z+>W3`>C(bR` zl~MFIxoCYco%ViM_&d+`Ef|N0D2Vdbt&OH03iK+`88ziyH5u~3rriTP< zRiF%`H71BaUXA1@Dp15BeSkLxsi=xKYe-ImQ5M5urn%3w51Ob+el0Cz4SbX=m>~g| zC}PEAr0sK$_;m-+9s2^FjR2h*ipkGFAOjR|Ac!kl=$jPa&h(8(9>;EkfN>y&%3C0b z(=G}GE(Hamslagprji2Gm{;jP@Plrl7ul#eBC?tcOkllETS&B#fuwcF2pMQtQl91N zBs9W{U2NoH5XE?j57_|40OX)eX9ok+;JEY4ihhsJfXprP9i#?PxH*$!>?1i1>5($I zs`FI`%WL!&=!TbY+kesk<&y4O3}s%FK}ZGW6Ud+#OaGkgknsZv)hAFjqi?^4KjV8VT@MO@?&C((pDDUI$hQ_m4B$ zBoRM>77l)qf&@|6UE;Cb;m4YmkmWIfO;MyG(7}m1=GhK!;!ZU%z^H=lD(4~hjGoGR z8w>Mj@x{Xd%$fcm#lQDFnxF>eKY+iL!)~*1ZKT#9J@id7=ZkAs{9TVvZ1B8K?z^YR zDg2-k4K33;B=;FTO+gM*kTX#Xh0STR&1pB!0%sf2L?aP7%tnfdXD$sRhoc_5txoIP ziYWB8M);7z&)Eh?ql`X0-euxhs~`WYz*bf>QqAruGV)SH0WRMD>2+GZ;7{wUwLH(( z2B&s=a$muP(|N03&he$@MX2SAz0H&NeP%LG+r6f4ab}RV6>cbnrD^y?;GtG8nOPd_LWX^U=y#smzPu@wz{=oci=op;y>X{9E1ch zfOLV0mQ6^TQ7q{Zt)Ko6ycuH!4kV*Nc(bu|#5x=IZ+J6$5pN5g9d555zx2Q14KaA4 z%BiDas?s#}-HU&hbo~q7G)~t!UeY==(b@F)8oBPDlCJAdn|(VX{ta&^gW2*fw_E-x z>AHUC!R=PChJJOT+NJBClCCfBUV}_$EBpKIeBGSuh+KTwXR&&2X)x!1m6R>_xi~z!*LRNlPC2>yulx7@ z{My+Z&8WJ6pT|4=;k&P;fMnPb4W`z(lp+Y?CE@GkVGT{|6~}MCU9XH9(R@=C z_bmKPb>e!{o6G0Fy?t|qDx|f+OqGn-sL52jzEPWN{BEO;;h^=lzQ`xy?bWi->u(#X z65hSN#!T0G*H~W?@vf<{;rhGlEw|sjYi5lc)Y@$6d=|0U+P!{#^G5HtcbhlaLfY?H zLz0p2+s4$I-?vX1Z@%x~IB5TO4Zn7Y78Iz*-E77g-nj8vO=7mE=bq@vfUqAEH+mBV zT^{vD3JLt5vk!(44bbc2{8xeu_ExigA46#%Lr~s4_201cpI?|>-9O*AP_G?y@V-lg ze_-k7m0O`R{u5Qw(E*0xrdREspD|FsUEHD5R_hd}*5O=I=x=k!tBEWO&vCBK#y-Ds z*!Ns(3`uj!Dsj>q*|k#GOd-%&m~`d;F^yJad_^YRY=VsYxv zQ?>q$bl$BP$~%1D=}n02`P06X@rYWK-O{2lZ)k{EhX{j{Ep_s=5+&N(W*FD?*dKLG2XVisbHJhN8Z%DEHpuIckQlcZ zM}vsGj!eSqr`}lv%C`+=hf3U&93>BPuNkY^mjj%jy5EAue$aB9lJPWYwH`V-_BFq> z4d#`nl#|<`=2DIua#kvea^mQq>j@mSw9aS8f-8ODd73$(kfxMTHsN~6SZ1acn&rgA#&9PT{p&p)LPi$;5;M20|7DL~u<@t{oA`xtZf5qU?O1XgbxExosP}K53;}h)w$q*I}6{&^n@vw#v?=<3SZA6@fmnc z74vjRkn5pAQ-;)`7&A;}2nVJQ3O8=`lXe4;+Ob`<^M!5q75PM?D7ib);Ib9=B?CWC z3dvWxp!4|J-~~!#l_E7PtlW^cv%FwR#~{Z>R5G57s&vkL$x%!e2hTTb>ew3Slpfk- zE6p-H&?eWn`CzKZB&efe-Fe$brsThuNx6tW!P$yQa-z{Q`u1-~ipg@knbE~j=k)!A znd#>}`cX7YOFN`@bplAH1RHX2-Q%OR*HP)n0Rr$hV8}Q@v z7s)o?n0q}ftLXS{x@xC5TL?X_|6nK0@aJoi@X5b)>zXNo2BAtDVNvu{KG)xS9S1}! zxT#vwO7H_?U{;KqM$D~29&;R&S>UFdg5dM?*#FzTT{ZKqEOKtG_%+92E&r`--^p6Z zuCd`=XSZ@F$hv=fU0b}iY*(m|RopIReR`K3TClqzI_ zJ}PW5=WL%%%TPitU)b0f6bU6xNFr(2&BR;>IVwu06E7S&kT?xMnUqn%U`Cq?>2JAR`KiilcDvzY8JGr)0RZ>KYGOH9f6-@=B8 zY+lN4d=>*!vjnjcrTe@q@J@>MA{B%76nJdYEQ*b}R}7bA3GIp~qroez3*z511%G=K z_?HCIrRy_OP)hZI&)oMFP+}c#HMuyY`bpXCt;ZQ~L42Yobi`p;$rf><)PZW;%-7$D-&=cx*Z}h@5qbhYa<}cw1nS zX6P)d5-2g!XlIa2=_?vq5^8e2i1Lu;2*cN^FrM!0!+~DEkz%s8W&Owm7Hq~&!z#o5 zdZZi?DvUgZ*U^BcJ|Q4uKJqga!f7aTQTpqcqX+o)uEjo>0Fz3ALP_Kr|9e;%`}UHM zQ+JuV@Bsb!x=FEv;N!r~Xgcoqr;5_IP{c`AK4t&WF3GpZBMVz?IK&j~rw;#>A;f z{e#};Gn*~&~ZU$ig_^FrG<`(?4|))7RydaNBG*(n9eAu&FyIp8B6J}2eYtl0>B zVT!m9>M3<%V>SFx$R@f6N(i@=GNcr;!*_|Nhr9TUjrvjU>!--S!kBz5KX-yAtDktE z?q$>dAPUx6SxUzVWGQ&Oq}9D|hil(QsYHiai?ZK9!WafvovWiN?>1lRI^CEl$7UL5 zW9WL@IZ9e~!go(IE}w`VM0~#WQD^N}&hQ~y7=M(9_N~qYwox`GB?~d+E~praOl3L>GwBFD9@i!s3q3Nc6ATmHn^el{USBFYNRZ-yZ8D-fcU>|=QD?7$HV#r{}dT(aPN_t^o5&HFG>zMuJkzjGA z#c*9aFFMa}l3!NK9~;;yuGhml+spl1*ud94Cv5ERb5}Elb*{Hb!lvHpX{F-aETtz0 za(A8F?(X~Jv-@U)Xy&=zf!56OYgXf9E<+c?wRqpIR*qsU6!dT8h@SlfXTrrcAUTW-36MT8kyj|*ZoJ3Hay%>z56fV~xxtupGAxY)$kZrzr#Q>+$X;ip z@MEPx*amAu&vW4oDcUV zcnej;fHjJ${LtGs%h0N=1Ia3oK?I~bvAGP`eNv)SZO%i}vsv8~+A?-%CwFxQo3N!S z5{=3RwUJ+K9fuqjt7DHzTzJ4-1P427~O}r z2v%Q398B;c;=0q^B3tWtp&+-9OS@1ln&4RwD`9*rigPQa8$-xE#Y8cP<$KlA_Wbjp}y59`PP<9Fj2RIebIRNYKUcEA#ia? zvrJkSS0_11RH7zgeT*(ys*E33>q0_PqaRu;NJ@7)b#0M;PNL&Xrv2-Z%zz{2`~ahv3Zx}sOV`iG(+D=4_5DIg2lP z#H3E+5OwN)@Kaz;ZJ3NI<4QtlKqWqEkP5uv4IHUR$*!d83Kjr<*_gX*_*WZD6BV$T zz?5UO?5(Y6J{6T;;N|2~A~eN1mc)h`ra;tyN0O;zl7A?nPSjQzdt*+dSb_bf5HX2O zj#|OC2)H$Uv_bx9?3p~IRE_2WvjwqDTrji-MAX&H+|dnt3fyEzd?Je9BI5Et z12a;suM(AJWKb>b=&#?Z__1QuWQ7PCx*|kc70V3#4zzcg4TEb7imvtmvXa{RE>`}u zniS$OVB;?}Pib{Hz31r!`~e2_fZWle*1i^nNJqD@KtBxmfQ{_Hw}uEwG(%V; zY$WI<)v>c4-$qYV>{Z|$^lae*O%x>V2jU75uGgMaM}#khOV#UvuubYUpH6B&s)Yid z`3W>Y5UTBw1_@;m(TJy7t#zypx|-Ai6Hflsah+uL_#4_N5?eNL1eA}DEqoAoH$a$&?)C&imWuBsJP4VlC6# zj-0(4DX%B_%cRR>6Bl3Rto-Hf+q`t+gm1==FTME2-fy-vRl^zFQ|>)S1XbFZPbAr>HkhX{Xe{rd78if^+FbUYZe9jSI3IM-lH1Plu@uY#r??! zMCBhM<@4UOJ?KI1ZtsbzGaiIK&^~%~-sI9{miOH-xIEnbXoqV_q1JG{p{CA7emBu- zXNeF47eQ?^wmG-Srrf_d`>N*F%dU=N=gb__zP&e1j|!H|drf&dch^f*K2BryD#<$$ z8u|Vlw}Eu>VTsWLwU{8sI8Kq#uXXCvg_LcUuBVWjtmBE<>zV@Ns7m90!{7$3oty8q zoO0#t3Xeuq_lFh{%o4?cl9!F5_x-YmeihU&@^YQB4fB^QTnZDM>@B-PZtiP9*Zvv` zo7ojSprOZG=*%Y=_LW=!g1?5%)V_z`dTSJNeEx=0uE*Bzk<4lR%ly^rB*Q1}!($pk ze_|gHijH=0Oe%HsvriyHR@fS!be`m%6ew>W(|)bl>6-i^v#2`6SYnl}0+GxtHM^*@ z;u;AtU!@Y}iiYwCxof5zt2*M$IH_yxGipEFas^^2irs;k=ZDN90(TV_Ii^gg5S((1 zy=yax{9oJ0)X6~H>x)rNYh(h?jGBK^%bb!=$RRs~6zliLz;as6*4f$_y#wTg1Tz&6 zt@NTbcY`Kh8z__l;9dX0cNR5|B`Go~R4%vyfkRh%VDKtIcXMj3t__bODyG35pL5H?zI zR&m2a;YGnpMOm9{H36elDt;YSq-2=|X-C@6m@-@NJ>2Iv9g^9<>NJyy19|((At_Cc z+dBMX>eBEvSEb}sd#>Vefm#FNjazQReCSc_E za)#;vt|MEKx}yi|EBU=Osx|OpU`&zrTM6u}|5IzEc1I0Wa2PQDKvGO9q~^%q-0SZ>D2S;LgT5p-dT(3ZGM+s9A*dEb{=NnvYYe!i<`k!&tLlu z?hfha8uQ2sQ*r0^>@ssVPWpN#GS94+6BhMD+PlkL;wVy~IP?6k&*vm|GkjzXb|={m zNEtpfDqdO!+l>EOycvLOrH{&=-Y&TFeFOUIw{m6GV$#paF3CN=w}XYg|N83kO8v-> z*~M$)e-KQFup?N($)&A zO*NG52r~lm^NcyGT!=;7`PFolxFBb(b#-OavFvrs3g(t0Bl5T_L4>(tH5qNMSBO=8 zurX={;X;IQG}%9pV8pra4uxaxc#%YssNB#9@eb>vtaRoHR!wg5&>(+&CsiM*El(Um399&uJGytL?ZM%XwhBv_Od|9xmBi019^Do; zA6kZ-WSVth4e^Ic&j>^Cz$2!RmW?&s16D7774LZH z`<(;8jV}s_y}qZ^0ys>Fm~cBx{(+>Jou3r<)`BW)uxQEk_tg z!l$=_9%V$!XPIe$f5sQ= z8*Ff+KQFp$Rqh=|DMvo456$~mU$_qIDWYI6CBaN))V$kdjaCM#RbhDs2{o6GydQ|Q zZB&LBzZi^uk7X0R0>v$La)UJJJn0FHgW=x=zz{!4aGfc9ak_t>&=pGX}aDm=he)-o=g$SSzFH;RqyAv-qUEin=oY-Jno5zM>w zRzf!XWDqqO9~|W+#4Dik8}OVItsD}q^HbLtXkP5)&%XKv@ljyr>bLuS!;ifw%wXhU;sJ*zU$GYt7Rc89 zt!NXGkZ1NDB5XEhjZ+bd*>eUA6XM5B5;!S~a`pCYVyR-TLAbalfx>2BnD95`>USqQ zQPVQoLL`}vo1=)_o|hUtCQ3KR#VRk32}nhO)jy;(^^Q4fq#Ttl3)*wGVd)$(uX1S? z8+n)AsrQXcm)053s{_XE8tT*xYgB~7xaC*61*+D)>|_&{tP#Ets3f@H-ljO9y@=_7 zoeT*pkY&l-#_CM65kI&uRf4GW{P^A_vGB9b@6m->&Dxp$ZJF6o@Gpc%y*xygtqLoK=y2ZLTw=E_6k7 zFMk2pPA-AR9xl?fI|CnET1!d46cL3iXH);a!ZBzTl;o-Dj4DiO@? zji`&Iv7r|Z?D?m!8-lVh5d}NBg{FlQDaw6c&|rmhH3`R~3hI#sh;x|L*AN{x6t#r_ zTa>edkP)+jMr^^rB>@Ltq1b&G9Wu0d_=0>UR?a%+juh5R{M?#4(n}O!%;C4705hC8 zd`;RD+Y16UX%<{#KpfH0O1#HNQ32xA!?? zpFPe#{6`oJ$QbYYOY+?Jbv^1B6?!y;J3Q&MEUFqACa)$e0K~3CQ*@vPbZ*#|p~^Zm zAqbvxoEWI#No* zRE>xj^)jrI#Q54{GIa$d!U0nv)Q#ba9}bp|Md;CQyg83~K}!-0hpv?;(RXetPeh+A z!pyU{&@(Wlj4Mjv$~~KW{gj|2Y0ScT9Hkhi94mqj=Z2Bv(c!6${8TS`%&mD`1eJ^V zBp8&a93Vn%-$O1FgN}}KY8JtR7@~VO&_+b451SafYcB|~<7t9l*o9(mGC6hEb*0s= zp=X@X3?4NmlrWCWl-DFmVq7p#51K6KYtY6(Z_N0`l5YNx!*oJ28m~I9tY;mtL7~+W zMDC+vv6E-xHVty$gjHF>#jW2k(o@@44Ys(1 z3aip)%Z>TKUFqu#*rKjOiomAkTPjbGZ{iY*=elpMpe^DW0dA+pyTH$LjdbYHR0-&c zK8IClHd688q&|%db}ldNdoMSfZnD4B;F~G7)yTmFdm*O8K)lpB(Oy>d!-h z>){e(`4x4}9z5-1;Eg5D6L-3mlCcM7jvsV(jQSxTqLgEBZo>;wtki85$2VLmoSCpE zDm1JiNTxcrpB-nYnR7c@pLD3)H`DP!cF2R={0I3@AKadLaQFKIx@bkQenqKcMOjEi zd45I3(~7F8ibvlo7^0Om`jvH#l?@@4jro;NpH@Dbs(k*vk||o%reD?JSk)C$)stV< z_q1wYs%pp*w?;%hB;JXT#I1m?4kquuh%4Jn-Zze^T7J>Z4BmEMTs#IoK*Ml>oje=e z1gU$Vbq6f!Rnmh-HPGxiNHsxtje?56z`yyZCskk_H>d`3m`LhvEY=t#{L+Z<4;etl zx@rs&&e_guhs~ME#SG3tp!|=JiMVJ+>b`JvPR=8v^Qa6PxH7WZNglJS1`fGoRtTtg zwhjCTFK*FSHkPIK$_1Ts9)8}==lF+vUO2x4L)rve;LMLJ}WX zW(=@Hw9)G@k_v1Bs(_@CdmpI$Lu`A!4xxt2k-Lf}T)Col02*%0$x)XC0dkt@V#A^% z40y)+{@+}XBmx`~CF~J^`T@B}WFkc@jVT>of_0aYhZV_yXkZR|oVWx@(Jp@ETg{ue zPLse2dq)_r)tGW}0Ly(+Z5iTC1VXJWY77ZTxug3?V$?hlPAsC2dH$`9?f@AFxAQ5& zfgmB#QVKg?2~PQF=vR0NaI@dKq^wKGAQhdy4(C;Bd9osXXj3ee5@YDPKbuwuF85B> z#Bka@7u|q=Qp94FpIGM8rXhD862%^qLKf-54quSBMuLx*NTBJ$!ON&Lnxdo&8iWy_ zz&cbWi2yS~1nVI) zC?ed|ycw9%Be%~Fy44B0bgX_2jjYD0^N6t6VDbebjl`%d4|E0*5we4>#Oe+Z5h??i zg~P<#hxflC3pdYTGD(QguCjCbs$M?eQh}cJk@rl8g%OUI&J$ngnvjxea7CMN&VMe4c}v;-`4?0A?K}TfstR z`?il$5V^iuuo~uGNin88Hjg67!|~Dvi_FCcz#VWHw~lUm;zbMo$=L%HGz9GcCa|^h zGN;_)b>n*U^|vW zg@5n~vcOldkV9?p0LG{d*F=;_?EMWDVzvYa))9pilwc&fo$z{ug2PDr=XVpsDD)ki!<|0j1mXo#1#JW3ZHOux4fMvVkH}Z5Uku6ODu-*Imd%Wn z%?xr?CyL|wnaYpvu8hT;Nlp9M6kd|#M2ZVqqb%;vr@U7Fm)eNapa_XgzQ->KRMB`J*gRgM zJ?z}#t@N=O!))-^62%R-rzZw^6YhsTb2D_zC$~uZD3>}L_lY`-;xr?SkV-zf#-+-( zZ===x@^wVJwGFcnq!Zzjech_iADCwI!TFsTRgUt*E@jbP&B#x}50YkOs$cH8?*HoQ zY>@hOvAekcK7MlM_-_Rb?8sFHvB-#r{p;X=&}{!GXk`92!>7ub{EKEIx`oI%(9T+h zBd?qdIF*z)Q20-p?cL!^ol$_3qSf-q{X>2}yE+$MRTlrV5Vfz@5>3R`omkJZPS9@t zMns=6>9MX-K$LdcP@Pv3~`;3%Y zRzCtxWGjvxPT%&-`~L1JSO^l{Cz>H(ksfK0CN;=*l@C23!;}8($kd7TI}f(rv>)+l zU`z#j!@8qS$FzWjAT)6+4%(Sio1)iez8R+mt8VL&8BU6{)~+PB!GqD;ZRYz%p4ATN zJO-N^UTY^dd-mfdM+c(kAxm?KS(Bp(>Dt?+xzME0T9(0kK_mWydCs~va@i#4pE{gp zBJI`Cv}+S5lUwEAWnQ+ZHJ2%I@fwm&BxdBQC!RQ*?t?C^=^?S{853@A^_V%(MO_B` zChC$95OZSjft+o#yq$$7?&sC1pd>wdf(1~0enfv**=-;&A*dI#4_zmP(TqJ%ymAowk&F>bkCWt5Lu5m%#9aH_?}CLOvsj!l z?xe>^fM6c9Ns;FI=y_X`=D73KH|h%y+j}JY!lMh%x5p@5J{)7OE^_b*{VTc_mp2Dd z#@w@uYqmpZ#@TP@&R3|%3r2k;l@PxqOQt~#KDEMyw^KF3#cI&53whG!gx%rx1?lj; z+kBc-fe}|v&W*3ik?{jkam_FHRn;)UcRkW&!Wj`6#!b2ec=~qLRX8CrIe2d{3tl={ zi&mD7gGy=CSxbe_d|#|oGJANQ02i6(A=DD$tyQDlgI2v`1l)!USnix~0_xobI3df} zEk(Ntzu7I(W+AgBk(3meJsJvS>n2KMif+GDq3&#SOWtx8_pn~GABmNqv4{O7ntvU) zBGA5am`h|3=em_M$ZopN!g3D1Q@$0axTBLT^NS}+LEHVf@>S@e6yimm?|j;KkKF7x zcnm3q_c(}pf8W?Y6_9-tTeLN(OSr%NGInX{kcjIdSo67xMZAaHj9g9L-Ko0c!8p+! zqI&aB8hM(fbc1UBYj;~ZbHku-yP8Mm^VhW(q_rjJ-cPiut)FYu?jxQ0uVb0qQmYap z_NLmXB_?meN{DwYo%?iG3lKtdd0IKnW2RfRowgn&Z&mdFqM#8_hog zDgEE#otpH*)xGjXaC2LscbTAgM=r6(k|?@JdnA^ieBIl!DrzQ&i7NZ2;+H?S$=L#t z{cpu@PP`zO{l68zXEpMqEU3EOAkCJ)b$iL`y>2xwI`HY%zi75&*CT4fOMC7g5~u%@ zX8R=oSJ=^G-MG7+`o#I25Y~sq9vewQU0UL~kY{6PnHj|gyfZlnKf>caQu3^0!E{A< zB;CiqlxKHNMXAE{U~xdyH7hR@2hmqKA&iuur1GO`eSPvnquB=U9w=VY>!BADOByvl zaFd%@rHW$_sTV7b7k(fa6(h<|v^+Rgl7CXrvZhjLSJD2s*I0E(efb4Vr4wNluZ3Of zA1c94TZ=K3hv=|J&S__yNS>HGM9kwe7XA6gaakGgQ*J>|eN1+E?Ta;KOx`G2S`Oq) zsGRLE5=px2gZ^WJ=8ifB?n&Du24sH}hY3~D`OjbGoYWE_ns|S#YP04{9$^#P1O`}6 zr=U177bYOcg@9#UYtzWh478+bpNish{Z~>xr5*zzrqfy${$;h81MPC z-!tam-T?vznHMFxZiDdz4LuTxT}8_rfYvI7=PYJ2=iDwrt313Z`xM&utxF0^yYVbo zT2a~lo;sV~Kg4^MhtCni)9MY~qwh}@b!0|Hz)PMRU8Sns6hnyZ=JsmaoG=|Cr5~ze za=Ux_19uzjH&-VJEZ>-XLS-_(10s|$v^ESXlCONuYUSVGgYu8JmfHW}=*SJyeS4^&<{+7hOzyIM?c@ zqFy9of8CxAlJejoc(U;HOjhjfAF<9?u^$}Q4cyuVd>G+@SE#WRD*g@SAp-IKz>x6xYw(*GAA&>HRKh|k#ohYAmB@u%+gaI$h zJn{8p@c~LNnqq_sVs57-#V_M5+Jb<#Z6V5^`x^x!OG*(&aE42{P@ z>R7KxW*TvU!ne-?rC;jIvk7zU?iDs?s|Btm_4z~vBfU)@@`Yb**;6>w{VAGUH62l? z(8giFcuG4!{5BBn&v14l`8(-S zfCdai{yK{6rACj|V?}F0^z}CQ2A{;}((n(6LFSyes6~hlBO1i3J5NRvvt=Lnx)^Fx zZZK6vGJzoK#cp;WPuuzp)P}0G3$J3Co3;&ir!W6BgGYzSsffX@5qXV+aAtAXAm6h< zV1yd=nuf1pM9@h#5#7n+=gYVT!Z+z-|O+@Y9j`?dYgbMu?B%j_*9(Gw&Iv@fjB1^t#Ldd!#~ACP=3(=Cq6 zd=-Cq{OTdYVw0b)fdN|R@fmmYI>d~q$pS?}_Ni{%sh{8uQkj<;?uU+OdEO2LuDpkU zUmVL2maezy`G5#>@_JX=M;G)s9Tn%o!M6@EC2B4*fe&#p=;icJ<-`lHbixLD*F1fj z?VBzeoW}BUJTIIfVH;YhBcQF99&jxk!pPw4O-I5qZ$t~4D5!%Gi=ai8us3>OmOGMcRB;Fj-t~}6E&J#sB zHpu36WG4f~f?R-oyE}%>;@p6Q`3kI2;9{gK zLmJ-_O`wY*%<=`V)q|W<60i@DS$@L2Er8U|s$W0Y2LZ;Yz@$x)N?_4AHmg98P{rV# zn1OgP3fvgzB^FBH`+;Hm8;T(!-#ZYuA&3t)e62HxC<;#;1o3Gd8R89oO5uA%K;EYE z7GZe5jg~wlbDbb?*-^MGsW8$y-&YcxWK-s$2y7Bzvfdn2Iy!~GZBF5`V!<38?+03P z*(>4&NF1DG2$TrHKzO}roHC^HXiIo610nkjLS!?5M+9!DF9(bS!4WuaggnT}zaL)2 zAAzK)U!#2Qjd5tQ2Q*xYz>cbQbKmfU?3g9*m_dHM45~Tn!rBof_%t_M{G;LWj|Sg8 zPy7v@1UNkjyzwNc;7LgHlh8k&+`MtX&fxSdCH`Ak_5RHmp0*MZm&U+Kl^Bem;6_B) zJzx+5DCCD%3Bx0Za5+!IF(SOc2|%=x#OttG1o)7Pf9bWygV{ihBqDMQ^@et9Q?0twcue4Hi9B5yqApzNZwur_E`B4W<66yKva3IzO9!ZCP)ro_)qRtql z$NGu38)dk?Q%s`3t7)ln)u?!1$&XGtBU{a?4gRE@YkY_o{C@C47HZyC@oOV5n#j8o zEfIq$@sq>)6~n6ua^t<2EO5E`Dn#wO{R$oRkiq+qfwD|Q9|=!uV}KfD; z5@;udfhMc^9U@YV0M7I7D44up@jm?lJi-A<7fyg}vmtOZg{|saaE1o~oSd)Xu%O-z z9#8K|WFWNUFcX9>770;X)0s+l6jMVctizwcyAx>A7%ZKynm1uaJ@wvoqY`*A`^U{h z3~)n;IC4^>l4*Ee9Wzeo%AP?@F;N9-h*`6?J#8q$9)wE`wqgzFcVKzG4cZV$uGB zS{$mQ!aLPlhIDaW>wHqT>#_t*BQ@h(-Wy`_jvuLM!TRlL(dz1cyI ztu8JOWXx@mbtx3!f}oK3ORAL|a(+!K)JZN|WEoS&=J+7K27e-q|CUQ5s2u;HET-xlowu&&^$bx$ zMOaBqfeB0j6){ec4&6Y!iWzxy0MkrCR6<;3*e+;yau_&-+?mS&r+Imp3w!)T*$uo| zOhU~Tx&Q=Df850SDc*sII(F=h^+V>-Nv$4WUo99~BoCzhi3*n}AjL1yN1I~KTc~4J zn7>D2A0A?3)kRR7hzW>zW6R{x^JtYzxPInd@=?swpZ#EI?13+`jfN}(hiA+VFwYrt zKFBpZ(yxI8>uVq++(eo!n0cWK7Aw~gpfI~Z+!>}ehv!gVqqUV0k!|b9$E^7Uuh216 z6MG#fTt^(xNh+cLAycjOz-G39C=TlhkwD!>+79v^Q0$y(U7ejDoH={u5OQo_F9QP< zl2l*KLljcZq8Z2%ChyPN{>m#vROR|Rvp4ULT{^z>emc%}`Ls#SOETXS4taI{H_(_DdJE$&n9PcbCgz&!$#Wu#z7psPmi$PRV9oj4*KQX|&6iJ3a?B5s+;h z-BEOWeZmQ`6340h-j(=v=jGd&k=l2z^*Qx=wySErDZPobs5htW1Xy1p6RYZRo`04Q zL`?gBr44<=)jzM-6j>&T{GDKQ0f{Oz$iP2|s@vtOM{YFS4O_mpFjJz+e!2JVjjttd`;COpZGZp1y&4~J>)e~4tZ$z)VsrRj z9Qyg==Qo`~o1J%Ncf$+?z38_{3XSv-1ozGi^`M@vWb^?C-I*&e$?}XC{7AQpHQ{W~ zo7nYu`Qlia!0Yt*je7i@n~N=tg~xUtK9PztxHI>g;6unL-p42`C>We6T1dCFn_bAT zR@dtkIBmsoF9UY;!M$vaqeKq!*$|6Xklg!1|kGco_ z{oN3s8Ia&pXF|B4jdO9_SI%POZU;_T91r?wtms|(Yo}z$VAku^%Y!RPkwf~zTBn!G zOJ2j4OVdwP4CzlhzdCk+oy(s0zKTh+{9rXF9$Qgb*bxCadw>TjX9#d!jwWlj}iEj)yQhrQAIj{OgX`$(E=w@?3=8-xKfr4~c zP>f#c!&3uJw2K+csC9gC%~*SmD17GE&1rQ%lR>r-+(dHsm9+~+oyFy z*|$gVR;~4m!{RM9BNB2&M?0rvc2#Wb^T9eTk!#F`2xGa*4v}X^Af2!u{lb?PxDP%O1 zF-kF{atlGB)L8H6)4SdaVdJaZ`VT@ch9f#ZZt^PEu1Y1TvwUkWFYAZ{+IwL|ZtdNC zR_asAPqsJvKeD{$>w06pULs3;ylIpwDFoj&YHLHe4X6*0t{(OAT?q(~lv2=0go0#r z3)jl&b}P*>=SV>3Zg%0T;k9QaNs3jCQz8enV?wpuLf;1MS@ZSR5rRiSpN9hh%D!?VeWn^qlE9imBv_B())b?~ ze|E&)D(&uHWS;_%;pd$Cq+mJgP$*EUXFU0AJh#>Ru$v^5VMB16B zC3GngJ7X;*&7 zZ^ow*dIieGWe9)cm8lR41j7;cpZw@QcA?u#DDSHW=Vp7@!E2Rzxh$AfAPv& zg@5td?~msHjwkd-?}NPdCERab`FQN-;=g$9dxw7W+N>&&*G~RW5AxblM&*C;+7%`s zuYD$xck?e^`}3QB$oBrhYyY3*m7Bk={hL=_dR2K2)N9{<)9yv;%OHghA;|XO? zs+5(;sMmb5?qa!gipKNIOlvfLtR&TtJ1--Rgbv0X-qFK+_$?thd6$F z(bq^$f2qpte0oH2=A!;vXSWQ!IN83%>}37#d+&u6mJ3gYjqDi%4F`vgGblI zi70J$96R6Z!G-+^J{9a|ZfNZRc@J3ClCP2C!`wHbxI2r^uP$VvcSS21Yoiv&s=KVC zR<-)&KQo~(M%;$VhqEm%)nkVB&<)xLiL~0{{F0?R3)=3VwEE=VQJQFX40MLt@!g;IQ{5?b{G zb3;m-E_&gwGj7;x>*#wL^3ZxiP-asKaPRbHs%G_QO}}cpJT!T=&S-z|)3A$AA4^I? z*Ny7h;Qu`1k{P$g_cxIuVZ8&&>=W(ee!c~}U+SzAR{`zm%;|$O4an^jXn$3Wr8fIE zb^~AS!@c{Qtl&+)On5psM#{$~It;Yo*%Mq7%IgolCbyr*7rdRu^`OFa!PBn%?0#Jx z*fwHLB2B&fC)x{h#TzP$ro|8wicp^NM)<-u|==8l09Da zeuP&e6joc7g}FsLo@H;Q6*c_SRTsMF!s=ZCH(i6ChZY3;U2g5$wjJl5x#A-5Fl|#0 zlh___G2_rqsddtTQAbq{5D)s)H)0QMb6_GMFzM-g7Vg|?DJ)FXz9hfoWB9|kLl@Gu zMEv*LJ!}_<#mgD*eIk2OAj)Cv#QVcD3NI7z>SzBR*G58AAu5p8f1HQQdYC2p|Bb)l zAM(-v!~Tk_Z!h1yXufuGPNngy`?+Vq7M$AVsb|lnMe^teo!9m4xwZX9Eqi+Ba_{w( zE*0(A6hD`Ks<>O}lcC!U5i8HH{X#hgn2t<85)6&C)|zKMGAnr{^pF4wc@5@&d7+(Z zBTVWzPPcp#cMp#?5IXP4it`Vc);D0U4&R1;;F7Rs^W44TKcCuj`J- z=0m(FWSPC$%h!eVxxDq#NXA{@U21j+yi3`CyGu*lO~&Q<-#~-#4Jm+`zKzA1$A8_W zrFV}891TGqVDY$r6k)rzrWh`4r4Ye_JxYV+eEe(xre$le0==sd=TW4-^9; zBi%&(Bga*ACUm7y+TT`N!$n@E#|-MEaTwT2g$raH)lM%yUZAPXz6xj-x|AH%qPzeH zPy)SGNmD*%5uVoCgQFv;vja9GJQ|9%N75t{ZM9kY)8@7Pax0|TBZR9vewX7Cj>~9! z&pWqUJ!)R9f$xoVpMPwg8+QD&dY8Nrf{;4VrGLrzob*wxLNPnU8yOevq4oLFxd-mD z77f-{D-RUo$eb26=_Gbt8;+4xH>zj3-7#XvoD#0Qr;pr z3*81YXn52SwMTmYKmk$eNH|0OfurU4C#M?NEj_$5QK{}+Qy|$X)~0}Q<^{d?8Zl+^ zky9SxtXtOrUDIIE?Nc2M>_dZZzvWU_YhD}XtF;XV8{a$p+5vrHPUu#}&#j{} zsY`OA(rEK`tag&|=AaSZ&vyLTF8N6GSy0uN2c0~y*`vd!PejEH3)Y@-Q2CjGkZ$wM zOoWzAXXD)V+>090vF|#W4_!MTmqeOYZtL;;fz^AhB>8zCOF5n)#gdPIHa8Z`>All? zWLrR^S1MF79q!7;)W?(BbFuz}s2Q8$+CxiH_AfCjozhGsaQ}20 zAf&B+W*KDQi*upJJkv|V`7DmdNlwXBpvd*aN-N3Q5r-=KdAwAdruV0wPlm$W{*vU# zFP*3wQjNz@;TJvnAR!v^)uZ^mXMm4$ay@5{WWS&LkPOlmSj3*acNIzL?=g}v>#7pG8NUehDtcK0jT3E9P3C{|K7yCnr{wd@JG zrRsf>k$9ZBY8*lYo~c%I(N6gm!HU*?M_|rO;wC&DL6iJhf=UR}rNk-J@3hiMO93Mr z5;uv(1M;`r(--~2GT9gFEfn^N&KnHlU!n9Z61K;*x=4{;4o)TQNowPad#rPaw4-0% z?sK@iT7Ti*H>}f7?d+A;KIlnA>+QFh)KT zgs%+i2kBCI2=hrk&o=m5URlaL@s0epHBs`s$UNu#TFa3l19sS#s?=l8zb&oZ{q=qI z$=WXvNKs|)ZjWDK|J-^1nEh+_>l*k*8TJ1J@i?wW;K4PzIz6rEko8Ccst9iOPtC=D zv?wHDoo1yk)-A(&_2VsFYqAoPN<(*-Etl9t&W;@2Qlh4@`H`po`_pdUkF&7I67XAk zwsLaWS*f*%@Ax~~$Bhp$U-Zr_D{m%y5~cU3sPPJPx|+nX-t9SKe)wpneOaia42Vl~ zEmD`jv{eeFl}kqY%tW2Wq@G~=f>ApJS5yCCzZ3Y8YJwQ0HUcidjU%H#v#f?DRQd*J zp@r#1ig;}zbu5o#xNuO-DnCMZ9@*r%WSn?zO=2N~jC7?z#X9I*y6aBH#A*vNv0ZG5 zX1dP@6Imx|M^M2d4;Bwci(RbA%o?2xj`E8X+LjdE4vJMv2eWv0Bh_tU8)|gD{lqAf zyPtLUz>m3(pEAR$KYA_4w7c2)E*%uOPp%1GRGOyWF#}(OTkPl5LlS(XxzV{M9}lRf zh}TiD?^{hZ0*!?NE()0L9YY<==RlsCkXI1>xnTBsILXr&D>dlVd0Px(8;LI>tKNtO zJn47hLftYd`@K~tMW_@;EBB;W9MOjn8KVH@(QV`w3Yg^F1D`#ky&MVn&j_X9+qrdj z7DO)v(X!o(aSctg`aUyM19H^9bKt6(m`qum*> z`_L3EMntT}To>=6!-QaYk*#&5&jngd$(NaLU*k0M%>x)DP{1Be0@WW(BZosLPQ4n2 z3Yqvq_$r3eMb?=reBaW^@>TZIBicUqBFk-Mr3RjYvIMiZRy@upO=-45ZJ5b{9FV3- z(DC`)-egC1+suADSh0i4#*vJrz<={0`f1d*I? zm17XZ!FJX4XJTB5i{T7G**K4R(zErK^V3@xX2(mj=hcz;)mh0f%8Ef!M0x5)oYYa% zI1$fvu8@)W`)J=hGl30j!{erSxNMTBs|`%BRac5NK?X)4XZM@5Wu^pT&;fEZzxBy; z0Z-pWNUN8NVmt_`m<5%kjs#oLc`st65b6>vhpP1nw{v;w#S><#2?9Aydv_OvxwBeXQJ#>1s zDfVJ<=C$=J zKD`z3QM`J^?OfBDk=92S$J^h$ZMl4`8fBYR-tIgjxm12Z`b|($*skZ{(X`ZlOjziP zU6{t>Z$meJfg+KXC9`ASM+$yzmmh2SaQfx<*Ui5^Gg4bt&ma3SRd6}F)S&3iL9guT z*mWghK5I^EDeXF4`u4`;!HwiX)^*KWeWC%s{KXh(g2K$=Hd>-8X~hf9>rTH z;W9yW=|QowaA(8OJ)_aE9f%i|O9~DVEz@{=o!TuI%Vn(1mlop(KA8vWv9cHtq2&d4 zb2fuw1`II8I-qJ#>fTT>+kphl2(D0|Qag~W^=n|Fo~wrHhX7L~?epb^PMeUh8LYS$ zTzv@w#_4MWR2v1=PuM%oy5)1i7}JMFXkGs9bNiFU=^c^DNSQ~B-gRCVYv+9wcjzS0n zoQnnKiMNK2hpzcXT%CpRLHDel!honi8Y}$0E7(*=S}nMTxxjC*Y}hlXrgdanE;3F7 zW-br+yb8=yoI$-P1A|Cn!ZYZua4g(_{T|asR1b%oef`>Xal}Z5172nmbW-E^`&Ku5 zNdUBI^f6I=1e9U~;#xW9A_LtWB+btOBoVb@XlfA*gvKdM)e;W3FX;Wyo1 zB;fPFM0Va4O-0ABc$%p|A00JB07f7{7ZEjgkJG!6cfA-`q&QE}Kn=;By+x=*0{j8f z1?B?hJB@kk3y)#s-GfpS%v0}1Vh;+MLUxQ((&4w(k+&3pKYD6DiJx&^3Ca%%8FLqnmZ5fhi z1Mj2(lf=X&-+d#Xq_%UNZ=3*xZQmKE7l;)}zPu;v?&ibgf{LfXUzuT6s8UAhaPKV4 z3h1Vok&CAw6t%HaBt#YiU2CHdi$PS;;=F>hM0GcU+5%van$4L8H#&_;fB=;Y_!wU6o(p1<0Z*WNdgbuCj(|!A!9=={yUU*V znG%u@BAyOsK*Hq7m?Q{)JOhqcg1l@+B{mdzbp!Lux?=fvK(CMr~2 zqIDMKdRUfoSPTu?9cKNoo$z$3sj?)XuBVdfd2fs%bnNiG{v}9z*FIR0=j--;FWIwp zXTX(LblWZps+oaIV(=s|?*7V&J<)6(-DiJJ9Z@~z zht3g{o`dZFoGlP8`+h^FG2eNGNvJc$ARmMcF;H4|hzJ7WEfw9NAvez8&n09uF^f4j z;GAkGLnBPnIy@#Acx@@yzYZ^;>CTyn&wPfb`G!K%EX#P^tiKy?1z-Zdr%zu8#%6K~ z>0nQw%CXKDc^=`EF29lKm`?Xxp&~MD^ti)i9~K8y;Sd2H_tF^Zaf-o08y7Ar{83K$mQZsEbB;*nv5D{8rzPAww~l;UVO)g?V6uFxlrK){3gO zaI!s&(e?&CfMw$T*l<^4sc>MNRmIuL3;Un~b&=7;+CsyDEss5SSXE$AYpPmrYBpKe z2@xBz$A3zO(?uqvMAqSm(A+DdcO|^J4Cy^CywnSrToQPdfqLO*-k&iq_Tc<~I6K(# zKVX@GhT#_l#$wpoT^S&kf_V2HVt^w&bIr&T)~{waOEl3myWRJ#12z7tRWiJ_08&bl44}whG7SW?E- zr3WExcZltGSV*~n$o;pm6}~}i0#F7KxGEIPwg}ZU z^VDz~-AC`rEtg9AY@)XyuV%sNa7@$q-8`i^=Z2?W*|IQy5H9#^UE1TQUZ-|JvlBSy zg=?1=wlBhCfj@ee=M#2-wQ#KzZL!^ZQZ%@ z#y=U9wodD8HvTOBOWJzRFt(rt3_*sUykK)3d;TnN8^V_?NWxKSPjzOIu?JG4gZ&C2jpz2txe5aY*y^j=;g~3Hxjf^s|zGOIu|UP3vZu zx@Nznt>^{w5_3yW{(EXr3xvl>jnL2LX<8Ta#^g)r(*LW{)^b;Vncvb@Yu}~+LE37% zbL_sf-g~j~JwJ_J8kCJ}DLfFl^W8e-F(yGPiE z?SopJEs@rYr#PiF?O}MwpdrZ7R8$S^1;dk3?&cI|8E=$Z16rh2MSpsMcYhNu@5rU6 zhtU1|$&dr<)TZs+_Nvq^(QPUeqC4}cX0fWo=fyAHfG98@R$8rq@2OiiTr9n?UJh<* zAhwTb7l0uMN>fdL9@Jk}h#U#M%+Ni&tH!jjO8nHjQnpKKLCaKcw*UNPKzj*UnpSzK z0NuTUdu!vg*{LwT$9G8mhSKBOV+OukV|==40re}52b3U`AFB`zuGw7a-h}6L$A|SWBWi zq*#W79qRqcUAwjYuY`;*B#`7TGz}@8bBux}_{rDj^>Wlgay0xmkmK*#tc=$42*1Mb zUD;U*r9bU7ES3CiJoqgb#YxFy9?nO%5kqXS7)%L~faCBIho0#ErRBM9J zK8c6(?hkW26j?VnuSI~P5o#-V#FiO5oc{L>(HVzkJ@}%=oy_;C_jO558)D- zGmr7$ITj~#)#UGIV<(3s_$>!`Ho_p{FxbD%!xRn*=(>i3Kd^+XA;kV>x^`*3g#k_9 z|Fxz~xBBjXBqcEcnBseX9h&zd{xW?ZyZyiPche!yAutHon}8!B%X)M(+8cwAzyD$^ zm}nz7Xn#A*TmNMs|0~hnn0fI(Nwfw3o@fWx{P#p#^wqx;?N^Z&C6+(G)qw_b)%!js z3BT9JVUEQ8Wgt)B>TkI82kgHLojXnE$UCxc^GDRcU(<1}us_Gm8Cm zCwPm~X}9P8-Cg&PwSh2=!WTbp@VNAtr9z=o!jr*M&RZ$a)x7z0VOkjZqHx-soMcVt z&Dy(>YgJpv_7{}e5u#}=8bewG7%yY3_hA~=H`W@zO2nt+#Yu$=;nR-Ze4ATKNY0q- z8KCm{(%o*(=hhCzkzNN$X@H3+mCMWv^!C2p(Q(U2m~2cULCg_M?1U}@t>dWP`_AQT z#5Yo|o9C6KCML-_Ig8!YT0a2{QZoO1bK)>R7GKG4X5da zhxLwN);mS)0Uozp4)G~vY8zZEx0foYI{QNV!b&Yl_S<~jrIQyPRzP&IiuzNYeGgB* zd0k-@?o%9_()9k&$%mr$Rtd4eM}&-D>hpE|A^1>eAbdzMCZF!2`f$Mii0TVv{^Z29 z??2XRuDt1=LB*XqoT~YFI=x@D4G*4+j5ehWo3r`dWQh;G-fWo6&>kYEhvBOn;A8}usom@bXf98ep!Fsh+CT1Dhr3ApKAGG`}^c6t^r^$=%nvfp1Je6_@MFT#RmuAZJLU@7x0uGfmwBjff( zce#TOIGY%pOsvd13#;Hh+lq9Vs?{DPTU`ICO+SzkxhL(XhdVQsp3_q2e&jO3Dq&}Y z_DH$RC?($Nh$6q#z(r5R!d{w}Wk&9(bDY*=hr1VL-3z7{{?KR*KI*5KaeHKYQAc&N zBo(!gnN!N6J*Ggr^=w{(%m4gAz@Lo`9;qel)ZJIn@wZ6X*(zKUkX4lXmUcsG`_AUT zdy>PZO+*iW;g3vr^5ZG2Qw*HT5(7MPI_&pQ}$EvaDtHW zy$G9_BN`D39-(cRh`5gCRSSBsRDgIaKFS(MNO2@efsgvge2T}0WcHSQaOfap&!%0# z&tcN!yX1JWh+zEyC+#pEY1}X>m12bd@y$#TZ5w~nA6Log&@GKFN=nY!ia#Zb_*t#r$^Bf;FjUdq%oTE)=tN9t*FSN_vmB7g#v3er;WZ>hqN(GuTT<7l%DNP6pH0-bbkFO^*$(HNeOM0{k#y>VX_!#3i z#5+><{BB73&l&|RiB%aPs!PGwIi=?sUsa@@`mMa_obJ_-Js2=mYO(um@HX_$K`?sU z(eUcHX!asGv9Ye=WYk)hOQiNjTz%eKR{b-}*B_o<8PB(@>tXjmnbwe_(Wh&r#Kz5&R6ra%X_Rb zB#>Y2*=!`d2w|>|7IdbbW@l2qpHqeA(`qruAEp8-I4@oY{ZmxXV}gsv$^BaQk+@;v?83%InE z8f(>LT(=9J;i@)F1m8r$ie6c%DZc3$GoI?fAB}%;kXD!m5!24l)B7n`3?13Eb0zDS z^;l{2_vpSeek+hstUiGMzes!Uc&Y=(-(TLGeU7)0y;rt_j8JAa9a2f?pd?AhimZ;k zvxU$>Hg!<;ILOHA5E;o%(l9He&OM*c{XKr)$KyWkfA_yL{yFEo&v~D7UgP=7SW(cx zh`TC{>AIF+$Fy&ZDYVELJd62wf+7FRR({sI45*$#nO@U(Q433%WR($x?UN1WO44wq zQN@Rdm#AFn^BkWPlMxpaGk=TZE|zzn(VY(uVPmpX=wpx>Q3!hzV5!g*MKfW^7sTv8 zDz3D8mZY=@?vE+7C8=1eHMHBfr9G8=@+|gV{H0A@>b!E2-t1cau(5IFzPbFAg}9}B z&ys4Y(kqKLrzn=cK8d$=KBf;T6vzaN6Uve|pLtM;*Qi<}BNND0KOU7~Wwx~Hq(lt2 zn7kuv?!^+Nw)Zwj7X+dNA-gklN1V{p`RZ2X$ZIw)Jw}?oqe@-o;jrvAgzbo25AG#K zg*?LeS)qf%n0Vb-&(-V{k1z2?S{E~v+W{tIyf?@MpGW$OaEYa1`+04X22JGIhvnuh zK3gkj@g1OLb8j41-h0D%4e55mm=x*U_R?Nm0uC6Y;2 zpz-PT_lYOv0p95Y2yLhsb#a6dhpFgixLAj{lv8~2r78L>Eg>zzI>&{hDzFc0o2DIp z!t*JqUGT&Ymh&`BO5f!Dkd`pzEll}h+{gQu+uL+DEoJZy= zotzwB<*g2)YCiWCI3&69_;AFWUeFU{Y>7`{hZ~w@pU}Mx8@2LVMWO2G`#xbwaIO zG1n({f?9Ux25|emEK*+O&B!&ci4%>JCMt?_D1Z{9=qST`?B$yrVgx7yQR+JCRC!_b zOnvT#;b+~`Uq+$`>A769Q4*3nFsNY(*B1PpVpKXU{`XlTv$J>U!=d;$e!P>p!yGXE z=}MgYdb-GY{_~1VC8%452E1c9`cz|i#4!PX60;N|TQ`;CuK%v6#q*ZD`XM#rT!zBE zZllvA)?_oERbDE0zv}yOC?-kdfzBC8)2uJJ?5fOyf|{G=0=^md+*d2-xuKfP*2(YJ zuyOI@{U&ft^B5Vw%3<5jdXw)-w!qR>a_No^%F2C>m z?Jpg{RZKT<-oIKudn?>B=sjHBuocz$JhFUtj-iROSZDtXf*>&i`sv{AyNhWyVKpEW-mjs=c26#gFheD2TT zTO#Hq32M2a&v!(PvwB&~HM(J>bu^y(=;gChmS4=S9Zlqny)087{bCh7_h!Ws7bV<7 zvWY%&c=c>RTdH`X==Cqf75!InR>}N3nDe8oL#nlJf3gHMA52qXc7h0@pdSMxOFwl$ z_o(|@mfNM~f7Qqi&ME-!AgeDUp*Cw1dlB=guJ*oSm1^FEn1GcOO}DbVD?n0^JtE zlM}c^ICXMgV?2n=|E$DODg^yF$q0-NeSBhmM%BXUd5q)3NT_Pg8K0ybZ+?y*q&zpH zquJd!&Lv&mg^~eDdbprdV2w|`LQf`867+L$h00T+CgDBF_P3dksuf4)p9=!D>Mt<0 z+f;73M?0?x&XA;vQ4KFF&@XMsrxMpKi}Djx32|m;+lgdt)>Rh6hdYjFM6fsO#fy#L zAqFN)MG7lXJS358NgDd&Z+lT<8r>@U2mKf~2Ad2GJj(fAyV3|XTKN+%G^>gKtixh- zPx9GoTewJc7%~6)yfC!lMK`VIZfc}}t_~!0(B%6)owRe44A4^lTr`1Lu*A}J@aRm~ z%-0yfEDZ);I#;iz1bm7Iip(>P6CK1$DY!IC&r-4Px<1sTtD4qMKW(@@ab?g~NXOw6KCx#etaLVJdiEq9-=6N~9s7Y}i z3pZehQKAu;sJg5k+kQHOF&MgK0s{A70X`z-Ik7GMv1&`P#EOVF<=`rb(DvJ@ zI0h5E4^@j}E>(;7kOFn%fHLp++~#<1jo6pJ&m3H$L+crXZK zx{1*SfdDLPqn*b^*ZXa8@p&7`T?ax9SVZND5Ti4b5`}(>Ot`Pd(hmZqaY?p04aCu6ht5o7hn=2oLY$|0|C98?NS zJJrwo70SCDGRhzpKm=S4Q$9*%Tz?}tB%EdkA~#ae+1r3?P8K!wfinq}S_eIY&E(*T zWA;e{lu!muP}zD>rD9RPSa2PL;b$0C@K2OLzz)les>ht0Wo)_q#1RWzt3-LUB+Bfd zH9#OU6)YqAH}L@S6h?;Z%DoiKA{2xeGi2*gLKk_*2c z1~ooNhK6%|Vuu+}04)mOfJKnGukDi&2HSuRmZ?k_Z9ri1?n4=1nM6;CoX0XfT@nw7 zg6dEJZ7`T^+=`56;?QI&0MR;lrW|ihD`BQry3Xw3Py-5c=Y8{-RFc9`F}(Ewf060h zo>|X|g^4#CY{dhaE-0wvBf!deDw;#%2yG3u^cOS#;b&e0F=ILOu+0|k@5{92y~7fo zA$H2ct(5Jht%vRAomV>;*ZZ!!%c9n0SGdw#SG=t*+1naqmpT2sCZy)_Sk*}~%XYOA z|KP~VFYhKDPhfNTB=5SFs*xwqkKERn_PBfmzm4pX3gn-eEd+gNsQC%+>La5r}y?% zqh__|v+UpBtei}!z6Gf%8M^uD=5r>==YG6Z*JEnojV>Q~D?a2owRzNvs+F&4*3e$n zdLLa2@L&~Kf8J_VlOx!$Yw`FT#4cf8MkYSuI$ zo==!LNOCrC@7zhryD3p!o)lCK8-97YjGUlZXfs?+JbF1|Uw&EZRRwQj0K!w!zDE5C znY*prWA3H#9ak^DT8rSD+r0Hx@6=12WY258;ZprPlk;Ur;uWLyrYp$X7ys0RUaRYo zyp7jtPHAk`(7JtB%PXp_$@)WcCSOzba9#S7mg|2SeUa{IvR?VunoRz*gmSj7xU~kw zwCZQq$M?5hxziK{X)CUFPcv_I(`qYx()!@*t+2i}S!C-cM0>~Awg_Zf+t$j$#{R*MuiY|B&%go5iY)$T1qVaXEXmzfBaAzlUZanGSZ0r2?#GNPg z1Yiq5t63fgQ(*ZNL_USFj`ABv8QG_x zzfm}nDC{+qjB72AjT&<}pVQj9J+HMtRqGLV=#dQRk;?CpY44Gn@3D8gcQ2E_FOc8H zn56}atTT-R(jMFH8r7G`cTkZ%>2#Z4rVAfawJZVlfQuxE^U{5yPifeS_^__p69RII zB&fNAb_F4>sR+0-%6X}8Mno_a3rPW!0VRwTs_(PS>i`fEka~KN3U$)%cg;ss?4bkO zq4!?G0&Do(_#r8H|GPEdFa_pGBMkWK3It*y?i7TxGTaplQPu<<9NyfdiaPO%(2dP3 z{&+j@E4Eer5byr9RG!Tuu8iJ(SG)p|4V@PP3j`s76mCscq$~N&l~zm%d008;O-cyN z!j!cV3-JesChIUZ=Syex!4Wwj?(m_;-4f&OtHH}dWKWPvg;oml$73Ofas26ch_oTs z76ZC%KKx`!b3S0aCaQ!Rw|ssfNPEnOFM;*B|vUcp{*kR zVOU6|HfuvFEDgsuL%$0ryS@aunJT-J_BfFU2^3DokWdk};5-iE#vtSn0_kIb-DE(% zIn6pvfOyiVD7VzNyWMsxuBWU(^ToiYXQfw?UW z>~wQ)fbg4mn8VC#4`I{{bs9XuIz^Zs5uWzDD;!FKWRtn}LAVDIDkOpqs2!j~G6Oy; zqeNi0uy9};?!hoyrabF^1?oYZ<==t1Q)a)hYDlvoi6ltE>rBfLh@>mrgQgqBx`Xhb zLS>j{bm+Wd0<_>5(^(4%vtICA3g}&icu=%CtzjP2e8wI4fWYif0e1j({-pDViMygh zAT*#Bl0b=e51p3uMf(zGAiGd6P$j(fYz&wTFlX`GZEQ0L>+IIKmHFfpJFJG*LT6JCCCOK;SWL` z|9#@PA)0Fq#)4484Tdt}`Y%be=Z|%zb5L(DFhlqAeJ^@O2i7ssT$qy6D~-WIv+*PTsq21vn|BphH^@-`)J-}y z&lmUk*L(5lq+stQFHi~d(u%c&08QCO_>*BAYhZ5I&P55=P- zY*8{7)Y*&nLae~EDbOo{qqk^qJ4+VoHY|_<)^G}aj)v$Nmx$Qj_x}vFxfhZ}gkDbJ z?;-9s2>*uylud+2P^D7BcjcbuNxelRdH=#bJ(at(m(vBUNQpYLwWs}Jw}3^8Oxi8m z+6yJTXG}v#J^d5B4UK!s-Oe(v;dhvl!e2v$Rw%;igpg89+P?^`7DjhmUkhe9ewPdn#KR<4 z?u>%)?=&bwT>{@(C^Pb(N)B$hClbCG`tH|V0lk=$^1RPtF;CR|_O*j7a?<$Je7Cqo z4Fjz|>1DE7Dj2p*=$R!7-CRJyeI%_SX*LsUm7qJW7$e1b-fXh`?K5m{PkxJE1+Mbq zmkzDD{gr_l+Cqo6^v|-HqDxP096iQ8-zHp)Rzu}A-Wth)_r<6_$@X$83x2cm9XYLF zTkHE4<2JlYcI?!hey&Sfq7gV^Ak_?kKk|YoDx{WQQWzFMdjx@N2hn z{A(@Cf2njxzehn9^OBWWuIA0vV9U+vE8)zS?Oams4%yv!e6w-JO&taMA6xl9a=XKc zkN+3BeYq=^#&78P|J%xgb^jf-O>ltKt-VhBp8;uTcBY2P|Chz7e0RgL@V~rNzjD(& z7K#5opj-|QHPS}>cR>2;SZ3a7x_yi971bX4`D~`ay}|04=Bu*VL{Ppp*<8K$W1H27 zZ2#(=TfHrQe^=;*olJwyKTXP`&VWwZ)bOooRt2yNcq%wd5CxCNB`3+T;=j-n)g08-q}ii zbgbd_b+qVCli5}Q5CnAGqGfipYxsxnhk420{_&x;#n%^D3e-Fo zqkb0eL_;2(DJh{zMD>kAqhh2ZC`K1ox^l;8S5)*Xf4|}KeQF_l@zG;%4-sq`O z5e|pcW`D5gnJ-3#*49Q(YPLJ)13hUelM$)PWZebtJ>=tGqgQaGr`9G^E&s-5ykQT;1r=d3%C#8MMCn;CT_17r zP;7dgK3qW~`HspqIMBo@0V?GvIWTg)l{K)ToiRD#ktWtkj(nrHNN+DZaJjrFt;xx- z%iVr1WCL{wmVW8DXkJIm(j3vC!AfMRF{r%+rLEcD=$e_0%^yZvb|fSK zO?NkLV6yo%$s#JXGGa;CA>toQ=_my9y=BL_;nbb4*mo8oU-uJ|uNCGQe9_8%-ugkS zt=$G)daA=^w@vPP)R=577Ff}p%xhTI?0@Mq{OoH#+xBp+$;HI>-5$|VP1Mr?d&OD~ zb|ID5ozQU&8Q)ck7EhB;aum()3QD&6{`t4+O=X`qG_kH1?+tsNdX^+peY&BsobhA{ zLXO$H0U^sbL36c|sd`y&t~z%b7?x=ug|J9Oe@egJ)*Y@1l z2I-iWvIlq3K@&{0-0Wx57OH%uze%S46OufH1hsiw?_yzfR_v|YU_+2ZueY_}4UHO$e# zZG6z*qzN8waBe(tIL#}8y7*EwAOm=>Vd0!W48JAtxy{Z$l}_MwkeANTS~4ItQ6Ofk zS6jdE{-POj>BZ%w_{gjXL(ldZ`f^8}e9C=Z>4#X-g&NU-66|@lft~mZ;ycl02Zo)3 zrKxryD_mSMMjX|8;9Wl#4yVlvGMYQR!(=1T7P9Ei*7eF*6S0$(8;{wb4}>ILEV&B~ zqUxUC>YESMPh>na;&R*|`X}ip-O#?Q=QIvKJ!YI-f?w60hYf7ixIXgVclf#6oN!jg zi1#XoxX6I9+Fk663dX8N^bWF2n{-OX`fcgy>95OgL1AARa%4sl&G=+J!shFDJ8yrGh!t*MKGN?4m+ zw9@-VT7sXEZ!(4dJW(dz43@XX86>x&Zd(Uubh6A}xzjI+ElL*0Fy-c8A%S#KtQFDZ z{1(wjQdwlg!j4g3;lZ+`Tv1Y_!&|nRoUBE;H0!N)1D@=`r~!y5Is?NYP(n65jonMR zhVS9<%T3u*vrfF0$6mapKOiGl7k@{pI=!KSNz&#N+T1q6X?iV2`Xw*cD{v}D@$_x; zQ_O|#f&Ne9TB9Z8M6|>4k!4g}<5!)|2`&Hj+4Uth<>Z_ZUiHOn4LJoFq`CTg&x+Zy zu;&>++riCsBk$K$$Q@aP!!2w@*>6V6NlY(Ky_)!@-$ecPRZTD6?DT5UqUqfmm%6W- z(=2+}bUqqN#3ba7a5l;>VvQuEcHndM+s&1M@~&6aO06v-*fJ{Q%#Dy)xj#=eEMa|AupDmpfC6liQpGPnW|2T7v5WIq6a^MY)#=aCGzHU0 zj{SJYkt=3q(5kWi0lEOx_%lm=bRPzh|L$?^&)m#&H9ro@cdy_-AC@ppO`qg`_&oVD zzwS23@qYBj{kC9)Q+!1GXUnai4}TW+)zl2Ey0^mq{8=pDMo2@fwj=oRIgYHFd-T{= zqTd=xpZ*c=a6_ACHOWX3b1%)yNGvnPxKB=(GbuSP!+Rn#=F~~rz|UAc*B#*?hh@Y5 z_@M{+0{^o4wUpkPzSdb-NtC_SC$E0r!$)DSP&Vp~+9^ye*CTEQ&W{^fYMMR@pRg6Z za~e9diQ$w^--Os4Z`EDo#0#$hAiOe2wcI2}8@ONnv|Vz+nkA^U@uy|RCl&Bks$M}S zcU59P3De^0Cv4T4z9;a#cUEhWw)^{aHCv-A>+xKfzF31&L6Ewp-QBO!)!>pew_sh(0euon+lkzxHHL{6B=_qTvQmC*sjvZf(_H%XKGL*;N# zH6pM|R@+))QXxfsnpS00!o1psMQp=bh&FFaloz@Yv3OVs1&xf9#rX1ng+^r-(`jIc zggur;YOEtHZm>KYdIC)^cVx0b86Ji((jq{Odd0b{(mu+M)mv`%=n zq3v)7-Lo~q!LzhD-wf8IeKJ&q2z=QE`|yC8uzHl#L!qX)WQ~Al?*#TibYv=^PSl#S z1LTOd##F{g9GhAuFpbS{g`o{AQ5=~F`BXq>?Ocnx*qh@2jQKplDeCrToP%fj7pKyH zGL6K^fvjofZww{8k@O)Qxrz`-AhAvz$X#Nn10xoRHeaz2`v+%F9kRrNfYo+vf(DZs z1;OH+qJl%)7_iK5XXk)Y??h7B#xr!zbhs29cE`yA|IXtztLg^ z{VPR7n4Sb3rW${K+<054=oV&u8)*OnrrY>@NMxEY7(ivb4zdQ~fuE)-b^ZV z8S8+>g8&3D2ukwgoxYf-vR%M3;C)J|uxBQ(`Y;dq;Oaq1VR^U|_299eE4UznDsM){ z9=c;S;PfFBjZ~oVG?NO5T&P3R`Ks5k1>wp<^f{ymVNit!m?jD>Zf9rWiy3=GtXjg< zNDzR&g_Y|{f53vRkKx^g8zO?u5kgydCRGaT(iuQO26Vy!52*+h9Fx>1292srvFe2L&`VwcxI9SdZsePVx=(@`g{}w7>CNyKZYtoy)=Aj8oe5Nlx%)Rc&VG- zvbw&k$KrqmV#&piVu&|48J-fdPj4ox=aq~T09DZHiYtQt`(v>vHCPig<^@cHKo1ab zB-u^l{G}CrE)|$ zV_Lc?DQ%9JxO5;8WdH2tTsgD|k$nJ9-i4}A7`svpYw@Afc-7S)10L zf>I+mCc4EGh=Zqr5Dof%7~a$CHh|F*COtS0q#^$W)GaQftd_!S0|7_!^&#a9H3Ir{ z1ICc2YEbl*R5hd0Oyy1qN@pold>F{w&KT-L(`U2J4{N&OfVWL*b4$!;Dj4YtWLj8w zA@A)8VKma$f(j;D$e?qygzbDav&o3Abk~m}=qZX*Ms?bVExI8Uj_yN`4vB1FQBNgM zKdjMWQGyv-&U_mTvr8yXzH?g?bnc~e!2eQZjOxHMo$LEjAB#d|>#^PGHgKC_9yM8t zJ(y^wGA%2Ns*{ucY5SY@vt!~<#Id*Q8P=9OKVNis=f~jAw&KohzOG%ZuKz8!A3W(g zYU?`w(Dm<67Xv?qQJcc#K!Jq(S8i{opynx%IylrJy`x;W$oV64!vq2y&Czw_Zu~|KZhBe;BtKYK!o=}rJA3^w13)8 zu-Us_R%5^Ww*;+YU&|}qFPtWjuJm1HXh)T7+L= zWWcS*VHxZFhL9UM#(n-ZgMHJl&p~~7xdw9^&xY)`TGIL5r~1vOJJ=6+EKUpIVudW+ z^w^3tS}&i{7agjZ7iQhj+4$|7os^f%b-$JXE7^`6*~h(SEB1RlLejgRFhiGB89Ygl zaqUsM^z5|+*&meNx)Nz|Uu28~@unEf=RcrNfTiIAVd0prC1_wEo%Rg%Ooa=lpKeHc z60AFV;4nJPFEaPdIU&i9s|WRdq;b`guW|{Jns{TBOc%~ZxuMQ6OArs?w;LAsGi}gR z5dC-<6-a`-B8@-hOMIEnvHtSp?8=bdH-<67XqOgyO-%=jHx+)D*M=qm^Tk59Ju5o( zhL*a`y+A1a_MDo&kbMC#921O#3bzc!8GC09JYXC2mKA_9{S8n&E59%N?xZ}HNQA~x z5mN-Za7yAYMhAjWQ~Ak=@;=-#Xc7vwx@eNnj3G&>1x3eh;W1M0c2Mtgg3T>*1%ceq0@EAG~*MGYpxxjTR1bU;x zI+y{*SvgCP8!TkUGRuk=(6vlmO)3!@%AgQLyA7kuryISnKqB9<66~Vz?&9F>H)#$ZYImW` zKc;Eh@IWl=89O?735r%g2UDSQDnfLpC~yh&0>wH;hPKO!htlQgn`(MoskO-F) z6bvRp^U>%~VOY;!Oga&&`22Nxwtp=nz2lo`vI7ss!UnomAA;*2O>8($!$NUL=VP9~ z5zx6+h6@VwMgofrg@TuzYE5XrG1ne>Z*8Mv$WURpXol{3p{M7DFf0^wl39SpEDeoQ zq2VA_;1BGopFijVC1NzB!ByWH7`>sIScl|x*uU&v( zEfqR7_q9#FVnP@eNstm!g@>ggR;xQV@USpS6{9mEj0Afwhc1`b-lxFAmSlMZ&@dKy zhd96dl^t*b{ZM!fScaZE*U{)@ur!|hRF}1Nbc|UKP9(v^RBZ}~TXdB2Q(~(`z}7?3 z76y-aNQQ;eMCphD7_VV^1O+h|Y^|~BM$!=U27Oz{=hyTUcB}e(nFhcm* zr3H4;5!JdPOLZ_JrBPNHaYhFu3&Tptom+&T5kcsTwgWo7J5%>y3`GCR_1+-SdD*|{ zRpY>Ws+6G37`z3&{v1uzI@mFkVG*1qz#{M^TH#>NY8Z{bieI9Le*y-457!ow1lenV(!$QV5A zDZSl}M`Z`W8lwbT=pAX27!^c%yTf8Mkdef4+7TvtyBf8F$-%;E>BX33-6h=!X0)Io zU2fNpK?|IV;?f8p2Rr=9y?(c2qsDMs;ds%>Dw8vLR05Y}KX3jt_ntQ*BRAc7!qWUH)cQ zfAb_KUw^G^w|ARU$6PepvCc*1VHmqw^;E6Py4rL39Lt%i%XK-Se9f1y)?BK~F7lQ9 zHh1B6U)~8LlNWZ1vBN=^dOa`iyHAu_KIODiZSZ(%dy&0n^YqK^*_Ri_|N6;$ueSQL zv~(H?I2;gGdhe)=SpEr|o`HQAd>yLo?-MtfczvMIG1%aFgE!LQR>1d>*oU>g{3f0L z{t2I(x?+W{ci#T8_kD5TX%}Aie>7$+13yD5eP@6HMq?0w@tfe5x*lRcUb#W?e=0&e zGD#-eORpoipn_2q1hKvpB-%bd4l6d8!ErW%Ki;OaKT3|hI7y?v?0l|@@42LwUCDtw zk@ItMl@~=viq0jyMorrrftuE2N1w3+I0{)v9?rrd*f zVwdCPJ}R6XvXvh%=l-C^Ty^RDRJkW`PvBaX;&go!wC%2a)3#H4QdY60?186CRcxPA zqxNZut3%j^vAZ=n3ZH9CZuK*JzTa~i4WwC>4F|rOe2eF5dz~MwZaeR*R4$pEckt#z z+qHL0{5FL3{GNB~{&HLgJ|8b;(UOub?z<0FhKtd*xTiL(I#Mci?uE1-|Ni18axWWx zC^5f0Q7iUK>(5z_&snbq9tW>~yuu%R)ZI80{_jC7K4|7+UqRsJ%~;0^&S$1S26GgD zcD{azb?|BwL;b0h``bmIrtJ$VxeMG+D1Z8Rt0z3J$fZ-&PAssXh0FEIc({gx=bx(w zD*^3k@5L?~G7er$R%^Yyoc2#5(1n0m7;ubqnDCnqx>Ebn`SFeH+v`@h$|@z(r9)q> zKOyu>f6n)NfBSPm;Ckif!jNBI=!jp4%myin(_^D3PVzr}Pqj_=g0HB3E5m&a-0i|G zhdGI}`I^{DgZ&#vUmWsm%y5fB{`s?Kyq;5%DPq9&ojUHx0mz)rg3;)^T^UIsRX|2XT0+%yGo2cw;;s3J*JHjX zhOfyfPkNzRcj12N21i5On5Uu5i00!7u~FgJ8nGmiJHNfnpQRPr!g#YB5Q)OE?q+XQ z!?|7jn*%C}ejBG(j6)6R18Fs7vlZPC6-SkQ^je>IF+{dhi~LBL9#}|Tmw2~lI+HOF z9>ZG_;?c_Mj$hGU`*uz1ov=I3=8M+q+nq1ZsP2xV&sJdzSY0;wYWNMF)V51jo#7A_ zj#VyqLazo{0;U?W!g~v6@PVI{fI=AXZ5;H=_1s5>*KDD@h<)n)-pOW};pmy1c;OLj zylICkJCF9s(_`gmhOuQ7a6BkR8zHpEh79q?Y8Xf)>?W&ZE=PJu87P{Z0&ktB@{CJG zLd@^SDi5*<F$*p4Y+6Ef`sD+P&8N2B~_HrI&DvuU8bNoS+QrdF0A%@F7YGqD?~ZS>NFA9Ky!j zLq!Q%@*BvzF~T&QJlI`zBaiqQl9lrH!q@S=+%dlgl;)R3hID(yMwepU+V4s(4z9^{ zN{-wi{J^-`@u(<&L4}*Rpdz=g3ineG;U;1k{mRZVkK@yIl0?{EB$ZZqJTMPm^Lfm% zJSiG-2zqfCa91}+%14jW`Xj`B>CcEmke;_P`!0&|IC!F5A)R_QN{_WF&sMyL2sc-C zMLEN=HAcahtJrjrQ0`u_wF;{U^2P9Xe34jP<+s<3)&w?iecVHY> zyM0w45@sN|QHODjaz;)0>6);I(_bkU)RT%ybrt*8dzm7rID+#kH zl1+9@cWI__EUzYSgJOsXiLs@ZD=976IB(*_5aEu^shw!ujj@ZNuwEINOT&tU)l3ab zSA!f8)NQi)^9@O7lY+7h1ZJ*{L7O zIhUj7FIRQMod0%j`i_2hNDuPnQop+4FiJ7RIV&q6noIep(m!VfnR9YbV~FCI%CUkZ z$z#u=mZQ&Y{K8WS1f?TstDl7v;MUK|kS}*C1IRr{S8nF%PUraHby1tipe;xFpUK$3 za7tS-l=v5qIy<(~iEY20(6J4>T@#t=nnQ3KUW)$F=m845nJDq|$9uq@aR+Z~rF#EN zRv?JbNQVBpimlXWYw$I<(}sTN*-!S078-Az518&PrmZN}@Ca<3SJrc~j!`(s9do1; z(3C$(2R-W<&-ukD*u2dwtA*!x-RM!&6^;9seg8@s%%3ai+lD4nVjp9j2RCdadDzU= zwjbNe{i~+KZDX%K%x?PMGw)frnM_7q+>|=U&b3W@mo%u#vO;6<>=j!v)UCK>&B@l; zly+BE=NW(s=}9&`Rzux1=@Xqjd12T&@#Y5U<+J{~`o2j(QjLd~9`|j>yT`RRB-^i7 zG#4eCOx5*oX{eTZ+Etn78gx_7Nj`smY3`|$>|D{=n`LHPGWX3l#n_rSYBoZLo`2uU zjHI!{Qm59c(t`6X$YC5oH?8(^-W{)Nyloi^7~3oSbNtzVGnN`_wO`Elcf;gD>qN$* z^ir*YFaLI8b(nVdtFHasG`gqxzIs8p5_v-i&(bzC(3w)}E3m)%dl%JC}ug~K7S zk0Lwxe{~JvTZj%yr+`;%?n$-1hVCLVi=C>U`0#bsR4*vb7uyk(6UN~Oiqa6(X z4rR=Kd;CdA_ryyAkxFwaleVKB&Ak1`u`U?>!+05PP0*#O|5#?&%=p5waiQyI`e8x~ zyEwBmjf=i*B;2GawGupAmDsI5p#AT%H3U9$Aw#Vg5GZv zuqcj^))(`Qixy{#YdOKI<|5%)7c0)nbwyOdl{Ukxr5_t+#}$(!q-(;KAjN4k7%k5j zucgd)uURMyCUz|%-nCBTV4SUyHJVGGA1509SWj@ZJ91x7phha{kyKoUh!CqyjDtp0 z8!RS#ST& z@LBgH%dqmPY9yJC$JP$ACYT87u|8U<5O2(pSgnhDu)+7$H zLW!muN{PVVq!$FHQgg)92UAVs#GD4>S!lD7w7?`zo{T=J#6noIVo~hF8LkT^LdwdL zmi19zDw1D#bA}w8#1}uh-ww|4n4Pz%Tu8;%7Z`^5B)NrDsid@2dI%z zD&tU9dK?mzW%O3ozyU&OaJpRQ{!?I!sO(F~_ay*o3@!s_6keY^)kevC8PC=j|K#Uu zm>ns<)RdK)3RIqfszKQnX>_R-YsbTNf#H_^yB?Q$Dzet}2`4ni>=NL-4Q>cCDd7PF z5UN6thqFQGvc3`yx_rpGdbQAU%9gXq`^ui`xP;H$$-=GM_SE;JET6~w_$NQVfL{qr z#=kI&I6$5%LvKOoFEIi3Bo1%Vx+$1}H7f5x*`LN7^`qQ~fI5Mxcw2>avrrXVfFVL| z;W6Wlm>4`Hi6Z@#R0Qsj)`g3~ZnQQ57$q{R>XO`gic5Dfo_IiqAk%{f)VI;2Q_wT? zXD&ms1FeKbiga3K-Ob7d7)b#HX^S}%KCWUF2G(0x(iXnd&R%kn-h~j>DSrl0+Ab{@ zM=8;Wz-2Ko5l>IA!|YBY45*BuRBxf>vUjE|rIprgyUeN#g^b?i97>qK4+^uDk?J_6 ztO#Z`u;PYtMf9d(TvdhS>k19R6}lUvqI;Syyq?&!ySrJUdsI0qR`pEtDPK@kWr9yy zG5QSs0B%>+RTZ=9RmXVfHzCTBd9AYONqemMIss5(Q0z0y8_)zu_R@5*eb~OB*pjQ?F&&w5LIGzwkV2jhb&K)2ZH*GWc_u9>Ruk!@0HJiok}SvX(#B( z-kjXqAek27vhGg|M+vp?1^{LcGRTs*bjgrw(&vd~GL*d9_%c-z0w>X{prdH^}}cM9FK(FGHkVCq;V`dlCJ4$2A- zxZ_c3y)U%!z(-r~jWiQ8Ynj%zmLma(Az~8uFFr0Nh)#nViA__s(i%sN04tjDAb{-EAk+EvPqP*ocuL04ZzBw_UCaAuyHvmkk6I_+?N4RWUNR0EW|lcdE)s60 z2zT6fvsd?El8wZS5FxL=QnDDk*-+{y`7b!70+?f;lJL$mB=`L#h)_GAz1^*Y?_16! zSmFEVQze&@pgep8I!f(Q2>mL(RsqR0(rh6EXSTbqv;$WyUSot|8YBpNK5&MC?K&9< zCP?CH+_y;RaO{BgHuM+m58%+NyhT7K;+VXT`znd|q>asqseM98%w^m6Sn`k#35DG`sYY(@61B-~m&p_6Vrc-kP zBh$vL))XfCJlNqCK|eFvd+7zA2OY0-;!>N-7g4|HximlKZ>lx!I|i94?I$=?(=c(mecsauV*YNM0R1$>S5F zUYW5g#k0&hEm<_)(j0s9F3;y3v0IK3JA=GmtTSECiVnx|>&?Wmd>N-&^F_(0`Tm`@ zj+pW|i18eiXrD>HX)qP2v z@Av-6lVx|~Y}t6N4rZr{Vr!D86GkUJ9JBK8PT|6{URtKc{^dPB_@K%7fo0-9VeGBJ zxZZ+k-0oZ|?PI!KLDKWMk9C9T9nLdB-`_2c&VE|vHtLQmkmm{souz*Kc$J6e?Crz@ z*rVeaK_>l0$FsAW9SZ>;KkQee9h_LY_+?foet}dw{xopuPUwQcm&xCwLa8%R{bys1 z*pgg2J{l#9nC8Tvn0?zl{07844u}D!q!X**UUQCEEd+Re)t-`!sK0(#HxN$Her!hLE2_Y4r7t+FHdEy zpk7dNXBd$$s0PeC$QRqW=1Lg)(B!r`t5}V`N*#*4{i#kA-IeO8zK5sHif$mG z+J3wS!&P6A&lLI~>*!-(Mj+|O&Gf>rmw$ls)UPThzST|SG{s<=h~H4-s0KnCvzdGo z36)ocZW2cIlaV)qust|rL6tL=L`PeqYcPbb!f4{1n{>Eb6GJXzHyWm>PPcCPPJ{Hx zMJ3zwEre#Y_v6BJq{JjRl!|mS@_7+~ZXw$|W<<9z?6feP<(fmbP|Eh{4GLN+GVTyL zW=lUyA!AMV=%MNs(l&i3t>VY_{?hKBGE^G_`soUai-omh7gO;Aq;IL6ywGo^$I`Wp z9G_BBJ4U|`GkkA#J}Ubs6^mJ=pswm*jGyK7648r9bPs8-g;Jw8A-GeQ7Leom3t3thYp*on zdS6Xh)>9Ac{iQvsf3{S8pPbkO>JFRk7(QDB<6oe>-lCJH_Lylw=w1>kcLLQ*9bCkr zeqKWLk+lmIQK~;L!ecT0SWP2TYz&iN~q=i)lC5b*0u$X$zjPO5Y6b!c51q@S6* z6m%v4k4I|*sStRWtfYlxcOL5#^hFb_eO<+QbnD9_LV@|+s|FLUZr}JO+;lI+2qdzJ z8QtugTkyNR$9MK_f6`x+N6pMoO-P!IeB8-ml`14Mxb&2U==BJpBA)8?lWT46{bbXI z5sfEGcc(KQFPai^m3+UxKV$d%hX9T=|E)00eN16I2}5&#*L(24=z8;TsN?_NoB1&N zjL%4x?E9{>YEYJ<2HBTJDN-2w&LFZxv`A$cq{ueb>H9ms zbIyJ4bN|zI^-sFGy13@?e!L#f!ODT`zE!nrBmoWM*CSpLM}E;R`OI>tTI5&}3TnIt zbCspN(i}Cs`dbWxO3M{jmKI2^h@_KwH46%@#?f(OZT0SbWc@NI4)N?YXR8?{z0*>45jFZ?}M&_yNQrugZqf1KTO;L|ZS3<~V(? zdkr$0h#FlUBU%baqTu$Exwmg&u_?<1UMapOCB4WRv?4Q6!yoyV#BRoq+G-D;K47o- za^ST06BiYY(C)k-M?ZRGoM4NC@IEMo{!(kw_92Sf{v%19^q_7QixUp&cJx;Z(($uW zyRvxZjI;(u?enway^YTf(pcF)hpvq}kC&x{K1`@SFa7tY;{Bdz%hq(F>xrHy$sC6^ z>i;%nMPwte#jx%CPpbdFhWko@P?)&h{|J)p8_CN3k2x+-nI+@zY?-ujOVe%Zgt(r^ zKz^S7b=3(qZy~{!bGk!wI^Im=$PHPrP{X62c3wS^_)yJ#Btc@J6f2{b&s$<#v5ohB z9Sv%qciYlfHcFhbQ}KQN)m!~B-1dNaH#VTH@=CU9m)>xms<+c^fgK;p{n|%YQgxHJ znUM{T#wzuU5QF2B(U(7+H%$l#P<2!Ob<%I^_S2d+)bN?q(ux|jdqP$F-DF5#UNorV zTK3stCp;U$F-^hllot)D+%wIBKmG6YrUJvMjW18W)C#&GueM@HDQuYX%+uc!dpR^t z40v1>;3qTSFcds`%e%j!a-7KG2*$keuo{0+0ye9kj+nw;5j9@%(@r6F$k~BX>9o}A0=RRsXN9t>K8;bf;Q9GN68HP0TRn;6@ zx3!D5F4ur>&y%%gb~pNU_)NBsYb|X`U|j|`ZLk*SR!6Xz7nin%G%x?P$WU!1$&*rB z*(^`rX&r#lTSucD9WD=S+Q_(x=`l`gb?shGbrx&M>Q{NMBW9(dgWJ0`sM22S2IX0p z4b}&nAQoHnQMUhkF90;v8>rW03LpC2ld|I~HC zNVAcr_M}7qqFR~m(>NI@-hz}nT_>1Ydt9aKP|&5Ceae&Nz)-mY!EB3L5v*%)m}IKG z=Ut*|RaHJwc``i>TQP4P$o#7PO^-FG)DYt_pw!)SoY`YM9DP!y&N9wP<;Cgm6(&`G zCm~gSQDf-In^l|ScC36>G7-)0{r0JJMB_>2TDGk;wYpnh*)(3fJ@)$5ix?SfFQ2*8 zGd0t&EB#8#VlN19)NG{&l=swZj}LJq`qRrA24I^e-KTLm##5bpnLlnUbis~m2<9zl zn+do9!`juIBix2voiQ&8XgiUXTBk{t1tZ_rAOA)Njk z_fqYeBs6Bcjwq#F$?>JbcnupS6wj^;EiRu5R=P}8Jui+GN<0=39fj23aVURUEx}t} za71zZ5g3YH*x#kta}c_6bZjyS{pHKK$F#=S8Gu&r$zAMwzTcDW%)ThKl8-crWE$C> zrbzBfftx%KH`^L^i>U&~LMp41>=(`5yLH4@T-(sRP`jxjLEJcJILUE4No15&QtA_( zcBVWk0`CCjWQN-!y*kpSXh~YG)k#iffZ%XQmja1jEZ{-Z{$H1=!Vg2hpaIwY z^3J3)xr%yq4xCE4s=Ou>!$OOZT?)_mWn9W6csnOT{u<%Kl$E87GPxK+aZoOdKOzty8Xwuw>8UR?^SaT1~R zHN48OhYDqmgMzv#A{)tMs+PRiW5)N>wa;#yxd-b?jYD{*Q966Hm{M^}Tx@{zDXqd}=bQVE^Fn{Yr-h zMdy9@?3*@5#Y285T5}3=w@Y-=IgGy=uTG4%ob05BpD71^_l9^{d;DKJcZQ z9sO2Cxx3~K=#RF0bmt+`8^?Wi7~NT0G3{$?(r^D}&qJ$@+NJD!PH=22|5{yQ^H;B{ zE9b_Rc$x;`e0rNZxUu1*O4x11>D{fdrv2|PktcU% zMih8krwoZfi1PO+jQva8V`6~7)a-BoU&qXkwJ2pjC(iyC9irC)!W5rQPfPH&)$U*S zba!&%Gu`eaoLrBrxUn$wJhw?JhaRK(_3Svlq4Ckj>Lk?E0`^mG@1Ar`WQVV-)YIEt zFS9RG3#Z6inf1NmrBIkA#Stdj(0F_+ki0W_P75Kh*L&g}EA1)9RilHqU;RUM(WsEy zy!rcnYRh`ae(cBhXB(PLP6j3K2suwioj zWk98d=l0>ttE`2ScEbCuipNp-?uHGpEg`^0|3Tc zE@l!_vlhZ5jz~DwG*3tee9H|*V4{x~Woy!2V4x)x5zYiiXW78|FmDOOX$4 zqVnPei0O#1rfKnJ@_{!F)qs#xJ2YY%rrf?B65`8ofB#(fK|gYIMC=n)^*S#dX8>h5Nhkj=I`wOf)u ze8(T2D#oG&;z0@{T3;^uH`$nHi~(qa;qS++C60g#41h>SyGKhKjbIS$g8nslYZFqV z3xQ>SQ$E(VXAFvmfnj98jRvmFB4jRWLS$CJ zJ*xpNGE&nLd|#icNlTa>PnfAs&a_NKl;9wNJG)pY-z%l4$E>(MC2%}Nc7#)l$(h7L zrqDA|#5j}~@E>*>z%WL&IQ7|f`g1v2gCz~Sj#DQBDs_;q&aohNu&XT1dk>k>w;i_+ zm98U3GBHX}CIbf@Z$V^Y%eNi3k9umTscHQyO_8J zmHf$ftO#%|YH~?$CZ^;z+{Mb*+v12(dTBAbM7+RvuRe<-5;gMb;7T!kX**>QIu#H@ zz7+@S$jBg9aL_0*k)*|O5wg7D3X)3|X&fK%w?mqF=h8REuHKx`3wupj%8_Vd1Gpw?rmjP>QFD z22Ma7h2s1Z`M_hQ<}g@n$scE^QwYds18v2ggak13rgsAV3Inbd%GX{DKR?UqLxTzz zPy*oK8W|hL;&cY#;S}qjy|Z8g32~mmd4Y@+gegFd-USAy3mrK{LIsdfuh&sNVkrDv zlFuv{UkuNqQujqlJA26>vZ&>KHWm}si){p*%PJjt#<*%iMoh{CpUkVVa9x21%@YQV zNhvy+oH+w}Po>5xKK!njJy1EXSGjn$aw)WOIluDD z%gV14m8-uiSqG{%^r|+`R&D9oO?O{-|J+ut)caMp-<31xo#MQg-~q`?F1=Uj9?z?u z=lB>sq(9lR@78j%xAQUKtfp%@{n7K_6Za8_^S}Pw@ozRgptM@B-%0qmd&+Z{9y>Rn z(O&6>r<@iUw{sD-x8m94an3ZZIs;zY_uK(>Sb6Tu zdtsj-x$wD9t(~XnHP^-*Z?;k&i-PCbb~T;mb)T~R6W;l_^n0H2edfI58PZs5dBZ2t z*ZJ&9mHAHX{^K6U;BJMb)yI4rRL<3D!QD{s2CA>$uZibDPwQ_B`kwM7KRV}{q*#0W zcy-k^&l2B@Z%RD^1na7I+%*K7+C5w?e4jt)rvv9+Zb>(G@cNXP*XQ=vr%(DWx>t+c zXwI8_skQSGS77^S4{Vuh1m|y{an>yh$>4Iboh`G)mH~cSVOyI7S65n)F0J09?7t`3 zv2CrtSHQi-RwRKzc-4xVYsI)Qe!l#_o8$MyOVl;1a9shDdIX+jTj7Dz;!U90I(~wR zy2~&!_<<=TVq~WXpf%!Y_znKVCt&fEc3ztZR7}M!eI-$Qswy884Q- zQjBXBL%ODb-D2HtEKV1(?g*=+kdx`g>gHTWMeHJf?QP&9go^kGov8+QTuQJJDaQCn zlndjkTof*Y^(s~fjts=O%)(RX$Wp()q+%U-1}dj9PxI*fo5-|}e;8P+z$EX}1jfavhPZbDE5bjQe$|1*qK;(%j>lGFx zaXy76T_oQ2A8XRSKh_`RXTv9PkUbOSMnm$);uDL}F|~LoA9L6X%pt-{!3vQCF+o){ zR4?%i#JG`>DMa`SBi%qU{66)N!X0#%A3ThRxiA-7%S5i{ZZ$@fjp|BN5}qhTPb| z`9L+6MYi`K!kr5Dp~Brs@C_%y6%q>Suy}%RdBa8}{q?!3vGzEA)49=%i%3s0N{stW zGV|#g8NMA122e!j;ckWz{ZK)MYJ8^fAQU0u>2HK0- zy#^wE80b3HsXVe4gn*%AfOjw)%Ne^y%ww}1ol-8pZ$CO)0iXZImJEH%RR-@JKz*s0 zMyTRr>4+*ZfmZ5Z7$|9Cjr9@hUoo0}mpKuK?htu6xsLSqHzntkBz^BZRT}| zJaoFn8tjnBp6mRUCWKc=VVeh3(LNxmIlt)96T#aix{W1pKk}XIAjB0G4$|*y2FzSr zPT|5AR){kZ&{kK&!WtbDl{7BjzGxCwP8vGsS~Lt=f6S$PbW|B*?M)Y_wDBy@F2IYx z*jaehJUl~e{~C4X+yY$p5E#sW=de(B>8N`xs6r-cq!!~>3|BPNe2iaE(6s4i-QKl9 z_!W1hFyIA5@bN4>YZhE%-Dc-6FZzvQyg&srQOOjZ#P%ZF#~~|_fC`|kK<$x0BUFnBB7np{LlLh24Q7Lg z#}xCcbVL{xk+zEqV<6K>h+#IqL<*vSq|cJX1(OikuAiACMBwZfJP8X$RQ_&)?Ic97 z*qs{`#G(``aCQ|>LtibPXg<5jXoCJe%%MGXkq8RH=QRI&Dnf8(#l-si4LV|vpjS>` zA9Q{w*UJu` z)LjfmT(;+5qadNY3!Q0QN?$)#K~16{;#fzgiqT;p(#7Ro2oaqWjVpzsFjPe4p*g71 z5=PTp6T{_Ewi`CVJPHCzyCR4TxK{4p+AQrE`M%hMuMud=21qA&#s1Cz=Iz7i$ z%G%me#z`JVm)YO~A`nohCH^q7e>NO?&t<=~os*7=zmUa9!6lNn<0H1i=;-(CxG3gs z&|zfcVekpt?|ZFyy}fjhN&g)(i->DQq!bS#=O&}XkdgIBDn;NRCnlPS*tmq=lsq^< zM{ZOh`xv-zXvQIOsLd#94T;u&>v>A_*cg^O$mo>d!$bSkQw2G_Mj63XfBmBP)uap$ zhnbmNJX8Hz)DACFw75*3)(e&RJbLqIjZE9snU;!VOUk2xOEAO;@SA)7_?08+@YpYG z&cpc{ks@K*JThiM$Hd<~h!1!&R^dLFKN@QH?d)^^>6TbQ`&FlxSHFGeDzINW-xBuc zFQ%9MfkV5wI6p??#;pB{3wf3eikqrgu&qk@XC^WGd5WJA6bkmM8Ei zTU`^eN7!vQ(2_G-L$wc|v3rog>!`u%S8v1ad$s%oTX|IWc9#09)dzn2hPWSHOh1YK zru1D2^GPY_ZmZ6PS~BL?qaM@(F+k%>vjeN9PbHB-=KXuI#+%$`viVG z-FMb#|LFG)kH}5h@j0O%s;6uQgEX0z1;=enK-AlJOp!MgG&_y>=u0+;wk#g&&`IGS zlKbI{nll?41@`s{FxdZY;uD~G!GZr9vyYDWU(8MB zYoXeUq+6dx*_BULg*=g3DS7)mPThreot=|5yxNO&65-i>-%H*^a;Kx+`|6(Br`TUN zX+AnS_b%$}QS+N#XTFSAL1P_Vzj^(g^WEc@1|Mfv4A=Q*3_-OQj|=6IReEQ3w7-5C=8^O=l7kIDC#93Wkad?HjaWLmjUZwS@BRikPQ1gw^H-llf_p&R0uenXX z@5SK%Zqk4LWF^|(J*<26`p2>BZhVy={H}M_b;-`&XpDT7>(wfZboSnv_PiUhqRcl( z<-vQ9qh1$E7u^U|{Zt&aR~LWl)Z`g2SEnDN*TnrqqH^c24Sqxjh9+Lkl`yFQ%!NjkdZb5nN<=5vctBtH~#kHo*cfM=Q+e=T^T6VWq)>_#RN-PEkpC79Y zDXTQ1kCvTE5-ZSfk{9tg?N=?xdv0LRYE#3uT4R%>k#rzKil@eCMdvH}iQRvRYE$Y{iY{fayrdN)oB)ec+^`;ODL^^9IunV{U) z)W){HT^I1Ov>lf9F}Pe~yh8k^Hp`|md#mYT-ET+{S15W+RVLgF3>KtYNXjmv<3CLm1^fLvf4yR+>$3YJ2&Ub9ei-@lD@{_}%4VhQ!@FH!K9QoenuH z`J@c%8n0NXnG16cR>rLY&e0YEZVxVXs}!ksTK#@rpbGyb-U@_Chj3kJ>iu!>aGVL9 z9}r=(BfmIaQpq#z;18eEJ$f@;Y%}EU0oo_F(9<0_xA6`ok80%7ABk%%*JF zr^Mp2-r~F~uDoqam+EyGhMJxAYZHWXIMXk~@(|XOCJ_G<_{Z zP1BEwBrKEp^{fbSdd1Na14vW;dx2`oMKqB(WVF=DoJ3VASPZ!6%sEzaB&HkyUB=CN z{(^BLzd@BHqA7p43uqo=jGM!l3dnh-5R2!oHk!WTZ((Z3-SHD}*^ZiBF6jys3IJUa zI(wA}ai$tlm(C8nGL9j{>C>vXT$|jS2CU)cTk9CAlqK&gYE!V41hz|mQvWUZ>J<8- zz=iSo)o0tO9jJMX8xK+zw|+E;!}eAqCQpkuF(qNGMcaE z@n9w84d%nZCy6GoKax!yyAbk9Z(uf7C1mctGpo#E?sLzD5nIX{D0e8B4|!1P4SNn` zwhM7XsewhlsHt%yo<3%rn!Aw8vdKZ@%LJ7>>{t7iP55aRT$({8+{3iE(~lHV{lHtX zp8Ae9jf^f@*sUnpoeq73O`-}1ERN%dg(Z#~aq!k0K9~{h6nz$MFg17JkTaSTdzKc= zQ+M6dEzTzS@oN>OsNg=^^Cs`AF%4(yqOgMIeD##ntgFv*e{BMMmS3nf@Oybqvr)!O zG3G&LR#Dau6RDC6`-g1Vm_}lPbUiU{e6P8K--%_S?9vu{@buObRUUJ%f;sBdJ82?! zd%o%Mo2RQ$j0J-4TZn4ugU2XywK!u7uM$UN#6>`GX4G7(G7@qm=fGJ*XWu}zw1X6J zzM`i`0wQl41m%ul1b$TV)wAM*InqV4mOCzC+Ea;SV^Hx-H$R=;iXMu@M3dI^T~*)1 zPtCu?53BIHhJfEi>{3^nkKU-JVWR2Wm~u!b=Qu3_kjKIMmv!_?{kV8A1LkRZb6?OveJ95W z1>QTvC6x#5sO_!-Abg!uss8;Q%E_q1jnJN?mHz9MI}?7zG!AcE|7$30IeOm#C6vNl3{XSrM_E@;}g|aE_w{DE4+H_OXI71>%%JSs`28J&K9DT;XY|| zbGrrItM3k8?>aKQdNTNHS9k4X5B^2{s}ujJy$G+z|A*N(?o9uO+5cDVg=IG$w>7wS ze|BevjjNu4_@DO$Lu4v4WTwp zX4bB#%zv2u&_+%p#O%`>298(KX_LE4pnc!KKNJ5&(~=I??^mWq|I@_3J+xV>|BueXUFXR^tAPt@k1x^=sY*+O8^7(24z9%qN9*;yqa7Gl-F$$%8|05o1T$EiQ4CuA{qu-n ze<@T39z^IC!yP}e&9ETz_TsNaP92IF->_!K9uZKdTH?jA+En14DFJ$A*>h8a9p$Q^ za3EcO z&a+n%t4hxb^7e0}LBc1sM1l5>Qy;h+}@;zg)F zkKq2CHw@3%q;jh6u^ocRV;w$oXccEPUg1zBnGU-{Iho2fGh+^6`s z_UI3@vc7y~b0Gt@bhH+QL)I3j4UI044%4Amg;|dM-+?w=?Cg| zVB|I4e|Y??@dYvvLQyk)Z-7(9Yl08xk~F9?@`8jdAfYO#IPCYF*RS+PdeJaz+^N0m zxCt7dUtCm20*)|f*JG9&3a5G+Drri94V-N4^4BN&!qMdL9&@i)0*50j|((`;Hxg zsiL)6fV~DDve=`Tg|K0?HU)T3E`w!Y#J}7<@vGD-6sY^c7DfTC^?^-Eg&ap79+u~D zqj9w619YQ;$xn!jefj|uU`HLLD~7zT&Y?rLaG(Nl(GGdF(7VRn4%V%(D_VTVE0?~o zH4rNYDQeI=)7JxV9aiNqT9?fo&}JT*fr8B}<0eT59Xi0+vx{w~0!L_Ea}B^4gV;rd znuq^tJgJ*_;%9gi{n>F0v&SH zDv>rGr`O85^^}rmI$JwT2Tn3I59R@V^g4Y;mI0|2LeP@^7I$fYF5@)dQup2{yYG3O z4p;-L2Bgk`ZZx3e3tI#|)BW5tudCXzNu0VAB-_qS7aEYmLh3W%dmj<{bW{c%P*4O9 z(}8j(re+cY*`SRqj9?a8v%j)KtUmt68MRx_KPl9Aj@IkaABfw+^@$BsdZq^FaRNerU{J`7F+7J5tzs}Dh=Jvxv}(YBxiQ!9DnylRlct`Fik=bCj{jm5t(VJrlX z2G}50FMUAmYjP95xG75zIeyNad7RWu!{|!o;ftZKVH;+N_6FHt#I`%&^)e&$9Wm(e z0s6R&dO&G=K!>r@VGo%hWt8?Z@H$P5jhzNBX0@dtQ0ySv9V0Y{O9$cKSvtI!$^N z=GT4N=#~9mF(<5z!_tTo=JE=tew94X6VTLSU(69@MYyE|(gt2-DuMYoyYWm88zx82 zO|D1U?05=$`PV)?$j(P$ud(WXCItP;#zE}gH{18zslOK6-y+1`Y|zh7?SFo=ziOZl zp!c`!Lce8iO6eys2fC~V+OPw)25fJq20tkEkM9oDD)l!z^)HsQ5BsqlC}!s|V&@lQ z$J4NcMg(S^?A6%*il)~H@qu4T18n}UImMX^SmuraTXp&CpV;A@ zul;~H6Fc0G@(0m|?7~Lu@JM#RnoIXZ7*q#Kq9eahz)Tu)h&G}hh>4>h0+@)Wdn7#c z7z@=^f?3FZ1}>3?{KyvYg@}!(ApEEZXd~hyZR88{?FtE>_n-K8;ViD4hO8jJ!ILma zWHdeyx*9@$V!S0PAq_{p%F;eWUy{oh4=8*>i>WBuQ8mW+i-j0G8j*S-~_<}O5|jNf|@kiQCL z0h-0HhKVh$!Rvu~8Sgvzn)5LEZOIcwf3&;=PfU6|D0U?5&pWj&$b|>FcwS8WVWxLF zPj!b)^%PF^HBSvpPYwNR7607VFs=#@1~O_#FGmnr#JSNr<)VP#3Q3Wg-H5u zN0O_fzXvC9@{7;^Nl@{k%9KT>S0{Z>jau~&&uWj3*cP9yNSHhEfgBabV4qnJlim3_ z!}eF^)eG6L%|hJEF_t0nkC)|9MKiZIlFvy*RF=$mM@e0Fh%Kz=Pc0F8TpyhT6S403 z;8Gtmpp*3SrzCbfOff+wqW*)HMC5|_yhecZ6GV)$PV};2qSC6YL1mJ-gG{Mqf@VO% zi4lnl$T(P0_@ZjO$4FFshN7;wxjbXM`i-OjI^FEpxm& zH}z@iB)j(G0+}Cs<|0i^zwT@kG)G?=r4t^!sGQJ@UaM3-$Ll|3RF8AHe@6>& zxpE;uA`EJF!G5R-QzhlUyJXuLn4fVkv;>8qx;HA@z)NPb9Z<>(8vrb2y z3ElMio+zbZu9g@G-n(e4nPJvm3}ji>;Eh+v4j89Kvyna%V&xmjW8G#Wz51nQmoeAH zJsy8FmsFb{u&gz6J!(8=sfN-M4Rh<2yvu)oKrzK?1nYbF%=d(J$0O}MG{@%JKFKHLxefIIet(?svsg!}EpdKadC{r`Ta{kWMlxMJM{dQs| z>Tdjq?Vv>ZE_78~^!?AT10@h?!Aqt{J?oPY)+6>w)LNeXT-{^0c~UCf>$j*<%GB13 zX1b+on$a+k8|BbZ($OP1pmAEZs%BMQ-tZ~$a=%f7K|9*FaVr$mNOpjY$)@nEoU7U0 zDq!lTD?!tS6+*6akCF_chG?})8v(}Iay7|jBXXHN>B(|Y`;8yVabp^j%3#C#Nph~4 zx*2lq=R*sXHqa@5yOqA5OOaD!L9cGE#Joh}k8!QgNMHAgpDS`y{r2>lzQsXxZpAn=lO^$FmVBakkmBW@>0rgo zAkz`%ULjly}E5$t+W$FhDz8#QAG0N?Idn?ah_u&VTd)JJg3T;>#hsn<0 z1u}WmFj^Dj`!BytVAHJjTJ>r4{M$T|&GH+G%26;^cY8;%aLG(+u}ST&@!sDN5eom8rg zWhH*VrbkYaOCrHI1vC?%`gGV72?L|RPO(MPW_S@oI36_HLfc@Blwc-IFh;!FCEpc! z&wEEt)Hr|ckT=goKB^AKTW$iCk0F7DxV7R*8fUcWXau!v%OP#Akys@_RRP zB@qXP)s~57VloM}uDc~*8h64~HgTQEn;q2q)Z?M9s_5;(Plj-w^8pHQqyYW_xBG4~ zkYb&1ICq%63hb11s7*8CaFs$nHWM?u)_Lf!Od^#Ck6E5mJ}f7}*Imzv*&!kE6Bh*{ z+03M3+EQG|?X<&veWo$Ph{KlieBH|vqADKyGNxc)q~#IS7}X@;_gre=t{H)=25+=& z?35kyQRz?5@rUK6U1(x(r=C$ zyzTZ}Zbb1h(Tm%l-L}gyt9!5XQyjC7ZW;$Ve0gYa&Sb!=9Q)XA-zy2$Fg+me zJ*0D|I@$57$${#9Jj$3YyIx|f830-mOc(ZiBU3G~eFY^-*hOzLW z?+*-BQx90&8`{wH%+)hN-ZeN)GZyL6J$uvJz`E~EF8i{Ri1&VIy3}@qsZpr^?eYJQ zS^MZ`dPQjVlRe~${VQ}P{hwL;P2uE-0-;vMtOBp&Yr1&Mj$Zns($!h<>}3Afi`5?$ zfe(G1A0>@7E-h9O2!6&a^f=??Rl3a?UwcCTzP_O!)o_<`lX0};)63Vya`z{=;uI%3 z`?4!tmCG;43Qi1!Kd+5>Sneu}v7gvGn|OY zFY4Et%dd@|JNLbaui^9674KK)&d2N;gI_fLU_~Hyr*I28ZBknFaAif;k1hN?3C*gh#=EX~QGth6GMBCi8o0AX z=e8UxqNGOle^A^ZG#fq-%xc)3dwnc#@0Dv&b>59c56K%Z2F{$nT%>4qaY`k4$bomQ z$VF*-{rUCQ;IxfMK0$}6=MFf!2ixyV?Vp;I} zZQ04XC;ytvjlV~4o~bSOJh5_i^7p%%t@z5|ij^BvreZDUpFIsb@zqsu=RZy6H(&CM>3GHY=g(gZ{*NYeaQ!*8Z_aCOqCd(k9IoPg)hrs{&;Q4)^}l?3 zQuH7D`ZK&L(K`8V3kgxWe@*7y|4=%q$Qw#Xb+!cWeKbS$p7h ze2)c0=?ebatc57u?cF)g)a_1T(t5bl9Wk+gy^NxO@wnMfMti!(tHWspf>QtKWk8hf zq3G;CO855B$shks=^hSID{uVy52b5uq1F^Me?=Lwsgw?<-4hHGLnr)CN*8kb22VcY z|D<%`=~451uOUkJcRj@-VSkMn?YZslH!D=^5=7|+^^3n3b2a~?bRz|SH%k~O1t;rY z*PKMYw?zh>`Am3srB!6BzAE8?-=*(U-(x;7xDK&=PySagL%U@yOJa9Pe`c~by=C)J z>+Y9=ocZ55%|D)s+I@X`ZfBCKb#MFCslOWqd%OSXWxW2o)wuVEmEO7=i~0NOUoYcz z>))TR_x|qurh1%LwI}q#ZS>m+D}pB!O#PBFF~hDkHpdAuMH4%?T#x zSapfhgh3YP1u;Wxo2;TVA(P1&9K)^tBQmKyQn(r)!TkogFw7sBt#yntDH z@ygK0mwYp*PYF|}#Y;YbX_KSEHbiAqxjRS+h|6*}_yKh>EAC-LNEw(;<$T};L?nO( zB;X_owckeEF!N|Kk}wLz9Ox*mb#Q?Ktv3SZ6z&WL%z`Lt_Ap*c99xWxzweL~y~%q) z3M}(Vgyb51D0RR@49zAX|LqPU*g1t8ms4mT2%C0$<3$B1x4(m7tB7kgztJ0C9A!#W(|40^E8l_$g z_ag$gj6i)7kV!OgAZ0>6rWZq`;2sASL@D#WK9RXC+ z@R9gi37``ZxKB#s?@eH`((<=Cm5G=qkQ7Um!BcRRa+WYvj4o7pCc<67tfTZp6I9N% z1Wp%7D5b`+p;8-33H_{nnnWPajOzjjTw&ugLkY^Sdm_t17u z=r*C&v0#%@@b&TSRe6#@( z#xXz}pgIc=iq?*$L7WeZCuOUGIHBM17IG%tnV1Llx_A8s_g$KTw)^wsgZ$_gnqJ00zu>yc8FR&?3Q) zk^!G>d@~4KorSBCP+z1#FH0>`X^>7#kTC&c4ghBk#6v04dI!t{IU6n);M!5{HLyHG z4}KASx9jY&8{6oOKyDWX><0b#z%lR%)KR8GW%4Ml5}YoX!^tSVb(zh91Y9sGtyy3j zBqjKioor?#v;RtdN(2(+s1HxmspWa$eRVEjULjON~tG<|V zS%AR6Ex~^JBW%#|0M^+%x+u7e{OMM3Nf;=XekabcFzorD^>uir&QTma!W zh}an_B6v3IyDA1!NzW7EDa6YBMYi!`q#Kjd6GV-XQCG>Pklq$DE02wYehQ>{=|w_H zo(qffYBAchrlPeG{0Q*G=Ra+%#jAXbT%qp&k<3kr>{K|zvuqRzTUQ?>M5^jA8h#U6 z1UoNub}4;~d|USPo(=&vDWb|r`0d5*`K8N!xXZP?%IN0lBSEL-j75)N1r^nf|6LL1 z{@C5L*h)3%iE-+QYYO}E(K~hTOvKY{2PJbtij&XZI`52uSa8YJbgPFy(lf5KryA~E ztmT?z(DNbIo5zCy^7ckOcP@~=_}9*>wZO~Yyf=Hw{eE|^ZI08^DYqDdvy0Lf%VT>} zN?j*zdkuEEwl($Jb-VR{?P{nycR|ao>!xQ~x809N1N1wdci;6#?RVPY99(@j@U6@7 zd-hiUxPuf z!nL00t+U?dE{RiKce*_v9vKz;=4oy?@_P5p%QJmk{(T2ZFNosY6u!9`{P8rLE`3CQ z=QsT>;LkgX@Yvld2lS$f6Vs;`r5ZHXonL|8BZ!4hn0*c ze;cPcgS6D~)NkXNhVO4RkEfh?pD6sk(EmL*`$R(6c!4r#PnobMy?>zGD^$i_`DcPI zJXvEn`OJCpdDvuq;pEHa$!90nTTZaU)+ZQ$uu3>;(|=RCUVrca*$eRXLsBGFr-+7|Qg4&@4jq?jy;R`xN3wkXJ1|Jp< z{ar8;Su{EHfA%s?$oCN0Kb{=gXLIPIPIb54Uwj{kS%C?y5i#YgYQrKCIs;u!M|-6$ zc@`~+F0fV48Z=mcghTlZ5|+{=pF&1jZ6Ewx@^Rbtu@*b7nGJIRHqX_Dyta4I0=0M; zC54OxQ4+?cDfEiVcvY&HIblvYmL5wN$JK&H0a;HwKonH-jh*F{XgStJ#CFjj%8RTM z!?u&L?QDs^-e_I>%AH3>Ug97uvygF&&x)?t9P*c{L#QLex^XPzQ!;jp^jU2iKTgpu z@k&eBhkErT(#(mF^=1V>Clycs1l97PEe%GyK~Dg8HJkPTwM(k#A2Qa^XocWG!Jvy%H{G}%}*i;fh9wlp$SM)pjMZNKkh7A21}6kY$~>(~^t zS;*)0$Yin*tOQ59ufM`j#EKH`(vim{z(zW9{3Q1{n<6y1oK2I*%n7xsK@kdktppC* z@VHkpe`XH}-o=<4Mh#OtXXvOWFungjCnD`12l|lK5Q$?rKf08aq%4Xm^ z)V2>_SPtz$r;Bw!DQZI-R3;5w%R(6)#sr`5Ddt9fdKvFpqu-H%Q*M`?Fp@0d`VC#x zoiP!{W&Y~Ehg0UR%K=f95#kxM$((zUzb32XSH!SJGwD*{xc#v8Mk1y*QX+^Ob~3ZfOsBTkHHT z+J~xRIR;yhB0F1p40F8uNziwf>Z4gABeq(f_mOV94;CFM_-EGQmxsUWW=Xs`b!l1; zOh}ad03}rK)t-L5-17*3`plD2l7nqJJnUH5*yAU?j*jvNe1BIGpSSq`53{y#;*g4n z`-?{pPpsIT+c|~3p74QNO9Pu79WQv!wLdseC4GE`zh&p5e17lQ94qUXIPXvX zev!`U-9^qj*H$MS*23im8YupGhn)A~j#hPCEg)(tmIviLbUr3{t?%tq7gei*)vd3u z>!ZzkFE(WQv@JHo*SAUS^AmA}XPv3P|Nqc-UO`PhdbbXwha@D_&_i#Q(3?na3K)uX zkWds5H6RF5H1rOk7YiU&0S%&bmEOUCiXaF~FqvX3ovIV}^Ne zGR%;7t@V2zh9SpMx4WHIU6;*^EG@+^<=T8x{+Mf}9I#qqr5v-R2v5fc2`4=r_Tio@ znXNqX%kz`*K%C`lpMFm8tZ{de*Q^x(H~ZN>0=hI_c?7jKEHhY)syJ74N+u-vhVXYo z*?emkrEy_jTct(;`oND$Zl{M=KZ=~Q{}G?RAuP9(>-N;(;|+@Cnh!VI8k?}}F+79nsK`&DWXR}#IfpA7-9XSX6rfMQydpf^IoF z7-Uz5c~cyxTx45LpPUO|^ucquaM{N4~-3qmjRD73c`Kn05?vL{675el} z-AaUewdUF4qdfPk;$NjY_%?;yZaY^xj`|NBBMF#>d$Mi*kLX{MF4`Nnv7j3`#9Y#e z;FA5Xfo`g>g)LD#|o5x2f87nU>wKRmUOvFdCMy3;wS#CN-a)e$&@nBI)q z6jZ;!bxtzManr>#q8fub(2(7oQ@g0Mc-nE_RcQZwbJl3-sq0>$@2A?F3$3?Y)M7I& zF5gn`bob7^0(&Bv5vDn5m!S&t2lfKkN$=b0*~q@P*O9)LtxnC@bDxQpDliw*ozidO zH<;B2iyLehOIq2#GLCbPn>XfuYpP^g;iAeU#A8$msJ#r;@lA-8Dl$m2O#iiUZe@zS zgN2~3{(Vhy+EHx$M2>R#GFsI`>rrOfX{!(!RemJIiVnp%SAw-ZJ5Ao0!c>;2dboqf z^BiCba?X4D%jpH|6qU0EXC6A2sLZ(am4GKzRX!SRXf9jcNKp4?s!fc|zEeY}SIW}_ ztNmQnCP3P&bqv&jNtVhuaUG;S-nCX$4L{MFt_tZXuu`8=^_Hz34|EZ4D0R`M->Foe zPOo|QXWg#x{=mJ>W+DLmP?prDVpLv645L*p7&f8XJ~p5H+&CwYIMH%EdbH?)@Iw1o zx=zD+oc4?A6knAmLFc!-g|2ekH+Usyci&?4(DG@Ok*@DAH3@q8XV0e&uh6yd+|B9A z-;d-TRsU7cUZgxq;2Ce98Y1krjGOl!?a};r=$7(GykdsZVeWYBbGV^5`mU0+RiW13 z=yOt&V0mw}H&gENLuF=dI`?y!lH_BhGeVNhGb4fZyR-9Cy-ff_-6!*<0L2ciqAT6- z#$ew3g7p>lpaZZv#n$e^*zkbQ+oG8y=}-X;Hzn_M6?6ZLZ!6MM-j+&>L{m zklR-cHVBgGO777WmTUb{g;q*E%nVo6ULNndiyi!S8#-6R?pLWkbM$sltK#r(1+QvI zwvoD2_A<8?AbSA=M9(t7=Mw*erVu8uqT}jyL@#7 z2g{{OWPI|^5M>V>Q;y$}7~a{6FYnGt#VKR`qBsQIujalG_QV3~$6R}0htGx& zdV2^K_8xS`W%%vM$jnns0i1m;`iH!$T>2fJ8uNYymz`9nu{(S%L;Xi0cG5i26@)?a z0p*gNbU(`q!Pi3r>g_uj)btABkLH8gZ+0@nrH1vs44LU(^UZ>=`Pe{;ar#^jvyxxV zigFeYnFjl0i~LBE642r@u${`bxmhWrp=A-{_C+@B<%*>AUEIl>VDTG!QZjWz!w#um zat-kBO|?^Sw$%^m*jDL7j{e6Se+D0VIR9SX?<&r5TDhTe<$Uy*bz^ zt@ z&ea?<;LUqbH|*up2tpoxy{@=t5;Jz5>jA$gH26F6<(rJyxMg8Aj;QhE#+kN zal4Ygzds&Nn;mwv%}eF4syT8JMYf-Qk=NX}swo!xyx1$`j_kOAnVGhA!dadg<@amm z=TF$0O61jQRSBCFMldT1xGR&;XU!MaPTiGIyL&>-&;CX#vqm}OmcuQ?@zZat>+eu& zTsHj`(*lOeuI1GsLqFQo1UQ%|^WIC`^E0kPGIQ?jK2XiyaN8JpmInJ;h2fPy-JR-q zjlDqJTjUTWt8gm6N9}<^w7l}Lpxx!qk7`rhKlz+;a<0)m{s_%LcBHPxfybIC5AtU(9Xg=$Ch&Y@1&c9DAVm_?+Kj%IIa= z!jkK1mE>DejH2 zY=z^&2sQJ|@eiGxSNDxXuM9NltsXmfb^Gc>WtOW2=`khJ`4gs7Pj?%HZxb4x=Y zIj#NWn$_dh{@-h-91RiHa)UJo<=C?b14N_T_v$tx#O{%i$iC>~r{8tgz0d}T>Dr`D z_~#3uh-J85GVB?@=(-VN3HyC@r=U&=r3Q%{B@DKb7XEC7MRp2oF;~()ej1}@{aPtG zIMSkhO*~#qHSPteu#YpI3BP*Y2w~I;d%8Qm9o;J|u+^NX9U&TUNoW~v zb-C!pY9*Cz=1#%6W6Sk8cK&Z=n}O$V*h_4|hZ{!S^KLxpmo|??TC-?)eGt2lrU6p8 z>sw2%Cn)fFBzWQew|@q@(P9Qjp02Pq@ZT-Tp{_X{&;8y5UG_`oe$8_Pvv;^Y1=Es_ zK?u*jJ>qz}BTZnN%bm=MAUQwDJoRMVaqBy(b>XW}Z5PPrOw7!)YandxpN%lRUzmMS zwtu0rkN!p&djigPkWro-#{4Jx7yHA8CbA*?Xy1g$QFu2NJGd2e0DF2W3KD<7 zPHd&^NaB7&gjs*!)Gl_vopf@k=#!WKivF+vaiyR@;ZR2$&4mPIm!q*E03RLg1c?SF z&@AaRws0D5p9ZUipo(GyHDerUF(5*WfL{#f3=O6UwItC{-4J_ysAX9!yc>cHiiI^o zvHF;t6@P&%DD7}mEe%x(Lb4G-STd?oAEl22`O{&*tm`HVRM~}OCxYl*ND~CoCOmWu`%OyoD$EPqjde?2AT=Se_x1%?X7CC9vU8i3Ak;Qj(1y{AL%@?qDV!OG}2vpwz~2g!S$ zMxDfAbV!idGS07Lbd@=FG7;;<0Q=%F-}SL00PdBD%uwfKFu=#U5O2uXB^pwPls-*6 zd$yXhmy|w+yYO=xd<=x0RL21W&B!v}7$AJdWjIikg19?5j`wtFTRg3vU;w<`x(4j(B zx3iq+;7}U&Cs{mSKYc9G_vbc8=MY*)J)KqNrLM$zmH~dX3fcuB*w?%{x-)bJ29m=z~*A+nRMlHOfeGkq^tn_4s?tL)}a@(e%#VJU~phb zsNxjSdp79e*^-bQj(}k_@0Wa@Sg$?cUR?{|EE-|ihmj8^jmq@hIY4#)L?YFIhSa~(Z3iM-`P!UD5nh5>+YR-@Ih13@&XoKp#_4yyfQ z!5QRPCG`ypAaSzG^io`KiI5!z+H#+tZN;?EtA12o*KMdNTA%g zY{phB3D(vOi~6-K^%ITJzK#-p=88;?KHgVs595AP#V+tm z=-K~O$M^|fUC>pn>Tx6AN{r27Ji#&s!V@3T?Gx6uSk=93(vt~wUgfa}IqlF<*&|Zm zTxHTzROQyrYr_e(8Bp^r+^|s-=1R;zW%S#HQAsX*c^dM`?k=zUgune{K3P}otbNeRc5&78N z_fx+N+P&qgLv++BR+V#@iAUI&!{PKU{ohsv2mJ#>U%NHN`s~sNrNf*)Rl2}BhXg~N z&quigciL2aI~~O9%=LKi(CLwj{Vt*Ck<4TLH+=`+OOI5zb=|HX%6Qyw@SB_!pu;Qj69 z8$IoJYdYY`e?lAC1cUg-b1{Vc!_I}9{KezLH^%vIHT0G0zNvJ7Qyu*#hKpCq0XNcxYSic3 z*1_*>qw1JCU+ZKMci!MEIiD~%p8lEZ+MILU0HxC*V+wo&Opdiy{2~)-foo4b(xp$F_#Wcld)ikIZ5viflt+?>+=mJj3`pE~fjE7-qS`go_v}Kxp=^~zY@uZQS z=*m<#I)IFXO~IY0E6^Z}I}1|kS>N&JJoy?fhX$q4u+Pe1ZZv2DNN(r@9R9AJ214{U z;4dH0pt01a^(=T=CO211U@X=60}ke-{{hq^xCKJEb$x(jBb{iqet%YuT*Ku8r(`Us z8)MxK2YWw-c4I;#?ZlVM)=S&*DSub7B&0hF>M((JV?mGFt~r6;4(lLpUBdyBfbY6b zt+Aina5rEE$i~0WY7pi%nZvsa8cHQHCZIyQnC1z5SQj+0jF1c9ooIrL&rso5?5Jn~ zFCO7WgWUnNhD@lNCprfQ2hcU)AdcXtT?-G_r#x`^WuN)?m9*-g7pWUe& zf;OKMJqa(Leuhkb-g>(EWdavV-bxZj|GWtEpusMZVe3y(Z=>s>Vw>;-8>Bl4HnWKv zV?oc5c_)|~OMjv6AdZyc6p8ET1;v>q+sZsB2hxh zT@{(mTN*9IOflGo6gWU#}hMG4Y#pv9GQ>n5y547?Q>*x>4sF;}~Dk>PMn7(QWdviSB2E6Hh{^!@t#WT@+YL9MWmZ!_p zZu_nYaPM>x@SM}Jz^-{l@qkGu<$Bt*NL)D!qNz%GUZ2# zmeP;P2&}|_9SDmNvg(A&EVVa;<#^f5HlG{Pv8@Z4Hl~~J6HZs}``+B-by>QRRbBkC z-0bPM<(m}KHm|7f4aEl^s&}hOD3!=-+AG(@uW47@I(0?!Q#q%)^ScHM?A%7}ts`&F z+zwN3Ur&qw7IC3D4b~CZn!n%|Sk;s%bna0u)_E&-?yvLmv&Wg?7w?2#6WZ=LT=V*3 zf3L6GcG;-fuP@IHWQD&}z3|Z38*kYB?eY5AwcnD@#7f_M8G8HG`Rl8y)4$deGGMoZ zU${Se^F6=n$T9zy7A?_X(?4W7zFgY8uX|y!rZhTy#O6%<)sJ^K-GbLT2A_O-*D`qR zcbC$0_g`D37`;EwhtIWL+8Ks=eBaI2`1|K#)o0On@s1s>ZC2MTUx@w0X{a3NJ_y}A z>AW>mqux@5KAYr91PQI`&ppo4xN4c}Je^tC!b-tJ6weV`x5L`ci&$Tq%M}{6G(8qG z$@D&4N8zw@I=rQePV((`514N;qCg@42|IxR_f^dQ(WMMAC`J)j$rJwul!L{+=8NdJ z%`({aVnc{Io)(!LrxJhfGbKj~rJT>^wN1UZyg}l;m!4u*J{YE@bw5%=S+YHBBS*pA zZ2Oj7_TEhew{@kvao4Sqv`y~uNRd-)`MpB*Rac)i`As%dBz^m&AF?`@A$0D@k@ncF zcO`S@?+5mTQa5@`UaR{obSI~&_x(J2->5oOqghuc?*b*pEtmc4oT|!;JR7$2Ca%;q zmx%K!Sl%@C`ktm!eu-NhA zU`vV5hO+T$kPy8R#9tcpYv&v*bd%T2Gp2s+N@@I$6#kph98c|uR|*q=zkBh-BudiC zk3nJ*Hgo1os&GNFMErYqglMely&BIjfe3T4WHs1KMfmpY&@x?-tGF^w%#`3mLnBv( z>1GqP#EjF;Gb61k+X9VuF&YK_XY($6@L4UNqPWOc6bHXy-NeDxS8pM( z?Qd_N^BDP1Q})z+Ez1AhfuHQ18xL#NZnW^t2Hfnndh_o8E9|6xy9cfDX}cF^c4()M z$1!lHpKz`|s8x~|Iz{F64{vcu*y?mE6O{#|Onq z-BS4DSk2alqhH?FGHePDN|G;?D(#d{G+VJzcMDPCFxZH)i4=x5OeF}J<<{pKjMI)p z8b1mPiu`VK&e&Gk9g&06_LZ7IsFq1Svf$6XIS}zNysg_r%E%kW--&}CRejDD-epKM z%*j5l-yr#BC=on8i9SMIioq%+LMyVL*2eg7xlzRo7nG0`Ka2>UF+#F+J7s$3Xu#dB z9?>u5_|w#GToS8C0l@`3QWP8WdfSNepp67G_3@V4NH!KYq?u^$w;kIw=V{I)C%zIH zXG_uqOCJXt>gQPzKXkG4e+j|?XbWEQY_jU1R_&~PHjbWJDBnvG?m~DB#|Ztz`&Lf? z%OQ?-ss(GSdSxC@&c=iSLbOI26s_JzNRJ;aA z9_8te@#j%eT%U!Ltn6bBps!4%(bi6VgPu!PX3Bj8>#kTS3*c5FQ7YzT2a3u!mA8I4& z_=aC5=w9wpMrrF@I+7=fQA3K}#7(AL!HO)*SAz$-5gPOFR0j0pxZ8;uX=q6#g*Ym3 zlbZ3E0IuI^g_&otWrszHBeTsD-0T`t?Zd^9yPYOnIW){oIqwI{x$6e0LGhAQYa%gJ z&SIMmd5Db1TdacBIU;dotq_TgRTHk8)U>qDI1UR|qI#D${Su8wu!m&GMH+%iYL+t+ z)C>a?cCZcyJkvtJdpzDj5#J-|AZei)>$Mh>B&j*gmaZA=qh~Q2^w+FCnFvB z;xT6C{W9syq;iY|vVO)G5cF^zA}n#&n;%v5m`ru(WDjgsi!}(1gj@(umxanF;?o&q zxKuZy_eoq3JZE0_*yFaM?n8z@sqx7UKDZIJI6Tw5AQat;NF>DLwHtGe62$ra180w9 zdd3IrSqVJUy<<=ilVT;j9r$bWXbL!;!Y}84=m-!MUXwL`3zBk7{zbF4&}a{Em|gC&UUOF7t-$iH~_#XB4E7;;qn7#YKb> z{xi80Ku!a;<_+9-6rb*L%=2?QySOjn8`mo(#-a~jzHqbwZF01IGAr{DeSj1%9^$2* zv#QQNGB2os7DpD52K8<(B}#ZMjf|5F@k}5Z<1xa#Jz}VSEqBU_gI(~$Ou~ZMz()zT&;~R_IzYP9BMu%itYHfN8W8zj6^@esUwrE`GWf11z(}VrSGxQy! z>%`am=HFf%{Naug`~5QO+1}$bvE25HzurDS(EqeWJNKwUggpoZoKdhBfsnv!xE~GC zN<-0Uuzeb*91h6>p~^rUG#s2115i%{T4|!mATSMtrGa2YF)%qCCLAQ887t8md$=|h z&H@P~(;!PR@bEaGfk9A#XK4s#oGc=SJ%$5I?_Q zc+_M(91lfi$HTIrSSH5zJ7*;+(PtIpqnXGalz7fB@%&I?fK%cnLQ?R4;>Fs;i<-Df za#E;f(s@FXzh;uZ6Rw7c^K{}|nB-)qT)4_cEmHG?tulsu=D0>6}P1Kc{5 z^UpSCW`Q4EJS78>lIoP2?3bFqimNG1E;CQfTum(uPuXfr`J>NSnw$*B`?n+fO@`9i zHE|t;^lmv^&U9MmDy{>Oo;{s5P@CRAgzGU+AJ$CAO{F3l(+A|z|KXizruXls4IwgT zhtlU-GdS=Wi{a@nizFHdY5#_uuX_ zY_?&xfpbtXLeAoSahR=0%DL$L55d=sO6jvjnLmo? z0>wF6#d*%f1y_rUii=Cyif_&q-~LftCQx!mtEAGor21+}ZE?xHwvzhUlKVeO7y>sQ zYTbC`e53j5jaKI)MoovOLk~Y0E_&vyv`6AdquIUo!lu&^yDK-+JP`?=2qy#sBs|4;_BQtPy|pgUeyFFhY+BI zEN6j$`>JwA^%Vp+&@lr2VO3XBz|cQEq(2Q6j6f>VVSph~pIlwOo%nCy#N`u7TIEoe z13J_mfI_f9j-g8!BNEDxcm`XB z9bz&T%CPL^*aZ?qZ`+6q57VQ;#Ul~iu2@JTnk=i0Wns*=!How@+&T`ZAfUvPxCcx| z0Us=o3B_S;~dqflLrhwDTXCJoxcdh~G{p+|%~BjF4E&Yf}0ta|6s zaPc4~GS_@0lxditUA`QjK*O#Ooph)PtCxeVk7u4|0(VwSnEQe{%zzC)!t8^WpK}B8 zj4|irLaZ5@dpJ`IoaWO;u4qrl87dCp>*fo^TnE0Kkuh@OQSAwitAKf# zHR5*@GG@%xvOUHKgR34d&=Up=3u{ad+rt4V; z8-B42^9IE8B!-8*5$mL@di)JRu1Wk!A%C2|@YXiwHRznh;aoji3B!z{pv~!P#f2xe za_&w|bJ-|**k*fvDc}t*ikr=Ibyn!enWSBirN-u5h|ZngA=09yd4dc2vS(5;*-04% zXPk2b?@ERA6jpl8_!;KsMa!h+$enO6IxR1BXEQHYK3~})=PyOP>TQmfz-*+}Y)HzR zGXirrpUghSYokbn$L-T^XN|=;fvg@CxwA)*;(v)sm`)|TJyz#{qsj& z{N3VQ?b-QwOu@eRoYjvx-r&4C_laAFCERnQe^O)=Eb>mrF1$V_J>M{&Ho3rO`&RZL z@zUnZ8}~QQE-e1EdhKLe5d7oK3}){0;f2L=aR9M$dwkX$S;T)kyHjN5YQ~)S@auOX zlC`#rxMD>mF6o}=x$*{uE!{=Qi5be>CD|i<^7of!AHJo<=3Cw=n7s3PK{xwZ?DETZ zxw_X_6Smo^*9s&4Ea_$9{yPNZpY*Ep|CCcZ1)UuVa)SJw$=rPvXxI9RgJbBx)4S;|YshnRJYis)W{GTPTRr{m0 z7qxbE9^>tgH(oQmM{iqoG;hweUfx(3?`YXt?26+Mv+iu&Ssuz&JTuYRw)>G;akA9< zN&DB0nWpoL6Hhw6Z?Ss$4{9{%zYTWZb5=YszrCPSw6WHZrFnfj68`nq2fh7^&-4$t z%3DgK^zpS;vZZCeadW{|qrdVdnaW~S%mknq3g3SfIiGArQ-bKl01)Obt0Jo?9n!bYF35jy>a;39xstfid zx;RqC__nflJYJRt4gDc)IAg5*K953tIZ6mU)-zO9XnJQn3+txhd-R~KW*{%RUSpIH zt|{+lV4H|v&BYQ9xD(59J?mXE6e%uop(d2_8sUfVqZ5RJd5h=TK=fuUOz|-!>Q3=Q z3<{ut+dD#{@Lq;i-8H+zDoszge#FVNp(4x`n63N+{0J+qMEPcz<_W@emMrto z%n`1{xRvsX0scK~<+v<3DF&{HDv@1Oj2ufHRAjX)WY?cDudoq|E_xw)HJ_D@%r1xu z8cG*0Up66h3-Xu~tV%-oO%C+AO$9J7nuhq>wmZxidr@|#gmH9;Rgce8on%^0)DE-~ z^-S@I$AISBYVcO39i4c__|B!_#7|X|+SdF&3ta>C-V@C$o9}bAe8XcbyAnL&#$U)O zFGB@~o*wK@h@9CA!e}r4{?V`S0lAyNU+NQ=sa_YpL|fs^wtvh&iC%d$4Pkqi@Os7B z@T!@7B->Ggl?Lw!v4Am`0ny3Ie!5ve_$2aLYF5mIUUZaA26(Fyh|N?>-u0&lMU*Ed zVqY#ncRuhP%T~%gcZAOGK|M|;mTo9AiA@I;tktgNLCiNSIl`3R9mw_PeE&2d_#+WK zDg61rjh@T8Gk;l&xDyio{*8ejJ!W_v+?}}g2!=TlVnFD+j8vJa$?(A&2RG(&etQJR z>xC@g#e?+u&sG;?$@#^DuX5_Pc59z5>Xqyu81YYZ9extE!tdr8r~jD+^$YJKxEFzS z4<2I1+B(@dF32Ts{YZ|u7p4y9|3!G-t|<2{+aAb4mYN#Zunq=iT;XM zE{omvm?38fm5l>Fd+YDOepc8g_HFPGw#a+&@f@ zpyNat;mev%UpRd=K^%5y5b1 zbVK!`Rz$9M86L5ZfvSD_9N}heEF~e1v_R(;1w}ylNESRNy<&v;c+8awit!e=vyVjs z5Ld}N+3HX6Qs14;ERK624uxY14m2TrSn-n%tEcjNx?-ys+rS$j8%O_YmP172!PxoL z7m@`bAPux~-bt2CqdM`GEC06nQYhOs>C92K~`PRmL#+2o!|xhF{{Dq^6ro@|_# z_Ym5jhZ8>CrHdArOR3M8=Qwt9N(52$#fa=v*J(_)1<=}QgLSm5CL3RLaF>WM37+x0 z!t!1#+~xUBf)qibAYJ{nsR5!;8)9l#0ovbqlntTE!R_Ars zmpHFi=09>SHxm#}Ll#B>Il~{r>kH+?3uWR+OIu%cAD+Z!j3m-pE?)H~KEpWKftczZ zcKFjF&0%mPr{i%FoeA2lcn(!zab%Kto&ImoeC$oW$M<{>U%kJSAhp*m z@F&^qa1T9RE6@8;`}>AVUw`GB)J_vj{S&z}>B*6V?_y)5xPV4h0_Hk}@VdS);&h$M zS8aWvu=Y{433~jmhXjt?vWlpp9jIh|*b{ez(Uk|<^ajz&7IV?0fIn=Lq4t|k-JG`Y zV_g}GcS2g&k^U#1aiz8Y4VK;tze5U?C=D(1=1#U;AwCrsv-|6HfF2b#I&#mz#P5#v znLW>bUG5b4x%8lP@iv&~9m{8zc3ua}>H9NIVo<#x-UStZs+1!Zx+8BG23;OCYnH$MsQ={Ef`S_fIY%yy_P2S>R-SbGC~*L+upeec zYqIXxuQixO2nF5MyQQe>81eG4?QY7^Drr^DUwSK)P{}mojf2$-jUTO-nwp@?mZh36 zURe(paNkN+Kd;%$kAN*ng5D?yK{r>?0Ii+V={K z75)}qAi5F{k3F&<%TLf#NWMyPic@!r-Fe{(#9vKU;*Rgf;fmt^GU6&^L`}ov&5Qm= zdgYYh5T4*vl;F~u;5L)sv7g{cNCd#VKEM(F8N-t*fl?V2btqBl_T@OiKC6mk+GUAX~+q1YV}Bj zek#WZ&We2pa|{QrrzziEMn7QbhPPrTJ<(4{$-+DTP&@#d$RkZKz?yB+1gmU=1*hOj z^pw~bDBz_7QV|^hpy8*uN9HgkgN<>t69DR`p0WR_ZxNNPHXdK{&1NaMMIM$25M?b5Vii>8XJ!ZH0 zUIf58plW~;&g+OVyLg!scsLw4Kn1H&!5$>YVb3hM4HAIwhT%-EiK78xEcmW8WD0;- zqzNcv$H2$f;{0pn#F#@krvpzg_O8uWadCrQFwYOE0Wu_-jG;JW!Nmc-0yvG8LQq0$ zP{IAwq&*hAC>h(xf&c)9iwt=MAE}qI=h(erjjTK;Di|yOkDVw0q{=>t1_VtPzF_n` z!Mqk^C1;o>D;wH~(7?gQmh*11=i9D{su}`L8{o5s0jt=>aIlfSZkIPYWBBkUfJmW( zOR2fYZm3_IO$;M{NEvu#%r{vEglpCubxF*}cZA=mtht%8#W4v#^i7P2?yU85`4rF=k$jiR; zzhy`R&)&TyYLIS9H{4g^$Z&>eks)Rzh-(}2=3O%}8?;s#dFv{_772ni;_PLB^}5cY z@{4~VQ%mHFMA~&bQVxA6M*{)bHFca8y)3K-rp3G^^%ALrtE`}luhQUZ0cZhj{J?2+ zahpX39Dh_$VWbOujBFs^4ptliA3lMPk;cUW3v{NKic7_&m#7vh{D4J&tHqUztE}@p zu}FvLfR3jGp~``T8DOY(A+fX?An*!vK>D`_-#{Jj(xl5pj-m=m|O$ONY92 zL7W+Nt*LeGBXwPZ^_>bp+yk}gf&j==M|!Kal}-WngI!_9NIJ1|ZzrgTD&6ZS4o!E{#A~_V*rxkE4-&squ3vn;`K4 zmc;;dFn*#K2kniBxrc0#3^opS2nR!&$tHcU{h&1I0bKmy&ONq$g$Kvy*tUK$*u@zf zbxkqlSXM5ClaFi6^ET-#=Y(e#L0x}(m?vo)ToiwCf}V0?n{#)YQ$rc@#`DD8F0h^_ zM*J)J!S5ws zB%5R*c|b%P5g{fi*e!iIJt`#ftC8V0I3HxUNav_sF*@jKz8Hy<P@)(pZ>XcGzM^m}VgFvBujXvV)$& z{dUJLM_TrJw9qcu@Shio>4@Ob3la~``OfP(AMO$87JZYeuoDpO;Xwbnb|C?m!>|5# zUch=5i{Msp8)B6ACjED4Xk*1-7SRZ}9Dev8YM(+8&Ypj(ef|XvZK`?x@5|vwwUZU* zxwe(?Y=83_x$@(A_a5Clon?DxWmN+0OclRrL- zXy50Wlen4YD1N4ya##EPujcL3kI~TAk5_qIB}^8lO*(ZPA9OjV+2%t(u`YV_mNiVB z=S6V83QdH$EAHR7Epy^8cHofmyJ_tIsIlt(*!Jl%n-u7M74>zxp??DVBwyb#ChV>p>R9{LXNGaOpX1F;fItW9t-h~<^a5L;J!-xYt2AXjMU{$y%U zHomdhTuhiR_?BVM9wjx3b}NCEq5tIat+3$oCNr^Ef*DRR+PEh_!Lq6dXU}~_^HtL8 zlvXK2<16o8X~zlMo>W`zETX3{gj1G_^tAGaMN9Sj(V|KAQ-cBd@>7FyG^J3hBh^I` zV;Y^v%JHLji>A`lU+pyxM#LEW_@Li|=H}PEtYnw264mfIfZL_d{KS(E5$R~YVDF)a~pzKj-)@u|sZT14}VibPfh zXQB z%}-JMa&ik2Yj%{KQgKv!Yrhd*isiYSB;ntXW~O3YzDtrk*Pt>Y5=+f3P|qfu-!|G< zC?|=A5l48W!z$&O3Ssu_cnm`44@d4r?f?G9XThkU~N%teYxr$D@NPai^ACbUFt|ZdACrw!G4bc5@oiU$3q6Sl* zq7SZCajjU2gt{$niiD~PTL_n;eNG7H>Fi|+U6$IjR%;7CJ1rMFCO*Elnj1eZ98G=y zN&oejO_J8mV7aEKv-c6b-7jhIU&1i&6RPv9#O3TkLxg{#(5IwA?bdQi7S$*o;)T*6 zvrEjS#eGM3NnYp^$99;PA`A?(^cZY{%;Y$__6xYW`3X!Y(Ng4P7fijiJ5fW*v*k*V z(T);S5R&e=cJR9brcs|Lf7ug|26e+Mow6{wv?1*Pg4jKhA?Af(IiFUriGvS&8sut% zpi4GNjciE_Bljw|mSZkZG4u8S&B7#2ACFoqDRpeGxeKW zNA>N&;_oHUdcT*#*nhxv(+!L+Bc-qp4-HAYBpJY^l(`CpIRsx)#hdrMc*cR7QbaI9 ztq-N}XQ*1e$$9wV2j#<~ep0_!O_^Hrl-&8%5eX(EiDyz$2TMv4dfAn_BUh2##51J( zig`f1-&v6!w9g^>vMZf~wwv~VYTp$uWuyUlG@mmI$2 z927|iPSBA(t5Y~%l9BMw>H@vnOWe21;p%^>$tUjeocoguUt;RRF0I(#;58W(neapu zZQ5e|NC_?r6oeYuOXNGXON+}tQAJ@7kI@>^8TW)GYwHV)3MZPp#b=$k$%aWB{c!x- z(q!}B<%Ub{5XbA~1uaj#`Q3PpKi}+0{a>8Dc{G%P-}gVcEHh)4%bLBhhRE30%9br@ zv`CxAzGSD6Z7kXMeK(eb$Os`~5TR&ju_Sv!+bFUW^ISdO`##Top7Z?k`~BzOuM6k6 z-k;a|^;Rm<1M~3xo1-|jM|6UOl0= zSYA+PHT?BC?AypH+Ip-;ge=iJpVqBjl_i|01j{ zxmy3y7ZI6k_g757to(&umtvA#bVWJys8fV6>}`N|A73|dKnoXQdRN+juUIAV#@@!q z@HC!ox$j85uLWpZZa|AMUloBZns+^J9liExMBCb2q^j%d>VL=HIJ>JIC zEni``;nBlHj9;EGv?D)LA>uHg6yFkbGa41dIJQMFE_$cueA}A4Cs68f`b3C>JaXdD z+C6&8oUBwt_0kc$fxP2Q*Dd7*ClA?GJT_JVK)INx zldIJOSbCS9JG?r-a-LQ%qLS&@YbRyw&`Y|bRAzg2^&aW%5d6@c+O1b(mx7z#w~V$> z(m&pERK6zG#{2u>4S5eC^(^SKQjtBk+~?IarbeBfko)%Ei~4C#zV!V4aO9(FM9B2; ztCIn(Cu+Z(x}`zej`0rqe!}Cbm*xZB+pV>V13CTy_vf#SN?ixOJIQ;sA2WTVdLrS3 z*WK->vmNhS9v?c9=Jn(1d_N|rnCZ7uy{UPG7?_KQg zm8$)@`;OK`U+9<8GatVqhqPWy9E>~+__#PH)mrC_*>Vy8_`dOu_8X7lOUZskKhA{z zftMEl>VEU=`?yGO_v@73No-v|j=Z?Dj8NFwTnqVu_xdx^i2m&`7xLZiRLJKkn;p5_ zYb&V@A#GhLfvNT(zshdjeWQIYs5JPXa6_uO_g2H+1(}kqX0OoodvlwUKzqt~ecSD&$Yx3E-s=67AdkcC6{BHYj5aYZaQs;5*MW208}(gV)T3Ne z^P$gnE}#1X_{PZZykMmN{4Z(fPWYp3|0fT;_FKaboGp1Jk1VK%LwP~uVOLI#2yW{L zE;y7IaPqcA2(?Au6B|lO!d|Od2%$5A8A;jl|!(2;~LUFhm;cOk33D|KtU$ z_b_;t|KtT$M3!s+GcT~_T6^K^7Z}TH8T&0JHe@pPUvro*E>a^d+Bz;KFfJ}HE}<>n%o=?<%VazppRX_ zp~6WlIw0bGVB#jE*96lP34knASDa5iGz7Shv3;5}mRex`Pe}1?Ck0i8j)0}f>!$Mi zqOB>(A6z7QS5MHWs1Yja6$Lprh?E{ey_`p}^8-j3d%H-!FR*h_3`Ilqp>)oC-VQ&} zr(B2My-V3@mKdk9XpobqrJ0dFXahW;Nrpe8qWY9G>MX%N$T&(sv54}Ag1{+Vz8mSb zC0RNghti$rFJ0|9%*_v+uHosWG8uqutstu$H4AQwfvT0(v~yPcybTq}&3@h(dbSP) zGed8MTZQIfaARB0FG~OB>M@?3FVzGHTdRhZDf;Xq=^Uq8b&uQeb^rXpqv-TNa zopG68Y*F%fVDKk2y;lS*U?r}WOPGNcgfhUVba>Zsn^vMsLtQjVR|d)KqWo`7Q@;;z zx8tGyESm(iv*-bnW4?Z{zBA_~$HVilg!(bCY)4k%MH`q`Da0)f%BwHJ2W zNe|mdW72?~qnJHfF%#K#O}Sl;BDkTs0;)yUP5Y*qvb2&N+v_+??KbFj*w3&5QYrJ9 zS`@>FXitD@^u+Dc*z~mI6$1E;AJ9AYs39}C7iP0XtvN-*?1PR!@J$+2xmY*g11xHq z1pTrZ&KqNI(^&pmgZdzll65wWRLwARf&>G2JjHha4O<7Dj98J!+*~)1K)mh4EOscg zGcHIJV7FPPu;IzT7oyV^5Vi zZ!S9Z69ILw-Bq9%BkJrx1R$6tFdfZ?5K3FjRs&hXwG&@T7RuxEhML)kh;v`2Yo^kO z@91qAx|SRBn0v6se4Nv*7HlD%Nr{I1GtZqwPS#n3)q!dAuGmEe$aMnBtz!4B46PG4;`~ToabE^RVxf=i4Ndof|sy4o07l z20lztr!rMVC{ATz?`i@H#?uhcs&*j_wMrViw1=r9D%^4R?4}}{(uf$){(3rKu0x_BoK? zI+%z3OvA1x)t!;LJNm@#&O6^t{HPbpx$@4~(|@slbjxSm%l{C1r0)9O8aVsZ(C!y* zc+jmzxWySX_8_frv!h2PYR_PXZ zjyC?itVJET%e4~nEjQ#1+ql;~M`t2>_$dGSW{n=zz zi!fgMVb(@28Sk8u-@BfQo&32C+JByO-FHri89g9OX&d=-KL`kX5#05}ulOTjCI|^h zLz~ZnPePGQ=^r{hK49iQJS+atcH=|0@XWx-hyEKgt>~E-^&h&vC0+(ULekH-p)8IX zG0rA2%;_IzK7O2K)PJ1xh?x|gy#USv3m@4*gno$)4Vy@Ob9iyM)lcnvfTHJw zszvAu+qh$Z2h_K|v>haL=(U6KGOlO2=lvZm$QxS1p!h_QDnvL zis!+Kx5#JTlb`)Y~z#xX1XbVMxyJ%K|{(0?#I^ZyK}c2H3_(~+fw?--x&_1;H1=!owJ zhzi&bU<2*()@UkiW6B#{MMsS3t_;u-Y6*J#CfFK05;+Hs;E@efu$_*mp|DRfU>n?X zVA@|~t;Mpr?Uy=lZ-Hmp*CQ}-Vp*Jx$ll|}Li+?dmBA4rQob9a^w1^gM|Ug1CL+=o z^)t>qiAfRD2xEs-rL8vTyT6dV)b)pHNLGDp3!c62JM0zlw|Oa&vH>!(kmG}Eliptz z#aD*YkoEJIEEF-VHtcai><@cTirB9;bP@CP-wx-%mqg^uaS+mgG|{+SOSeM`kcFlz z!xZGXZiy903rj7e#ttolMhC}XUfM26sner+shmwMA;Rp#FfwqN#wbQ|pc>AF^p8OFBlXJ`G ztIigmyeDv}_PJA|?(BV{%zZ4l zcW2$ED|G*WMW=B}u8eE!-P8US@`Rnx+Navn@AV#CnR<)yw|ba&)wL&DF&B{w>ZUD{7xFl@b*`z>Pp4!?4B)~wb>23rc3SFrW%yIWthU*1oeZ@J+i zKhC9~74vB5er^Ea!*M;9!|w70Hwu*NayL-5RfjjF_U`98BJaM)`-Qx^lI!%=Z(i8; z&X^bOz`xI=b4=nVUVzoPveBrka+gJaDtect=T?}hW%-c^A!lKatRYJUp73230e@P1 z6`zRuMaw+)Pj;MA@ogMNd_UcpmCY5EYmM?oq?I;QkoOSh#av_79={Z-KXZ!=E~zx} z+vZua3m#K0e{e<~>r3RfE#OynusnTOGEUH?vQfIg1^g=oEr2gd6=W8~ue3I=pJ6X_ z%5ya;xZM@OD%diRUR97Z8_!yx5Sp-c+6Zb6>oM;>PA#)Ru>7vL;rFjO9919pJnHzL zEo-PbZ1w1CO!AYfw@Uw~vQq_yhb6)OD|pu+Z(ERiqL|i%FUI|M@IL5WZg`jP*wqkg zn(d3IBkD%4q#sKdCd2t_O(llCc!`DfJ+SOos@>RUA;lAh1IFep}eiwUQE9}Ld0(C z8q=qov!Wkl>@xMLXfFuHKk}9?8L&Ky8r5JiwZ9Q$ujdzcS4DpFqc+>Pa-wKWk%QUs z>CRskqA@zmFGZiBRB}%<;1|z`7W*5fDn^Ca4dY(&HDko@EuXK@)ja#SOtP=;O)=1K z{n%D=z|h`Al<(woP~{$XtIg;Ue=gKO52v_wMUP zF^|va&q&s9-D!;P!F&}P6m1;4z>Z6t z+{8$dlI#e{tuW3(bxFNnu}3E6UDrC8JbtnrW82>_H8h_6!iEz$j)ddF`8bEfP95t# zp3KUyN8)m%n}?4)}}3&!WX1PxV2 zFb?Ii1NEDY%CA`)7;o70S;mwxl8G})QYZQ~=*EMBs`chalB88kkIe9WeI=4EH*I`m zlo(=iq~AO0tNM(~uOR1_?iQ^;`1U)|I@YbmlEqM(hv^YX{SU|ztf~j)0?+>XpHl=(o6mIwIuZ(KoU#;kT%3l?E6nvQiEWBAh zF#`Uu{i%0&`+IOWHdt8WL}_2--=V-gV+lG5WxFZrcDCucNWvKVrs_9g(qx~Md3pl! zJdL{|F8@&d;rgnD{zIOke9dlelTLiKy;%35uU*8d!t86$C8nM$QX%hD*y?~#!(HLu ztUu#VRF>Od6epz^HW~<>zr6tilYO%18)L8dr-?*R0hN&0bRC(ByV<{lw``84d8tJ4 zx38a3wvN^3dR%8vPJ>IS`I19a9E4`#UYy#~dlC5Do-1$_{U$7eP0w&caIAMweUBa| zW(3${2+Shav(sarRTw?$0Yq|aDY8ZexDh>5MTx2WD2dTS5B6TnjaFBi;UrF~BTSRE z7DzUmeME@nI)#jgeYD>|eAM12Ob6pJ2N*Cg@aAi4pV*TyB~l;deE{bI?9AKM>Q`Q~cxdgqZ8XOS`s`L`F!^98<#JhWtI}n@CtaO?oh~ zM~F4It|%A=p9}H%U~g~!5@F~JojS=8tED1-^-xyK8HJd4v8D##rT(ZR-*qoIQs_r& z!Rq5ITJhR6(aMP=Nz;1UIL(Wf$hQZV=;dQvJxe4I&BTRS;mUu#Gk|KDY)ZVCZg0JD4C;W`K?0j;2*4GXck`501lyUJJ7TNUK4B*%`~{QCj~{Bp zUU=7dWu$iLfiwCW9YoCh&0iAq6!2<(4+&h;-j@7Gekg33knTf1d{xdou4i2@#Ul-9 z%1izt^lb;+J?Kl3)r1EWK27$39{KyEhq{X!-DU@Bq%OJ1z$>e&vN>;4*d8r~eA0Mv zdHPo0pHB~f&frw>XTDUHE+IHt@gdiu#pm>!jxZi&sw*|y0`hEB?3v;+#Vw>#h8+=U~hK1I; zMw_p3{qMCd>VCa9sa0?`IZ?Hv|3rG|cIEIFV7t4*!`1)3_MC-C(+l)*r_k`u1$~BI z^ApwC4yD$+OQ|QD_cM}xqfd28#Fji6LXUdIP5k|=`$Mxo%3`zprqC;+b5F;iwXQ1d zeQ2#qYmRt)tCn%S)9Ur!JIO~|j}(f&*kJ#hl{@)6ws8Ne%XZN4n-u@Xj{R@mssCrK z>vhNM_UQk;))jZI^S{@+(o#E@kDl8dzIO04?{(+DwXV_Nga5hK^4c@*!IuvA!n+yxn2pd4zb35ee8hORXwvWaWkH?1L!(zC3*DYCicJt>6dx(j zgZ( zOxnCr0ux$#Fg#%}?#%;%40tTM5w1#OVOz8=jN|)S7OO~+mlIz?yF#xZNtnN*30zhrCU&)Ui| zDAjnywE(_7917C7P7$1;tXiI`gi1%N(U@-eg9o(Su&G?O2o^;g*!Y&s%k(^kPV{pH zM#y#;FguesBl^nuoV08_0WnX*&XZXc$V>yIJV)mo3^kU>3Y;RG^RL7X(sPV?u>DZ9 z2AW~0$%>R*R#EH$sjwZ9$10i^J%wEj03L5*&u$f{((;x!^Msu77q3LK>KVsEsWuV0 zM?5!=XU2nYGJht#F}1`R-^v2$Fz{Gl3|l)?;JX{1e^I>IHH&p4w?hWoa2RmH8<#r( z>V$LOY*DZ^)F4nAHiiA60T>X9+nwRZRwW8nVd(^5wB4JD1Gsd>6KPw({X1h13g`0C z8)WPNCH8SX+Atp>kY2b;DeOdK)AWr)Nu`e+z$0$J!4(DAbS{%t0n4yGQ#zcbEp&3J zxGv9^<7#%d74);Z{EJ)$W#bHH00W+vxFimRv-xCK6Q($Ubmpilc470Cai;co90X_- z+`U+FKm;+!%sg_;9LVVh1;+y3oLZ=Er!q>jxH6Pv)A3MPszyeOub{E{);|55H`4(2 zYz}HHpva(GHe7_O&cmu@&Ik;jd^dzve4eYicO6e4GcJlxz<~j(t%X4}TK(SZHP~W& zL1Sg5@jLA3{DXd?^FEH}qU>edZ+sw)$zWbaxCa%biTI&wob3wu>|QUVF{R6bdDBdA z+bV0-c&2p6@1){Tg0r6k<^~Ly(DD|rL`id$=zzALH4ERZp*3NEgZIT1Jjw_L9U%}; zE}1@qWd(Yp+shy~91}F>rofLKfB|?A0mWQ%WOi+Q9=wO?_0_Qq`7FYW&-W!ic*~<_yWTp(Q{9$}qLnSr|M}gqXH8%iHV=AOy+@@gvFrcgx>KD+N z)M<}{T!9um9=pUkIr&%}2WZbTVW_CzX_y6aZS++SctjzF%A`*z6u*xRgf$4n0Zg|L z!ol9^@kf0exzy;uUwZjI38j_>kdS9H=+IXITROW25s2Tt_!9?uIv}m-OfVO~k$^Jz zjU9^u#x(&?I{R@5a-GNirlNI7t?y)7*wV3U1XiVa*bcGc;%{sYftiUNFx4$)Hu5%L zb1A8Uk{Q&5?ww1&vC{<902!^Ytvy9V4Ul+LHSJZ@eT0pTp$;e1n(P)VcvkK!ZRB8Z z+4rK0%kBkJ+uv@Pzn#BGxmLftBYOCju(3_&qUuvdj3-gu@BJ~q2|@4a4{i%DyI>qWPjyed(8`bz2|6bm&ta|XDe6ESdYOK4}p+QJ!ao9UPrEwI}1`>>W8lm zRQaHjdOP1Z#aMYtzv%hE+jsO;pN>wCviY;xj*}a~eJ9*~G+TS7Z@Jfe@xJcl@FK?V z)1T*wxzG32?#P4$ZJqbJU@ksf<(#!GYgcs#^~$g1a`5G}0ZGL}?sA+0^Z{R;7yj2@ z+zELRSoGp<=ZlaTNOSdqBs3WLpS7-#!MLKq1V-mz(#&AW-@!DYp$wg&tm{KLAwzjZ zLj|2fMKePsLIG%(K=h})qL^Ut|n)FK_0bEaP z+?cMJo--<&qRz3wp_5LGH5le=3^i(HPbcyu5qVOOL^i4B^idRl{qS1m%M-Q;NpwuB3XSCicRdl& zO-4g|L0R}WSD7j@=?R8MQ9Uzvw3TWh=VA+uf0BqgcZD;LfT&)D4UV4iVWzVGpiFH3+_JR-7PZy41-U5J|r zEkhOR5;PcxrKH~?3gx!TkBr(jCrx3c?lbz<{Ci=VjHBy!&ZTRE&hu%zD~f zy|+nB;#|EWI7~y#J_})rNZ8bUy(|wx;jVdJXv8L_kgg^88(9pyuodck`zN9XH^wQC zR#n1m>PW>^qDsjhB{?SGO31zp5Spzt-@%;kNxVBC(ktXQjYrl}2~J7g)XN`-bUXCl2*z^80$BmQ5<;yLU$&Cp8 zBL|C2WvHWeVBjJ4kS6l(dvK1V=P~>V{rMBWGlnP2hOY_b(KWTbI)=fAcb?aCV|c!Y z@@LcnO3ssmL!P6Th`iRd!2AHLg|gcR4l8LwVHWyvJHo3Vdn0UGE?r3Of_RR{%NiPc zP^8)7R~Y3a_Y4_XgTn`=cvltm4lXQFexCuw$9f9lzKwjLqFl zl2|*Ax9Rh@i1zn9^tqG?{iL3!iH4-$P_u{G>(kg#@ki%i>C@WWqELIV5Z6F8Oo`}{`3hdy5BsQe$A(J@>qd}`zcSq2yPGQ zjg7XPABG`T1YX*a06weE+jL%&n?K%U#9T5(IrdyIFnOddc?P)ZTEc;mn-@G3SAEMZa~O`!jDo1LS&z)pv%D z^;_hAiNpHL&UzhjU#oeztJ=DCGq>~Q?=Sjhfo`p97f`ziY=5-n0{&+qSp^1zT|ad2 ze*j}B=ll;~Y^#44Gn?NrU{2)l*nAbLy#2kn@Badfl_U(~xmm7iL~?vo_y4h~=RWk` zfbsgTPtOxDFc^9F`-g$sn(=1EW-Ybv9$rcwFh^2*`vcS_>OaJ{)J-+Hym7jnwlS>~ z0TX$Ce~mh$QRMb({o~741^qaWIjQVF^Lm^f8257VFRlLy$w5pd(i)FGu^Bxc6AXA` zzx=O|4Dna;*L!^rNh}zhYy3P06_Q6grZ$N$&2pU{eh7L36_R7$KQh+{m=K@goJ0L9 zBxm%UgZA$x4}I=`4Hc44;`hG29nh3u?7rWVvj4vNrtf#yRGZJy0@dST^<7>2178z6 zF1y*b_!fQscyylR_(}a^SZ$-!oHeuBD((_%WGtD*BBW1H3w5%3Atoc)zVQ6L{_FxJ zwzcTd8Y zB1w5BFX~3>MJpLXSRnbr1X|2WKUJBs{P?9ppEPh*bt%sAQ-RLoiCEn@{&61IDMOVc z{D9mWl*)v6rg$N#cJ&5ML`IqY#F#g+2M~I@NKzTl5J#(p7692P5l(KU0V1lI!?JPt zJrU>amw%mA4owkvG~RSwU#~iaVLV64QC{gU9>1q3kPKvrn4YuHdM4{0+FcNZRxUpH znTYTGTK);-l~#=d<{XxeRrNW2x!yRXVUVg4DBF~z*lpO9BAL^#Yoj`obg%vi{lKbD zEmOA7TxIMckgPaRr<{Vkae|6GG40Sa*|8zjSz@^40H9Se-TFpUN4TTVCqi}bM#r`4 z{YEroWaS=rewnO9t4+^1WU35H8(`JOnL8}hj)?3097!LGOVK=U2j^8A;j>?8n35Am zDZdkn|25w9Oq}=1mk>ZkWrZYoMqz-gl`>);Fp_JLv>QCq)&Et=>HV0CA7#S*g;j~# z2)^l+(x{=m{6&w?Cj^pyw{QWK;-%tIam7xnHAI}bJ-4(O54{} zguUr8*0QE}NnYOO1j*haf3#GN%Mi`too;ETu^M|+d`0-}qa(*lag}E!bBGy3yZOXO zQ(x)}R`e!6a`U9r0Jq_}qdC`=$8Wth#-3*k6_)5mTgG3Jix%wPG2F#Rq`6qzaTTsc zGfTF``!p-4%}@*_ANAy2zF5xrTpX?@+lUanQ6s9|6T^D{bK0#CZx>0SJ zCp9M8$n^<*9*R>!wxh5?K8dLI0ST#|lXq1r_>*>dYwwIFno<`2l zpCnb}zxJmpM7J{%Z(TRwp-QCc4se*8p_T*&D25uv2u@eSMUJn2y7#$DBsD%oggn1u(6F`P&gA*zSS|7R zO%oPz^YrIe@x7cJr`dFlq`!_aiQ-6FtpLP&;0Z_vo+N2;!#h3j)+i@iA$Ek>P2uA3IrXVN z5AnQ~y{{O@dmR~rYsdV5PCAlCI1}(O%ho*cr>*e|%=!o;LM}1E&~rv>10|oT1zz7@rmcWTnR$E?YDUWq¨M#0ywLzV@7bnBHfgF3k2(nu? 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

tA;M!(cR<)mCvl%XE{XTrp!jVnaMVY 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

xY;{MSpt<&I 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 D_f>A~ literal 0 HcmV?d00001 From 5d05df8806b4adde17ec0180389f0445884b57df Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 23:42:45 +0200 Subject: [PATCH 26/91] Update README.md --- README.md | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index 4855b1b9..56f2d42d 100644 --- a/README.md +++ b/README.md @@ -18,7 +18,7 @@ This is a React Native Date Picker with following main features: - Android + Android
Choose from 2 different variants React Native Date Picker Android @@ -27,7 +27,7 @@ This is a React Native Date Picker with following main features: - Choose from 2 different variants + androidVariant="iosClone"androidVariant="nativeAndroid" @@ -68,6 +68,7 @@ export default () => { | fadeToColor | Android picker is fading towards this background color. {color, 'none'} | | maximumDate | Maximum selectable date. | | minimumDate | Minimum selectable date | +| androidVariant | Choose from 2 android style variants. | | Datepicker ios clone variantDatepicker android native variant | | minuteInterval | The interval at which minutes can be selected. | Date picker minute interval IOS | Date picker minute interval Android | | mode | The date picker mode. {'datetime', 'date', 'time'} | React native date time pickerReact native datepickerReact native time picker | react native date time picker androidreact native datepicker androidreact native time picker android | | locale | The locale for the date picker. Changes language, date order and am/pm preferences. Value needs to be a
Locale ID. | React Native Date picker locale language ios | React Native Date picker locale language android | From 868c6ca873cca4accb3a80f5fc2669d9b7764cf6 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sat, 11 Jul 2020 23:43:54 +0200 Subject: [PATCH 27/91] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 56f2d42d..c997a763 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ export default () => { | fadeToColor | Android picker is fading towards this background color. {color, 'none'} | | maximumDate | Maximum selectable date. | | minimumDate | Minimum selectable date | -| androidVariant | Choose from 2 android style variants. | | Datepicker ios clone variantDatepicker android native variant | +| androidVariant | Choose from 2 android style variants.{'iosClone', 'nativeAndroid'} | | Datepicker ios clone variantDatepicker android native variant | | minuteInterval | The interval at which minutes can be selected. | Date picker minute interval IOS | Date picker minute interval Android | | mode | The date picker mode. {'datetime', 'date', 'time'} | React native date time pickerReact native datepickerReact native time picker | react native date time picker androidreact native datepicker androidreact native time picker android | | locale | The locale for the date picker. Changes language, date order and am/pm preferences. Value needs to be a Locale ID. | React Native Date picker locale language ios | React Native Date picker locale language android | From 631edc44ddb68edc8db67f1da0e7a4cf1c78d0f3 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:04:07 +0200 Subject: [PATCH 28/91] Update README.md --- README.md | 37 +++++++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) diff --git a/README.md b/README.md index c997a763..ddd21221 100644 --- a/README.md +++ b/README.md @@ -81,6 +81,12 @@ export default () => { ## FAQ +### How do I change the divider color? +The color of the divider, separator (or whatever you choose to call it) can only be changed on android for the androidNative variant. To change it, add the following to your android AppTheme. The theme is often found in styles.xml. +```xml +#ff0000 +``` + ### Can I use expo? Unfortunately, expo does not support this date picker at the moment. Upvote this feature request if you would like to have it included. @@ -106,6 +112,37 @@ If you have enabled iOS cloneNative Android + + date time picker + + date time picker + + +The so called "iOS clone" looks and works similar to the ios version. It shows normaly 5 lines of dates. It is enabled by default. +This version looks more like a standard native implementation on Android. The divider color can be changed by adding the following to you Android theme. +#03b6fc + + + +```js +androidVariant="nativeAndroid" +``` + + +```js +androidVariant="iosClone" +``` + + + + + ## Three different modes Here are some more info about the three different picker modes that are available. From 30df028e0e7a7213285a54742253b73cdbf3f175 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:05:45 +0200 Subject: [PATCH 29/91] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index ddd21221..e8f2feb9 100644 --- a/README.md +++ b/README.md @@ -68,7 +68,7 @@ export default () => { | fadeToColor | Android picker is fading towards this background color. {color, 'none'} | | maximumDate | Maximum selectable date. | | minimumDate | Minimum selectable date | -| androidVariant | Choose from 2 android style variants.{'iosClone', 'nativeAndroid'} | | Datepicker ios clone variantDatepicker android native variant | +| androidVariant | Choose from 2 android style variants. {'iosClone', 'nativeAndroid'} | | Datepicker ios clone variantDatepicker android native variant | | minuteInterval | The interval at which minutes can be selected. | Date picker minute interval IOS | Date picker minute interval Android | | mode | The date picker mode. {'datetime', 'date', 'time'} | React native date time pickerReact native datepickerReact native time picker | react native date time picker androidreact native datepicker androidreact native time picker android | | locale | The locale for the date picker. Changes language, date order and am/pm preferences. Value needs to be a Locale ID. | React Native Date picker locale language ios | React Native Date picker locale language android | From d04dfda2a10fdd7f318cf86aeb4ff03414aa94ef Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:08:05 +0200 Subject: [PATCH 30/91] Update README.md --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index e8f2feb9..b8f99b08 100644 --- a/README.md +++ b/README.md @@ -126,7 +126,7 @@ Here are some more info about the three different picker modes that are availabl The so called "iOS clone" looks and works similar to the ios version. It shows normaly 5 lines of dates. It is enabled by default. This version looks more like a standard native implementation on Android. The divider color can be changed by adding the following to you Android theme. -#03b6fc +<item name="colorControlNormal">#03b6fc</item> From 0d04dd9a65a24f4b0dcc7d759a4d8dfc5f182ceb Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:09:43 +0200 Subject: [PATCH 31/91] 3.0.0-beta.0 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 77ac8641..3e0694e0 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "2.7.13", + "version": "3.0.0-beta.0", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From f511611ad43e87261fd0e20d321f0c3671fe7d7b Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:23:55 +0200 Subject: [PATCH 32/91] Update README.md --- README.md | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/README.md b/README.md index b8f99b08..c6791e54 100644 --- a/README.md +++ b/README.md @@ -1,4 +1,4 @@ -# React Native Date Picker [![npm](https://img.shields.io/npm/v/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) [![Build status](https://img.shields.io/github/workflow/status/henninghall/react-native-date-picker/Android:%20build%20&%20test?label=tests)](https://github.com/henninghall/react-native-date-picker/actions) [![npm](https://img.shields.io/npm/dm/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) +# React Native Date Picker [![npm](https://img.shields.io/npm/v/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) [![npm](https://img.shields.io/npm/dm/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) This is a React Native Date Picker with following main features: @@ -125,8 +125,8 @@ Here are some more info about the three different picker modes that are availabl The so called "iOS clone" looks and works similar to the ios version. It shows normaly 5 lines of dates. It is enabled by default. -This version looks more like a standard native implementation on Android. The divider color can be changed by adding the following to you Android theme. -<item name="colorControlNormal">#03b6fc</item> +The "Android Native" version looks more like a standard native implementation on Android. The divider color can be changed by adding the following to you Android theme: +
<item name="colorControlNormal">#03b6fc</item> From d5ae02679321431a49cd5374146f70c8fee6f6a7 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 00:24:21 +0200 Subject: [PATCH 33/91] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 3e0694e0..825b49c5 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "3.0.0-beta.0", + "version": "3.0.0", "description": "A Cross Platform React Native Picker", "main": "index.js", "scripts": { From 7fee84ab52da5cffa710a291f465963c06788a3d Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 15:46:09 +0200 Subject: [PATCH 34/91] Bugfix: Prevent NullpointerException for some locales by using hard coded formats (#204) --- .../henninghall/date_picker/DayFormats.java | 753 ------------------ .../com/henninghall/date_picker/Formats.java | 152 ++++ .../henninghall/date_picker/LocaleUtils.java | 43 +- .../date_picker/props/LocaleProp.java | 1 - .../date_picker/wheels/DateWheel.java | 2 +- .../date_picker/wheels/DayWheel.java | 9 +- .../date_picker/wheels/YearWheel.java | 2 +- examples/detox/android/build.gradle | 4 +- examples/detox/android/gradle.properties | 1 + .../gradle/wrapper/gradle-wrapper.properties | 4 +- examples/detox/e2e/tests/displayText.spec.js | 12 + package.json | 2 +- .../DatePickerAndroid.js | 0 DatePickerIOS.js => src/DatePickerIOS.js | 0 defaultProps.js => src/defaultProps.js | 0 index.d.ts => src/index.d.ts | 0 index.js => src/index.js | 0 propChecker.js => src/propChecker.js | 0 propTypes.js => src/propTypes.js | 0 19 files changed, 201 insertions(+), 784 deletions(-) delete mode 100644 android/src/main/java/com/henninghall/date_picker/DayFormats.java create mode 100644 android/src/main/java/com/henninghall/date_picker/Formats.java rename DatePickerAndroid.js => src/DatePickerAndroid.js (100%) rename DatePickerIOS.js => src/DatePickerIOS.js (100%) rename defaultProps.js => src/defaultProps.js (100%) rename index.d.ts => src/index.d.ts (100%) rename index.js => src/index.js (100%) rename propChecker.js => src/propChecker.js (100%) rename propTypes.js => src/propTypes.js (100%) diff --git a/android/src/main/java/com/henninghall/date_picker/DayFormats.java b/android/src/main/java/com/henninghall/date_picker/DayFormats.java deleted file mode 100644 index 4cf264d4..00000000 --- a/android/src/main/java/com/henninghall/date_picker/DayFormats.java +++ /dev/null @@ -1,753 +0,0 @@ -package com.henninghall.date_picker; - -import java.util.HashMap; - -public class DayFormats { - - public static String get(String locale){ - return map.get(locale); - } - - private static HashMap map = new HashMap(){{ - put("af","EEE dd MMM"); - put("af_NA","EEE dd MMM"); - put("af_ZA","EEE dd MMM"); - put("agq","EEE d MMM"); - put("agq_CM","EEE d MMM"); - put("ak","EEE MMM dd"); - put("ak_GH","EEE MMM dd"); - put("am","MMM d EEE"); - put("am_ET","MMM d EEE"); - put("ar","EEE، d MMM"); - put("ar_001","EEE، d MMM"); - put("ar_AE","EEE، d MMM"); - put("ar_BH","EEE، d MMM"); - put("ar_DJ","EEE، d MMM"); - put("ar_DZ","EEE، d MMM"); - put("ar_EG","EEE، d MMM"); - put("ar_EH","EEE، d MMM"); - put("ar_ER","EEE، d MMM"); - put("ar_IL","EEE، d MMM"); - put("ar_IQ","EEE، d MMM"); - put("ar_JO","EEE، d MMM"); - put("ar_KM","EEE، d MMM"); - put("ar_KW","EEE، d MMM"); - put("ar_LB","EEE، d MMM"); - put("ar_LY","EEE، d MMM"); - put("ar_MA","EEE، d MMM"); - put("ar_MR","EEE، d MMM"); - put("ar_OM","EEE، d MMM"); - put("ar_PS","EEE، d MMM"); - put("ar_QA","EEE، d MMM"); - put("ar_SA","EEE، d MMM"); - put("ar_SD","EEE، d MMM"); - put("ar_SO","EEE، d MMM"); - put("ar_SS","EEE، d MMM"); - put("ar_SY","EEE، d MMM"); - put("ar_TD","EEE، d MMM"); - put("ar_TN","EEE، d MMM"); - put("ar_XB","EEE، d MMM"); - put("ar_YE","EEE، d MMM"); - put("as","EEE d MMM"); - put("as_IN","EEE d MMM"); - put("asa","EEE d MMM"); - put("asa_TZ","EEE d MMM"); - put("ast","EEE d MMM"); - put("ast_ES","EEE d MMM"); - put("az","d MMM EEE"); - put("az_Cyrl","d MMM EEE"); - put("az_Cyrl_AZ","d MMM EEE"); - put("az_Latn","d MMM EEE"); - put("az_Latn_AZ","d MMM EEE"); - put("bas","EEE d MMM"); - put("bas_CM","EEE d MMM"); - put("be","EEE d MMM"); - put("be_BY","EEE d MMM"); - put("bem","EEE d MMM"); - put("bem_ZM","EEE d MMM"); - put("bez","EEE d MMM"); - put("bez_TZ","EEE d MMM"); - put("bg","EEE d MMM"); - put("bg_BG","EEE d MMM"); - put("bm","EEE d MMM"); - put("bm_ML","EEE d MMM"); - put("bn","EEE d MMM"); - put("bn_BD","EEE d MMM"); - put("bn_IN","EEE d MMM"); - put("bo","MMMའི་ཚེས་d EEE"); - put("bo_CN","MMMའི་ཚེས་d EEE"); - put("bo_IN","MMMའི་ཚེས་d EEE"); - put("br","EEE d MMM"); - put("br_FR","EEE d MMM"); - put("brx","EEE MMM d"); - put("brx_IN","EEE MMM d"); - put("bs","EEE d. MMM "); - put("bs_Cyrl","EEE dd. MMM "); - put("bs_Cyrl_BA","EEE dd. MMM "); - put("bs_Latn","EEE d. MMM "); - put("bs_Latn_BA","EEE d. MMM "); - put("ca","EEE d MMM"); - put("ca_AD","EEE d MMM"); - put("ca_ES","EEE d MMM"); - put("ca_FR","EEE d MMM"); - put("ca_IT","EEE d MMM"); - put("ccp","EEE d MMM"); - put("ccp_BD","EEE d MMM"); - put("ccp_IN","EEE d MMM"); - put("ce","MMM d EEE"); - put("ce_RU","MMM d EEE"); - put("cgg","EEE d MMM"); - put("cgg_UG","EEE d MMM"); - put("chr","EEE MMM d"); - put("chr_US","EEE MMM d"); - put("ckb","MMM d EEE"); - put("ckb_IQ","MMM d EEE"); - put("ckb_IR","MMM d EEE"); - put("cs","EEE d. MMM"); - put("cs_CZ","EEE d. MMM"); - put("cy","EEE d MMM"); - put("cy_GB","EEE d MMM"); - put("da","EEE 'den' d. MMM"); - put("da_DK","EEE 'den' d. MMM"); - put("da_GL","EEE 'den' d. MMM"); - put("dav","EEE d MMM"); - put("dav_KE","EEE d MMM"); - put("de","EEE d. MMM"); - put("de_AT","EEE d. MMM"); - put("de_BE","EEE d. MMM"); - put("de_CH","EEE d. MMM"); - put("de_DE","EEE d. MMM"); - put("de_IT","EEE d. MMM"); - put("de_LI","EEE d. MMM"); - put("de_LU","EEE d. MMM"); - put("dje","EEE d MMM"); - put("dje_NE","EEE d MMM"); - put("dsb","EEE d. MMM"); - put("dsb_DE","EEE d. MMM"); - put("dua","EEE d MMM"); - put("dua_CM","EEE d MMM"); - put("dyo","EEE d MMM"); - put("dyo_SN","EEE d MMM"); - put("dz","EEE MMM ཚེས་dd"); - put("dz_BT","EEE MMM ཚེས་dd"); - put("ebu","EEE d MMM"); - put("ebu_KE","EEE d MMM"); - put("ee","EEE MMM d"); - put("ee_GH","EEE MMM d"); - put("ee_TG","EEE MMM d"); - put("el","EEE d MMM"); - put("el_CY","EEE d MMM"); - put("el_GR","EEE d MMM"); - put("en","EEE MMM d"); - put("en_001","EEE d MMM"); - put("en_150","EEE d MMM"); - put("en_AG","EEE d MMM"); - put("en_AI","EEE d MMM"); - put("en_AS","EEE MMM d"); - put("en_AT","EEE d MMM"); - put("en_AU","EEE d MMM"); - put("en_BB","EEE d MMM"); - put("en_BE","EEE d MMM"); - put("en_BI","EEE MMM d"); - put("en_BM","EEE d MMM"); - put("en_BS","EEE d MMM"); - put("en_BW","EEE dd MMM"); - put("en_BZ","EEE dd MMM"); - put("en_CA","EEE MMM d"); - put("en_CC","EEE d MMM"); - put("en_CH","EEE d MMM"); - put("en_CK","EEE d MMM"); - put("en_CM","EEE d MMM"); - put("en_CX","EEE d MMM"); - put("en_CY","EEE d MMM"); - put("en_DE","EEE d MMM"); - put("en_DG","EEE d MMM"); - put("en_DK","EEE d MMM"); - put("en_DM","EEE d MMM"); - put("en_ER","EEE d MMM"); - put("en_FI","EEE d MMM"); - put("en_FJ","EEE d MMM"); - put("en_FK","EEE d MMM"); - put("en_FM","EEE d MMM"); - put("en_GB","EEE d MMM"); - put("en_GD","EEE d MMM"); - put("en_GG","EEE d MMM"); - put("en_GH","EEE d MMM"); - put("en_GI","EEE d MMM"); - put("en_GM","EEE d MMM"); - put("en_GU","EEE MMM d"); - put("en_GY","EEE d MMM"); - put("en_HK","EEE d MMM"); - put("en_IE","EEE d MMM"); - put("en_IL","EEE d MMM"); - put("en_IM","EEE d MMM"); - put("en_IN","EEE d MMM"); - put("en_IO","EEE d MMM"); - put("en_JE","EEE d MMM"); - put("en_JM","EEE d MMM"); - put("en_KE","EEE d MMM"); - put("en_KI","EEE d MMM"); - put("en_KN","EEE d MMM"); - put("en_KY","EEE d MMM"); - put("en_LC","EEE d MMM"); - put("en_LR","EEE d MMM"); - put("en_LS","EEE d MMM"); - put("en_MG","EEE d MMM"); - put("en_MH","EEE MMM d"); - put("en_MO","EEE d MMM"); - put("en_MP","EEE MMM d"); - put("en_MS","EEE d MMM"); - put("en_MT","EEE d MMM"); - put("en_MU","EEE d MMM"); - put("en_MW","EEE d MMM"); - put("en_MY","EEE d MMM"); - put("en_NA","EEE d MMM"); - put("en_NF","EEE d MMM"); - put("en_NG","EEE d MMM"); - put("en_NL","EEE d MMM"); - put("en_NR","EEE d MMM"); - put("en_NU","EEE d MMM"); - put("en_NZ","EEE d MMM"); - put("en_PG","EEE d MMM"); - put("en_PH","EEE d MMM"); - put("en_PK","EEE d MMM"); - put("en_PN","EEE d MMM"); - put("en_PR","EEE MMM d"); - put("en_PW","EEE d MMM"); - put("en_RW","EEE d MMM"); - put("en_SB","EEE d MMM"); - put("en_SC","EEE d MMM"); - put("en_SD","EEE d MMM"); - put("en_SE","EEE d MMM"); - put("en_SG","EEE d MMM"); - put("en_SH","EEE d MMM"); - put("en_SI","EEE d MMM"); - put("en_SL","EEE d MMM"); - put("en_SS","EEE d MMM"); - put("en_SX","EEE d MMM"); - put("en_SZ","EEE d MMM"); - put("en_TC","EEE d MMM"); - put("en_TK","EEE d MMM"); - put("en_TO","EEE d MMM"); - put("en_TT","EEE d MMM"); - put("en_TV","EEE d MMM"); - put("en_TZ","EEE d MMM"); - put("en_UG","EEE d MMM"); - put("en_UM","EEE MMM d"); - put("en_US","EEE MMM d"); - put("en_US_POSIX","EEE MMM d"); - put("en_VC","EEE d MMM"); - put("en_VG","EEE d MMM"); - put("en_VI","EEE MMM d"); - put("en_VU","EEE d MMM"); - put("en_WS","EEE d MMM"); - put("en_XA","[EEE MMM d]"); - put("en_ZA","EEE dd MMM"); - put("en_ZM","EEE d MMM"); - put("en_ZW","EEE dd MMM"); - put("eo","EEE d_'a' 'de' MMM"); - put("es","EEE d 'de' MMM"); - put("es_419","EEE d 'de' MMM"); - put("es_AR","EEE d 'de' MMM"); - put("es_BO","EEE d 'de' MMM"); - put("es_BR","EEE d 'de' MMM"); - put("es_BZ","EEE d 'de' MMM"); - put("es_CL","EEE d 'de' MMM"); - put("es_CO","EEE d 'de' MMM"); - put("es_CR","EEE d 'de' MMM"); - put("es_CU","EEE d 'de' MMM"); - put("es_DO","EEE d 'de' MMM"); - put("es_EA","EEE d 'de' MMM"); - put("es_EC","EEE d 'de' MMM"); - put("es_ES","EEE d 'de' MMM"); - put("es_GQ","EEE d 'de' MMM"); - put("es_GT","EEE d 'de' MMM"); - put("es_HN","EEE dd 'de' MMM"); - put("es_IC","EEE d 'de' MMM"); - put("es_MX","EEE d 'de' MMM"); - put("es_NI","EEE d 'de' MMM"); - put("es_PA","EEE d 'de' MMM"); - put("es_PE","EEE d 'de' MMM"); - put("es_PH","EEE d 'de' MMM"); - put("es_PR","EEE d 'de' MMM"); - put("es_PY","EEE d 'de' MMM"); - put("es_SV","EEE d 'de' MMM"); - put("es_US","EEE d 'de' MMM"); - put("es_UY","EEE d 'de' MMM"); - put("es_VE","EEE d 'de' MMM"); - put("et","EEE d. MMM"); - put("et_EE","EEE d. MMM"); - put("eu","MMM d EEE"); - put("eu_ES","MMM d EEE"); - put("ewo","EEE d MMM"); - put("ewo_CM","EEE d MMM"); - put("fa","EEE d MMM"); - put("fa_AF","EEE d MMM"); - put("fa_IR","EEE d MMM"); - put("ff","EEE d MMM"); - put("fi","EEE d. MMM"); - put("fi_FI","EEE d. MMM"); - put("fil","EEE MMM d"); - put("fil_PH","EEE MMM d"); - put("fo","EEE d. MMM"); - put("fo_DK","EEE d. MMM"); - put("fo_FO","EEE d. MMM"); - put("fr","EEE d MMM"); - put("fr_BE","EEE d MMM"); - put("fr_BF","EEE d MMM"); - put("fr_BI","EEE d MMM"); - put("fr_BJ","EEE d MMM"); - put("fr_BL","EEE d MMM"); - put("fr_CA","EEE d MMM"); - put("fr_CD","EEE d MMM"); - put("fr_CF","EEE d MMM"); - put("fr_CG","EEE d MMM"); - put("fr_CH","EEE d MMM"); - put("fr_CI","EEE d MMM"); - put("fr_CM","EEE d MMM"); - put("fr_DJ","EEE d MMM"); - put("fr_DZ","EEE d MMM"); - put("fr_FR","EEE d MMM"); - put("fr_GA","EEE d MMM"); - put("fr_GF","EEE d MMM"); - put("fr_GN","EEE d MMM"); - put("fr_GP","EEE d MMM"); - put("fr_GQ","EEE d MMM"); - put("fr_HT","EEE d MMM"); - put("fr_KM","EEE d MMM"); - put("fr_LU","EEE d MMM"); - put("fr_MA","EEE d MMM"); - put("fr_MC","EEE d MMM"); - put("fr_MF","EEE d MMM"); - put("fr_MG","EEE d MMM"); - put("fr_ML","EEE d MMM"); - put("fr_MQ","EEE d MMM"); - put("fr_MR","EEE d MMM"); - put("fr_MU","EEE d MMM"); - put("fr_NC","EEE d MMM"); - put("fr_NE","EEE d MMM"); - put("fr_PF","EEE d MMM"); - put("fr_PM","EEE d MMM"); - put("fr_RE","EEE d MMM"); - put("fr_RW","EEE d MMM"); - put("fr_SC","EEE d MMM"); - put("fr_SN","EEE d MMM"); - put("fr_SY","EEE d MMM"); - put("fr_TD","EEE d MMM"); - put("fr_TG","EEE d MMM"); - put("fr_TN","EEE d MMM"); - put("fr_VU","EEE d MMM"); - put("fr_WF","EEE d MMM"); - put("fr_YT","EEE d MMM"); - put("fur","EEE d 'di' MMM"); - put("fur_IT","EEE d 'di' MMM"); - put("fy","EEE d MMM"); - put("fy_NL","EEE d MMM"); - put("ga","EEE d MMM"); - put("ga_IE","EEE d MMM"); - put("gd","EEE d'mh' MMM"); - put("gd_GB","EEE d'mh' MMM"); - put("gl","EEE d 'de' MMM"); - put("gl_ES","EEE d 'de' MMM"); - put("gsw","EEE d. MMM"); - put("gsw_CH","EEE d. MMM"); - put("gsw_FR","EEE d. MMM"); - put("gsw_LI","EEE d. MMM"); - put("gu","EEE d MMM"); - put("gu_IN","EEE d MMM"); - put("guz","EEE d MMM"); - put("guz_KE","EEE d MMM"); - put("gv","MMM d EEE"); - put("gv_IM","MMM d EEE"); - put("ha","EEE d MMM"); - put("ha_GH","EEE d MMM"); - put("ha_NE","EEE d MMM"); - put("ha_NG","EEE d MMM"); - put("haw","EEE d MMM"); - put("haw_US","EEE d MMM"); - put("he","EEE d בMMM"); - put("he_IL","EEE d בMMM"); - put("hi","EEE d MMM"); - put("hi_IN","EEE d MMM"); - put("hr","EEE d. MMM "); - put("hr_BA","EEE d. MMM "); - put("hr_HR","EEE d. MMM "); - put("hsb","EEE d. MMM"); - put("hsb_DE","EEE d. MMM"); - put("hu","MMM d. EEE"); - put("hu_HU","MMM d. EEE"); - put("hy","MMM d EEE"); - put("hy_AM","MMM d EEE"); - put("ia","EEE 'le' d 'de' MMM"); - put("ia_001","EEE 'le' d 'de' MMM"); - put("id","EEE dd MMM"); - put("id_ID","EEE dd MMM"); - put("ig","EEE d MMM"); - put("ig_NG","EEE d MMM"); - put("ii","MMM d EEE"); - put("ii_CN","MMM d EEE"); - put("is","EEE d. MMM"); - put("is_IS","EEE d. MMM"); - put("it","EEE d MMM"); - put("it_CH","EEE d MMM"); - put("it_IT","EEE d MMM"); - put("it_SM","EEE d MMM"); - put("it_VA","EEE d MMM"); - put("ja","M月d日EEE"); - put("ja_JP","M月d日EEE"); - put("jgo","EEE MMM dd"); - put("jgo_CM","EEE MMM dd"); - put("jmc","EEE d MMM"); - put("jmc_TZ","EEE d MMM"); - put("jv","EEE d MMM"); - put("jv_ID","EEE d MMM"); - put("ka","EEE dd MMM"); - put("ka_GE","EEE dd MMM"); - put("kab","EEE d MMM"); - put("kab_DZ","EEE d MMM"); - put("kam","EEE d MMM"); - put("kam_KE","EEE d MMM"); - put("kde","EEE d MMM"); - put("kde_TZ","EEE d MMM"); - put("kea","EEE d 'di' MMM"); - put("kea_CV","EEE d 'di' MMM"); - put("khq","EEE d MMM"); - put("khq_ML","EEE d MMM"); - put("ki","EEE d MMM"); - put("ki_KE","EEE d MMM"); - put("kk","d MMM EEE"); - put("kk_KZ","d MMM EEE"); - put("kkj","EEE dd MMM"); - put("kkj_CM","EEE dd MMM"); - put("kl","MMM d EEE"); - put("kl_GL","MMM d EEE"); - put("kln","EEE d MMM"); - put("kln_KE","EEE d MMM"); - put("km","EEE d MMM"); - put("km_KH","EEE d MMM"); - put("kn","EEE MMM d"); - put("kn_IN","EEE MMM d"); - put("ko","M월 d일 EEE"); - put("ko_KP","M월 d일 EEE"); - put("ko_KR","M월 d일 EEE"); - put("kok","EEE d MMM"); - put("kok_IN","EEE d MMM"); - put("ks","EEE MMM d"); - put("ks_IN","EEE MMM d"); - put("ksb","EEE d MMM"); - put("ksb_TZ","EEE d MMM"); - put("ksf","EEE d MMM"); - put("ksf_CM","EEE d MMM"); - put("ksh","EEE 'dä' d. MMM"); - put("ksh_DE","EEE 'dä' d. MMM"); - put("ku","MMM d EEE"); - put("ku_TR","MMM d EEE"); - put("kw","MMM d EEE"); - put("kw_GB","MMM d EEE"); - put("ky","d_MMM EEE"); - put("ky_KG","d_MMM EEE"); - put("lag","EEE d MMM"); - put("lag_TZ","EEE d MMM"); - put("lb","EEE d. MMM"); - put("lb_LU","EEE d. MMM"); - put("lg","EEE d MMM"); - put("lg_UG","EEE d MMM"); - put("lkt","MMM d EEE"); - put("lkt_US","MMM d EEE"); - put("ln","EEE d MMM"); - put("ln_AO","EEE d MMM"); - put("ln_CD","EEE d MMM"); - put("ln_CF","EEE d MMM"); - put("ln_CG","EEE d MMM"); - put("lo","EEE ທີ d MMM"); - put("lo_LA","EEE ທີ d MMM"); - put("lrc","MMM d EEE"); - put("lrc_IQ","MMM d EEE"); - put("lrc_IR","MMM d EEE"); - put("lt","MMM d 'd'. EEE"); - put("lt_LT","MMM d 'd'. EEE"); - put("lu","EEE d MMM"); - put("lu_CD","EEE d MMM"); - put("luo","EEE d MMM"); - put("luo_KE","EEE d MMM"); - put("luy","EEE d MMM"); - put("luy_KE","EEE d MMM"); - put("lv","EEE 'gada' d. MMM"); - put("lv_LV","EEE 'gada' d. MMM"); - put("mas","EEE d MMM"); - put("mas_KE","EEE d MMM"); - put("mas_TZ","EEE d MMM"); - put("mer","EEE d MMM"); - put("mer_KE","EEE d MMM"); - put("mfe","EEE d MMM"); - put("mfe_MU","EEE d MMM"); - put("mg","EEE d MMM"); - put("mg_MG","EEE d MMM"); - put("mgh","EEE d MMM"); - put("mgh_MZ","EEE d MMM"); - put("mgo","EEE MMM dd"); - put("mgo_CM","EEE MMM dd"); - put("mi","MMM d EEE"); - put("mi_NZ","MMM d EEE"); - put("mk","EEE dd MMM"); - put("mk_MK","EEE dd MMM"); - put("ml","MMM d EEE"); - put("ml_IN","MMM d EEE"); - put("mn","MM.dd EEE"); - put("mn_MN","MM.dd EEE"); - put("mr","EEE d MMM"); - put("mr_IN","EEE d MMM"); - put("ms","EEE d MMM"); - put("ms_BN","dd MMM"); - put("ms_MY","EEE d MMM"); - put("ms_SG","EEE d MMM"); - put("mt","EEE d 'ta'’ MMM"); - put("mt_MT","EEE d 'ta'’ MMM"); - put("mua","EEE d MMM"); - put("mua_CM","EEE d MMM"); - put("my","၊ MMM d၊ EEE"); - put("my_MM","၊ MMM d၊ EEE"); - put("mzn","MMM d EEE"); - put("mzn_IR","MMM d EEE"); - put("naq","EEE d MMM"); - put("naq_NA","EEE d MMM"); - put("nb","EEE d. MMM"); - put("nb_NO","EEE d. MMM"); - put("nb_SJ","EEE d. MMM"); - put("nd","EEE d MMM"); - put("nd_ZW","EEE d MMM"); - put("nds","MMM d EEE"); - put("nds_DE","MMM d EEE"); - put("nds_NL","MMM d EEE"); - put("ne","MMM d EEE"); - put("ne_IN","MMM d EEE"); - put("ne_NP","MMM d EEE"); - put("nl","EEE d MMM"); - put("nl_AW","EEE d MMM"); - put("nl_BE","EEE d MMM"); - put("nl_BQ","EEE d MMM"); - put("nl_CW","EEE d MMM"); - put("nl_NL","EEE d MMM"); - put("nl_SR","EEE d MMM"); - put("nl_SX","EEE d MMM"); - put("nmg","EEE d MMM"); - put("nmg_CM","EEE d MMM"); - put("nn","EEE d. MMM"); - put("nn_NO","EEE d. MMM"); - put("nnh","EEE 'lyɛ'̌ʼ d 'na' MMM"); - put("nnh_CM","EEE 'lyɛ'̌ʼ d 'na' MMM"); - put("nus","EEE d MMM"); - put("nus_SS","EEE d MMM"); - put("nyn","EEE d MMM"); - put("nyn_UG","EEE d MMM"); - put("om","EEE MMM d"); - put("om_ET","EEE MMM d"); - put("om_KE","EEE MMM d"); - put("or","EEE MMM d"); - put("or_IN","EEE MMM d"); - put("os","EEE d MMM"); - put("os_GE","EEE d MMM"); - put("os_RU","EEE d MMM"); - put("pa","EEE d MMM"); - put("pa_Arab","EEE dd MMM"); - put("pa_Arab_PK","EEE dd MMM"); - put("pa_Guru","EEE d MMM"); - put("pa_Guru_IN","EEE d MMM"); - put("pl","EEE d MMM"); - put("pl_PL","EEE d MMM"); - put("ps","EEE MMM d"); - put("ps_AF","EEE MMM d"); - put("pt","EEE d 'de' MMM"); - put("pt_AO","EEE d 'de' MMM"); - put("pt_BR","EEE d 'de' MMM"); - put("pt_CH","EEE d 'de' MMM"); - put("pt_CV","EEE d 'de' MMM"); - put("pt_GQ","EEE d 'de' MMM"); - put("pt_GW","EEE d 'de' MMM"); - put("pt_LU","EEE d 'de' MMM"); - put("pt_MO","EEE d 'de' MMM"); - put("pt_MZ","EEE d 'de' MMM"); - put("pt_PT","EEE d 'de' MMM"); - put("pt_ST","EEE d 'de' MMM"); - put("pt_TL","EEE d 'de' MMM"); - put("qu","EEE d MMM"); - put("qu_BO","EEE d MMM"); - put("qu_EC","EEE d MMM"); - put("qu_PE","EEE d MMM"); - put("rm","EEE d MMM"); - put("rm_CH","EEE d MMM"); - put("rn","EEE d MMM"); - put("rn_BI","EEE d MMM"); - put("ro","EEE d MMM"); - put("ro_MD","EEE d MMM"); - put("ro_RO","EEE d MMM"); - put("rof","EEE d MMM"); - put("rof_TZ","EEE d MMM"); - put("ru","EEE d MMM"); - put("ru_BY","EEE d MMM"); - put("ru_KG","EEE d MMM"); - put("ru_KZ","EEE d MMM"); - put("ru_MD","EEE d MMM"); - put("ru_RU","EEE d MMM"); - put("ru_UA","EEE d MMM"); - put("rw","MMM d EEE"); - put("rw_RW","MMM d EEE"); - put("rwk","EEE d MMM"); - put("rwk_TZ","EEE d MMM"); - put("sah","MMM d EEE"); - put("sah_RU","MMM d EEE"); - put("saq","EEE d MMM"); - put("saq_KE","EEE d MMM"); - put("sbp","EEE d MMM"); - put("sbp_TZ","EEE d MMM"); - put("sd","MMM d EEE"); - put("sd_PK","MMM d EEE"); - put("se","MMM d EEE"); - put("se_FI","EEE d MMM"); - put("se_NO","MMM d EEE"); - put("se_SE","MMM d EEE"); - put("seh","EEE d 'de' MMM"); - put("seh_MZ","EEE d 'de' MMM"); - put("ses","EEE d MMM"); - put("ses_ML","EEE d MMM"); - put("sg","EEE d MMM"); - put("sg_CF","EEE d MMM"); - put("shi","EEE d MMM"); - put("shi_Latn","EEE d MMM"); - put("shi_Latn_MA","EEE d MMM"); - put("shi_Tfng","EEE d MMM"); - put("shi_Tfng_MA","EEE d MMM"); - put("si","MMM d EEE"); - put("si_LK","MMM d EEE"); - put("sk","EEE d. MMM"); - put("sk_SK","EEE d. MMM"); - put("sl","EEE dd. MMM"); - put("sl_SI","EEE dd. MMM"); - put("smn","EEE MMM d."); - put("smn_FI","EEE MMM d."); - put("sn","MMM d EEE"); - put("sn_ZW","MMM d EEE"); - put("so","EEE MMM dd"); - put("so_DJ","EEE MMM dd"); - put("so_ET","EEE MMM dd"); - put("so_KE","EEE MMM dd"); - put("so_SO","EEE MMM dd"); - put("sq","EEE d MMM"); - put("sq_AL","EEE d MMM"); - put("sq_MK","EEE d MMM"); - put("sq_XK","EEE d MMM"); - put("sr","EEE dd. MMM "); - put("sr_Cyrl","EEE dd. MMM "); - put("sr_Cyrl_BA","EEE dd. MMM "); - put("sr_Cyrl_ME","EEE dd. MMM "); - put("sr_Cyrl_RS","EEE dd. MMM "); - put("sr_Cyrl_XK","EEE dd. MMM "); - put("sr_Latn","EEE dd. MMM "); - put("sr_Latn_BA","EEE dd. MMM "); - put("sr_Latn_ME","EEE dd. MMM "); - put("sr_Latn_RS","EEE dd. MMM "); - put("sr_Latn_XK","EEE dd. MMM "); - put("sv","EEE d MMM"); - put("sv_AX","EEE d MMM"); - put("sv_FI","EEE d MMM"); - put("sv_SE","EEE d MMM"); - put("sw","EEE d MMM"); - put("sw_CD","EEE d MMM"); - put("sw_KE","EEE d MMM"); - put("sw_TZ","EEE d MMM"); - put("sw_UG","EEE d MMM"); - put("ta","EEE d MMM"); - put("ta_IN","EEE d MMM"); - put("ta_LK","EEE d MMM"); - put("ta_MY","EEE d MMM"); - put("ta_SG","EEE d MMM"); - put("te","d MMM EEE"); - put("te_IN","d MMM EEE"); - put("teo","EEE d MMM"); - put("teo_KE","EEE d MMM"); - put("teo_UG","EEE d MMM"); - put("tg","EEE dd MMM"); - put("tg_TJ","EEE dd MMM"); - put("th","EEEที่ d MMM"); - put("th_TH","EEEที่ d MMM"); - put("ti","EEE፣ dd MMM"); - put("ti_ER","EEE፣ dd MMM"); - put("ti_ET","EEE፣ dd MMM"); - put("tk","d MMM EEE"); - put("tk_TM","d MMM EEE"); - put("to","EEE d MMM"); - put("to_TO","EEE d MMM"); - put("tr","d MMM EEE"); - put("tr_CY","d MMM EEE"); - put("tr_TR","d MMM EEE"); - put("tt","d MMM EEE"); - put("tt_RU","d MMM EEE"); - put("twq","EEE d MMM"); - put("twq_NE","EEE d MMM"); - put("tzm","EEE d MMM"); - put("tzm_MA","EEE d MMM"); - put("ug","d_MMM، EEE"); - put("ug_CN","d_MMM، EEE"); - put("uk","EEE d MMM "); - put("uk_UA","EEE d MMM "); - put("ur","EEE، d MMM،"); - put("ur_IN","EEE، d MMM،"); - put("ur_PK","EEE، d MMM،"); - put("uz","EEE d_MMM"); - put("uz_Arab","EEE d_MMM"); - put("uz_Arab_AF","EEE d_MMM"); - put("uz_Cyrl","EEE dd MMM"); - put("uz_Cyrl_UZ","EEE dd MMM"); - put("uz_Latn","EEE d_MMM"); - put("uz_Latn_UZ","EEE d_MMM"); - put("vai","EEE d MMM"); - put("vai_Latn","EEE d MMM"); - put("vai_Latn_LR","EEE d MMM"); - put("vai_Vaii","EEE d MMM"); - put("vai_Vaii_LR","EEE d MMM"); - put("vi","EEE d MMM"); - put("vi_VN","EEE d MMM"); - put("vun","EEE d MMM"); - put("vun_TZ","EEE d MMM"); - put("wae","EEE d. MMM"); - put("wae_CH","EEE d. MMM"); - put("wo","EEE d MMM"); - put("wo_SN","EEE d MMM"); - put("xh","MMM d EEE"); - put("xh_ZA","MMM d EEE"); - put("xog","EEE d MMM"); - put("xog_UG","EEE d MMM"); - put("yav","EEE d MMM"); - put("yav_CM","EEE d MMM"); - put("yi","EEE dטן MMM"); - put("yi_001","EEE dטן MMM"); - put("yo","EEE d MMM"); - put("yo_BJ","EEE d MMM"); - put("yo_NG","EEE d MMM"); - put("yue","M月d日 EEE"); - put("yue_Hans","M月d日EEE"); - put("yue_Hans_CN","M月d日EEE"); - put("yue_Hant","M月d日 EEE"); - put("yue_Hant_HK","M月d日 EEE"); - put("zgh","EEE d MMM"); - put("zgh_MA","EEE d MMM"); - put("zh","M月d日EEE"); - put("zh_CN","M月d日EEE"); - put("zh_CH","M月d日EEE"); - put("zh_HK","M月d日EEE"); - put("zh_MO","M月d日EEE"); - put("zh_SG","M月d日EEE"); - put("zh_Hans","M月d日EEE"); - put("zh_Hans_CN","M月d日EEE"); - put("zh_Hans_HK","M月d日EEE"); - put("zh_Hans_MO","M月d日EEE"); - put("zh_Hans_SG","M月d日EEE"); - put("zh_Hant", "M月d日EEE"); - put("zh_Hant_HK","M月d日EEE"); - put("zh_Hant_MO","M月d日EEE"); - put("zh_Hant_TW","M月d日EEE"); - put("zu","EEE MMM d"); - put("zu_ZA","EEE MMM d"); - }}; - -} diff --git a/android/src/main/java/com/henninghall/date_picker/Formats.java b/android/src/main/java/com/henninghall/date_picker/Formats.java new file mode 100644 index 00000000..5c4ac7b2 --- /dev/null +++ b/android/src/main/java/com/henninghall/date_picker/Formats.java @@ -0,0 +1,152 @@ +package com.henninghall.date_picker; + +import java.util.EnumMap; +import java.util.HashMap; + +public class Formats { + + public static EnumMap defaultFormat = mapOf("EEE, MMM d", "d", "y"); + + public enum Format { + MMMEd, d, y + } + + public static String get(String locale, Format format) throws FormatNotFoundException { + try { + return map.get(locale).get(format) + .replaceAll(",", ""); + } catch (NullPointerException e) { + throw new FormatNotFoundException(); + } + } + + private static HashMap> map = new HashMap>() {{ + put("af", mapOf("EEE d MMM", "d", "y")); + put("am", mapOf("EEE፣ MMM d", "d", "y")); + put("ar", mapOf("EEE، d MMM", "d", "y")); + put("ar_DZ", mapOf("EEE، d MMM", "d", "y")); + put("ar_EG", mapOf("EEE، d MMM", "d", "y")); + put("az", mapOf("d MMM, EEE", "d", "y")); + put("be", mapOf("EEE, d MMM", "d", "y")); + put("bg", mapOf("EEE, d.MM", "d", "y 'г'.")); + put("bn", mapOf("EEE d MMM", "d", "y")); + put("br", mapOf("EEE d MMM", "d", "y")); + put("bs", mapOf("EEE, d. MMM", "d.", "y.")); + put("ca", mapOf("EEE, d MMM", "d", "y")); + put("chr", mapOf("EEE, MMM d", "d", "y")); + put("cs", mapOf("EEE d. M.", "d.", "y")); + put("cy", mapOf("EEE, d MMM", "d", "y")); + put("da", mapOf("EEE d. MMM", "d.", "y")); + put("de", mapOf("EEE, d. MMM", "d", "y")); + put("de_AT", mapOf("EEE, d. MMM", "d", "y")); + put("de_CH", mapOf("EEE, d. MMM", "d", "y")); + put("el", mapOf("EEE, d MMM", "d", "y")); + put("en", mapOf("EEE, MMM d", "d", "y")); + put("en_AU", mapOf("EEE, d MMM", "d", "y")); + put("en_CA", mapOf("EEE, MMM d", "d", "y")); + put("en_GB", mapOf("EEE, d MMM", "d", "y")); + put("en_IE", mapOf("EEE, d MMM", "d", "y")); + put("en_IN", mapOf("EEE, d MMM", "d", "y")); + put("en_SG", mapOf("EEE, d MMM", "d", "y")); + put("en_US", mapOf("EEE, MMM d", "d", "y")); + put("en_ZA", mapOf("EEE, dd MMM", "d", "y")); + put("es", mapOf("EEE, d MMM", "d", "y")); + put("es_419", mapOf("EEE, d MMM", "d", "y")); + put("es_ES", mapOf("EEE, d MMM", "d", "y")); + put("es_MX", mapOf("EEE d 'de' MMM", "d", "y")); + put("es_US", mapOf("EEE, d 'de' MMM", "d", "y")); + put("et", mapOf("EEE, d. MMM", "d", "y")); + put("eu", mapOf("MMM d, EEE", "d", "y")); + put("fa", mapOf("EEE d LLL", "d", "y")); + put("fi", mapOf("EEE d. MMM", "d", "y")); + put("fil", mapOf("EEE, MMM d", "d", "y")); + put("fr", mapOf("EEE d MMM", "d", "y")); + put("fr_CA", mapOf("EEE d MMM", "d", "y")); + put("ga", mapOf("EEE d MMM", "d", "y")); + put("gl", mapOf("EEE, d 'de' MMM", "d", "y")); + put("gsw", mapOf("EEE d. MMM", "d", "y")); + put("gu", mapOf("EEE, d MMM", "d", "y")); + put("haw", mapOf("EEE, d MMM", "d", "y")); + put("he", mapOf("EEE, d בMMM", "d", "y")); + put("hi", mapOf("EEE, d MMM", "d", "y")); + put("hr", mapOf("EEE, d. MMM", "d.", "y.")); + put("hu", mapOf("MMM d., EEE", "d", "y.")); + put("hy", mapOf("d MMM, EEE", "d", "y")); + put("id", mapOf("EEE, d MMM", "d", "y")); + put("in", mapOf("EEE, d MMM", "d", "y")); + put("is", mapOf("EEE, d. MMM", "d", "y")); + put("it", mapOf("EEE d MMM", "d", "y")); + put("iw", mapOf("EEE, d בMMM", "d", "y")); + put("ja", mapOf("M月d日 EEE", "d日", "y年")); + put("ka", mapOf("EEE, d MMM", "d", "y")); + put("kk", mapOf("d MMM, EEE", "d", "y")); + put("km", mapOf("EEE d MMM", "d", "y")); + put("kn", mapOf("EEE, d MMM", "d", "y")); + put("ko", mapOf("MMM d일 EEE", "d일", "y년")); + put("ky", mapOf("d-MMM, EEE", "d", "y")); + put("ln", mapOf("EEE d MMM", "d", "y")); + put("lo", mapOf("EEE d MMM", "d", "y")); + put("lt", mapOf("MM-dd, EEE", "dd", "y")); + put("lv", mapOf("EEE, d. MMM", "d", "y. 'g'.")); + put("mk", mapOf("EEE, d MMM", "d", "y")); + put("ml", mapOf("MMM d, EEE", "d", "y")); + put("mn", mapOf("MMM'ын' d. EEE", "d", "y")); + put("mo", mapOf("EEE, d MMM", "d", "y")); + put("mr", mapOf("EEE, d MMM", "d", "y")); + put("ms", mapOf("EEE, d MMM", "d", "y")); + put("mt", mapOf("EEE, d 'ta'’ MMM", "d", "y")); + put("my", mapOf("MMM d၊ EEE", "d", "y")); + put("nb", mapOf("EEE d. MMM", "d.", "y")); + put("ne", mapOf("MMM d, EEE", "d", "y")); + put("nl", mapOf("EEE d MMM", "d", "y")); + put("no", mapOf("EEE d. MMM", "d.", "y")); + put("no_NO", mapOf("EEE d. MMM", "d.", "y")); + put("or", mapOf("EEE, MMM d", "d", "y")); + put("pa", mapOf("EEE, d MMM", "d", "y")); + put("pl", mapOf("EEE, d MMM", "d", "y")); + put("pt", mapOf("EEE, d 'de' MMM", "d", "y")); + put("pt_BR", mapOf("EEE, d 'de' MMM", "d", "y")); + put("pt_PT", mapOf("EEE, d/MM", "d", "y")); + put("ro", mapOf("EEE, d MMM", "d", "y")); + put("ru", mapOf("ccc, d MMM", "d", "y")); + put("sh", mapOf("EEE d. MMM", "d", "y.")); + put("si", mapOf("MMM d EEE", "d", "y")); + put("sk", mapOf("EEE d. M.", "d.", "y")); + put("sl", mapOf("EEE, d. MMM", "d.", "y")); + put("sq", mapOf("EEE, d MMM", "d", "y")); + put("sr", mapOf("EEE d. MMM", "d", "y.")); + put("sr_Latn", mapOf("EEE d. MMM", "d", "y.")); + put("sv", mapOf("EEE d MMM", "d", "y")); + put("sw", mapOf("EEE, d MMM", "d", "y")); + put("ta", mapOf("MMM d, EEE", "d", "y")); + put("te", mapOf("d MMM, EEE", "d", "y")); + put("th", mapOf("EEE d MMM", "d", "y")); + put("tl", mapOf("EEE, MMM d", "d", "y")); + put("tr", mapOf("d MMMM EEE", "d", "y")); + put("uk", mapOf("EEE, d MMM", "d", "y")); + put("ur", mapOf("EEE، d MMM", "d", "y")); + put("uz", mapOf("EEE, d-MMM", "d", "y")); + put("vi", mapOf("EEE, d MMM", "d", "y")); + put("zh", mapOf("M月d日EEE", "d日", "y年")); + put("zh_CN", mapOf("M月d日EEE", "d日", "y年")); + put("zh_HK", mapOf("M月d日EEE", "d日", "y年")); + put("zh_TW", mapOf("M月d日 EEE", "d日", "y年")); + put("zu", mapOf("EEE, MMM d", "d", "y")); + put("en_ISO", mapOf("EEE, MMM d", "d", "y")); + put("en_MY", mapOf("EEE, d MMM", "d", "y")); + put("fr_CH", mapOf("EEE d MMM", "d", "y")); + put("it_CH", mapOf("EEE d MMM", "d", "y")); + put("ps", mapOf("MMM d, EEE", "d", "y")); + }}; + + private static EnumMap mapOf(final String MMMed, final String d, final String y) { + return new EnumMap(Format.class) {{ + put(Format.MMMEd, MMMed); + put(Format.d, d); + put(Format.y, y); + }}; + } + + static class FormatNotFoundException extends Exception { + } +} diff --git a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java index 1c8fabfa..aa64d4a8 100644 --- a/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java +++ b/android/src/main/java/com/henninghall/date_picker/LocaleUtils.java @@ -2,29 +2,36 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; -import java.util.ArrayList; import java.util.Locale; public class LocaleUtils { - private static ArrayList getFullPatternPieces(Locale locale){ - return Utils.splitOnSpace(getDatePattern(locale)); + public static String getDay(String locale) { + return getFormat(locale, Formats.Format.MMMEd); } - /** - @return Full pattern including special char. Example: Year pattern char be "y" for most - locales but "y년" for korean. - */ - public static String getPatternIncluding(String format, Locale locale) { - for (String piece: getFullPatternPieces(locale)){ - if(piece.contains(format) && !piece.contains("'")) { - return piece; + public static String getYear(String locale) { + return getFormat(locale, Formats.Format.y); + } + + public static String getDate(String locale) { + return getFormat(locale, Formats.Format.d); + } + + private static String getFormat(String languageTag, Formats.Format format) { + try { + return Formats.get(languageTag, format); + } catch (Formats.FormatNotFoundException e) { + try { + String firstPartOfLanguageTag = languageTag.substring(0, languageTag.indexOf("_")); + return Formats.get(firstPartOfLanguageTag, format); + } catch (Formats.FormatNotFoundException ex) { + return Formats.defaultFormat.get(format); } } - return null; } - public static String getDatePattern(Locale locale){ + public static String getDatePattern(Locale locale) { DateFormat df = DateFormat.getDateInstance(DateFormat.FULL, locale); return ((SimpleDateFormat) df).toLocalizedPattern() .replaceAll(",", "") @@ -32,16 +39,16 @@ public static String getDatePattern(Locale locale){ .trim(); } - static String getDateTimePattern(Locale locale){ + static String getDateTimePattern(Locale locale) { DateFormat format = DateFormat.getDateTimeInstance(DateFormat.FULL, DateFormat.FULL, locale); - return ((SimpleDateFormat)format).toLocalizedPattern().replace(",", ""); + return ((SimpleDateFormat) format).toLocalizedPattern().replace(",", ""); } - public static Locale getLocale(String languageTag){ + public static Locale getLocale(String languageTag) { Locale locale; - try{ + try { locale = org.apache.commons.lang3.LocaleUtils.toLocale(languageTag); - } catch (Exception e ){ + } catch (Exception e) { // Some locales can only be interpreted from country string (for instance zh_Hans_CN ) String firstPartOfLanguageTag = languageTag.substring(0, languageTag.indexOf("_")); locale = org.apache.commons.lang3.LocaleUtils.toLocale(firstPartOfLanguageTag); diff --git a/android/src/main/java/com/henninghall/date_picker/props/LocaleProp.java b/android/src/main/java/com/henninghall/date_picker/props/LocaleProp.java index 0d7b2373..1f54eb05 100644 --- a/android/src/main/java/com/henninghall/date_picker/props/LocaleProp.java +++ b/android/src/main/java/com/henninghall/date_picker/props/LocaleProp.java @@ -12,7 +12,6 @@ public class LocaleProp extends Prop { public static final String name = "locale"; private String languageTag = getDefaultLanguageTag(); - public LocaleProp(){ super(getDefaultLocale()); } diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java index 6cf8932d..a12ef964 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DateWheel.java @@ -41,7 +41,7 @@ public boolean wrapSelectorWheel() { @Override public String getFormatPattern() { - return LocaleUtils.getPatternIncluding("d", state.getLocale()); + return LocaleUtils.getDate(state.getLocaleLanguageTag()); } @Override diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java index 4a595320..308eea59 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/DayWheel.java @@ -2,7 +2,6 @@ import android.graphics.Paint; -import com.henninghall.date_picker.DayFormats; import com.henninghall.date_picker.LocaleUtils; import com.henninghall.date_picker.pickers.Picker; import com.henninghall.date_picker.State; @@ -98,7 +97,7 @@ private String getDisplayValue(Calendar cal){ } private String getDisplayValueFormatPattern(){ - return DayFormats.get(state.getLocaleLanguageTag()); + return LocaleUtils.getDay(state.getLocaleLanguageTag()); } private SimpleDateFormat getDisplayValueFormat(){ @@ -118,9 +117,9 @@ public boolean wrapSelectorWheel() { @Override public String getFormatPattern() { - return LocaleUtils.getDatePattern(state.getLocale()) - .replace("EEEE", "EEE") - .replace("MMMM", "MMM"); + return LocaleUtils.getDatePattern(state.getLocale()) + .replace("EEEE", "EEE") + .replace("MMMM", "MMM"); } @Override diff --git a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java index 474ea619..41e0427a 100644 --- a/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java +++ b/android/src/main/java/com/henninghall/date_picker/wheels/YearWheel.java @@ -71,7 +71,7 @@ public Paint.Align getTextAlign() { @Override public String getFormatPattern() { - return LocaleUtils.getPatternIncluding("y", state.getLocale()); + return LocaleUtils.getYear(state.getLocaleLanguageTag()); } } diff --git a/examples/detox/android/build.gradle b/examples/detox/android/build.gradle index 9b95715d..bc673633 100644 --- a/examples/detox/android/build.gradle +++ b/examples/detox/android/build.gradle @@ -1,5 +1,5 @@ buildscript { - ext.kotlinVersion = '1.3.0' + ext.kotlinVersion = '1.3.10' ext.compileSdkVersion = 28 ext.buildToolsVersion = '28.0.3' @@ -10,7 +10,7 @@ buildscript { google() } dependencies { - classpath 'com.android.tools.build:gradle:3.3.2' + classpath 'com.android.tools.build:gradle:4.0.0' classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlinVersion" } } diff --git a/examples/detox/android/gradle.properties b/examples/detox/android/gradle.properties index fd8bcba9..d32a03a3 100644 --- a/examples/detox/android/gradle.properties +++ b/examples/detox/android/gradle.properties @@ -18,3 +18,4 @@ org.gradle.jvmargs=-Xmx2048m -XX:MaxPermSize=512m -XX:+HeapDumpOnOutOfMemoryErro # org.gradle.parallel=true android.useDeprecatedNdk=true +android.useAndroidX=true \ No newline at end of file diff --git a/examples/detox/android/gradle/wrapper/gradle-wrapper.properties b/examples/detox/android/gradle/wrapper/gradle-wrapper.properties index 940d143f..5327ab77 100644 --- a/examples/detox/android/gradle/wrapper/gradle-wrapper.properties +++ b/examples/detox/android/gradle/wrapper/gradle-wrapper.properties @@ -1,6 +1,6 @@ -#Mon Jun 03 11:38:02 IDT 2019 +#Sun Jul 12 11:24:40 CEST 2020 distributionBase=GRADLE_USER_HOME distributionPath=wrapper/dists zipStoreBase=GRADLE_USER_HOME zipStorePath=wrapper/dists -distributionUrl=https\://services.gradle.org/distributions/gradle-4.10.2-all.zip +distributionUrl=https\://services.gradle.org/distributions/gradle-6.1.1-all.zip diff --git a/examples/detox/e2e/tests/displayText.spec.js b/examples/detox/e2e/tests/displayText.spec.js index 78c8e73e..b7bc4b81 100644 --- a/examples/detox/e2e/tests/displayText.spec.js +++ b/examples/detox/e2e/tests/displayText.spec.js @@ -34,9 +34,17 @@ describe('Display text', () => { await expectLocaleDateString('ko', '1월 2일 일 오전 1200') }) + it('ja', async () => { + await expectLocaleDateString('ja', '1月2日 日' + '1200 午前 ') + }) + it('zh-CH', async () => { await expectLocaleDateString('zh-CH', '1月2日周日 上午 1200') }) + + it('eu', async () => { + await expectLocaleDateString('eu', 'urt. 2 ig.' + ' AM 1200') + }) }) describe('date', () => { @@ -71,6 +79,10 @@ describe('Display text', () => { it('zh-CH', async () => { await expectLocaleDateString('zh-CH', '2001年' + '一月' + '1日') }) + + it('eu', async () => { + await expectLocaleDateString('eu', '2001' + 'urtarrila' + '1') + }) }) const expectLocaleDateString = async (locale, dateString) => { diff --git a/package.json b/package.json index 825b49c5..d5132e1a 100644 --- a/package.json +++ b/package.json @@ -2,7 +2,7 @@ "name": "react-native-date-picker", "version": "3.0.0", "description": "A Cross Platform React Native Picker", - "main": "index.js", + "main": "src/index.js", "scripts": { "test": "echo \"Error: no test specified\" && exit 1", "prepublishOnly": "mv README.md githubREADME.md && mv npmREADME.md README.md", diff --git a/DatePickerAndroid.js b/src/DatePickerAndroid.js similarity index 100% rename from DatePickerAndroid.js rename to src/DatePickerAndroid.js diff --git a/DatePickerIOS.js b/src/DatePickerIOS.js similarity index 100% rename from DatePickerIOS.js rename to src/DatePickerIOS.js diff --git a/defaultProps.js b/src/defaultProps.js similarity index 100% rename from defaultProps.js rename to src/defaultProps.js diff --git a/index.d.ts b/src/index.d.ts similarity index 100% rename from index.d.ts rename to src/index.d.ts diff --git a/index.js b/src/index.js similarity index 100% rename from index.js rename to src/index.js diff --git a/propChecker.js b/src/propChecker.js similarity index 100% rename from propChecker.js rename to src/propChecker.js diff --git a/propTypes.js b/src/propTypes.js similarity index 100% rename from propTypes.js rename to src/propTypes.js From e97c57d4f3c0b2160813a8ac24b022dea469ef92 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 15:52:57 +0200 Subject: [PATCH 35/91] Update README.md --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index c6791e54..5712021e 100644 --- a/README.md +++ b/README.md @@ -113,8 +113,7 @@ If you have enabled iOS cloneNative Android From 6a4ab3d64fa955e0bf0aaacf3f4a725a341b3b54 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 16:13:43 +0200 Subject: [PATCH 36/91] fix native android wheel glitch --- .../henninghall/date_picker/pickers/AndroidNative.java | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java index bca65448..614135b7 100644 --- a/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java +++ b/android/src/main/java/com/henninghall/date_picker/pickers/AndroidNative.java @@ -1,7 +1,6 @@ package com.henninghall.date_picker.pickers; import android.content.Context; -import android.content.res.Resources; import android.graphics.Paint; import android.os.Handler; import android.util.AttributeSet; @@ -174,7 +173,13 @@ public void setOnValueChangedListener(final Picker.OnValueChangeListener listene public void onScrollStateChange(NumberPicker numberPicker, int state) { boolean stoppedScrolling = previousState != SCROLL_STATE_IDLE && state == SCROLL_STATE_IDLE; if (stoppedScrolling) { - listener.onValueChange(); + new Handler().postDelayed(new Runnable() { + @Override + public void run() { + listener.onValueChange(); + } + // the delay make sure the wheel has stopped before sending the value change event + }, 500); } previousState = state; } From 0eabc46f1525cb5818f70f10628a5359270f2841 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 16:14:24 +0200 Subject: [PATCH 37/91] add badge --- README.md | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/README.md b/README.md index 5712021e..598bdbfb 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,4 @@ -# React Native Date Picker [![npm](https://img.shields.io/npm/v/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) [![npm](https://img.shields.io/npm/dm/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) - +# React Native Date Picker [![npm](https://img.shields.io/npm/v/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) [![Build status](https://img.shields.io/github/workflow/status/henninghall/react-native-date-picker/Android:%20build%20&%20test?label=tests)](https://github.com/henninghall/react-native-date-picker/actions) [![npm](https://img.shields.io/npm/dm/react-native-date-picker.svg)](https://www.npmjs.com/package/react-native-date-picker) This is a React Native Date Picker with following main features: From a5b6caef12241a457290f0fbeb58567534d2eaee Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 16:48:29 +0200 Subject: [PATCH 38/91] Update package.json --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index d5132e1a..b019cc66 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "3.0.0", + "version": "3.0.1", "description": "A Cross Platform React Native Picker", "main": "src/index.js", "scripts": { From ade5d8b3d0fdc3733e1ee6b95bce9f2966453f54 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 18:28:06 +0200 Subject: [PATCH 39/91] bugfix: scrolls beyond min/max date not always triggering onChange --- .../com/henninghall/date_picker/State.java | 7 +++++-- .../henninghall/date_picker/ui/UIManager.java | 3 ++- .../ui/WheelChangeListenerImpl.java | 7 +++---- .../henninghall/date_picker/ui/Wheels.java | 19 +++++++++---------- 4 files changed, 19 insertions(+), 17 deletions(-) diff --git a/android/src/main/java/com/henninghall/date_picker/State.java b/android/src/main/java/com/henninghall/date_picker/State.java index dd1e98fb..247eb694 100644 --- a/android/src/main/java/com/henninghall/date_picker/State.java +++ b/android/src/main/java/com/henninghall/date_picker/State.java @@ -97,9 +97,12 @@ public TimeZone getTimeZone(){ return utc ? TimeZone.getTimeZone("UTC") : TimeZone.getDefault(); } + public String getDateString() { + return (String) dateProp.getValue(); + } + public Calendar getDate() { - String date = (String) dateProp.getValue(); - return Utils.isoToCalendar(date, getTimeZone()); + return Utils.isoToCalendar(getDateString(), getTimeZone()); } public Integer getHeight() { diff --git a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java index 9f4ca573..d8c3ef90 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/UIManager.java @@ -67,11 +67,12 @@ SimpleDateFormat getDateFormat() { return new SimpleDateFormat(wheels.getFormatPattern(), state.getLocale()); } - String getDateString() { + String getDisplayValueString() { return wheels.getDisplayValue(); } void animateToDate(Calendar date) { + wheels.applyOnInVisible(new SetDate(date)); wheels.applyOnVisible(new AnimateToDate(date)); } diff --git a/android/src/main/java/com/henninghall/date_picker/ui/WheelChangeListenerImpl.java b/android/src/main/java/com/henninghall/date_picker/ui/WheelChangeListenerImpl.java index b3ab16b4..30171d4e 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/WheelChangeListenerImpl.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/WheelChangeListenerImpl.java @@ -6,7 +6,6 @@ import com.facebook.react.bridge.WritableMap; import com.facebook.react.uimanager.events.RCTEventEmitter; import com.henninghall.date_picker.DatePickerManager; -import com.henninghall.date_picker.PickerView; import com.henninghall.date_picker.State; import com.henninghall.date_picker.Utils; import com.henninghall.date_picker.wheels.Wheel; @@ -44,12 +43,12 @@ public void onChange(Wheel picker) { String toParse = wheels.getDateString(); Date newDate = dateFormat.parse(toParse); date.setTime(newDate); - + String dateString = Utils.dateToIso(date); if (minDate != null && date.before(minDate)) uiManager.animateToDate(minDate); else if (maxDate != null && date.after(maxDate)) uiManager.animateToDate(maxDate); else { - event.putString("date", Utils.dateToIso(date)); - event.putString("dateString", uiManager.getDateString()); + event.putString("date", dateString); + event.putString("dateString", uiManager.getDisplayValueString()); DatePickerManager.context.getJSModule(RCTEventEmitter.class) .receiveEvent(rootView.getId(), "dateChange", event); } diff --git a/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java b/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java index b4c531db..6715e23f 100644 --- a/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java +++ b/android/src/main/java/com/henninghall/date_picker/ui/Wheels.java @@ -63,21 +63,20 @@ private Picker getPickerWithId(int id){ return (Picker) rootView.findViewById(id); } - private Collection getVisible() { - ArrayList wheelTypes = state.derived.getVisibleWheels(); - Collection wheels = new ArrayList<>(); - for (WheelType type: wheelTypes){ - wheels.add(getWheel(type)); - } - return wheels; - } - void applyOnAll(WheelFunction function) { for (Wheel wheel: getAll()) function.apply(wheel); } void applyOnVisible(WheelFunction function) { - for (Wheel wheel: getVisible()) function.apply(wheel); + for(Wheel wheel: getAll()) { + if(wheel.visible()) function.apply(wheel); + } + } + + void applyOnInVisible(WheelFunction function) { + for(Wheel wheel: getAll()) { + if(!wheel.visible()) function.apply(wheel); + } } void updateHeight() { From 4f6b4835eb921d648ee2a7e0f9d093c8928788fc Mon Sep 17 00:00:00 2001 From: Mars Lan Date: Sun, 12 Jul 2020 10:24:47 -0700 Subject: [PATCH 40/91] Add missing androidVariant prop --- src/index.d.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/src/index.d.ts b/src/index.d.ts index eb66fba9..72e2befb 100644 --- a/src/index.d.ts +++ b/src/index.d.ts @@ -31,6 +31,11 @@ export interface DatePickerProps extends ViewProps { */ minuteInterval?: 1 | 2 | 3 | 4 | 5 | 6 | 10 | 12 | 15 | 20 | 30 + /** + * The Android style variant. + */ + androidVariant?: 'iosClone' | 'nativeAndroid' + /** * The date picker mode. */ From 5980d4b2903c77a5f3ff250af7989b58de98e7e1 Mon Sep 17 00:00:00 2001 From: Mars Lan Date: Sun, 12 Jul 2020 10:31:15 -0700 Subject: [PATCH 41/91] Specify the default value for androidVariant prop So people don't have to search through code to land here: https://github.com/henninghall/react-native-date-picker/blob/9403a8e5378c64c8d671c77a48bda4ffe1816361/android/src/main/java/com/henninghall/date_picker/DerivedData.java#L108 --- README.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/README.md b/README.md index 598bdbfb..63874e99 100644 --- a/README.md +++ b/README.md @@ -67,7 +67,7 @@ export default () => { | fadeToColor | Android picker is fading towards this background color. {color, 'none'} | | maximumDate | Maximum selectable date. | | minimumDate | Minimum selectable date | -| androidVariant | Choose from 2 android style variants. {'iosClone', 'nativeAndroid'} | | Datepicker ios clone variantDatepicker android native variant | +| androidVariant | Choose from 2 android style variants. {'iosClone', 'nativeAndroid'} (default: 'iosClone') | | Datepicker ios clone variantDatepicker android native variant | | minuteInterval | The interval at which minutes can be selected. | Date picker minute interval IOS | Date picker minute interval Android | | mode | The date picker mode. {'datetime', 'date', 'time'} | React native date time pickerReact native datepickerReact native time picker | react native date time picker androidreact native datepicker androidreact native time picker android | | locale | The locale for the date picker. Changes language, date order and am/pm preferences. Value needs to be a Locale ID. | React Native Date picker locale language ios | React Native Date picker locale language android | From dedd03c501f5e88359c69ec5bc989ccc8e0789fe Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 20:48:06 +0200 Subject: [PATCH 42/91] fixing failaing tests + prettier format tests --- .../e2e/tests/24h-mode/hourWheel.spec.js | 42 ++-- .../detox/e2e/tests/24h-mode/mode.spec.js | 90 ++++--- examples/detox/e2e/tests/maximumDate.spec.js | 207 ++++++++-------- examples/detox/e2e/tests/minimumDate.spec.js | 229 +++++++++--------- .../detox/e2e/tests/minuteInterval.spec.js | 52 ++-- examples/detox/e2e/tests/mode.spec.js | 10 +- examples/detox/e2e/tests/scrollAround.spec.js | 80 +++--- examples/detox/e2e/tests/wheelOrder.spec.js | 93 ++++--- 8 files changed, 379 insertions(+), 424 deletions(-) diff --git a/examples/detox/e2e/tests/24h-mode/hourWheel.spec.js b/examples/detox/e2e/tests/24h-mode/hourWheel.spec.js index e1a86c0a..a473227a 100644 --- a/examples/detox/e2e/tests/24h-mode/hourWheel.spec.js +++ b/examples/detox/e2e/tests/24h-mode/hourWheel.spec.js @@ -1,28 +1,24 @@ -const { scrollWheel, expectDate } = require("../../utils") - +const { scrollWheel, expectDate } = require('../../utils') describe('Hour wheel', () => { + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) - before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() - }) - - it('should have 24 hours', async () => { - await scroll3HoursAndExpect("2000-01-01 03:00:00") - await scroll3HoursAndExpect("2000-01-01 06:00:00") - await scroll3HoursAndExpect("2000-01-01 09:00:00") - await scroll3HoursAndExpect("2000-01-01 12:00:00") - await scroll3HoursAndExpect("2000-01-01 15:00:00") - await scroll3HoursAndExpect("2000-01-01 18:00:00") - await scroll3HoursAndExpect("2000-01-01 21:00:00") - await scroll3HoursAndExpect("2000-01-01 00:00:00") - }) - - const scroll3HoursAndExpect = async (date) => { - await scrollWheel(1, 3) - await expectDate(date) - } + it('should have 24 hours', async () => { + await scroll3HoursAndExpect('2000-01-01 03:00:00') + await scroll3HoursAndExpect('2000-01-01 06:00:00') + await scroll3HoursAndExpect('2000-01-01 09:00:00') + await scroll3HoursAndExpect('2000-01-01 12:00:00') + await scroll3HoursAndExpect('2000-01-01 15:00:00') + await scroll3HoursAndExpect('2000-01-01 18:00:00') + await scroll3HoursAndExpect('2000-01-01 21:00:00') + await scroll3HoursAndExpect('2000-01-01 00:00:00') + }) + const scroll3HoursAndExpect = async date => { + await scrollWheel(1, 3) + await expectDate(date) + } }) - diff --git a/examples/detox/e2e/tests/24h-mode/mode.spec.js b/examples/detox/e2e/tests/24h-mode/mode.spec.js index d22241d5..72296e96 100644 --- a/examples/detox/e2e/tests/24h-mode/mode.spec.js +++ b/examples/detox/e2e/tests/24h-mode/mode.spec.js @@ -1,49 +1,47 @@ -const { setMode } = require("../../utils") +const { setMode } = require('../../utils') describe('Modes - 24h', () => { - - before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() - }) - - it('datetime', async () => { - await setMode("datetime") - - await expect(element(by.id('day'))).toBeVisible() - await expect(element(by.id('minutes'))).toBeVisible() - await expect(element(by.id('hour'))).toBeVisible() - - await expect(element(by.id('ampm'))).toNotExist() - await expect(element(by.id('month'))).toNotExist() - await expect(element(by.id('date'))).toNotExist() - await expect(element(by.id('year'))).toNotExist() - }) - - it('date', async () => { - await setMode("date") - - await expect(element(by.id('month'))).toBeVisible() - await expect(element(by.id('date'))).toBeVisible() - await expect(element(by.id('year'))).toBeVisible() - - await expect(element(by.id('day'))).toNotExist() - await expect(element(by.id('minutes'))).toNotExist() - await expect(element(by.id('hour'))).toNotExist() - await expect(element(by.id('ampm'))).toNotExist() - }) - - it('time', async () => { - await setMode("time") - - await expect(element(by.id('minutes'))).toBeVisible() - await expect(element(by.id('hour'))).toBeVisible() - - await expect(element(by.id('ampm'))).toNotExist() - await expect(element(by.id('day'))).toNotExist() - await expect(element(by.id('month'))).toNotExist() - await expect(element(by.id('date'))).toNotExist() - await expect(element(by.id('year'))).toNotExist() - }) - + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) + + it('datetime', async () => { + await setMode('datetime') + + await expect(element(by.id('day'))).toBeVisible() + await expect(element(by.id('minutes'))).toBeVisible() + await expect(element(by.id('hour'))).toBeVisible() + + await expect(element(by.id('ampm'))).toNotExist() + await expect(element(by.id('month'))).toNotExist() + await expect(element(by.id('date'))).toNotExist() + await expect(element(by.id('year'))).toNotExist() + }) + + it('date', async () => { + await setMode('date') + + await expect(element(by.id('month'))).toBeVisible() + await expect(element(by.id('date'))).toBeVisible() + await expect(element(by.id('year'))).toBeVisible() + + await expect(element(by.id('day'))).toNotExist() + await expect(element(by.id('minutes'))).toNotExist() + await expect(element(by.id('hour'))).toNotExist() + await expect(element(by.id('ampm'))).toNotExist() + }) + + it('time', async () => { + await setMode('time') + + await expect(element(by.id('minutes'))).toBeVisible() + await expect(element(by.id('hour'))).toBeVisible() + + await expect(element(by.id('ampm'))).toNotExist() + await expect(element(by.id('day'))).toNotExist() + await expect(element(by.id('month'))).toNotExist() + await expect(element(by.id('date'))).toNotExist() + await expect(element(by.id('year'))).toNotExist() + }) }) diff --git a/examples/detox/e2e/tests/maximumDate.spec.js b/examples/detox/e2e/tests/maximumDate.spec.js index b307d0d7..c9c188ab 100644 --- a/examples/detox/e2e/tests/maximumDate.spec.js +++ b/examples/detox/e2e/tests/maximumDate.spec.js @@ -1,131 +1,116 @@ -const { scrollWheel, expectDate, setMaximumDate, setMode } = require("../utils") +const { scrollWheel, expectDate, setMaximumDate, setMode } = require('../utils') -const initialDate = new Date(2000, 0, 1, 0, 0); -const secondOfJanuary = new Date(2000, 0, 2, 0, 0); -const secondOfJanuary2001 = new Date(2001, 0, 2, 0, 0); +const initialDate = new Date(2000, 0, 1, 0, 0) +const secondOfJanuary = new Date(2000, 0, 2, 0, 0) +const secondOfJanuary2001 = new Date(2001, 0, 2, 0, 0) describe('Maximum date', () => { + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) + describe('cannot pass max date - datetime mode', () => { before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() + await setMode('datetime') + await setMaximumDate(initialDate) }) - describe('cannot pass max date - datetime mode', () => { - - before(async () => { - await setMode("datetime") - await setMaximumDate(initialDate) - }) - - it('day wheel', async () => { - await scrollWheel(0, 2) - await expectDate("2000-01-01 00:00:00") - }) - - it('hour wheel', async () => { - await scrollWheel(1, 1) - await expectDate("2000-01-01 00:00:00") - }) - - it('minute wheel', async () => { - await scrollWheel(2, 1) - await expectDate("2000-01-01 00:00:00") - }) - + it('day wheel', async () => { + await scrollWheel(0, 2) + await expectDate('2000-01-01 00:00:00') }) - describe('cannot pass max date - date mode', () => { - - before(async () => { - await setMode("date") - await setMaximumDate(initialDate) - }) - - it('month wheel', async () => { - await scrollWheel(0, 1) - await expectDate("2000-01-01 00:00:00") - }) - - it('date wheel', async () => { - await scrollWheel(1, 1) - await expectDate("2000-01-01 00:00:00") - }) - - it('year wheel', async () => { - await scrollWheel(2, 1) - await expectDate("2000-01-01 00:00:00") - }) - + it('hour wheel', async () => { + await scrollWheel(1, 1) + await expectDate('2000-01-01 00:00:00') }) + it('minute wheel', async () => { + await scrollWheel(2, 1) + await expectDate('2000-01-01 00:00:00') + }) + }) - describe('overshooting max date', () => { - - before(async () => { - await setMaximumDate(secondOfJanuary) - }) - - it('day wheel should not be possible to overshoot since it is not wrapping (no invalid dates exists)', async () => { - await setMode("datetime") - await scrollWheel(0, 1) - await expectDate("2000-01-02 00:00:00") - await scrollWheel(0, 1) - await expectDate("2000-01-02 00:00:00") - }) - - describe('date mode', () => { - - before(async () => { - await setMode("date") - await setMaximumDate(secondOfJanuary) - }) - - it('overshooting month wheel should set all other wheels to maximum possible date', async () => { - await scrollWheel(0, 1) - await expectDate("2000-01-02 00:00:00") - }) - - it('overshooting date wheel should reverse to highest possible date', async () => { - await scrollWheel(1, 5) - await expectDate("2000-01-02 00:00:00") - }) - - it('overshooting year wheel should set all other wheels to maximum possible date', async () => { - await setMaximumDate(secondOfJanuary2001) - await scrollWheel(0, 1) // set month to feb - await scrollWheel(2, 1) - await expectDate("2001-01-02 00:00:00") - }) - - }) - - describe('time mode', () => { - - before(async () => { - await setMode("time") - await setMaximumDate(initialDate) - }) - - it('overshooting hour wheel should reverse to highest possible time', async () => { - await scrollWheel(0, 5) - await expectDate("2000-01-01 00:00:00") - }) + describe('cannot pass max date - date mode', () => { + before(async () => { + await setMode('date') + await setMaximumDate(initialDate) + }) - it('overshooting minute wheel should reverse to highest possible time', async () => { - await scrollWheel(1, 5) - await expectDate("2000-01-01 00:00:00") - }) + it('month wheel', async () => { + await scrollWheel(0, 1) + await expectDate('2000-01-01 00:00:00') + }) - it('overshooting am/pm wheel should reverse to highest possible time', async () => { - await scrollWheel(2, 1) - await expectDate("2000-01-01 00:00:00") - }) + it('date wheel', async () => { + await scrollWheel(1, 1) + await expectDate('2000-01-01 00:00:00') + }) - }) + it('year wheel', async () => { + await scrollWheel(2, 1) + await expectDate('2000-01-01 00:00:00') + }) + }) + describe('overshooting max date', () => { + before(async () => { + await setMaximumDate(secondOfJanuary) + }) + it('day wheel should not be possible to overshoot since it is not wrapping (no invalid dates exists)', async () => { + await setMode('datetime') + await scrollWheel(0, 1) + await expectDate('2000-01-02 00:00:00') + await scrollWheel(0, 1) + await expectDate('2000-01-02 00:00:00') + }) + describe('date mode', () => { + before(async () => { + await setMode('date') + await setMaximumDate(secondOfJanuary) + }) + + it('overshooting month wheel should set all other wheels to maximum possible date', async () => { + await scrollWheel(0, 1) + await expectDate('2000-01-02 00:00:00') + }) + + it('overshooting date wheel should reverse to highest possible date', async () => { + await scrollWheel(1, 5) + await expectDate('2000-01-02 00:00:00') + }) + + it('overshooting year wheel should set all other wheels to maximum possible date', async () => { + await setMaximumDate(secondOfJanuary2001) + await scrollWheel(0, 1) // set month to feb + await scrollWheel(2, 1) + await expectDate('2001-01-02 00:00:00') + }) }) -}) \ No newline at end of file + describe('time mode', () => { + before(async () => { + await setMode('time') + await setMaximumDate(initialDate) + }) + + it('overshooting hour wheel should reverse to highest possible time', async () => { + await scrollWheel(0, 5) + await expectDate('2000-01-01 00:00:00') + }) + + it('overshooting minute wheel should reverse to highest possible time', async () => { + await scrollWheel(1, 5) + await expectDate('2000-01-01 00:00:00') + }) + + it('overshooting am/pm wheel should reverse to highest possible time', async () => { + await scrollWheel(2, 1) + await expectDate('2000-01-01 00:00:00') + }) + }) + }) +}) diff --git a/examples/detox/e2e/tests/minimumDate.spec.js b/examples/detox/e2e/tests/minimumDate.spec.js index d70f4b5b..7a15368e 100644 --- a/examples/detox/e2e/tests/minimumDate.spec.js +++ b/examples/detox/e2e/tests/minimumDate.spec.js @@ -1,134 +1,123 @@ -const { setDate, scrollWheel, expectDate, setMinimumDate, setMode } = require("../utils") +const { + setDate, + scrollWheel, + expectDate, + setMinimumDate, + setMode, +} = require('../utils') -const oneMinuteBeforeJanuary2 = new Date(2000, 0, 1, 23, 59, 0); +const oneMinuteBeforeJanuary2 = new Date(2000, 0, 1, 23, 59, 0) describe('Minimum date', () => { - - before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) + + beforeEach(async () => { + await setDate(oneMinuteBeforeJanuary2.toISOString()) + }) + + describe('cannot pass min date - mode: ', () => { + describe('datetime', () => { + before(async () => { + await setMode('datetime') + await setMinimumDate(oneMinuteBeforeJanuary2) + }) + + it('day wheel', async () => { + await scrollWheel(0, -2) + await expectDate('2000-01-01 23:59:00') + }) + + it('hour wheel', async () => { + await scrollWheel(1, -1) + await expectDate('2000-01-01 23:59:00') + }) + + it('minute wheel', async () => { + await scrollWheel(2, -1) + await expectDate('2000-01-01 23:59:00') + }) }) - beforeEach(async () => { - await setDate(oneMinuteBeforeJanuary2.toISOString()) + describe('date', () => { + before(async () => { + await setMode('date') + await setMinimumDate(oneMinuteBeforeJanuary2) + }) + + it('month wheel', async () => { + await scrollWheel(0, -1) + await expectDate('2000-01-06 00:00:00') + }) + + it('date wheel', async () => { + await scrollWheel(1, -1) + await expectDate('2000-01-06 00:00:00') + }) + + it('year wheel', async () => { + await scrollWheel(2, -1) + await expectDate('2000-01-01 23:59:00') + }) }) + }) - describe('cannot pass min date - mode: ', () => { - - describe('datetime', () => { - - before(async () => { - await setMode("datetime") - await setMinimumDate(oneMinuteBeforeJanuary2) - }) - - it('day wheel', async () => { - await scrollWheel(0, -2) - await expectDate("2000-01-01 23:59:00") - }) - - it('hour wheel', async () => { - await scrollWheel(1, -1) - await expectDate("2000-01-01 23:59:00") - }) - - it('minute wheel', async () => { - await scrollWheel(2, -1) - await expectDate("2000-01-01 23:59:00") - }) - - }) - - describe('date', () => { - - before(async () => { - await setMode("date") - await setMinimumDate(oneMinuteBeforeJanuary2) - }) - - it('month wheel', async () => { - await scrollWheel(0, -1) - await expectDate("2000-01-01 23:59:00") - }) - - it('date wheel', async () => { - await scrollWheel(1, -1) - await expectDate("2000-01-01 23:59:00") - }) - - it('year wheel', async () => { - await scrollWheel(2, -1) - await expectDate("2000-01-01 23:59:00") - }) - - }) + describe('overshooting min date - mode:', () => { + before(async () => { + await setMinimumDate(oneMinuteBeforeJanuary2) }) + describe('datetime', () => { + before(async () => { + await setMode('datetime') + }) + + it('day wheel should not be possible to overshoot since it is not wrapping (no invalid dates exists)', async () => { + await scrollWheel(0, -1) + await expectDate('2000-01-01 23:59:00') + await scrollWheel(0, -1) + await expectDate('2000-01-01 23:59:00') + }) + }) - describe('overshooting min date - mode:', () => { - - before(async () => { - await setMinimumDate(oneMinuteBeforeJanuary2) - }) - - describe('datetime', () => { - - before(async () => { - await setMode("datetime") - }) - - it('day wheel should not be possible to overshoot since it is not wrapping (no invalid dates exists)', async () => { - await scrollWheel(0, -1) - await expectDate("2000-01-01 23:59:00") - await scrollWheel(0, -1) - await expectDate("2000-01-01 23:59:00") - }) - - }) - - describe('date', () => { - - before(async () => { - await setMode("date") - }) - - it('overshooting month wheel should set all other wheels to minimum possible date', async () => { - await scrollWheel(0, -1) - await expectDate("2000-01-01 23:59:00") - }) - - it('overshooting date wheel should reverse to minimum possible date', async () => { - await scrollWheel(1, -5) - await expectDate("2000-01-01 23:59:00") - }) - - }) - - describe('time mode', () => { - - before(async () => { - await setMode("time") - await setMinimumDate(oneMinuteBeforeJanuary2) - }) - - it('overshooting hour wheel should reverse to minimum possible time', async () => { - await scrollWheel(0, -5) - await expectDate("2000-01-01 23:59:00") - }) - - it('overshooting minute wheel should reverse to minimum possible time', async () => { - await scrollWheel(1, -5) - await expectDate("2000-01-01 23:59:00") - }) - - it('overshooting am/pm wheel should reverse to minimum possible time', async () => { - await scrollWheel(2, -1) - await expectDate("2000-01-01 23:59:00") - }) - - }) + describe('date', () => { + before(async () => { + await setMode('date') + }) + it('overshooting month wheel should set all other wheels to maximum possible date', async () => { + await scrollWheel(0, -1) + await expectDate('2000-01-06 00:00:00') + }) + it('overshooting date wheel should reverse to maximum possible date', async () => { + await scrollWheel(1, -5) + await expectDate('2000-01-06 00:00:00') + }) }) -}) \ No newline at end of file + describe('time mode', () => { + before(async () => { + await setMode('time') + await setMinimumDate(oneMinuteBeforeJanuary2) + }) + + it('overshooting hour wheel should reverse to minimum possible time', async () => { + await scrollWheel(0, -5) + await expectDate('2000-01-01 23:59:00') + }) + + it('overshooting minute wheel should reverse to minimum possible time', async () => { + await scrollWheel(1, -5) + await expectDate('2000-01-01 23:59:00') + }) + + it('overshooting am/pm wheel should reverse to minimum possible time', async () => { + await scrollWheel(2, -1) + await expectDate('2000-01-01 23:59:00') + }) + }) + }) +}) diff --git a/examples/detox/e2e/tests/minuteInterval.spec.js b/examples/detox/e2e/tests/minuteInterval.spec.js index fbbdb984..506cb224 100644 --- a/examples/detox/e2e/tests/minuteInterval.spec.js +++ b/examples/detox/e2e/tests/minuteInterval.spec.js @@ -1,34 +1,32 @@ -const { scrollWheel, expectDate, setMinuteInterval } = require("../utils") +const { scrollWheel, expectDate, setMinuteInterval } = require('../utils') const scrollMinuteWheel = () => scrollWheel(2, 1) describe('Minute interval', () => { + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) - before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() - }) + it('1 minute (default)', async () => { + await setMinuteInterval(1) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:01:00') + }) - it('1 minute (default)', async () => { - await setMinuteInterval(1) - await scrollMinuteWheel() - await expectDate("2000-01-01 00:01:00") - }) + it('5 minutes', async () => { + await setMinuteInterval(5) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:05:00') + }) - it('5 minutes', async () => { - await setMinuteInterval(5) - await scrollMinuteWheel() - await expectDate("2000-01-01 00:05:00") - }) - - it('15 minutes', async () => { - await setMinuteInterval(15) - await scrollMinuteWheel() - await expectDate("2000-01-01 00:15:00") - await scrollMinuteWheel() - await expectDate("2000-01-01 00:30:00") - await scrollMinuteWheel() - await expectDate("2000-01-01 00:45:00") - }) - -}) \ No newline at end of file + it('15 minutes', async () => { + await setMinuteInterval(15) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:15:00') + await scrollMinuteWheel() + await expectDate('2000-01-01 00:30:00') + await scrollMinuteWheel() + await expectDate('2000-01-01 00:45:00') + }) +}) diff --git a/examples/detox/e2e/tests/mode.spec.js b/examples/detox/e2e/tests/mode.spec.js index 9a95a21d..45194f7d 100644 --- a/examples/detox/e2e/tests/mode.spec.js +++ b/examples/detox/e2e/tests/mode.spec.js @@ -1,14 +1,13 @@ -const { setMode } = require("../utils") +const { setMode } = require('../utils') describe('Modes', () => { - before(async () => { await device.reloadReactNative() await element(by.text('Advanced')).tap() }) it('datetime', async () => { - await setMode("datetime") + await setMode('datetime') await expect(element(by.id('day'))).toBeVisible() await expect(element(by.id('minutes'))).toBeVisible() @@ -21,7 +20,7 @@ describe('Modes', () => { }) it('date', async () => { - await setMode("date") + await setMode('date') await expect(element(by.id('month'))).toBeVisible() await expect(element(by.id('date'))).toBeVisible() @@ -34,7 +33,7 @@ describe('Modes', () => { }) it('time', async () => { - await setMode("time") + await setMode('time') await expect(element(by.id('minutes'))).toBeVisible() await expect(element(by.id('hour'))).toBeVisible() @@ -45,5 +44,4 @@ describe('Modes', () => { await expect(element(by.id('date'))).toNotExist() await expect(element(by.id('year'))).toNotExist() }) - }) diff --git a/examples/detox/e2e/tests/scrollAround.spec.js b/examples/detox/e2e/tests/scrollAround.spec.js index 629318e3..4aca776e 100644 --- a/examples/detox/e2e/tests/scrollAround.spec.js +++ b/examples/detox/e2e/tests/scrollAround.spec.js @@ -1,45 +1,41 @@ -const { scrollWheel, expectDate } = require("../utils") - +const { scrollWheel, expectDate } = require('../utils') describe('Scroll around', () => { - - before(async () => { - await device.reloadReactNative() - await element(by.text('Advanced')).tap() - }) - - it.skip('Hour wheel should scroll all way around and switch AM/PM when passing 12', async () => { - await scroll3HoursAndExpect("2000-01-01 03:00:00") - await scroll3HoursAndExpect("2000-01-01 06:00:00") - await scroll3HoursAndExpect("2000-01-01 09:00:00") - await scrollWheel(1, 2) - await expectDate("2000-01-01 11:00:00") - await scrollWheel(1, 2) - await expectDate("2000-01-01 13:00:00") - await scroll3HoursAndExpect("2000-01-01 16:00:00") - await scroll3HoursAndExpect("2000-01-01 19:00:00") - await scroll3HoursAndExpect("2000-01-01 22:00:00") - await scroll3HoursAndExpect("2000-01-01 01:00:00") - }) - - it('Minute wheel should be possible to scroll all way around', async () => { - await scrollWheel(2, 55) - await expectDate("2000-01-01 00:55:00") - await scrollWheel(2, 10) - await expectDate("2000-01-01 00:05:00") - }) - - it('Day wheel should change year when passing new year', async () => { - await scrollWheel(0, -1) - await expectDate("1999-12-31 00:00:00") - await scrollWheel(0, 1) - await expectDate("2000-01-01 00:00:00") - }) - - const scroll3HoursAndExpect = async (date) => { - await scrollWheel(1, 3) - await expectDate(date) - } - + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) + + it.skip('Hour wheel should scroll all way around and switch AM/PM when passing 12', async () => { + await scroll3HoursAndExpect('2000-01-01 03:00:00') + await scroll3HoursAndExpect('2000-01-01 06:00:00') + await scroll3HoursAndExpect('2000-01-01 09:00:00') + await scrollWheel(1, 2) + await expectDate('2000-01-01 11:00:00') + await scrollWheel(1, 2) + await expectDate('2000-01-01 13:00:00') + await scroll3HoursAndExpect('2000-01-01 16:00:00') + await scroll3HoursAndExpect('2000-01-01 19:00:00') + await scroll3HoursAndExpect('2000-01-01 22:00:00') + await scroll3HoursAndExpect('2000-01-01 01:00:00') + }) + + it('Minute wheel should be possible to scroll all way around', async () => { + await scrollWheel(2, 55) + await expectDate('2000-01-01 00:55:00') + await scrollWheel(2, 10) + await expectDate('2000-01-01 00:05:00') + }) + + it('Day wheel should change year when passing new year', async () => { + await scrollWheel(0, -1) + await expectDate('1999-12-31 00:00:00') + await scrollWheel(0, 1) + await expectDate('2000-01-01 00:00:00') + }) + + const scroll3HoursAndExpect = async date => { + await scrollWheel(1, 3) + await expectDate(date) + } }) - diff --git a/examples/detox/e2e/tests/wheelOrder.spec.js b/examples/detox/e2e/tests/wheelOrder.spec.js index 9a629d92..370571c6 100644 --- a/examples/detox/e2e/tests/wheelOrder.spec.js +++ b/examples/detox/e2e/tests/wheelOrder.spec.js @@ -1,95 +1,90 @@ -const { scrollWheelWithIndexAndExpectDate, setMode, setLocale, setMaximumDate } = require("../utils") - +const { + scrollWheelWithIndexAndExpectDate, + setMode, + setLocale, + setMaximumDate, +} = require('../utils') describe('Wheel order', () => { - before(async () => { await device.reloadReactNative() await element(by.text('Advanced')).tap() - await setMaximumDate("undefined") + await setMaximumDate('undefined') }) describe('datetime', () => { - before(async () => { - await setMode("datetime") + await setMode('datetime') }) it('US', async () => { - await setLocale("en-US") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-02 00:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-01 01:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-01 00:01:00") - await scrollWheelWithIndexAndExpectDate(3, "2000-01-01 12:00:00") + await setLocale('en-US') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-02 00:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-01 01:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-01 00:01:00') + await scrollWheelWithIndexAndExpectDate(3, '2000-01-01 12:00:00') }) it('Korean', async () => { - await setLocale("ko-KR") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-02 00:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-01 12:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-01 01:00:00") - await scrollWheelWithIndexAndExpectDate(3, "2000-01-01 00:01:00") + await setLocale('ko-KR') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-02 00:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-01 12:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-01 01:00:00') + await scrollWheelWithIndexAndExpectDate(3, '2000-01-01 00:01:00') }) - }) describe('date', () => { - before(async () => { - await setMode("date") + await setMode('date') }) it('US', async () => { - await setLocale("en-US") - await scrollWheelWithIndexAndExpectDate(0, "2000-02-01 00:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-02 00:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2001-01-01 00:00:00") + await setLocale('en-US') + await scrollWheelWithIndexAndExpectDate(0, '2000-02-01 00:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-02 00:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2001-01-01 00:00:00') }) it('UK', async () => { - await setLocale("en-GB") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-02 00:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-02-01 00:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2001-01-01 00:00:00") + await setLocale('en-GB') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-02 00:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-02-01 00:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2001-01-01 00:00:00') }) it('Korean', async () => { - await setLocale("ko-KR") - await scrollWheelWithIndexAndExpectDate(0, "2001-01-01 00:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-02-01 00:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-02 00:00:00") + await setLocale('ko-KR') + await scrollWheelWithIndexAndExpectDate(0, '2001-01-01 00:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-02-01 00:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-02 00:00:00') }) - }) describe('time', () => { - before(async () => { - await setMode("time") + await setMode('time') }) it('US', async () => { - await setLocale("en-US") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-01 01:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-01 00:01:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-01 12:00:00") + await setLocale('en-US') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-01 01:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-01 00:01:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-01 12:00:00') }) it('UK', async () => { - await setLocale("en-GB") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-01 01:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-01 00:01:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-01 12:00:00") + await setLocale('en-GB') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-01 01:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-01 00:01:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-01 12:00:00') }) it('Korean', async () => { - await setLocale("ko-KR") - await scrollWheelWithIndexAndExpectDate(0, "2000-01-01 12:00:00") - await scrollWheelWithIndexAndExpectDate(1, "2000-01-01 01:00:00") - await scrollWheelWithIndexAndExpectDate(2, "2000-01-01 00:01:00") + await setLocale('ko-KR') + await scrollWheelWithIndexAndExpectDate(0, '2000-01-01 12:00:00') + await scrollWheelWithIndexAndExpectDate(1, '2000-01-01 01:00:00') + await scrollWheelWithIndexAndExpectDate(2, '2000-01-01 00:01:00') }) - }) - - }) From bdf3b2ef6470f58b53c5de9af47d3753d957e147 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 12 Jul 2020 21:23:59 +0200 Subject: [PATCH 43/91] 3.0.2 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index b019cc66..addd3f92 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "3.0.1", + "version": "3.0.2", "description": "A Cross Platform React Native Picker", "main": "src/index.js", "scripts": { From 21b347245ed30050bd7f771a66a505a8f0191775 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Fri, 17 Jul 2020 23:54:41 +0000 Subject: [PATCH 44/91] Bump lodash from 4.17.15 to 4.17.19 in /examples/detox Bumps [lodash](https://github.com/lodash/lodash) from 4.17.15 to 4.17.19. - [Release notes](https://github.com/lodash/lodash/releases) - [Commits](https://github.com/lodash/lodash/compare/4.17.15...4.17.19) Signed-off-by: dependabot[bot] --- examples/detox/yarn.lock | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/examples/detox/yarn.lock b/examples/detox/yarn.lock index b9330c4b..e73362f7 100644 --- a/examples/detox/yarn.lock +++ b/examples/detox/yarn.lock @@ -2713,9 +2713,9 @@ lodash.throttle@^4.1.1: integrity sha1-wj6RtxAkKscMN/HhzaknTMOb8vQ= lodash@4.x.x, lodash@^4.17.11, lodash@^4.17.13, lodash@^4.17.14, lodash@^4.17.5, lodash@^4.3.0, lodash@^4.6.1: - version "4.17.15" - resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.15.tgz#b447f6670a0455bbfeedd11392eff330ea097548" - integrity sha512-8xOcRHvCjnocdS5cpwXQXVzmmh5e5+saE2QGoeQmbKmRS6J3VQppPOIt0MnmE+4xlZoumy0GPG0D0MVIQbNA1A== + version "4.17.19" + resolved "https://registry.yarnpkg.com/lodash/-/lodash-4.17.19.tgz#e48ddedbe30b3321783c5b4301fbd353bc1e4a4b" + integrity sha512-JNvd8XER9GQX0v2qJgsaN/mzFCNA5BRe/j8JN9d+tWyGLSodKQHKFicdwNYzWwI3wjRnaKPsGj1XkBjx/F96DQ== log-symbols@2.2.0: version "2.2.0" From ac3a313e0b6c8496c396191e159320f2d07435cc Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 26 Jul 2020 19:45:14 +0200 Subject: [PATCH 45/91] custom am-pm width --- android/src/main/res/layout/native_picker.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/android/src/main/res/layout/native_picker.xml b/android/src/main/res/layout/native_picker.xml index ba672582..76a2218a 100644 --- a/android/src/main/res/layout/native_picker.xml +++ b/android/src/main/res/layout/native_picker.xml @@ -52,7 +52,7 @@ From faaea93a123da236405a972bedee33b17d6e2f7e Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 26 Jul 2020 22:24:59 +0200 Subject: [PATCH 46/91] set wheels as preferred date picker style --- README.md | 2 +- ios/RNDatePicker/DatePicker.m | 3 +++ 2 files changed, 4 insertions(+), 1 deletion(-) diff --git a/README.md b/README.md index 63874e99..0655ac14 100644 --- a/README.md +++ b/README.md @@ -71,7 +71,7 @@ export default () => { | minuteInterval | The interval at which minutes can be selected. | Date picker minute interval IOS | Date picker minute interval Android | | mode | The date picker mode. {'datetime', 'date', 'time'} | React native date time pickerReact native datepickerReact native time picker | react native date time picker androidreact native datepicker androidreact native time picker android | | locale | The locale for the date picker. Changes language, date order and am/pm preferences. Value needs to be a Locale ID. | React Native Date picker locale language ios | React Native Date picker locale language android | -| textColor | Changes the text color. ⚠ Colors other than black (#000000) or white (#ffffff) will replace the "Today" string with a date on iOS 13. | react native datepicker text color background color ios | Text color background color android | +| textColor | Changes the text color. ⚠ Colors other than black (#000000) or white (#ffffff) will replace the "Today" string with a date on iOS 13 or higher. | react native datepicker text color background color ios | Text color background color android | | timeZoneOffsetInMinutes | Timezone offset in minutes (default: device's timezone) | ## About diff --git a/ios/RNDatePicker/DatePicker.m b/ios/RNDatePicker/DatePicker.m index c8fef039..a37dc421 100644 --- a/ios/RNDatePicker/DatePicker.m +++ b/ios/RNDatePicker/DatePicker.m @@ -53,6 +53,9 @@ - (instancetype)initWithFrame:(CGRect)frame forControlEvents:UIControlEventValueChanged]; if(@available(iOS 13, *)) { self.overrideUserInterfaceStyle = UIUserInterfaceStyleLight; + } + if(@available(iOS 14, *)) { + self.preferredDatePickerStyle = UIDatePickerStyleWheels; } _reactMinuteInterval = 1; } From 7f364fc150e0b7b609ffda95ac33543e8b0617a3 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 26 Jul 2020 22:33:09 +0200 Subject: [PATCH 47/91] use same readme for npm and github --- npmREADME.md | 21 --------------------- package.json | 4 +--- 2 files changed, 1 insertion(+), 24 deletions(-) delete mode 100644 npmREADME.md diff --git a/npmREADME.md b/npmREADME.md deleted file mode 100644 index d64b8906..00000000 --- a/npmREADME.md +++ /dev/null @@ -1,21 +0,0 @@ -# React Native Date Picker -A cross platform react native date picker component for android and ios. Including 3 different modes, date, time, and datetime. The date picker is customizable and have mulitple language support. - - - - - - - - - - - - -
iOSAndroid
React Native Date Picker IOS - React Native Date Picker Android -
- -## Documentation - -See github page for documentation and more info. \ No newline at end of file diff --git a/package.json b/package.json index addd3f92..c1f6ce57 100644 --- a/package.json +++ b/package.json @@ -4,9 +4,7 @@ "description": "A Cross Platform React Native Picker", "main": "src/index.js", "scripts": { - "test": "echo \"Error: no test specified\" && exit 1", - "prepublishOnly": "mv README.md githubREADME.md && mv npmREADME.md README.md", - "postpublish": "mv README.md npmREADME.md && mv githubREADME.md README.md" + "test": "echo \"Error: no test specified\" && exit 1" }, "repository": { "type": "git", From ba6da9af78b218911d48a593ae082adf65c3d3af Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Sun, 26 Jul 2020 22:33:50 +0200 Subject: [PATCH 48/91] 3.0.3 --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index c1f6ce57..5da065e1 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "react-native-date-picker", - "version": "3.0.2", + "version": "3.0.3", "description": "A Cross Platform React Native Picker", "main": "src/index.js", "scripts": { From 4a0041cf21413dc68e2790fd21503d93ebb62ef1 Mon Sep 17 00:00:00 2001 From: Henning Hall Date: Tue, 28 Jul 2020 13:08:19 +0200 Subject: [PATCH 49/91] add timezone offset tests --- .../detox/e2e/tests/timezoneOffset.spec.js | 81 +++++++++++++++++++ examples/detox/e2e/utils.js | 1 + examples/detox/src/CustomPropValue.js | 1 + examples/detox/src/propPickers/DateChange.js | 10 ++- 4 files changed, 91 insertions(+), 2 deletions(-) create mode 100644 examples/detox/e2e/tests/timezoneOffset.spec.js diff --git a/examples/detox/e2e/tests/timezoneOffset.spec.js b/examples/detox/e2e/tests/timezoneOffset.spec.js new file mode 100644 index 00000000..469a47d1 --- /dev/null +++ b/examples/detox/e2e/tests/timezoneOffset.spec.js @@ -0,0 +1,81 @@ +const { + setTimeZoneOffsetInMinutes, + expectDate, + scrollWheel, + expectDateString, + setMaximumDate, + setDate, +} = require('../utils') + +const scrollMinuteWheel = () => scrollWheel(2, 1) + +// I haven't found a way to change the timezone on the emulator to be able to run these tests. +// Until possible, run these tests locally when needed with Europe/Stockholm timezone. +describe.skip('Timezone offset', () => { + before(async () => { + await device.reloadReactNative() + await element(by.text('Advanced')).tap() + }) + + it('undefined (default)', async () => { + await setTimeZoneOffsetInMinutes(undefined) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:01:00') + await expectDateString('Sat Jan 11201 AM ') + }) + + it('0', async () => { + await setTimeZoneOffsetInMinutes(0) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:01:00') + await expectDateString('Fri Dec 311101 PM ') + }) + + it('180', async () => { + await setTimeZoneOffsetInMinutes(180) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:01:00') + await expectDateString('Sat Jan 1201 AM ') + }) + + it('-180', async () => { + await setTimeZoneOffsetInMinutes(-180) + await scrollMinuteWheel() + await expectDate('2000-01-01 00:01:00') + await expectDateString('Fri Dec 31801 PM ') + }) + + describe('daylight saving', () => { + const firstOfJuly = new Date(2000, 6, 1, 0, 0) + const firstOfJune = new Date(2000, 5, 1, 0, 0) + + before(async () => { + await setMaximumDate(firstOfJuly) + await setDate(firstOfJune) + }) + + it('undefined', async () => { + await setDate(firstOfJune) + await setTimeZoneOffsetInMinutes(undefined) + await scrollMinuteWheel() + await expectDate('2000-06-01 00:01:00') + await expectDateString('Thu Jun 11201 AM ') + }) + + it('0', async () => { + await setDate(firstOfJune) + await setTimeZoneOffsetInMinutes(0) + await scrollMinuteWheel() + await expectDate('2000-06-01 00:01:00') + await expectDateString('Wed May 311001 PM ') + }) + + it('180', async () => { + await setDate(firstOfJune) + await setTimeZoneOffsetInMinutes(180) + await scrollMinuteWheel() + await expectDate('2000-06-01 00:01:00') + await expectDateString('Thu Jun 1101 AM ') + }) + }) +}) diff --git a/examples/detox/e2e/utils.js b/examples/detox/e2e/utils.js index c7e73e53..9b29ae0d 100644 --- a/examples/detox/e2e/utils.js +++ b/examples/detox/e2e/utils.js @@ -35,6 +35,7 @@ exports.setLocale = changeProp('locale') exports.setMinimumDate = changeProp('minimumDate') exports.setMaximumDate = changeProp('maximumDate') exports.setMinuteInterval = changeProp('minuteInterval') +exports.setTimeZoneOffsetInMinutes = changeProp('timeZoneOffsetInMinutes') exports.setMode = changeProp('mode') exports.scrollWheel = scrollWheel exports.expectDate = expectDate diff --git a/examples/detox/src/CustomPropValue.js b/examples/detox/src/CustomPropValue.js index 03092861..25cd537d 100644 --- a/examples/detox/src/CustomPropValue.js +++ b/examples/detox/src/CustomPropValue.js @@ -8,6 +8,7 @@ export default function CustomPropValue(props) { const getPropValue = () => { if (propValue === "undefined") return undefined if (propName === "minuteInterval") return parseInt(propValue) + if (propName === "timeZoneOffsetInMinutes") return parseInt(propValue) if (["date", "maximumDate", "minimumDate"].includes(propName)) return new Date(propValue) return propValue } diff --git a/examples/detox/src/propPickers/DateChange.js b/examples/detox/src/propPickers/DateChange.js index 74e25b8c..05f0f6ff 100644 --- a/examples/detox/src/propPickers/DateChange.js +++ b/examples/detox/src/propPickers/DateChange.js @@ -13,7 +13,6 @@ export default class extends Component { ) } /> -