From 478544ce29c0a2cd4223b579109e60c441903518 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Tue, 13 Oct 2026 18:18:04 -0600 Subject: [PATCH 01/21] feat(datetime): add DatetimeRangeParts interface for range selection Introduces the internal type that represents a date range as a start/end pair, used by activeParts when selectionMode="range" is enabled. --- core/src/components/datetime/datetime-interface.ts | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/core/src/components/datetime/datetime-interface.ts b/core/src/components/datetime/datetime-interface.ts index c126b8d7282..ae7bebf867f 100644 --- a/core/src/components/datetime/datetime-interface.ts +++ b/core/src/components/datetime/datetime-interface.ts @@ -36,6 +36,11 @@ export type DatetimeHighlight = { date: string } & DatetimeHighlightStyle; export type DatetimeHighlightCallback = (dateIsoString: string) => DatetimeHighlightStyle | undefined; +export interface DatetimeRangeParts { + start: DatetimeParts; + end?: DatetimeParts; +} + export type DatetimeHourCycle = 'h11' | 'h12' | 'h23' | 'h24'; /** From a507212b34f6f52f4865fe872b94f1dfd8a083b8 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Tue, 13 Oct 2026 18:21:33 -0600 Subject: [PATCH 02/21] feat(datetime): add selectionMode prop and deprecate multiple Adds the selectionMode property with 'multiple' and 'range' values, along with startDateLabel and endDateLabel props for range header placeholders. Deprecates the multiple boolean in favor of selectionMode="multiple" with backward compatibility. Includes validation warnings for misconfigured range/multiple usage. --- core/src/components/datetime/datetime.tsx | 83 +++++++++++++++++++++-- 1 file changed, 78 insertions(+), 5 deletions(-) diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index 7bc145d116d..24259b364bc 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -104,6 +104,11 @@ import { checkForPresentationFormatMismatch, warnIfTimeZoneProvided } from './ut * @part calendar-day today - The calendar day that contains the current day. * @part calendar-day disabled - The calendar day that is disabled. * + * @part range-start - The calendar day button that is the start of a range selection. + * @part range-end - The calendar day button that is the end of a range selection. + * @part range-selection - The calendar day button that is part of a range selection (includes start and end). + * @part range-track - The calendar day wrapper element whose ::before pseudo-element draws the range highlight track. + * * @part datetime-header - The datetime header contains the content for the `title` slot and the selected date. * @part datetime-title - The element that contains the `title` slot content. * @part datetime-selected-date - The element that contains the selected date. @@ -286,6 +291,14 @@ export class Datetime implements ComponentInterface { return hasDatePresentation && !preferWheel; } + private get isMultipleMode() { + return this.selectionMode === 'multiple' || (this.selectionMode === undefined && this.multiple); + } + + private get isRangeMode() { + return this.selectionMode === 'range'; + } + /** * The text to display on the picker's cancel button. */ @@ -395,9 +408,35 @@ export class Datetime implements ComponentInterface { /** * If `true`, multiple dates can be selected at once. Only * applies to `presentation="date"` and `preferWheel="false"`. + * + * @deprecated Use `selectionMode="multiple"` instead. */ @Prop() multiple = false; + /** + * Controls the date selection behavior. + * `'multiple'` enables selecting multiple individual dates. + * `'range'` enables selecting a start and end date range. + * When unset, single-date selection is used. + * + * Range selection only works with `presentation="date"` and `preferWheel="false"`. + */ + @Prop() selectionMode?: 'multiple' | 'range'; + + /** + * The text shown in the datetime header when the start of the range + * is empty, also used by screen readers to announce the start date. + * Only applies when `selectionMode="range"`. + */ + @Prop() startDateLabel = 'Start date'; + + /** + * The text shown in the datetime header when the end of the range + * is empty, also used by screen readers to announce the end date. + * Only applies when `selectionMode="range"`. + */ + @Prop() endDateLabel = 'End date'; + /** * Used to apply custom text and background colors to specific dates. * @@ -614,8 +653,8 @@ export class Datetime implements ComponentInterface { } private warnIfIncorrectValueUsage = () => { - const { multiple, value } = this; - if (!multiple && Array.isArray(value)) { + const { value } = this; + if (!this.isMultipleMode && !this.isRangeMode && Array.isArray(value)) { /** * We do some processing on the `value` array so * that it looks more like an array when logged to @@ -625,7 +664,17 @@ export class Datetime implements ComponentInterface { * Custom behavior: ['a', 'b'] */ printIonWarning( - `[ion-datetime] - An array of values was passed, but multiple is "false". This is incorrect usage and may result in unexpected behaviors. To dismiss this warning, pass a string to the "value" property when multiple="false". + `[ion-datetime] - An array of values was passed, but neither selectionMode="multiple" nor selectionMode="range" is set. This is incorrect usage and may result in unexpected behaviors. + + Value Passed: [${value.map((v) => `'${v}'`).join(', ')}] +`, + this.el + ); + } + + if (this.isRangeMode && Array.isArray(value) && value.length > 2) { + printIonWarning( + `[ion-datetime] - More than 2 values were passed with selectionMode="range". Only the first and last values will be used. Value Passed: [${value.map((v) => `'${v}'`).join(', ')}] `, @@ -1492,9 +1541,16 @@ export class Datetime implements ComponentInterface { }; componentWillLoad() { - const { el, formatOptions, highlightedDates, multiple, presentation, preferWheel } = this; + const { el, formatOptions, highlightedDates, multiple, selectionMode, presentation, preferWheel } = this; - if (multiple) { + if (selectionMode === undefined && multiple) { + printIonWarning( + '[ion-datetime] - The "multiple" property is deprecated. Use selectionMode="multiple" instead.', + el + ); + } + + if (this.isMultipleMode) { if (presentation !== 'date') { printIonWarning('[ion-datetime] - Multiple date selection is only supported for presentation="date".', el); } @@ -1504,6 +1560,23 @@ export class Datetime implements ComponentInterface { } } + if (this.isRangeMode) { + if (presentation !== 'date') { + printIonWarning('[ion-datetime] - Range selection is only supported for presentation="date".', el); + } + + if (preferWheel) { + printIonWarning('[ion-datetime] - Range selection is not supported with preferWheel="true".', el); + } + } + + if (selectionMode !== undefined && multiple) { + printIonWarning( + '[ion-datetime] - Both "selectionMode" and "multiple" are set. "selectionMode" takes precedence.', + el + ); + } + if (highlightedDates !== undefined) { if (presentation !== 'date' && presentation !== 'date-time' && presentation !== 'time-date') { printIonWarning( From 1ab6897bc73cd9a230fc57511d9fff14caf33e48 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Tue, 13 Oct 2026 18:24:02 -0600 Subject: [PATCH 03/21] feat(datetime): add range flags to getCalendarDayState Extends getCalendarDayState with an optional rangeParts parameter that returns isRangeStart, isInRange, and isRangeEnd flags. These drive the CSS class names and shadow parts applied to each calendar day wrapper. --- core/src/components/datetime/utils/state.ts | 25 ++++++++++++++++++++- 1 file changed, 24 insertions(+), 1 deletion(-) diff --git a/core/src/components/datetime/utils/state.ts b/core/src/components/datetime/utils/state.ts index fc05b968b65..357c5dbc3b0 100644 --- a/core/src/components/datetime/utils/state.ts +++ b/core/src/components/datetime/utils/state.ts @@ -5,6 +5,7 @@ import type { DatetimeHighlightCallback, DatetimeHighlightStyle, DatetimeParts, + DatetimeRangeParts, } from '../datetime-interface'; import { isAfter, isBefore, isSameDay } from './comparison'; @@ -100,7 +101,8 @@ export const getCalendarDayState = ( todayParts: DatetimeParts, minParts?: DatetimeParts, maxParts?: DatetimeParts, - dayValues?: number[] + dayValues?: number[], + rangeParts?: DatetimeRangeParts ) => { /** * activeParts signals what day(s) are currently selected in the datetime. @@ -120,6 +122,24 @@ export const getCalendarDayState = ( const isToday = isSameDay(refParts, todayParts); const disabled = isDayDisabled(refParts, minParts, maxParts, dayValues); + /** + * Range state: determine if this day is the range start, end, or in between. + */ + let isRangeStart = false; + let isRangeEnd = false; + let isInRange = false; + + if (rangeParts) { + const { start, end } = rangeParts; + isRangeStart = isSameDay(refParts, start); + + if (end) { + isRangeEnd = isSameDay(refParts, end); + isInRange = + !disabled && !isRangeStart && !isRangeEnd && isAfter(refParts, start) && isBefore(refParts, end); + } + } + /** * Note that we always return one object regardless of whether activeParts * was an array, since we pare down to one value for isActive. @@ -128,6 +148,9 @@ export const getCalendarDayState = ( disabled, isActive, isToday, + isRangeStart, + isRangeEnd, + isInRange, ariaSelected: isActive ? 'true' : null, ariaLabel: generateDayAriaLabel(locale, isToday, refParts), text: refParts.day != null ? getDay(locale, refParts) : null, From bb61d213691ec227933934e0b7551952669eea1a Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Tue, 13 Oct 2026 18:29:18 -0600 Subject: [PATCH 04/21] feat(datetime): implement range selection logic Adds the core range selection behavior: setActivePartsRange handles start/end date picking with disabled-date validation, confirm suppresses emission until both dates are set, cancel clears partial ranges, reset clears and optionally navigates, and processValue normalizes programmatic range values (reversed pairs, >2 entries). Updates type narrowing across the component to accommodate the DatetimeRangeParts state shape. --- core/src/components/datetime/datetime.tsx | 209 +++++++++++++++++++++- 1 file changed, 202 insertions(+), 7 deletions(-) diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index 24259b364bc..abb1e7742e7 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -16,6 +16,7 @@ import type { DatetimePresentation, DatetimeChangeEventDetail, DatetimeParts, + DatetimeRangeParts, TitleSelectedDatesFormatter, DatetimeHighlight, DatetimeHighlightStyle, @@ -150,7 +151,7 @@ export class Datetime implements ComponentInterface { @State() showMonthAndYear = false; - @State() activeParts: DatetimeParts | DatetimeParts[] = []; + @State() activeParts: DatetimeParts | DatetimeParts[] | DatetimeRangeParts = []; @State() workingParts: DatetimeParts = { month: 5, @@ -299,6 +300,23 @@ export class Datetime implements ComponentInterface { return this.selectionMode === 'range'; } + /** + * Type guard: returns true if the given activeParts is a DatetimeRangeParts object. + */ + private isRangeParts(parts: DatetimeParts | DatetimeParts[] | DatetimeRangeParts): parts is DatetimeRangeParts { + return this.isRangeMode && parts !== null && typeof parts === 'object' && !Array.isArray(parts) && 'start' in parts; + } + + /** + * Returns the current range parts if in range mode, or undefined otherwise. + */ + private get rangeParts(): DatetimeRangeParts | undefined { + if (this.isRangeParts(this.activeParts)) { + return this.activeParts; + } + return undefined; + } + /** * The text to display on the picker's cancel button. */ @@ -585,6 +603,19 @@ export class Datetime implements ComponentInterface { async confirm(closeOverlay = false) { const { isCalendarPicker, activeParts, preferWheel, workingParts } = this; + /** + * In range mode, only confirm when both start and end are selected. + */ + if (this.isRangeMode) { + if (this.isRangeParts(activeParts) && activeParts.start && activeParts.end) { + this.setValue([convertDataToISO(activeParts.start), convertDataToISO(activeParts.end)]); + } + if (closeOverlay) { + this.closeParentOverlay(CONFIRM_ROLE); + } + return; + } + /** * We only update the value if the presentation is not a calendar picker. */ @@ -602,7 +633,7 @@ export class Datetime implements ComponentInterface { this.setValue(undefined); } } else { - this.setValue(convertDataToISO(activeParts)); + this.setValue(convertDataToISO(activeParts as DatetimeParts | DatetimeParts[])); } } @@ -620,6 +651,23 @@ export class Datetime implements ComponentInterface { */ @Method() async reset(startDate?: string) { + if (this.isRangeMode) { + /** + * In range mode, reset clears the full range. If a startDate + * is provided, the calendar navigates to that month without + * selecting anything so the user begins a fresh selection. + */ + this.activeParts = []; + if (startDate) { + const parsed = parseDate(startDate); + if (parsed) { + const target = Array.isArray(parsed) ? parsed[0] : parsed; + this.setWorkingParts(target); + } + } + return; + } + this.processValue(startDate); } @@ -633,6 +681,15 @@ export class Datetime implements ComponentInterface { */ @Method() async cancel(closeOverlay = false) { + /** + * In range mode, clear the visible selection (including partial ranges) + * so the component returns to an empty state. The value property is + * left untouched, matching single/multiple mode behavior. + */ + if (this.isRangeMode) { + this.activeParts = []; + } + this.ionCancel.emit(); if (closeOverlay) { @@ -705,6 +762,9 @@ export class Datetime implements ComponentInterface { private getActivePart = () => { const { activeParts } = this; + if (this.isRangeParts(activeParts)) { + return activeParts.start; + } return Array.isArray(activeParts) ? activeParts[0] : activeParts; }; @@ -724,6 +784,33 @@ export class Datetime implements ComponentInterface { }; }; + /** + * Checks whether the span from start to end contains any disabled day. + * Used by range mode to prevent selecting across disabled dates. + */ + private rangeContainsDisabledDate = (start: DatetimeParts, end: DatetimeParts): boolean => { + const { minParts, maxParts, parsedDayValues, isDateEnabled } = this; + + let cursor = getNextDay(start); + while (isBefore(cursor, end) || isSameDay(cursor, end)) { + if (isSameDay(cursor, end)) break; + if (isDayDisabled(cursor, minParts, maxParts, parsedDayValues)) { + return true; + } + if (isDateEnabled) { + try { + if (!isDateEnabled(convertDataToISO(cursor))) { + return true; + } + } catch { + // Swallow user callback exceptions during validation + } + } + cursor = getNextDay(cursor); + } + return false; + }; + private setActiveParts = (parts: DatetimeParts, removeDate = false) => { /** if the datetime component is in readonly mode, * allow browsing of the calendar without changing @@ -733,7 +820,7 @@ export class Datetime implements ComponentInterface { return; } - const { multiple, minParts, maxParts, activeParts } = this; + const { minParts, maxParts, activeParts } = this; /** * When setting the active parts, it is possible @@ -748,8 +835,12 @@ export class Datetime implements ComponentInterface { const validatedParts = validateParts(parts, minParts, maxParts); this.setWorkingParts(validatedParts); - if (multiple) { - const activePartsArray = Array.isArray(activeParts) ? activeParts : [activeParts]; + if (this.isRangeMode) { + this.setActivePartsRange(validatedParts); + } else if (this.isMultipleMode) { + const activePartsArray = Array.isArray(activeParts) + ? activeParts + : [activeParts as DatetimeParts]; if (removeDate) { this.activeParts = activePartsArray.filter((p) => !isSameDay(p, validatedParts)); } else { @@ -769,6 +860,66 @@ export class Datetime implements ComponentInterface { this.confirm(); }; + /** + * Handles range selection logic when a day is clicked. + * + * Creating a new range: first click sets start, second sets end. + * Modifying an existing range: + * - Before range → new start + * - Within range → new end + * - After range → new end + * If the resulting span contains a disabled date, start a new range instead. + */ + private setActivePartsRange = (parts: DatetimeParts) => { + const current = this.rangeParts; + + if (!current) { + // No range yet — start a new one + this.activeParts = { start: parts }; + return; + } + + const { start, end } = current; + + if (end) { + // A complete range exists + if (isBefore(parts, start)) { + // Before range → new start + this.activeParts = { start: parts }; + } else if (isSameDay(parts, start) || (isAfter(parts, start) && isBefore(parts, end))) { + // Within range (including start) → set new end + if (this.rangeContainsDisabledDate(start, parts)) { + this.activeParts = { start: parts }; + } else { + this.activeParts = { start, end: parts }; + } + } else { + // After or equal to end → new end + if (this.rangeContainsDisabledDate(start, parts)) { + this.activeParts = { start: parts }; + } else { + this.activeParts = { start, end: parts }; + } + } + } else { + // Only start date, no end yet + if (isSameDay(parts, start)) { + // Same day → single-day range + this.activeParts = { start, end: parts }; + } else if (isBefore(parts, start)) { + // Before start → new start + this.activeParts = { start: parts }; + } else { + // After start → set end if no disabled dates in between + if (this.rangeContainsDisabledDate(start, parts)) { + this.activeParts = { start: parts }; + } else { + this.activeParts = { start, end: parts }; + } + } + } + }; + private get isCalendarPicker() { const { presentation } = this; return presentation === 'date' || presentation === 'date-time' || presentation === 'time-date'; @@ -1443,6 +1594,49 @@ export class Datetime implements ComponentInterface { warnIfValueOutOfBounds(valueToProcess, minParts, maxParts); } + /** + * Range mode: convert the value array into DatetimeRangeParts. + */ + if (this.isRangeMode) { + if (hasValue && Array.isArray(valueToProcess)) { + let rangeValues = valueToProcess; + + // If more than 2 entries, use first and last + if (rangeValues.length > 2) { + rangeValues = [rangeValues[0], rangeValues[rangeValues.length - 1]]; + } + + let startParts = rangeValues[0]; + let endParts = rangeValues.length > 1 ? rangeValues[1] : undefined; + + // Normalize reversed pairs so earlier date is start + if (endParts && isAfter(startParts, endParts)) { + const temp = startParts; + startParts = endParts; + endParts = temp; + } + + this.activeParts = endParts ? { start: startParts, end: endParts } : { start: startParts }; + + // Navigate calendar to the start date + const targetValue = clampDate(startParts, minParts, maxParts); + const { month, day, year } = targetValue; + const didChangeMonth = + (month !== undefined && month !== workingParts.month) || (year !== undefined && year !== workingParts.year); + const bodyIsVisible = el.classList.contains('datetime-ready'); + const { isGridStyle, showMonthAndYear } = this; + + if (isGridStyle && didChangeMonth && bodyIsVisible && !showMonthAndYear) { + this.animateToDate(targetValue); + } else { + this.setWorkingParts({ month, day, year, hour: 0, minute: 0, ampm: 'am' }); + } + } else { + this.activeParts = []; + } + return; + } + /** * If there are multiple values, clamp to the last one. * This is because the last value is the one that the user @@ -2487,11 +2681,12 @@ export class Datetime implements ComponentInterface { } = getCalendarDayState( this.locale, referenceParts, - this.activeParts, + this.isRangeParts(this.activeParts) ? [] : this.activeParts, this.todayParts, this.minParts, this.maxParts, - this.parsedDayValues + this.parsedDayValues, + this.rangeParts ); const dateIsoString = convertDataToISO(referenceParts); From 15aa4ae6ea7d053855da7232aa3d3b6f44f7f663 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Tue, 13 Oct 2026 18:32:01 -0600 Subject: [PATCH 05/21] feat(datetime): update calendar rendering for range selection Adds range CSS classes (calendar-day-wrapper-range-start, -in-range, -range-end) and shadow parts (range-start, range-end, range-selection, range-track) to the calendar day wrappers and buttons. Range styling takes priority over highlightedDates. Adds screen reader announcements for start/end dates using startDateLabel and endDateLabel props. --- core/src/components/datetime/datetime.tsx | 77 ++++++++++++++++++----- 1 file changed, 62 insertions(+), 15 deletions(-) diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index abb1e7742e7..d5cc930ff24 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -2644,7 +2644,7 @@ export class Datetime implements ComponentInterface {
{getDaysOfMonth(month, year, this.firstDayOfWeek % 7, this.showAdjacentDays).map((dateObject, index) => { const { day, dayOfWeek, isAdjacentDay } = dateObject; - const { el, highlightedDates, isDateEnabled, multiple, showAdjacentDays } = this; + const { el, highlightedDates, isDateEnabled, showAdjacentDays } = this; let _month = month; let _year = year; if (showAdjacentDays && isAdjacentDay && day !== null) { @@ -2677,6 +2677,9 @@ export class Datetime implements ComponentInterface { ariaLabel, ariaSelected, disabled: isDayDisabled, + isRangeStart, + isRangeEnd, + isInRange, text, } = getCalendarDayState( this.locale, @@ -2719,13 +2722,19 @@ export class Datetime implements ComponentInterface { const isButtonDisabled = isCalDayDisabled || isDatetimeDisabled; + /** + * Determine if this day is part of the range selection. + * Range styling takes priority over highlightedDates. + */ + const isPartOfRange = isRangeStart || isRangeEnd || isInRange; + let dateStyle: DatetimeHighlightStyle | undefined = undefined; /** - * Custom highlight styles should not override the style for selected dates, - * nor apply to "filler days" at the start of the grid. + * Custom highlight styles should not override the style for selected dates + * or range selection, nor apply to "filler days" at the start of the grid. */ - if (highlightedDates !== undefined && !isActive && day !== null && !isAdjacentDay) { + if (highlightedDates !== undefined && !isActive && !isPartOfRange && day !== null && !isAdjacentDay) { dateStyle = getHighlightStyles(highlightedDates, dateIsoString, el); } @@ -2734,15 +2743,43 @@ export class Datetime implements ComponentInterface { // "Filler days" at the beginning of the grid should not get the calendar day // CSS parts added to them if (!isCalendarPadding && !isAdjacentDay) { - dateParts = `calendar-day${isActive ? ' active' : ''}${isToday ? ' today' : ''}${ - isCalDayDisabled ? ' disabled' : '' - }`; + dateParts = `calendar-day${isActive || isRangeStart || isRangeEnd ? ' active' : ''}${ + isToday ? ' today' : '' + }${isCalDayDisabled ? ' disabled' : ''}${isRangeStart ? ' range-start range-selection' : ''}${ + isRangeEnd ? ' range-end range-selection' : '' + }${isInRange ? ' range-selection' : ''}`; } else if (isAdjacentDay) { dateParts = `calendar-day${isCalDayDisabled ? ' disabled' : ''}`; } + /** + * Build the wrapper's shadow part attribute for range track styling. + */ + const wrapperParts = isPartOfRange && !isCalendarPadding && !isAdjacentDay ? 'range-track' : undefined; + + /** + * Build the aria-label for range mode accessibility. + */ + let rangeAriaLabel = ariaLabel; + if (this.isRangeMode && ariaLabel) { + if (isRangeStart) { + rangeAriaLabel = `${ariaLabel}, ${this.startDateLabel}`; + } + if (isRangeEnd) { + rangeAriaLabel = `${ariaLabel}, ${this.endDateLabel}`; + } + } + return ( -
+
- -

Event Log

-
Waiting for events...
- + + From 8236f7d7b05dfade6d43087cedef1f921e5c182e Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Thu, 15 Oct 2026 19:18:43 -0600 Subject: [PATCH 12/21] chore(datetime): update generated files for range selection API Add selectionMode, startDateLabel, and endDateLabel props to the public API manifest, TypeScript definitions, and Angular/Vue proxies. --- core/api.txt | 10 ++++++ core/src/components.d.ts | 33 +++++++++++++++++++ .../angular/src/lazy/directives/proxies.ts | 4 +-- packages/vue/src/proxies.ts | 3 ++ 4 files changed, 48 insertions(+), 2 deletions(-) diff --git a/core/api.txt b/core/api.txt index 5d12fba32c3..3664cb9ed7a 100644 --- a/core/api.txt +++ b/core/api.txt @@ -694,6 +694,7 @@ ion-datetime,prop,color,"danger" | "dark" | "light" | "medium" | "primary" | "se ion-datetime,prop,dayValues,number | number[] | string | undefined,undefined,false,false ion-datetime,prop,disabled,boolean,false,false,false ion-datetime,prop,doneText,string,'Done',false,false +ion-datetime,prop,endDateLabel,string,'End date',false,false ion-datetime,prop,firstDayOfWeek,number,0,false,false ion-datetime,prop,formatOptions,undefined | { date: DateTimeFormatOptions; time?: DateTimeFormatOptions | undefined; } | { date?: DateTimeFormatOptions | undefined; time: DateTimeFormatOptions; },undefined,false,false ion-datetime,prop,highlightedDates,((dateIsoString: string) => DatetimeHighlightStyle | undefined) | DatetimeHighlight[] | undefined,undefined,false,false @@ -711,12 +712,14 @@ ion-datetime,prop,name,string,this.inputId,false,false ion-datetime,prop,preferWheel,boolean,false,false,false ion-datetime,prop,presentation,"date" | "date-time" | "month" | "month-year" | "time" | "time-date" | "year",'date-time',false,false ion-datetime,prop,readonly,boolean,false,false,false +ion-datetime,prop,selectionMode,"multiple" | "range" | undefined,undefined,false,false ion-datetime,prop,showAdjacentDays,boolean,false,false,false ion-datetime,prop,showClearButton,boolean,false,false,false ion-datetime,prop,showDefaultButtons,boolean,false,false,false ion-datetime,prop,showDefaultTimeLabel,boolean,true,false,false ion-datetime,prop,showDefaultTitle,boolean,false,false,false ion-datetime,prop,size,"cover" | "fixed",'fixed',false,false +ion-datetime,prop,startDateLabel,string,'Start date',false,false ion-datetime,prop,theme,"ios" | "md" | "ionic",undefined,false,false ion-datetime,prop,titleSelectedDatesFormatter,((selectedDates: string[]) => string) | undefined,undefined,false,false ion-datetime,prop,value,null | string | string[] | undefined,undefined,false,false @@ -735,6 +738,9 @@ ion-datetime,css-prop,--background-rgb,ios ion-datetime,css-prop,--background-rgb,md ion-datetime,css-prop,--focus-ring-color,ionic ion-datetime,css-prop,--focus-ring-width,ionic +ion-datetime,css-prop,--range-background,ionic +ion-datetime,css-prop,--range-background,ios +ion-datetime,css-prop,--range-background,md ion-datetime,css-prop,--title-color,ios ion-datetime,css-prop,--title-color,md ion-datetime,css-prop,--wheel-fade-background-rgb,ios @@ -756,6 +762,10 @@ ion-datetime,part,month-year-button ion-datetime,part,navigation-button ion-datetime,part,next-button ion-datetime,part,previous-button +ion-datetime,part,range-end +ion-datetime,part,range-selection +ion-datetime,part,range-start +ion-datetime,part,range-track ion-datetime,part,time-button ion-datetime,part,time-button active ion-datetime,part,wheel diff --git a/core/src/components.d.ts b/core/src/components.d.ts index ebfdb615049..a63c83d8ab9 100644 --- a/core/src/components.d.ts +++ b/core/src/components.d.ts @@ -1162,6 +1162,11 @@ export namespace Components { * @default 'Done' */ "doneText": string; + /** + * The text shown in the datetime header when the end of the range is empty, also used by screen readers to announce the end date. Only applies when `selectionMode="range"`. + * @default 'End date' + */ + "endDateLabel": string; /** * The first day of the week to use for `ion-datetime`. The default value is `0` and represents Sunday. * @default 0 @@ -1218,6 +1223,7 @@ export namespace Components { "monthValues"?: number[] | number | string; /** * If `true`, multiple dates can be selected at once. Only applies to `presentation="date"` and `preferWheel="false"`. + * @deprecated Use `selectionMode="multiple"` instead. * @default false */ "multiple": boolean; @@ -1246,6 +1252,10 @@ export namespace Components { * @param startDate A valid [ISO-8601 string](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Date#date_time_string_format) to reset the datetime state to. */ "reset": (startDate?: string) => Promise; + /** + * Controls the date selection behavior. `'multiple'` enables selecting multiple individual dates. `'range'` enables selecting a start and end date range. When unset, single-date selection is used. Range selection only works with `presentation="date"` and `preferWheel="false"`. + */ + "selectionMode"?: 'multiple' | 'range'; /** * If `true`, the datetime calendar displays a six-week (42-day) layout, including days from the previous and next months to fill the grid. These adjacent days are selectable unless disabled. * @default false @@ -1276,6 +1286,11 @@ export namespace Components { * @default 'fixed' */ "size": 'cover' | 'fixed'; + /** + * The text shown in the datetime header when the start of the range is empty, also used by screen readers to announce the start date. Only applies when `selectionMode="range"`. + * @default 'Start date' + */ + "startDateLabel": string; /** * The theme determines the visual appearance of the component. */ @@ -7070,6 +7085,11 @@ declare namespace LocalJSX { * @default 'Done' */ "doneText"?: string; + /** + * The text shown in the datetime header when the end of the range is empty, also used by screen readers to announce the end date. Only applies when `selectionMode="range"`. + * @default 'End date' + */ + "endDateLabel"?: string; /** * The first day of the week to use for `ion-datetime`. The default value is `0` and represents Sunday. * @default 0 @@ -7122,6 +7142,7 @@ declare namespace LocalJSX { "monthValues"?: number[] | number | string; /** * If `true`, multiple dates can be selected at once. Only applies to `presentation="date"` and `preferWheel="false"`. + * @deprecated Use `selectionMode="multiple"` instead. * @default false */ "multiple"?: boolean; @@ -7173,6 +7194,10 @@ declare namespace LocalJSX { * @default false */ "readonly"?: boolean; + /** + * Controls the date selection behavior. `'multiple'` enables selecting multiple individual dates. `'range'` enables selecting a start and end date range. When unset, single-date selection is used. Range selection only works with `presentation="date"` and `preferWheel="false"`. + */ + "selectionMode"?: 'multiple' | 'range'; /** * If `true`, the datetime calendar displays a six-week (42-day) layout, including days from the previous and next months to fill the grid. These adjacent days are selectable unless disabled. * @default false @@ -7203,6 +7228,11 @@ declare namespace LocalJSX { * @default 'fixed' */ "size"?: 'cover' | 'fixed'; + /** + * The text shown in the datetime header when the start of the range is empty, also used by screen readers to announce the start date. Only applies when `selectionMode="range"`. + * @default 'Start date' + */ + "startDateLabel"?: string; /** * The theme determines the visual appearance of the component. */ @@ -10721,6 +10751,9 @@ declare namespace LocalJSX { "locale": string; "firstDayOfWeek": number; "multiple": boolean; + "selectionMode": 'multiple' | 'range'; + "startDateLabel": string; + "endDateLabel": string; "value": string | string[] | null; "showDefaultTitle": boolean; "showDefaultButtons": boolean; diff --git a/packages/angular/src/lazy/directives/proxies.ts b/packages/angular/src/lazy/directives/proxies.ts index 885b667cfef..b04470da4ff 100644 --- a/packages/angular/src/lazy/directives/proxies.ts +++ b/packages/angular/src/lazy/directives/proxies.ts @@ -700,7 +700,7 @@ Set `scrollEvents` to `true` to enable. @ProxyCmp({ - inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'showAdjacentDays', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'theme', 'titleSelectedDatesFormatter', 'value', 'yearValues'], + inputs: ['cancelText', 'clearText', 'color', 'dayValues', 'disabled', 'doneText', 'endDateLabel', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', 'multiple', 'name', 'preferWheel', 'presentation', 'readonly', 'selectionMode', 'showAdjacentDays', 'showClearButton', 'showDefaultButtons', 'showDefaultTimeLabel', 'showDefaultTitle', 'size', 'startDateLabel', 'theme', 'titleSelectedDatesFormatter', 'value', 'yearValues'], methods: ['confirm', 'reset', 'cancel'] }) @Component({ @@ -708,7 +708,7 @@ Set `scrollEvents` to `true` to enable. changeDetection: ChangeDetectionStrategy.OnPush, template: '', // eslint-disable-next-line @angular-eslint/no-inputs-metadata-property - inputs: ['cancelText', 'clearText', 'color', 'dayValues', { name: 'disabled', transform: nullableBooleanAttribute }, 'doneText', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', { name: 'multiple', transform: nullableBooleanAttribute }, 'name', { name: 'preferWheel', transform: nullableBooleanAttribute }, 'presentation', { name: 'readonly', transform: nullableBooleanAttribute }, { name: 'showAdjacentDays', transform: nullableBooleanAttribute }, { name: 'showClearButton', transform: nullableBooleanAttribute }, { name: 'showDefaultButtons', transform: nullableBooleanAttribute }, { name: 'showDefaultTimeLabel', transform: nullableBooleanAttribute }, { name: 'showDefaultTitle', transform: nullableBooleanAttribute }, 'size', 'theme', 'titleSelectedDatesFormatter', 'value', 'yearValues'], + inputs: ['cancelText', 'clearText', 'color', 'dayValues', { name: 'disabled', transform: nullableBooleanAttribute }, 'doneText', 'endDateLabel', 'firstDayOfWeek', 'formatOptions', 'highlightedDates', 'hourCycle', 'hourValues', 'isDateEnabled', 'locale', 'max', 'min', 'minuteValues', 'mode', 'monthValues', { name: 'multiple', transform: nullableBooleanAttribute }, 'name', { name: 'preferWheel', transform: nullableBooleanAttribute }, 'presentation', { name: 'readonly', transform: nullableBooleanAttribute }, 'selectionMode', { name: 'showAdjacentDays', transform: nullableBooleanAttribute }, { name: 'showClearButton', transform: nullableBooleanAttribute }, { name: 'showDefaultButtons', transform: nullableBooleanAttribute }, { name: 'showDefaultTimeLabel', transform: nullableBooleanAttribute }, { name: 'showDefaultTitle', transform: nullableBooleanAttribute }, 'size', 'startDateLabel', 'theme', 'titleSelectedDatesFormatter', 'value', 'yearValues'], outputs: ['ionCancel', 'ionChange', 'ionFocus', 'ionBlur'], standalone: false }) diff --git a/packages/vue/src/proxies.ts b/packages/vue/src/proxies.ts index a6ef271d432..ed2909fed4d 100644 --- a/packages/vue/src/proxies.ts +++ b/packages/vue/src/proxies.ts @@ -351,6 +351,9 @@ export const IonDatetime: StencilVueComponent Date: Fri, 16 Oct 2026 01:37:43 +0000 Subject: [PATCH 13/21] chore(): add updated snapshots --- ...ionic-md-rtl-light-Mobile-Chrome-linux.png | Bin 22755 -> 23028 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png b/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png index c59e21a59f16ede3aa77d0f253f7755c551f40d7..f06b772161ea6c88b86c03700eed748f0c6a01fc 100644 GIT binary patch literal 23028 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 z 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 R1@OrOMLAX3DrvLO{{RBIsCxha literal 22755 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,lpPV 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 From 53530647d00e3de275b171c675ce540a0fb994c8 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 10:27:18 -0600 Subject: [PATCH 14/21] fix(datetime): fix lint error and update state spec for range fields Remove redundant `activeParts.start` check in confirm() since the type guard already guarantees start exists (strict-boolean-expressions). Add isRangeStart, isRangeEnd, isInRange to state.spec.ts expectations to match the new return shape from getCalendarDayState(). --- core/src/components/datetime/datetime.tsx | 2 +- .../src/components/datetime/test/state.spec.ts | 18 ++++++++++++++++++ 2 files changed, 19 insertions(+), 1 deletion(-) diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index 43be438e184..36cfde9eaf7 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -607,7 +607,7 @@ export class Datetime implements ComponentInterface { * In range mode, only confirm when both start and end are selected. */ if (this.isRangeMode) { - if (this.isRangeParts(activeParts) && activeParts.start && activeParts.end) { + if (this.isRangeParts(activeParts) && activeParts.end) { this.setValue([convertDataToISO(activeParts.start), convertDataToISO(activeParts.end)]); } if (closeOverlay) { diff --git a/core/src/components/datetime/test/state.spec.ts b/core/src/components/datetime/test/state.spec.ts index 55f039a7c07..28509363b45 100644 --- a/core/src/components/datetime/test/state.spec.ts +++ b/core/src/components/datetime/test/state.spec.ts @@ -13,6 +13,9 @@ describe('getCalendarDayState()', () => { ariaSelected: null, ariaLabel: 'Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); expect(getCalendarDayState('en-US', refA, refA, refC)).toEqual({ @@ -22,6 +25,9 @@ describe('getCalendarDayState()', () => { ariaSelected: 'true', ariaLabel: 'Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); expect(getCalendarDayState('en-US', refA, refB, refA)).toEqual({ @@ -31,6 +37,9 @@ describe('getCalendarDayState()', () => { ariaSelected: null, ariaLabel: 'Today, Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); expect(getCalendarDayState('en-US', refA, refA, refA)).toEqual({ @@ -40,6 +49,9 @@ describe('getCalendarDayState()', () => { ariaSelected: 'true', ariaLabel: 'Today, Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); expect(getCalendarDayState('en-US', refA, refA, refA, undefined, undefined, [1])).toEqual({ @@ -49,6 +61,9 @@ describe('getCalendarDayState()', () => { ariaSelected: 'true', ariaLabel: 'Today, Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); expect(getCalendarDayState('en-US', refA, refA, refA, undefined, undefined, [2])).toEqual({ @@ -58,6 +73,9 @@ describe('getCalendarDayState()', () => { ariaSelected: 'true', ariaLabel: 'Today, Tuesday, January 1', text: '1', + isRangeStart: false, + isRangeEnd: false, + isInRange: false, }); }); }); From 405bac759acacd7c83e9ea6f60e36bc5a2ab9e16 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 10:53:11 -0600 Subject: [PATCH 15/21] fix(toolbar): restore baseline snapshot from next branch The toolbar-basic-text-icon-buttons ionic/md/rtl/light Chrome snapshot was inadvertently changed and no longer matches what CI renders. --- ...ionic-md-rtl-light-Mobile-Chrome-linux.png | Bin 23028 -> 22755 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png b/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png index f06b772161ea6c88b86c03700eed748f0c6a01fc..c59e21a59f16ede3aa77d0f253f7755c551f40d7 100644 GIT binary patch literal 22755 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,lpPV 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 literal 23028 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 z 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 R1@OrOMLAX3DrvLO{{RBIsCxha From e90b03c0ff74c05577b2149a37f79ddb2c1bb5b7 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 10:55:11 -0600 Subject: [PATCH 16/21] Revert "fix(toolbar): restore baseline snapshot from next branch" This reverts commit 405bac759acacd7c83e9ea6f60e36bc5a2ab9e16. --- ...ionic-md-rtl-light-Mobile-Chrome-linux.png | Bin 22755 -> 23028 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png b/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png index c59e21a59f16ede3aa77d0f253f7755c551f40d7..f06b772161ea6c88b86c03700eed748f0c6a01fc 100644 GIT binary patch literal 23028 zcmb^3V~ng_yC?A8ZQFM5wr$(CZM%E7ZQHhO+qR9}c27U=nKyGXCucIr%!j&@Rds); zR94nn*YAJb6(%Pm3ImA=2><{9BQ7SS008hS?B@jl4*2uV7y!;2002CIxDdaRTjpgJ zm==;L-bl`6EHGkh7s|8BV3;S0@DR6L#d6T{@|udZz2%Z>BSm$%=YdLN_+ojh9P&_9 z009;O-;>uj0W2S1JQQaC{paRM>!x<};TU(%dyJ{vk_B_W9vwPSKqMVH^zcjXdSIVk zBtoV1&j7veza8We4iLnZ)$k(hc#z7B$CsE;#_y2pQ70-zKPg&~j?IOit3{pb2|L#n zH&t6MS9fD1$OxcE=EaT9J(h%T*oPNVDN8h)h)>Bw6qP#knc$03)(4PaEYmC>sx*~e zoy(^&8T}R;+|cQsQpoH~!~4tUbP%RS!J3tv35^MHSZ1l{^4*LbOC8t;e{jY5SoT|e zQ1CVC1hNb}4Hp{ILN#T*31O;+d225I)G;fTrE5a5nj^i7D3ewd9|^RwWQ?a1?_EPf zQw|=qfb-^VsX|u5MM&&OLJ0-n!dyXiIEF{c66zC0Le?5lZ1F+HtSj|csu1kWOi?S`YjE61t)N^K z$MkKlE&94S_`aOJSW>He+_wr~xfD`yB+ko?Wn@a^gsgpf{Xw_VZ1H^2%YKR4hSKrQ zPd8IzW$8lwPZ@)jdnJ04Oe`%wIwh?6H?+*fdV7$N(?W69URy)6X=(X`As z-tru_J{?Kjz3$qjHX#b`!2u8xqy}#`^JIq3SIcRxG$+mR^am%9J`X%opNke8O}}1v zJ&^#5WeT`HkKq*ha%=TbQpugg!qrLqHdH*aGSP&bOewOHOCFTVHC<2}PRWCIa*U-! z7+(@Q<4kAfw00Yy(%20$kxJ3-J`E^x==VADZ|uN6U^)zaEM~#afjdaEY@5J zNLad$>n4dAA%Ewa$Qlre$C12b5HmvY_H;>E_}i{0Q|?oAXN#e`9URf|^v8`P(Ro#s zjuKLoGa|JfkA3Yt{qE|I{F!7QK!EO{){&hEIpJ2?X@B)MKC!W6l`~n+h}{i>E6O+s zpXbu1$rzg>p-XcPI3g5dTd~i`o)~&|hXaZ%O#9kz3bHoq#1`LAFl3F-7dOZQDq^bU z3i#Q%sU-sFmlK=bj7vLc{h}t0Cw+#48p|aDUTp%ee9h9ISCqY@ag@8&eSRCre zJb&pk$#~CJ!(y-R7nSCXF$l){DzP^K7?+m zCi8Xu;$a%4&3IMS#_QuENHaaG;srUOS9AC>xTVo}Q=6D+ZS{J2h2ppg=@R zYqL)<1Pm6_;r^Jqkn`#3skXVHNtkqe=-mOZfFW)jMn6Q>*vXNIgeOT?LaBqLm^M|v zyN2v2;!f#>Pzp6noN*OtB{CXz`f&0uW!nHyLhvz+!SzR+v{rWRW;GX$va!TcG1?d? zoual?Y00-;bHj(xG_eUqH7`nuNzXT*4a=gU9}S15?C^LNo1)lKC4>eUYJ|5}cL$R5 z{p4A~^UcoZUPxW7@7Vm2n5#guZG`7v+VJE z3`9m~J?1KGOT&QzuTH%ZT_mzOsD<9u^7)MJhs)Y z5ZQoWX;5fvYz%iCWd}q?2&Q`dIO{zBiN!EH%=bf*ah2@2>rj<$+1iECE-!Uc6$`HJ zMVRAvuQHk(7#x+s9#3EO@x!y@zXY`l`;oj;$|-Zh?JW7IsHAn!uQXG(Je)I*GCDiP zfbw~zyK=T3j&S+%2MiK5PS)eZ>27v)#gBJyhvU@TiAxI!pEHOj3s9NeH{;rlTqg&4 zbJ}geSW@wq+^ar4J#8sbch}zbpc(Xb`2)o=jq%h*n)iR+4$x?|@*;EuC%1RpCrX-g2n<&5g=iSLCcrWhn`dN^g_wi~u1 zmr-icidFNjpa;iJwmwPKRhTJ;(Puf?b4%t&&QmHQ%)bgr|B;D`NcHO0IUe9p^Kuh5 zK#pQ)DyvEG7K2ke?1QU%^jW(?+L7}9g8GSsMbzC?BH5+)z%@*ceyg2D;=DG z3SvwqgVD&Ex7OECgRQq5zq*nUBMd`Jr>8T0qC!JExxJO#YJdE=YH=@-$x0pzXM2f2 zrS45wf} z^8$295No4RYb4^Iaw-6uI^j_phqRKddfd}7W}7W`&7%vtOPjcVuS9jxCFV*FvvAb| zbxTA!tFtSLvKA8YdQCif4OoHjUJ1KNKsPZlBkNJwEjBK-A!RFALn@&&Mx zwbhR(zJDJx(&wr|HhiQz&L>4?LZl-u{9DNcx$!IBBz#~$DOBd!B_G}$-Y8Y*UeeUG zWFQ0<8jpqPVynY&M0PU!zQXlATC?SoI>oZGU$sVOK%ijGWcnpdYI&2lySodE#VR%> z1uR-;O;tw1BO@sZ`p!6ZXGNlrc23w>y(kyA)h6c zmR4+OZMo3BPX3zG-H0C_BC_&8cF#9XbCHTN&h$jAN?Non>~6Hu|H8Cve|+oDdbFeg zN>`)n79mQ5;3pw14wX2nNhr8+q7KOMC^E_C0@2D{bLK&g_NBr~+bF!E($*!4u#npE zCK=w>uZXsMmJ$T4W-%=mkbKF>_2m^<i1(itt;?2asCA>TdUASA@ZG`h{iB+Sa5fC;bUF$dSzU#D{iC9*k>mum%)6U9YE zeeLN^=Ag#sG?F*CR9&+z)_42`wJ2$ zkK)H?Nk#fPcJnGk9p#Qpon82_)`!3vXR*>Pqb~Vw4wN^8bLDf#mBgT~6iE7#MVZDQ zn+yG-zQRzcF^si$ie9SHQjO6g1SwQ4vG=j(>Lxy9gO%NMjMAzO`h-vJa(^!(BIGHM z>X?ZH6%-uIlSEu^wlRA?Nx5NQdN6U4h4jsSxRl3(nwZda>p8_kVgqmln8o&&){?{; zS1+w!?khNgt6Gwc{Na1)wB8r91H}FvRmq$+y=!7}C#JPN@?C`Bzp3Sn0i)cc{AYrQ z-U%+-B#EhaB6;jG6+dFNr`0!#mVn_-hOcrwQOBbQxAp*mxvV;Qan&@hr%87MF?g-} zZ5BVOe5q}09}V+H1IM1h@^~kW(bX7FR)vfQRm3D&$=@p6+OKA$Rv)%hnx8@4s6Jlo z-e^DQX)3JK2WQ?Q3X}D{73|JwAQ*Pe#$<;L^>fym@wk+m^n3%YC{b&1KLvwX< z2z1u4u&4u2DH@J0>0vp7jLX6r+DLe+8v+QBT>c%WWk_jEJW8O}_n7OB_5uKHX>sFm z+oM!Rt8BbkbVgq8G)uYyce5XFHGwk`^vAUhR5Z4vRLnRxuI#B{>YuH}{)L6{c|<4E zk?5?0Ve@om@}zO1JW>4sfxJI&e2t~*4aLtlBbQqZHzzqIdH#*sR+mJpJMGRD^|aUf zmzT%KpaRYMhPRbzjCwPB19_$Kih2{L;=_z*IdhHD*$=z!hdS_*^?7b91*-%P`{_)C zDB^KmTg=80H)i}$lVF_+ew$4D1Y?qGeL~C>+BUr}>vyrJi>b}#*~i*0xJ=Tm1)DSe z-l~N-Se+?BC?mwaA(9S(IngSNWYXt-FRN6JGsgKdsXsfPk~Kpp1f8#|NynQ>P|3g+ z_e7p}6ycRL5(9G2&6Gf}Ky~D5(k8>WK|5ZHD<^3JZI2WE^UN$)?H>B&jLb9wj+=jH zM!ojhIGX&L;@7k+@iJ&H@Fi&|AqbdlDxLm(IIn6Jn|t__39tK|64i1e`R7%OF5e%$ zgB13LPtoXY^v<*8s|_Q>*SUj{S|kP=R8&-BU2HFoQ2nVaPTz@S>z_@*PmUvSSe_&# zbSv<%JfQD2>?-Y7RoQmcnG2??I*z9@*HLJ`-ZH%NAVOcRmWrHgxvOFL@vQXNCeeI{ z9b<| z)E%i{lQ|(Jm4=Rs>DHax&#KRn(pPu!%3CQZ7+7{9!HaWhH9)y|)@*Gl#3yuM>_1#8SAMs*=pBvwS{MAO0YpW2G`r4ad3$_HbFYrNJfBsowB~wxa-ISO zL!tvOSJTqd&-eD~%;a~IgV(hGZ2_zFyx@WTqIL9<;}{_vE{Z%p3Giv~df3|P7W@PS zX`F#4H)t`K?@T4tI1|BYYR^ILgCUjcJVD&G(qn#g3Qgp)g?BG|N&M}L>?#G7xTYH& z#(!y?V;eGBI2kEd=(aOulmc1iN>8Vz)3HgXAC#$ceU_njC!{TJX*hAszn!8>z(}}6 z{@xI|zW}ip(zmk~J6lR!%%@_0@zLui;HTJ~$YX+ZZTBA}GRVu9@q~gzY8-H+S6wPxP!y$>lmj7Y&<;Rq}wbI36DJ(tL<6l+oBZp{UbN8wi5& zYu?Sr)fXrx;CdrIfKEAnJKG6qfs{Ig(75)`(BfcLzFavTS=l0}^%(Gx%J5u$zgv*! zfPOdlaxsM@t*pT(T@==AK`QIGXc#CeX>W_L`jJX9%bKQw4~|t3-4Ouf_#mc^!FUXJ z%!8#bS671#Us%%C$3E2AOj&nwQPC8vqUqRH-(7HcU(+b++ z2h=(+!e5Nfy0Zrm6WCgYO?28+2?(J<(}%udMfbF|5c991`8S8C^cS2OYi% zq!|K!-HN-}gk){L+Cq7nUGGz`{oUNkk5mji>|6vEWjt5=s098y>XEnhtz|xsK&|Za zOoHe<$mlfu5Zh1OnRO0=GkbWzS{{nbn9djhr34$5coactG&ME}iZh#Zcu`|CmiweZ$b%&CFsObeYWjTbk%h%eic9hOjk zShg0P=o+4A6(py?z8F45%&sP%RW7f8Wgu;-y;7;|%~+cX4{B&e?BMiSw(pV&2&h25 zR=$WmrJ=UA-(m&oP)p3IVUCJs=}@7u=<--9H4rtbCuaSR01Em6{r*3r-+#}6|CgV< zVh*sQVmZ>hW)U_iM6sWk2|EuOPU}0BtfD)t>mO1apgTmX7+ujhpwI_vnJewCI@mTK zli41Na=~xWwbgm>XScH$Kif|989o~Doct&FBjtRu>1bc9jxzHJM)z!Cq7cg1J|b7e znc7CMd2_^;dfNM3U75#}<%}lZ)$aCq6d#KYrC>7cE6k3>^G;nx4OaaPWSPL1uj5O> z`C=twZ2u4E#TP%-ebmJiwPC<+D{BKIHWEl7dg&;fX|e3vrJ9w)Ia<&bxAC7OFc-26 z6^)8kN(D2Qdo0=)<7Ho*+GzgOVHWwu%@$qqg7$D zaJJ}fJ^$iTIX(pHVQZ?6I3cXj_^;L%3}KHhlHn43GQFOiS3VyD1H(kIPPgWxCh8bi zhI#p+%Ho+K7IZ@K1`y@H9AgS|Urf}G&X?h$HJSD53fk|5Z{~m1imMe!@9ZKpYI220 zFlkzeF@U*}RLX_0RJ<`m(uGD$UM`}NpD9OvdMSW*xtYe&a*)_ParZY%mrxF5dXkas zbQ1wmi=;;}QZ32fH`{>E@1;h@ub&?siG*Dfrq9;vBn32aa?}~{H;E9yXA?yK_Q02v zdrF9J4&omJj4#u0q2L2}Qt*F6AFs{-gg$WMtH+h%C{qW6g9;tZXoq_`o%Saqmi|=i zz7yiQu$QcE%_u_ope-;w)3g)-6y~!;|UP+ zY%y6NMOkY|j<~E4%dHdueGO0S3>ng)b;fuu`u@ZOtvC)b-34(xYrq0?Q#YFa!~p7( z*E27x?+kD~rmGLM5qc-X3lMV-UA%v8;=m%IE3yZnKn4#95r%*tCT8f(DY^+z;l*3duU350-eOhR#52+zu1599G%55!|QIv`k zL(YkntFh5WJkx}=PfAZ;&oe|@bwkD)(4&j>1CK~1P#kQ-G*4wMP!zNvQk9M%4t@B> zqU3dwPL4N3M*<#~jww#%*pPlTSZW#xHix=Ui>h~R9+-&5B=d3ApdZFePUzw6-c~nU zk@B>xj>d}|Sx452z&mfw_sL_ePo-S$lX;fbF>d;0xN0ZRytIGgig}?%umll4@iG$b ze)nKrwf?B*{(6o=*t<(G@b-vR>p7!i1@A%WUB5<2 zX=LSWRB5lGc6@)aVx5=qp=DK(86L@G z%9pqxLk^`envNMso9A%3OO!44Kn7dwpg!-H#mu;l9)?OT^{AmQFaCK_B2}=_NnWvN zv%9_f7@jDkg)h^TZFha$`qX+|O!JyB?++*&#lK7+KAUR{1-T{F29ez3{?wRfku@Ud z-}F}hyPlY;4^Ux#q=tosdvpN8`I*jU@4Y@ww6^VtnC&~uql#s*YiDW1XSP`F^R#zi zQ5du=v2lz!pY{5x-Dh_abW<|~*Q`sw^-5qBxEz{pcs3;nOfQzFjICO&H8nl<_sM2u zeu9#d^Zk6ua!4k$-O+S(b}yS+qmRL-zp%BHZS`!aeu}ndIw;EX`8pu#{`m=h6;u+e zx$oTX3WL#f;OP#9l2?aJZ#<^f^oM)!XgR%yE1R!48qGJpPRgyZdB|8~n)6y`| zTWh`FWv0@b&{;OW#}debcn`mTz&f69&1Y-J{`dtD5!Db0CZvkz&Ot|5L7`|B%Y4kP zlF`aH-$go!Hr{#rXNg=NO>i_Q9Q-Y^q1!o;bbht^T}$}2^**6MD$5!J=a+?Q`e9z( z9*Mi$gwRw=7iK)_YVLEt=AP|%_eO&h3TaFf;<1q736Jw66f?h|oxu=BN}*M0-qp#| z<{$}Y{P-7xt209bO<;jn@|^Xg{iq*}cPnn3Ic*SvFMdu?3M>8YF9X9AshT3d!x zWfZZ#%$3XYDjZ425~9#i8#cz5(I68-V@ z^@)xeAzU!WH~R4gCm|(;&FiD}e7z;-hxdH2NIsRpOzE{`*jge?HTd@F&#wSDTn?&)F*Pd{r-v^7 zfRHXXgp#h8JV8-Z8ZB%*JX>Sqq=}g<)^9i?GsK366;ktLLI&li(?t*@b;FBzCf6)6 z_m5DwWuG>%>kYn3(i%zVTZ#6yil7-V%nt|$EF`^*{!W7x5ya&h1 zhZB!HQm*0wA!&Y1%4;nwDxOXpx^RJ%_4$R7>^u;v`>mj5m##|(Fk2UIubmN?6NBM+ zp=AomD~;@vc1lWUskWy&6UE;2J99i#z1b#dIvV#+;bsJ)tWvb!vmPnppyB!(X=>ozeNt5#3Vs)H60 zcS5L%lMaY$Jp4heb$*zIkf_^h{O+UgBCz{n&~+Tg#t&X0MMOBUCe@{L?Du}Ji=_Y& zy7PR&gHyEwMxZ9*`rq)?5burJiVe$f@)xP;YP+wWJToX}*=csnK)x$; z$i@f40l>LKv!yzhhzl2v2~a0Ei?fD1Ju@>i@geyqCxA$WrX@!npCt(Bd!&>_`sJ3g z{4vK7wnE4ZniwN1do{PwV#{Y#ZkaN@p2A$N8q&0^`GM`nXLqImEHp?elL}z@a#JAk zI`CCm%2^vM3;u<_>V&Vheh&tR8wxG`4}8M^zrZJ;DjTgNit07!oQoD>#c5I31!|cY z&N-UesaN@U0Kva4 zpxd)XnlR4nX4@O#TSq2T_K#VLOG$a++@MakM^V%)tM#$E8*k1G8hDVoxp}Sj)Hq}% zuhHb_QjCrG$WFXQ>pWT{GnQ%sBHbT^C#lSdc{leqFXwBp6<#8=aliisrUd2x0j75U z1x!hQz!cJJ33Y|TGJ!fqpq6ZFBOa9HjZCA_DACzFW&c^lAX%RZwoD5KmWff+iAv<@ zFD##fyU|+JnYj@S+@d@+0>YcJmAeRsIP&7FXbf(F|8M8LPkK09Vp5W}_EtJ5Od1PC zH;-KB3;aXi^ZQ%<%76gD&$q{>5R>V2AVRegnX8)~ysbj1G3ZzXoFnpz!e2VgQYJHah52$~Br@#J zKimp=n(ervo^k26m@;Uh(59ham=pB19GgnHcNhX{9#B0kjoK4i*A>gLZ?x=(%*+MS z*`e7yiY#JM9yeuL(m>w4d+~P(8teGaIx;bmC@E!_Q-QyLpvYLA;fTB+`Jvu-8Mm&3 z1Z1m&Xf$>fw`Fid1=Kw8D1#D3l1g5o0=ZB$pM5&B<=fDOVR7snz821I(0hP8ZH$lD>-6W*Q+uv0>OKbEvvEJ1(fWz=Y1gdzPgSpx1Sj^ zZHsRMXmpEGVuPZZNz+4O!>zm7#^J?GtErbd2kUTf{{@XENwt=7%o!|Y&(<;hd8szB z zZZ1M|K2(WVIuTbb!^ix{uluQ!%L}#& zD+>khd$pIxdNmuV`7M&~>33kyCBgt87L4z-w)fq_%P&tFB1{b24_6^_LW*x?8p2N^p5jKJeJi-C@h!! zvQ4jzQJEJ)(%HAG4`Ce(fbNJ*I`=!;=ryf&J9e}0r?U-jj~^5owcpjvNMyj3^+q!q zC!WCKu7%&){Evk9zjt+Q)U8!UMowO^G9l!%H<A6TE6vqAafQ*cTv3U{QxuSe*p8q9hyVEtDy!_Hpf%3n_TUK z%~}_P(0Eo~f7{%+7HW|uQTSomgBm0Suc+;KleQhHEkZR1`4|E!`x}jJ*GH<+ILj2- zPic3tqTWL1k(fR0JY2!zIKeIy+oB%M6S18Q>(sp0&H8(Ni8dbeKY*FN;p2?D+iZNX zm3+u0oY=8sWa{%lBkP6Om6S?&Cf)?nCl&o!u#aV+Yd1yBrXitt zC@>;o7|PLQ*@n~dIRNeW@KWj0%bK&;W~+n$sp{6pZji(E8af(XO?mrjy~%vxZP(A6 zQnkwG@tiqg2$L@NJMiy;#d0NtsfXKQD!ZY_?7A}?F4yHsi)~mAWHqRGZ*8q(mj{YD zRX4fY!1ouL)BW<5=}b4|DE-%?xcf@Crc7#1Bp!7r}y=`7Bu z2j87CVB(weeTT1WTP~5 zXnM6UN%Ht$ehWrc-MaiDJW6(c)#T|yjS=Obb1AqTSBMB2P;)2Tdwm}&=;fIzg9=XV z5|fu+v-o2`^_zQZ);${qJkaywb{t>(9J@kZC8ptOtKKbzV{~l_Xn^8h%1yWFZkn>@ z_V@ndqy)=COBNHQYfU|2fN4!i7llAJ(gO7MXm|rt2=CIZ@NF$-~dR&l)gbPZi7|t^Su`!OI2~3{8P0= zr6HH;UT@hxpHk_(MEowKX2|O&f+>X<3JMwnuB8*ax={R%VlF##oPRyHfw~WIUl4W5 ztwA>jjd1x6LT~%l*lY6)KAQnJ8lKy7oF#+Z--tJax1PVFk##@ohDS957CZPUBVo8; z+ifLb`%{6txX(z7r8QuM$Mt?il!b8$=PB{ZD3rmh$3u+6oJI5Ob@g}c(dhzPCXCHa zB&hXB9DqLjK90JR&-V+0xV6rcZ96NFeo9W%1=A#uV*lgMupXR(u3dK$=W`WPVz~_S zoBlIh_cRSP>)i5{ekhn6#u92gMz{mafPz!eE0qP6%|lJ6l3GmB^Q`RH!vg6a;T|bo zKucxs9k(;=)QbcR4V^g+kS@7nXnmDPOzG#>FO&CbePU>XZ zSY=2EB%=De%2F}6GPe7)Mp_ASopGaY4f9)!WLGJw-8Y&D#j~pz{G+nN*ML)XAX{6V zO+D^O`UJiVFpvv2wB+&|WTkhX?yNANhh3$i_sF2058arzF5GmT&OBWmu{;ea-Zps9|V5m_V|pKOF8Z{LvWlx#TQkU*mr zo4eIlNGpF`P2yD9K>{ddw%jb16c{1Y-CfKeD-1+37--R%m0IIitPD4PRh^N@cGjybf_NBL@gROt!i>h*|+NO(<7TK+H@j+MMeIo zg^`UrX)|@}WrY3-;hP)kQ|0!gk~XbcbW+avl4O|4&H}V{H~Pd?Po1K)6Exom+N60< zlZS=E*}UoZeK);>lHEacx*53CQw5U2@9$wVQXr6ZLKo$ID&_}#jSCWL4ysEYTPm|T z+Vdv1SOHSvDmfkdbPOIqjt5pVHocXQ(?fQ%8N1%Y93Z?hnPgN_c5WnNoJuE!&yUeo z&eTm2P=h+YNMg3szxVSD=I9uER6ubBHhb5ZNPj0uky7KDUs+kdA;tbQ<^evND2x`y zo;`sFy!Nib2ryt!V-7o1tB@Rbij6CP;36uHn!O{lFkpi&kcL{fWTEuDfpy?cRjBl` zQAym6Y*%LR+dyMxdli)f)m=3^-mAozJep}7k%B=*B!l51@2Khb(Zzlmp<8<-kUnQ8 z*cnE3WLPU_)?7KKcTPXcOQrQcN6+tsn~ zL7?v<;!82Mm=fPqsWS&bl(1)zW8d2sV`Ie3sKqm9N8%~uizPRsaowl3tjy4E_cMqo<+IV^s{4$GJ`wST{#yvc zi{?z+&mVZG%7r)y)x<{SZ&mPvz-MPy=jNy1Ll(UCUL3yjJbLHJUE6evJ5Cff$k7{jE^|Z0|KVvxDr}+=hd|t_YHv zokAO%LcSdO!}HNXCZJxRy+F1XeEyKr6rEJG`+28x$JNvy?7@5mXDWPTS}QBbZ2#XD zz&vdu2Da7y@=h)Ob(43hly{H+fi~ z9y^ZluJ3qm9*cA7H}`xS=MO<4e=5xPRQ(e1=5ki7y*usb_iSf2b~V>3EL#5HPE$1) zDg_Mnph>2j{nLDWLAoY$S5{gL8qhg))6Fz5ue#G2_Dy6*VD<6${bSTpRVIrA*ZvH! zbnI$F9*YH-ND#i>TXQp_gokH`Ac5$uDc{#pAg@?BWC$O)<*RY^FOlcX%w-11)OZR` zRcyy+#2-8~)K4AG{(NIl*9*{QeW4ze^B2;srZe^U#3}ss1(3=7H3Ezwm*9`fT5An^ zRr}#)ry`xa60f>&R<`R7-uRz5(3mke{zf{Z z>g3g~JK%fbcwxUKlkv~kaDGBIF=iQy^;)}hnUc%-qW!~Z+&Xu3bo4|DZBUeU$FmqQ z;;PwZA-kH0Y&O?iHb6CA=Yz%C&$s)WsBzRk*zS6-y}!94$oYn%E8B%nRb5Y+O84xO zY#n_z9PV>@f6C$mh7v7cU}OXWLhJuBnbP1pJwNzn7Rc^Wt_P2NES1a0&P$gORyn?@ zh_8Tojp>sDuO8UC=J4xz^*?S-tCv1xfA^k=i3Km4iT5h``%w*b7vmeMCV2=xSrP4f zNDGt1H-CF$$8Fn;MqXZGyJI=B&{E!t3}lIvxRgMgbw!%>xzUInltm&Rb3MA$Ik~yd z!QtawuBF~7r&BUEkRRx+d2zNn(wS^>>)6g}n$t$j=B?RloWKga`e;3bAgK&L_gpy! z{N32zHC(cRJ)F})xv-YbQ4jSK`oC;UONB{sZ_OYg^iId8XB!q0A!&7cVJruL!BBNJ zbh-Xa)Qo=$;uTw`tM#JDmKZ$V>%M@Hy}gv)MNB3;zI&4?xmWbhPc@nq{{fSdqLP}O z+PH}$iy?YuX6Mn^z1p9ywD=(tVbL8dCb!iwq!Eji>Y&INr|$9S65njhO#T}WOxBX` zoL4N;+6y)dWDAp>=YWv!!-ic+aeRduURv^G_?R%&IG)ZVA;M1|xy8jUF&wglS=p{B zHr?p`Wava?4qel(1@(;iR|!tsxzMd6u%QAvBF?nu=jK*7)!UtceX{R&zT6fT`O)82 zaSZ_|&QAap9tqo<9>sNOpX+u)AnS|uu=mgUOL}mlvv&hGZdMM5-MuQIYs00|4sBdyqK4@0t*ywMho`&XKj~Pa(h~})bS3~Of>}aA!N3f! ztl-h`OwCRFP=peN^6Yv~v(1*v-6DAv3$^AK8Ti7F)BApzV=BcwUa;CgZ$GTO!SrFR z5FHS4t6Gl`9diF6=Lf=A+u1aU zgz%(TQ1es%`WyHbunNxS(Urzk&kDch!h8Xzx-60>3|hZM>dpfLg(xJ42yrR&$UDI% zH=<$8uFlWY(Xgq;%GfzNcsWvRL3Q;dr84*$7G8&=rp>vtRSB@Dutk7iXA6#v;)S`j|r_c!ZPKP0p_F`I0m&$+D@=~0` zGDtAIP-xN+Snt=1l^i=nfA;$!zaNQ0emC{M@gDi(di#)O_&Ge?=>R)62}Up0E`01X z3Mg;Qg)7PE1Fo~?^2b)V!{BJ)vAsS?RB!hOGNJfECzH;{*(Nj;%7;%pwRQMoJ~ir4 zOV-9Df?Avd$Ar%tczO99XV>oeP{7!Y=;7qp>=v7e07g9WoZQm9XGKIf?g?tF?Q1B# zgyJEG7ki8zVP5(C#MZz)dIjc;GyNxjgdhV2>;U4z08x>s!qUpkH-z;BKkG%2>q-NK zkTT(&L=az<;$q7bPO%kfWVB5sUI3?;Bj%4pN&Fdzl(0e5Swq>&z<{#RPAdu;Sp4RI zi;+fjzB@V7A~!EfTXYkjy=JK#K;TGDO-f!l)ZKHeu&pyo(?Rk^F$a$?siW#9@`8du zMiaz{J?`J67f7XfuEG35V^$)0j}8w5y9v+zLqM}+a{lGgu`43OA=ELMaTWV?kDasw zc)ypk?kt~oF+vqRE z=Dx6Z$IF;q3D}y?4W{i?&zfA z^JBjB^HQV6YMga#4iL|M9mag!}3(J%8M~bpGo{NY*jLmocoMSDpLHKiwfW&SO=@2 zI~#obu9LLPf>;v-;Hnem)o@fsL<-f^!~$_Sf2z;7;V&z%@6X?)iuYVABI9^mk-{L| z+rcncP`dn{u%T##&@m&H^M&;Pn6K7V$giw)F8A>yO4T@dgNdNkqOY*0c9}!@tkW>{ za@>f!6r3cfO)86bP2ADG!|a<4sivxmHfsUGLO-w}ST68hzcP{>U%rnC+`qP-%b&aiF#=6|#K{k++8yGX;cqfVRwmqtj5!6~c|?i`~7wzsFNpa$PZ~nRW6zL4=727QhcH zY$`vkSqt)aKV8b^Ud)?^3m){v@7=WeHy(>$Rc2_0Ona?E15^FSj>&ilm#xHAS3+y3 zy|^9n=ox%$mrApTcSeh3aSO$HJQ7Q39rLdNsh|)gq0A`!re$-lFh8a9)QN+L3n?b$ z<6na*94%|%)AvAmD=!HCHf2L=PNv1a3Xa#2lHXx%7-@JKh2~P@-LgnDk*7w#B*o%w3BZ9(iCVf44TPC)yS|6oto7aVTvpS-Kn+C(>Gt`3|aj*F%;L2kwyMUkZ% zl$!(d*nYvc{4>Fnr*31U)?~|Ji}Ur$ECY4Fz6V0#M=oLInKgiYWDh}>0yxDL*E2?+ zgsI!s!!G8Dh1rXU%dpXm7Rq}^!O3_**mS*>9&3{9X{>A%=HYIMtr*i>dTFZ>Gg6g2 z)#Evol;H4{%;i;J+^0is-nu^Yz^k9Vf9@ivW}Zp;4vlws(=SkS-eb@bw8bf*`FsSU}28Fg|Kp2PlMha zc2M6|={=&yE*RdH5~`M_rpm98i;V}+O4DULk$R9~#w^EMWp;VDdl^^QV-2Xhwsk~T zkh;NjOKn&vZ>ExKm`Q1C-4dO5x2XcjgL=KwB1AELIyoZc>&)0J`}hxVaxNmgK6LI^9yU5h%Hv%&lCdO+N>vh^~yjt=$tyd!E#|+9|V7mj*F5f^h%J#U&b36l`Lp zv!0cYmW0b^JwQuc+$2)t{>%hcBz+ztJKg2|xTIWr#$dLH;50w;KXfGggJuFkjSvQV z=?G%^4;T=uf$ZLrdLm?x=0OF!%78s8v6VzY!Wkwxc7%K$(ZXb}&9l6!e1vQ;BKPKh zMNc>pE_F;9I>nNsw6ZXpreXBU5wjca1y1Z9u60a3I>qFp-X!fjN%Cqz<*nn#m#TMq zBzXU5qFa=*Fwq?7QA2hMSD-7fJ7f&XZph06&8Tuz_MDX593oVL3soQlh_v6QbnL_% zDINI;0DNpJX3f}t)1|D`&y06m>GNiFHjpk}sj z8Ob#sJ1Jk4YA(fpfuSe0JF2Bqw%4*Ah0t^lP=$KP7;dfy>a+dFLQLWH1qKhKhtR)O z)3x$+n8w$)mLCcZZ08UC-s|xxTdv4F1N*%6`bp!Y@^rX1C#Q-f++Kbl$1h|sHfaM> zZ&V*&95ko;YmvIoze_y}vw<(Km1^O``UOyVw|mkuW+*~bArX0ejH2d5o@uPi*7PC8}apA;&KK1R0(^OKFxr+{l6`MqB~G6czP#6x0SZ% zg%7s8&~@UbzU;U4Jfa6R?`8Dvhqiu(he^P?dM$eTt0Z=1sS6iHhWVuhNn+`O19ENQ z$!{Tr$GOpujhP`HolG8T_9PEI@<~{l-O`$?XL8Rt2~ROD4TL%Az-Zv16LEafOiiLd9DU!W}9N+wfsTL zS>y;qb2_=?pNnMqjlj+61U139yW;AGQ(zO(E0%>o9)N4y4>GbZNEx9n}ngm2amOs-0vMm;?mA1i_(h-lA zWzm!ZBn^Ne=xq~cZ^*Nsu>~YTR6XWuS{PmGEKo=c4IBCAg!Ya+X{?9Y1Yl0#Z$cCB zpB0zb5d-@_8}30)Eg$dQPy{+>yaK|kQ< zXi6>!m@ony%Fjaf+Qe|po;wU&6hBrtL{wGLPuvog7T(*HhRi^2#F5R3bRSlS6==ku z!4&yFS~<(0xV|lmCqQrwfe;9m;1U8f?iS#Wy9Egj!KHC`4bU_J8VM5I8%Xc~A-GF` z#)3P9#;xb(y?HhB;k}txHS_IO->TD9eQ)n`_FBKatV*6aC1e$H3@-pTf%%pM{HRW# z`XL-`daCa`tK^YoWUmS19^cjq>{%zl?1nm{=+VA6B1VRd#4@J~?4Yn)=en= zA+hDzj9Yj$!iM+sJ$h>J!&eWxK<<8TPL?utw9|9QqCb_4xadK&aEN=Lb{A zK#l^!#2`HnX9e~FyRUOeB7B91?Hn?`dBuzCpxuqQ4l(5hC0tiGxw0P*ogah!=;C)) zMRQQ1={8-)n$ZwuO@W-`ryV-EImOqrDp>b}dx(LBm99cfJMzik!50_DmQf~y@)V>S zD|`l~T+OUFlQFP5$d^+hA}BD9gwgqRjOsdF^;*yh_}^hsIVB}|`IH^sgl;)+xb|mq zsUu=cdNXDgAr?KQ3y!nCey*xZL$q%r3jy3} z@vF3KTpH$5lVbLFAq1A{pHcx&^>DjF<=2H=HmnAp=kaiC_uM3Zv5f5|QpP{eel>Dx zh1Xx38!%BYxzqwL-w4--MU*>6Fa$pXX#!gaO6*DAz>nV+%=J`xdA$RuDpF?E&@2LK z{?#=aKfmE)d~jo9G)1oI6^!&=a=eKis=zrLq{Ht5rDHM~Z^Nmy^W5#B5Gt$}w_eyf zAT>%{4MRk?lNT2hnk{y@2@iZjrAo;-?y95w3gIWa6)NLgjCTmiZ)!sSOqSgMg?cdV zHtAPMqR(em!z@Mmi}RZ)@lW_WZt8gAn+>req+K_M40sIOEwcV#+S)GyaOT=M4|}v| zbB~hxN$w2CJNW1?T*lvVV|P|caDs39mTq`&tfk;5R`TrYPN)}uL4`T4+rZ&+gDZ?Y zEa-^W`KEjRF9E=2G^Nl1b6kNqT@Eh86MKMvHTMotzdBrMdi&boawcM7$#LsSoG!$vD=Sm1E=L!m>>` z5r3N1*{@zl;`XXj@v{ zx3e|PC!r{Y!dHYB4ys5mVO+LOFjjCnxo%~a`dQ~4s{t7-5{Izt#ucW z3?|fZ7zj{=Katjc$@#w5=WSrofbv)+?izk612M&kIj0FB@|?7S8aTu5ICWFz#|)#l z^1an+Q1-Z|1A8DJ{nQ%g_hLr5|C3ycfAa6jwa5f{reKBRB>L{jiOEV1PJ@3y)Y+o0 z72pFy#+;zlb=E&27>v*XNv;*Et&wbT8UPgTP=pkhOxqv-Tz3<~o*RaJ8Oasl4ZQsd zbcK;orlEIXn1r@V6$Z6~fj{BBbMSXRtK{;VI`Yx>_JN^`%)8~Y@Uvgt@_!VF@F9Aa zoU>PZ3r$FFZX(rO;gJnDrB=5&)7`PWmv~QKy?LZ+_4mw(q&&r~@_p}XtoY7nr&YzS z?$@Y{j(2D+i3M-+tj_}^yf4+-hk_0V3rtx9GRK8MV^d=WEwUmnET<3p?pn8dod*N4 z$%XZJoelN^`22G!{8I`m))exzI&PCOUYuPcQ_OLGr+ZKLdOW(t?Vx?a=gFnnOD}k@ z<;+L7+C)SqC$o@7T&*w_mcegi^sC(KcJh(>d zt=6pvP-xZh$qaA8@cz%p$zmu|+VbBOU;Eif$;dR?z+MZ;OVn25H5Lr8To1wZR#9-x zIvm!xFfu;A8>;t{bsIs_)Hys>C&RGhI1Mht@ zi*1nRdWQ?2dDr_)+Wm3r(72A4Kaj-r04oE$QpiUssXencANS)@tzKZ6gV|b{zy2E7 znY4Ll6QlQPO(_KMDbdiFI-}yFzX~4omiCPmZj~K)hqp!BY8|y|H{SCRp{XUE zLHwhijvn?p7-(trTzii*U07m&#t!fQ5sDGGT%=gBai94W%d%bE1UH{_D^TFWTc`Vg zEiQ!H#WIU-c2b29CuggyD97XSMDG$7a90^51?%_qazA0(`qcC6McV8^fw1Zt#v+wZ zb33=IZ?qaEE45Ru8~9MItlNW6nwAc7B;QEUsfQ@1k1IaAP03yYdXyFP^Ha+((Y(;t z;EtJ0Cs&P8#^?vf%ad2jnlKEs&d*9D#G;vk@6alKB@5c8O6-4#ZPr@7qQg@E(&D*? zE8MmATk_?K)oc@TzM#LqUs2I{2Q;4=+<%-Rorh1&L-Drb1Vj?-<$1J3z+bPr+R&$< ze{*>{Mbj2=gDG3o4Bn{-Fevc#)PLV5XWa3`U-}r!4n&Eac76-wTD*{fbn4By;np)Zz2!s3ouZh{;l%Srxc1nG&3dg6Wo&i5Mog+Nb@5 z+ARlTN>y$0dAJ0utRvW)0KMIGPpY?bLRR?1Q8;^yrRQkV-RqHA$Em$R=ur_!U6s^c z-HuzlUD91`)G46`iE;j!c$NewZZ5lkQpwfDf z3PUZBaG@X6x4knFjjLo{WIqocpJt9VJ&%4t4o$KRB@G=>c#+HYm`4Zq4nlfVx~Gg| z`fbivqxrT(R^2*0wp$XIX<|MzOX^?#6p=YHkMV{yUG=%&9r7><%?)0#6sWO;l!Et> zE#OZMt0Fz?PQ>Q~=LI$R@T8OZqKD^<0ta73?V@o<8Vb91U7APHnZ9)(`d5T@%Gn)v zy%TkKmSg~pc)X{JONnVm`}x?Afx9He-c;$`-9-TmWaodWuziI@(Y3Xw&O{gRvNg6f z{zC!hh&{%NZLnc5rqZ$@`<_lm90+8i1w2MAy=U|W59NEZn}#-X4vmtQ2T_^n_Qu?@ z>74aSMK9FO|j4 zr`5sERVvfvE!~vT(tj7W2gR>uYu8G?J#ni+rE;pMDn8UZ>`N|y+YGz7dP-$t7)1W{ zd4erfn=PV`ghdr@tup>`tl85{*m0H^pX=uQ_w?aU%%&u!$NoP6+KNTa zV#rzNG*>@$Y_5Le;$=xyaYy1GzkHkii#xQJ$tmr@102Uc*@2_kZvRq2=l80=*0!UE zP||8z{O+@_+^ebkFm>`C*7Tm4;1P$<#E5uozh-;lFu-|fMh8v_z4(hEh517q2%81GQP+_g2j>l+&6DJJz@Nzp zx^!XT0X4pjHr~y(t=^NRnU2Xx|GZnv5;UjL|9v>Wv123Tx#YT$pERO569Kd$l-}z5 z-@?)<(+y9qu)YH%HL6h$BA-IZGD{3rGcm6x2IsWc)TpyE?3^mR2M(eDw}pl?j!kUa znfV(`Yihk!e*H@2-1xNdqU%dLUW(e%t)-^aK<-m~8asP|hRW1K>!3 z@Y-G&X;~}NL81TB|4K(pI9+8-HKUd*4!Fj)+v6!zsb0GaIO6!xl!6`vl%TOg4CmT+ z-I#QVfp=KfHy;kiYLN#eEVEo!bZ>G^o8q}1(GpEW*VI}KHWE^|cI;dSK@5p1bYDzues3$Y_6H>--%lBxfQ`EKl z!Qx&(tG+vy-pwTszlkrhlp@V&R6@*KFQMUJOdYFwcbyg(5;UZyvRg8DdJ}ozN3|e9 zqcW$*Yd3l$rS!(5F1UdG$Ly298zQl$@x4Vj;q-v0{`(C;}XL?S%;0{zJMV_gDKK#j4azZ{xm)W4N>fTucl2Ak$oLlK=hgOdFNu zGVT$Ue1*G>%C+))o&N-^T}Yx$!g@hwk|@$%nZ4<9yeQGXIR(`GG@{-tBpD0si=5Hec4{&k+Z$fLB_a zr$W7(;gdB*-O8>s1T;Gx(E3PRt%l8Y%%ff!Xg31S4@pN zUNGd+cV}2_iIPxGW=Oe&!~QpW!PBYVl(G4g?2_4VwwRHe3G&$sFVp%sI1TDaj;@|%zqwxd z&{_sThQhVRueai9k&(HQ7{}Zu@cq@k@FhYV9G_!x(i|UnX8GPTdWTL~5eSzknq2yR z^xfhllLu&%J_sBSv9smt|N1w~g?YMoMfe|Up>se${HJ_-iO6>>4gygI6H(>SXlTwn zsIjF89%#NPaM)*`)v5?F_2ZyfBvU)JUyVPI{@`7rFu()VI3yT`dFZTb^^~akViuiw z4FJF<&Vmtr!JIA_?ZOJ6Clg-l1j}^~eFI6Rr_h;$=wHlZ)Vd5~GiX5F6!v4+PB}xK zWfxM1J+e5tYzVcaX60yhyTGZ&rW5PUhxi+9=dzClnV50{tt@T!k!+1$cK`7U1AaG8 z`zc|8@Y27$M@I0nyT@DnvUh&JkmK9s>O6pkcTvhVD6;9b1ftmP9yq-#$(tYh8Xwlc za!FokuCUSP_*lYGUXDQ2bf@M%C$}9UU-N>v@(n)a&WPz@pi+tk6btv4l#Az|6d6o{ zMFXpGl-eDZEg$1`^^+eMt}%KT=u-@ORJ*2-{rxws{@J>6ZB8y5-^}MJ%(fhiGg@Ao zVXv60-0xwf-3i|BotD8G(e(&9iU`&WMyBz{@`hil`3M-s zkMmXt_`>IURBm0mODofvogEs}=%LHR7HE1SbY0=my|7qrpvP~LZnI5oXsO(h?_DnJ zN58O=(se?p{S8PBS9y^k-RAu@1EvB!K3*;?Mr9!qW!8+iEd#F5n@-@XW-wPN{uXq+E+5r+T`FIP{mzY7VN=O-nF!V*Sg4 zs}&2IBx5K{VDx`Q`RU>hR%U z-J_`QVwn@Ze8pFwVs7Q0kHmvxSAHjW7aLD$`=p?!PFKeKWS>lh7D=)?*d4S+ z9n?ke$YpqgV#3I#6XmUV6O1dvAA1@mqNSZak5DKRr_2btX`1bgn=EE5)+FMHxEcsw zN|M6BWpjrKPf0m$6Jyk@B?BA`Sd^!QCmx+4)t>34!dm&nm3=ZkbsK#`tXA;Ub>pWC zXPpo?quTk?WE4&8VSB2mVycvw+OTdRl1v?$?25i?=d2j<=(IkBY7x!^*DAox)p=;q zb$g)z$U9dIIEO)=_JrD=&|}1?0?O+D(M?!K0g=rplu${x1aN`*=ir6@U`+!ja$xkW R1@OrOMLAX3DrvLO{{RBIsCxha literal 22755 zcmb^3Q*><6`!4A0*tTukwrwXnwv!#(wr$(CZR~KzHoJbO``_K8`B8GJ>R=3LQ!4<4jLO82nYyHN>WrA2@=->>{#eQDve(Pto>nF!w@P+SX+XPjzTg}vP0rQbtb>PXCr8s& zS1Um7D(K6@h8)d^(X>dhNJc8tdLq-DtMid}C^4ZfiCXC?a7y?(c3B%lCB?lj<1@&ujypR;gcX7P&E!b~7dg+s4;@+VWCt*kmlGb@z>-H(d`j0*&TI(m8> zM;lvps17GLsW z6k~-SbMElWV57Y@Q$0Ak%$UgHGUP`U%vL$T>Qr`}V|j6G>~y+nYWw~YYw_Ax4D2~m zFE=%~klSmnuL7A$0$b`mySEgrsiK)Lh$*2nd2QJm04L|nDZ5lUu9C6D!MC__y5|22 zJg3oDI;cQT4+&faed}9kW}AL#pNU_8Aitoch)X0;Zk#G3Uk+&jYl)p-JYD0HdEwth zyf$QzXVN(4O7sUr6Ps#9u~56;zAU^TBQ4Pv|;G%DjU8 zkVxtAiLMsQodOIfgxL8j7kWc#+>bhah1KNiWknzp?Xtirj~0a$bY0a&wBjN8ty4oxZdlVt-Ih;{9D3Za5L4PV*(hx_7Wy zvkeNdWdmJ(YDcT_Z#-upQRKUbS90Y?L(oxcMw5v_zx(yN>!#E7;^g9DtId873cD{lhr~|Q*%8Qk0(AwIbRUt#yb8@@e|ngnW1HFePV9U#?J`d+=_0;p z@SntbY;_1?T(1`u14%YZ^RzrP?`WvQP|6{n(s6R zA$G?q&!)lk;&nwuJ2Y5qm0I>MACkD_%+=wkXK#;(U7=a~ymO4p&$)B--InTN1p(Bx zK6kP5cjtezIk|j)@Hrg_>F8?od%PwlCX|$vK)_+!osOZI@i;g*G+{u2O-r(SYseX? zQA)ndw^{b;JO3yxCN7&VJ?74&!<21YoeTXb<4x&?$`UbRk^FPG$*8pKvZduSRhw=D zp2-v6V~d>D&MVZB)2C5eomM4>ke3keT7Edm-7u~3_q7v3PCNBpxsa3OrG)MunIWFR z$<1^d^3U~X5U}c(R*zSUE2r{m%1-Qk%1Uhmh_n!(T=nM^9-Qbc$-kZVvE5e*sF zkoRw6t|bbW{H6rAC1$Cu<3*tzVv}^={>RPZ?n#Eqej-q;^CF&iPpSk zk0NP)q;o?mPtr@0(b5K7(e$i1*|pMUT4ZeNPu5obhP703Rkv&}^Xa*tns8}rfwyPB zy5_m1lop3z4q_zms*iqgrYztlc~J8!8>Ee;>#HB;sV%+}#d^}hg~^Q>WWz(zzcV*{ zfp6i2#i*MQ|IU`m>fzzwjvwI222GjA;s|~gBnY@TIZe&Yaq2p}p3aXZl6c%M*Q>Qy z7%RTNUiR*<**$IzAt~_qz1v^MuXnlxzF$pl(LY{p2yk$sD!D8-K)t{m%4-z|)ZUvl zVthy~D+%IgNDiAB@<_qiNRypEC4$D%8fNV@D0^mg9HTfsyVBZ9V)CqBSb^a;2?%Cy zS;-t0XY%xw(~qc8JDc-YWTh^&68Wc~f0Gpk1_fo*c!$R}X$qaCRLNBc7dA*SW(ou6 zM7pP4%6_r-@877+$kRUjG=>>I^)?@<)LV}cSu;v$-`0!!`5q$^D(-|QL3Xr)^jS7m zWXWxyH}?N76nHYy_4VfOG3x5v>UFdgw3*jC2r+|dwpxK+MVzLORS1&2q8}U?0dpJZ z_&A7S_gIs%b-WzU}STG>QZYp$iL=yhzR zqRzjtERu$9k1A!6zZ73v7X&XmierFxq~nQ#{#RCaLEee@^|-O^ZJ3)up`JIJ+^x;L z3VH}*_o{`lV2#>{+Sm=j`RQM(Yu4ar1XJA%RyiI8>MyjL)3qDO%iaFf|g zrApas28(&8`whSOY<7`ET&1f0XRTNiy3nre(Rc!(a+yNj_i>uR-@l6`GD6nWy-ngp zZ-8%zk;z~%6b6HSbVS6jLl`yZU}9jmB-t*rAX;X%xo6{0zqzii7t z7Md73H3b9x`45V-v8ZB*CZ(a+ODKLcF|SKLERwGZ$>QAhZo_$O%Tw&P7-@kNMB(%E zpV0f1#aIe0d(QfuEEY)d9BRrQrxq#6_RJ3MZYD(;&3cud!upr@A%@nR$@Jwmw~3}F z>nv2HHNI}*=sjCbVCNK7s%n``K6$D}P4WMmf{sUUE%YLKwGwVFxoId^K)?>$c71(GqS!E=bGJbk}|W_da?Zt<^doRj@mzG4m)dURTjCr)Rlr9 z%iNCq!$;{h^tth~K(BUD7!09|OQSJ3M7X(mc|Q+x0%fJ8^aj1We0)0|zp}pGU6tGH zc7}(Ci;Ii#`Mgvewx*|LHF>zWgkWKeB9$&s>Zm0Q)HeSxW5hONspYX32wWV2bflZy z-VYP^ysDv$&@wGkQO8MC2xe)DiUbSd4gq;w#Bf8=GbHY`%%xKE3%TwAVk2^L_>!i^HCSi}kpe>(s%XVJ$|FKaY@ zpz-ctI^~6kx6BciKE;#lo~MO&cXz*CCe(o_MY+7*>l0vLh#O&EhSAdkVZl*Q11cH+ zRnKhXbe!?SZ;fc->{WpmT%{LP$qPF8@0&a>B~VEC!JXZOJLnWXOMxo)&vc48B5;GI zfsn3B1$*}K9Tn|TP#M>6xZ6fg-WU0HpTW9r1BtYR^eH-0QdzWQ{SFFUD2=9v-)zrX zpK3e4c#{?vF8g-;#J_r8J2*G;ojRK!luK>Bd9PlYgXUZCaHz!RTPgd8bIAZ zuon`f(LZ#>NHedrzgnP>&EwS{US1gZft8s}#}NCr%WrPmuI(F0ScVAP`kwY~R#qQW0(S?utI^hmRE0QKx#a$oV=QP1nH2#iraq#r;E zbiPpsELiU@zz~HGqQZu+qswpidjY{}A?iH&=~j4o-UT%fVvs`pHoBCwS9^E#|=vLY@aK zmrCJG=LOw~Nk}AOutQ*bJKXkqed>jZ76g3=wU--zPXSIvH`^T#TlRfoVwPRO!JwS@ zn3$S(GepDJ$H!p8t#&(|SS)7!NRT!KR`LmSCgfTO$ux(UI65pG(!d2y(5s!En#s=eF(cP(7GNW0Muj(IatMm zvhg4hZKeUc+UxE9#adn1Uyk4*qD4>$qC+$LpV)$>fwCaXRrfugHqQq$$)5ppBG%YS zF40SJNEdNiO391225PH6o)@b%YE|k_7i)7K1AyTo zCMITPX6}d9X|`AxPXKF;F8D7CAc28_5&FA}Rof^FudfuhYoP`*6zJ&UTfr9-St=o| zutR?}|7auj^P3dI*ofeVkci)OWi?{^*VQC?7-0V*Uh+cdl9o>6b~ischvM(qUtVPcF7j8{;9F^JLAaX6n-PdO zXK`PNAAN1dD*D4BzGn8w;?8Emjvfi6;5?FFkUZnP<&=q#a_^;UeCB9cxj91A^1b8xiUnHde-%$$Vi&b zRZZeN@{he9Gw#Png6|W<@{!I-yeiPCiLOu2MC>X{7$iq>ft-ZP_-UivTQeRk-#c-) z#*dpgWnPdXxFX@vYNnalmbsBa9SlZOcIIM{Rr{;QoSUzLE+c=Nno~y!vks%yrd08S zlQBJ0Q1ZemFRun@zKBPmIl__@1_g1mw9pAqx^3fTIEQ936RN?1Lro=2^m$0UJ1h5X(zj3cz(AJBT^rySSuvvgY1F%{GUZjP8s5mgmmB9< z{>0k^MY=l+IwzD3nSQN~#fuGGvmqqrui;?Np`Lo&wdrzCS?$V-iGis>JF<>rJVsn! z#*c(Fvf?%2Hv?m9Y{lZP4D1hOrL1z-f3~wNT%zncVZU>zNWD6!%-o!vF87o>Wwn_$ zfo&qaN*{c37(@^eTXrkH%(RlJ3(iuiIC(}?h{#++UF%n_&sgq(@y@w)a5dS;A(o8WY2mh00th`Qi)=7W%G9j5%!o z)=yEhL+PaQ#Z$JP;dsJwvEjq&EUV62%=d%X&WBO~FY06(l5oOY_oDulJi1xO^|hJ# z*ED%6ua>u#3=LM_o1qRc%Lmkv13(VvJmo;JH;4e-QA=SR7L0L%p+1owzXJ1X57ETR zC)5LCl@#Bt4edVPy@zv8Af#JC+&@q$oCIFyH`_{!!6{{-<>!P2$mJnte zfxJX0OcGf@DdK%^n(uQTxmsF&JJ5f(7RwOs(=pYvB6_rCOO!0aiC?rWq?Oqf&OP35MnBNa>F&Q*bJg3QgMhxGc<*?<*h#2%T*&FcWy<3f~o^ zkyRFH8XV~oUP1zneU;~AeOmstPYf<1TjqNJVI3*UPuF~|gZ_uGh)0YSH$Uz=TbwZG z7e;oV=3oMeCLeUa8ZIi+L7z$>u*tZJqBYTJ!J(~0Z&srh7~;>a1($mWg|Z@*%3T^F z4ysNb|Q|ir-NPbG}H}MJ`4r$HDw`#h;Tx%^`sX8 zW+Ny_&8Lu-V6Q1twUs@ui(Yvw=<3c&>zZ9*i!;B)QP4CIHJn%>hY1TVg3jq5IABPN zR1LTqMIP7;{{Q_V;iW*XWGs71X`qukhU?$7ll!2_tdVT#GN#k0(NX0grqgw->LH_( z8dIpQr|SN?(_B+ZmQ|)%S^Bi-w z^NHm%f%&J6w^B6AiR_%9C|4}I@tX_&zswIo0V;$Eu=@Wu@+$?O(PFHHuvS)RZQ^@_ z7Hecjn{4UB_iFgQeKgNSWv{Tmn)tHb+V~rxYfT>l-F#haJVYhd;=B=VG9|wE zXzGVD*lI$8Or(;Pm^T$h+k;@O`e30N*5qfj)M;1z?aa6md<465YXA*!K*pHuia+L? zULEo1kz{gN-#sMQy|fjA`p#vHuFYjP8EdG4$B-&XoPG){#&Sjhz(%;XR9$5o;OwMh z0fZ7+#0tOV_Z}rRiVSeTF0i9YmjttLBDVEv=ABjc0?#p!ad= zib zUkT{|dri?rQsfsIfe8lW*y(0g|4--}jeI?B z7gk2W!N`ixEJfg0b77Xq>bHpGO$lI3F??unG2(}x(1J2#wf!hNd6FU;P3=n&PT(p{ z;@Wiibc$t*p;0Um%Z~uWq3{*zGS^LbO zumfYw?wFi&-Au($%-y7eTjClv75ARtScz-}Dst+6EV9Gz$2W)=P+J8X&MvDjyH}D=Wi+_r2?z|jk#_HRJg&%i zV(n)a{O&#Th=$t_r5XEEI4M$+-vP1?W$m$tVA^Ic+xAb`dId)Ls|On@`1D%v13kN?+yVqx)G<- zQMkIbFIseXxTL)N^+pp#BX=UpGy{4ni;pk_H;yF-T~f0iJzjHn{s!~0i0IjF5Y}|n zqu%hjeQ6XfxlECyw5V;K&4*MJN98(70eotr#2~-14fd2!aK~Huc?%U?RPZRCKunFs zWlITE3SQYR*29AzP2u9ELhsie&DDd;Z#vxl7|Gy)bN+gz>C*mclmRUs9nt6JKOYr_ zo?TC-ETb-j08x*$--6Kvv~q}X=xa^xSs&Y8yF3N!I0K-_AouS>khYdJG2w;qkbeZ8n_7WCSCWSj(Y(2bA4=Ud04i|7vmrFJQl{nD+d+q@=%tBO5On-LQiMGrn2aj zT0GY%tQBE%^w-dghM;gLH(kk#+*+kF-U1#ix-?#}>|lqCM@0b6;q{MN6Ux+Q-zAY| z4@1o>>gA^6IJRseI&bwtorjlhM#$(+2W) zs;4=mebA|>m{^4>^{dRm!2vitE}#YzIh=X9+;|v55D>)NU06V}V+IhTD7z)siFFdQ z1WHzcgzWoZLv}(8RcM)fDPOY!ze(G9;y#AT=F6ctEI5v|AB%oYv_%j27XE9bQrSUS ztPmb|YF8m!48>Be-28neqnuZS@5)n*x!=@Yq|6T%tVj>Oo_GGnx0y;r9XHAh#s5CG z0AN%V`wuW0{qMjygaQCYKjnD)V>x|)7Dq9jiHN^xQ@bZ97u~!A_YRrsJGnK~um&D& zYlFf1RlybE8+_9%c{;1M&<|zw?L3AXJ$8G1ya{ojH9Nu=NQsgMA?mJzad9>jiwR$bp!&wyydXrQ|*q2f_STS1_(IfV2nkK)VX^bq1NS5S%$`W1AZbL3gj|zS z@H)5;6tXTZus-6T{z?{ttf>0InbeTx$u;fS?{~AGCB$@PE_#$*B`4aqIyt`;XJ?{a zuh3Uo|MRtvu_gao_FSjyXyd&_E;9TAUmrJmv`X74bnj{GC4a4A%FhK z5}|Pp8fj~&S1Y4QR8noQ@UlXgl0TtPNLIccB56EI#A09*)CtJ73&556B;Nc4tiWyx zxxALV9|t2*=5x6LP63qt^fBTfb#S_UldMSo3Rq;Lr=-|${9hALr2m(IR;7RZcLg-!riBWyCzCoDN}C2NyUtBvub(c* ze3lfQvprGgAW6=Uj~yshx*)ok{)<8wo){i!Q=Kw-ph(sZ?fOKM5C%T_@2H-mmOvhAsiw5wmm_y%#0donX2BJ>{7yW$ z@HwY#AwuMT;aGMcqG(5-*~7|7J|pTJI#Ka}O)g>gO%s9~Hs;j7?$WAY_l_JZs}~fP zO)krB1oznB&HeZi#ETK9a-Qti78V`^EeVqyHnjzgqkRJ-vgI~VH_00@SP2>4-Wp@r zo{=EU#}L4vsKNz~zrGAe7Rb9m3PRdmA|a&tF;2zr;p^l`qw@EQlbl0dhqDlspq9FH zMoX}0ttzov0>Hjf0u^YblJ~6`(#P{v7MC-5wy+o!bG=10bcrf8krQYn$V8+2?%wHY zz*)214)^-iQd!(xJJWbbr15%dEBF+;@Fm*z*w$8jLkK5E@LW!gOj|@yJ! zK;bGm?;_PyTqop`t8g&37dAf{Sl)q>E=|q_M1_E#!qNobV74S~p`58>6JJWxi% z<$QD2Wff@RE^-E_wckMgFNs~$o90&N>Ur}x6ViCjo|+}8_=)^)0xP=zx85_s;Aokg zf&)S{uI5WGU1f;bWWN>O8l6Mnwa0!sGL&G8*hu$e0981M9+9DW5{T_#x91Nc9kZQC zZHiT^cCqTH`>|+;*c>uHB`L5VzY2w`JApex=n(g!5s^u)d%^}AA zY;t)faMCm!y3x5)kkIGwemlh7r))YaF%M-=xYf_>dXkELg6<# z)uYt_`GL`snXG;F+y5LX#Y{~`vwqmD^p-;d=WQp`aitvyodr=cfzD9q$9s3nCYZBV z$1Z7b+cmxv<>2f_Z~tAO)Q&^gDehK#iNO31yg25{lXwOi=x&eCSC}xGoeW4rld<}A#$6&@bS?WK4I0|?Uv3+VX+du zEHAW8ZD=Tyc06c1f;xI)2@n=hiwg^bpk^lC-34c;cDvdvspV)j353Nn-IK#m5`+emv(8DWc)w!I9%@Y9hjb z#36r=&k6i&d+ zZlRPQ&^Rv_QACONb(RmiAu(T_uz_V6+)PQ3pkQ|Bd-+y;A&77yXFM)nEy7FBsXvC~ zZScyj$!!Y{-nNRBm}8UAH4!IR_Jrw?mB{3Du{b}0=IPt!NaOAOq5tR#ALA-SV8s3f zNE&##_V|16&tpwcNG+0s=OkjISwxwW)}2Tmm4AaKWX3z&J3_uD@2J@7e9X^oFMKAI z^E+$6d4|MgF?Dj7xY&vdIBT$&nG~eovTDF$OK(iKu{8u$PZ*oc6}Z}rMsU-6bm{U88rf5+A4;XKKdb7pYNkaKJNHYVj@rD zt|oLGIOAwWkNxx(;eSW5zN2#$sR?y#WbQieWk1Um1jrX#BqiWByxZvV(~bix@=M*U z?xEK8AP0kU6Gf}dSFtTkHcyP_YNF8^GO^XkELl9gMIP_uH9?jM&XToSeA`LB?}QGHx@dX1brrqS9C1p#A`yrG`liif4>gsoty{?0yR-qK=j_6!B}8UA|zdffGx(tQD4$EwWPV#cKMiF(gvhd;1g{+_9$@;>vAO*oyb#Njc%jU&?6WtfjyJ zNHs-MKd9c6BKo)g)meYZU;L&>hhfyIJ+~SUSwG$2RevnFSr*h=B)TF7fy+uRlf9sj z>m-z}hagW_xbE00ERW;m*0}G5MIL2z(Id48r&l~P-b(MwUv79V$;~j8ZXAUein#?! z(eg1XuH>itCL`r(tp=!<&gY#lF2blKW4)?opq%xzZD}$uj(WHe+g$LDGx^MC{qRqH zdU0ztp;lJ(5r&nzSjm?gb5L@DDlPi>m>jJ0kDGs35S`ssAQNHYxdxt+4PQ}nV}a@< z$h{*9|8Iq}kpt%mKPHU`b}Y}_8eS(VK&sN$CQ!4Y6+gk4iSp{pV@I0{_Vo1N+H?cu zk0C$kob%IIZIvA9ufM>wm>QMrd5uOeX)e6r#HN-*_* z99jLJeR9NSxpbEG=7<23v{;UdKG!+CZrN_dky1e_c0 z`XG=oeG1B1 z#H?OhDSY8px7vG>yLU0BeGp{?7hv9x=1+GR5me<`(4#Id# zXiv)bJ@7#)3OntW09KhkB3WPeV6Ir=muM_|i76!j$H1PJWDLJf7PoliHT>zv08DhI zjpD~YI*w9MJM@BFo}Ek2<`P+tS^!`CHcI`$JxiJl1l0y)l-YadI2w?jNhRwa$HVjC z@G)VXq!O}Xd(8wZ<!Y>VY zBmG|`zkUaX3ys?aR&Uqa1!kgu)?z}&5Ok)aFu|B#TS1eoO@)H9@LMW9B{^u&6dtOE z)mi%HjSHO^_wKmd3d561H!!9YYUC$L7YTS#K^R#9h1FJ8pz@)Ywn16W1V=hthGJ(# zy}79@C2+{sS*fFJGG$CI$%^H9M%?La5k|Kh3aEKo_4>eBj+s(dY;@M6g}4vSJi5&^ zXSIr(dt?6%52=tn?`+^{`)mJ0gJM*j8IJio4qcX3_IUqT`07$(&rv>PdQi5jVzqxN z&J9f4It}$8yhOWCX)W){HjHsKYRqE659d{Vn=Axygy`L1omisdHRV1DpSn)3u792_ zhDnky3j@;v{l_@_vS+4j@;AHIJ_ z_F>~Fu0bJ=z>RpH^J_%6@#FR$0ntRi_P~BpaMKR}S92z$gy-T>9m4#7MR4mD9XHiErl zwciL@yc~Ah>mAPj0O#uwW5*wV{8?o6BW!my_q~k3mm^T`#g}#LL(mnVtz;=`fV9 zuXM_$+~iwwW%eiTwr7Hq9T()5=t0OwQy?{>=+oa{A3_m;x*V)DrmfB0+xruc)RTzCtx#33e3;oE3LB8d z2B5qrMtcWVXge|_=y)fmv&Pa$oV+P-=?;b}h&tM?XXRTvS5XMZ*CQTVadRZgwX^#K zo_Kh_t>{gZ$yy33bl~y2YhqvWh~O3W!jBy51`4xQmK_i5T_I8uGf~g*0g?|S__9~&kTpGpi2-usFgerXRucU#k zO;2&iwd|f0`_J){!!w5-!~Ww`6MH*u@xX~uqlIe$wy{hf0f3BXRjs&PZ@)z`^fKZD z2-Bd~o6E*#uUD@?v0ogJvg~ILOi#E2cK9;nAS488HR1zQx$Et&7wEX3fE4cDH#B3# zU(|Gs(VbK}ok9BTBLKGqUjZoIA2Kys{I|I|gJwNY?2s0u9-3cW$=%o>2U{bF&1Q%~#Sj^nm{L*V>yuOur5_2ySm!ww7DXTu_WLvXjpY2&5RPEqJ z!~SkRD5$q;sw}1i`7Mm+;g`2`DjUCXiuis?>+e0Ah3?+)Qct5-@LL{wTsqA*Om*`=WxHSdPaNx`3J^YCbgRveS3ryE}`}v>~D_E4nISqjP zdon&gO~Q32L=5nF5iz2IL~#zuO*&gB}NHfVl+ug6nB$(76H3@%#}00Pkp zNcO71#|z`fnOj?DWn^@?U1_hgN1BL>kDBNCfJ5Nn;c?;0>+0feqYs_~%4AXWP{m@D z+ZhCFe-_N`;lC%3I$HI1ux$xl`xSY+|BnCes|arZ5^iIBtIswQr>EBC1uU&o#3rh{ zz*d?-5A$p*YdFRD@@@od9+t$PFT#I*GFlUOVx;_D@>D68>iA0Ldn|#sJu8d4-zh_c zGcd@km0sXJf~191yf)T12_O6$kt1bSd6HVFXbg^}HM5NEqNGy}>aS~qxI3~tQ{BI3 zfZ%k&rHxwI7s@HU#G16_r?rAESl{p8S4f9+$_?t9swK1dt&BPRf-!J^VQIJ0q}a>! zb=Q(rr&xVSpd6%LONUq_cO|_Etj;8)WSAEem6orZe|iTEXqL(6D3|qn0ozK;$W*<; zACAU=1VJ`K)&2n5KuRTNTWvRqWHK(?dLACHfO#nB6TJy&1u-L*0!ValCqLBRrpBP} zd(FUar``ypkulh~$6uiwZsvJno543lzr7CXGq1Qx;OpYLy7n8^O$prC43no$5Mgtf z$DgSgM5R)cP?r8VnMQ1=RcINv`1}-ZMFLJ=Iz&6@TiXyru}^t-`ide`Ees7+T8tVU zr7oc42&vwd=Z$%jgNa4eU@9Op!T!FSiaf23(SXc>FnM_4>~Z6*q$Z*pxJF#&Y;EB9 z%KM=RgSlyouY-%(8Z82*+E!B)ag~{&3y}ew;C2Z}0+C!5brjzE2KHBlwN&uC@=#k) zMg(o*_IBD8PQNdeYvde9^b--Xni}e!MTJs@YLVXa=bN)820A(*4~7m8c*X*KRnb#C z8uQm!ok3qLZ5(aFY>I?rmIv^E% zNbE8SW-mvRsG7Tbv8r;qKYTANq*F_!xv(ZUeeW~LoQ;t%cvl2;DmilkLQ+$4-&2d9 z-c-%a>@}KZs82DOB{5H=5c(8988vG+neJ;Ho5o)Y#pbdMXwwq^CDU!71nS@1SifO( z=~PGNEkdz@(Q&H@_`E;|7}hNo3dJU@1&M`PchMCufN04z7aLuZ+9vx$Grz)U%@TID z(gwix$Iu$2GM8;~Mvu~+EV2L0&(b#UIB9o$`WMyzh&8{Ecbv!|8L}a;7Zo#E%-mmZJ z;TunqB@eREli~sj@OXcuvRSUx!|9QTer8UZ0PU(+u872oM+l_J%OqRf$lPK(nAV$N z7(?61Trfu+Nhd_?buYEuaV*rK(uTBe+VehzMlJt907LHZmG{dMZ>fl5ad{{TFMY@t zmU~Uc+YIIM>AJk!X)Ida$yyrfJBVlQq}TMcgD2k`bFp;-wN-v=N6CDwvzGY=9ATvS z9l^_HZXM3y<}4z@kYannHe9~C0gKqx4UQ*r#%ivJisj>29VR%J zE`a9fdV>k#_1RjT!JQCfJO(N%BW5&UD;}WFnn|5HrdCV&Q@XnwdQx{QHWY^7?$-Kf z*|Pn*ESoTUs-N*o^_AwwQvc|jJgh!LOpQ^eP{lI7iEo5b)~2)o9Fs3JSXHi7bdSQH ziEa5dH;R-&8pv-nyZ4gC9eNMluRO#d64eMezj|91VJ_n{fVeBd;!Mz{%QQN}Ucv9# ze2a{vXOpb~0}tU^#dx%>6WFcKaPfUC86r(Chi99nP7sClY;}4jZp+8{!m;xpi5>oF zXJ$qg^_LX4#WRVk6{3stj z#;r~&IE$N+wVe4eKJP+=B>5QLlsDCK%)Ko>C-wzjF6NTeI{FM2w}hy&GK%6+LqO&x z2SBcRoi4xpph3%Rw^~O$IZU>_Mk3Mv)8>VS20VYIKEZ?8^dTiB6@R(c=O;i6E=d|S z(&=$W?5(7!shP!YYiw)`kIUwaRAmC*{s1^Z$TZ1CqQt|WI{^*eqVrE7(gL^M@I z3_3{$64!IqQuwpyPHBy!dCWmZ4g2W~~lijm=Y(AYY7oxWPe12|J< zMe+J7mJ?9VQ>q?&bIH3b$o=vG<*=N@lE6>81w-(BtGsilXYJ?1??P^-V^^FJW2$$@ zZiRm*VOR8L*iI>iPmabo|~zEw1;?e&iPZgy+&Q9oB9x zxMaHN?}k|FY4uty(%0+u+J=9x?b}G25HvzYQ~`qC$yBP`U+r3a%UfhKo205p*wV1G z&YwkBIbKPJ3qkL)Cw4Aq)7e)!c^`(~xR8~yB6aSKSIrLB_Hi(1ory2Zk54T{Kgs;_`@voniRDLSmf$P>i?*i)2`F%_{}7j-`bUa(g(pz5L<5qmV6u3 z-#M2InP;x2-tB-2>cN>Y<;KkeDftFX;Yz-4hY-d^k@LneS*1-B9wew3N=xFd()hM< zudond>W+sW9gNs+>)+h`$3m&#v{&nPEe}o7oCn0Ow{{nYIx!z4WtXt6glw6+F8dVv z4L7d!m(-M7!hRHm}HWC z0E9Ds@f=51zQ%cs|ydEysAV4C)DWHKd$luQ9hqj-ffu< z#Rj~M;S0q^)8fIyPD0?xz>)OP>h+_QyE%qywl2fueih&4cz}RlV?%Wpxlz_ z-RwM9Ft|aVcP#w6=5PziO8$W;pwqx{tHE9WR$f%uX9_EkB5Q9gy}LhAX%`?IgtA2d}{;1%go-<*xto1UQc@q1>b2C0;M!K>8thgPSlYfXy)Vab)mm#+Jn zq~N+-v_-07^^dn3*N4NOV4?8>1)JFfLu_ABYfNdjdu)oyXx6@n)|CCv63O-$g?eJd z8gW{1GCP^9de4aRQIL>$L?r)^3h+VWe4MJwj~ZH0%<$(=${v(i5`84ea;eXsy& z_Q$SA&K)ZW<0?#t<9_4KTU!tW4Bj6XxRO|wr?omRfKE^iW@fd5Xu#8!x)yQa%ab6T@-hA2^d~)r8K6I5n;sp@kO)5!ifx8* zxQ$La(151QKwts#a@af>!fg>vcxlBlfmAAVE9+v^xIbMBc#J6+9~SdDwOa^ z`MXK>%5@!%XPNy`0QG+AUV7w)qkM})+-DMcbi8_WZVhJj`6fdb&xV}(eR zN)4NwWE}M@n7Bta1YTENUt!gMIkeU2*_z!hSn0nkKqtgWr)5)hx`U^%{RjHGM7ki? z{DcZnO({Mk{02GKno1yZFb&LoUum)3nMcP}3m!Wj#1N4@$o$1Xp@dQ)6+T|A#B zLIYi%2{<2xU@CcCEogZzaKHB<5IOImupI2xPc?Wf_`ZOl{*BW7Z&r9|W>mOhlp6ED41aUTz}l|7YzMyNoSW?BO#Mw)sJ zzcbyLUmq|hs95JM9WXG02UKIrqZr1Ht_~z_FvbrU6Z{pBFe|xNTDhmiRm%mnjEB;@ z|8E9sB)h9`iH-eK4Atl0scP}b~;zg8Ed}g z_bO4!C}Y~d8PEA4hiX))lek+Axic1ScRY*VR+0h;Zo#wmcQDwA65(3leQwND*xot= z=A5-Z)l5OvdB`7AK5a$}xRwfZ6!dh70ARZ4#F1fZbhw7It<}bV{{N@K>YZD+7jZ*nI@jR,lpPV zHv@}S(4Wb{csn`|U0r2@AP9v-+=73XzhA=0R?uEVX`-t z1&T~?kWMhY)ZRPWk+9qh8s+cd>@5Gb@BQYHs*&qBlu0EJVks8S(OldA*3MZ*MfL7` zT)I<2x1bSxLbIKiGAQb)ros=hl>n&4AZXSOAOzBxA_=LSn? zA)@flW!M+MqHY<%$0gXo!FwIfu)E$wIk}!{`YY|Je-YQWA^9Pg3TgDXk`I;!*oOFW zMRT8!3**mfB_=aWY3WRaA*iwP4gj!cf3-YhrUhB`n;o<4;So?D$u)ZY|NQlD{wlCl zP>Cen{ry&*T`gZWP~=7-ga15&(TBlrMikx|LEczkcH(kErf|UV^~N*u!^{}hb-5hMK%EAcmo@mxwS&!!9jzE$Nw|V~}O$rA{D2Xz!&SNkb^#V5D z7x#u5FIF4rqQb^(t>>BiNe-F|L_R7JzuZ5wz-8XYmqmW(UkhQ`?Uob7#v1$P(D3Wa z9T=;{V!af*{(_{}dZPPF@J^e2GYPn=!U!%IvuQxr@UT!zvOKGN*PF``mX9EXWp=f$ z-1G8Rpn{mC!E#n{Mna~D$(spngs#%#&yp*$uT$qCQ2cq-;}%IDGlD4r{$BWpt3rNU zhv{gvYkvQLW0m;AW5I1iD3szIsl~waYM$!VB$tXaGm{nyk<41LHPf|N)@Su8oVt$3 zSdSXYv-E=lTwm*p5pS=096>P34DCcSR(cbjl}6&N^d)haRM4br0<*xw!(%jCCg~?d zYW@bT`g(GWT_q!QY4h=ApT>L^!lRN(jL*VHK3*2vBnxdluel>hSN!8W6N+gpo;ua) zFx(paEA3>D8Rg!++Ztjb;w{VfLzwCVeI_bIGGGtx7FPsYn`?mjizP(pGz~@8vcx7X zCyks%HjL{*Q>rT5Z~sL5roCrGM6nLJT@kRNCeETQ;pZ#RyEyL^i~S+4Gk+nNSA`{G zdwUx+TX?OH<=G6TC`A%uq*jEz1AEE;dkb3JT;OPA?@AZIMfBN9LSSIvKWh;BknNrV zQS#*)1uExyG9Tg@cgzjtwP`o66rAwkO7p#*v33)P$g$Bbgmr~&%l0`1MZtFcr(Bes zZfyikl(|YdwF5TNp!gg|^OTR({_K)Yq%lM8$uyTta4D0;?zH9Kz{zw8oql_Z%}2=L@WhAMBMQm+1qC3q>$yE6%$#6^%;H1q`lGhbm!nv8 zlAhh8c?b66@A_2l{vbF*Mv1l25xZEqd0tfT8%spa^)2jAYVRF+?C;;p+irFFyu$40 zUt{fcEH*g?!Zk_4ysj8x{2{*U8Jk-qdSpC}3G_{(6lnjv=9?#TeOW!9S}(PEVH?xg zdh3g#7`xIxsf+oRT7~XEp32{4K;dEc79UrAtyVx{*lkc zVJ^Gtl$dAJsCQm-Jh)|omR|e=9@UF3+l7sK6P^U%TE&+SHIYd>41g?iE~)lMNeX3b z{%D{Mg%(|1Y*pHr6N^3M=8o*Qj)X!(9L6@h$Z;g?q>0cAfZEEZ^(3&6@nZePd{n4c z`nOAMS==VJySr<75~5+SIl}6e$PvEusE=@au_f?@V5+~bub9jH9iPt5PDnGzR)eLr z!&%CE6PBG#`U@Lxu*nlgj!=KJ4#S7;Drw)7TRS@zT!$&5Gw81|r<|dk8CcLtlK6fw zCBC%6l=i`|XnOUJCpV?__YUTH;nD2csDLN)(Wv&kP+%-e%j< zHqP%33hu$vYIE!inGDNii}>rix>^r#<6@>^4VFJCx)+L(QJcU77CF=+{hDdo(h-o{ z7OLZ?SUh3-C$)zAknlUbK%oU*YVBN@tRI_5KZ+Peq>SNXFG~N$dFjHSDCSncz+GWgo^d;Q z>Zp8Ris80EKq*3Ov(V1<;YN zIv9*XzYv=S?5LSvawBUuFqrT(Z>RS~*()grZ#mvHq`W|6E%1FIMrdj3J^f&n*j=R^ zLrAiRO^bFMrk13q+OaRfG_Y-ZDvbLL(n{J=v^EgUu^oljD&-u1rzjgYg)?^*r}x}qFN%fb9v-~!Vg4>c z}RKk@4#3{m|i)PXpXvnjB~K zy~p1W5W|Dw&#J|E_^V!j^o8<2&f=b|x&$a|h z118QUS}9Z+o-=_c(skZkAzrw;o4+Alq61u@s2a#qgrJmvt&?qqzo*}s5u={!G!EbB zaQo_I8eA(rSBp1#oE6i{xgT-rYS=#jar;G_@Nsc}HMvB>ZChrjXzS1Ln!7!aM?Um@ zM=@pqnINb;k;ma*aQY-~ABBn(gF++8Sa!Fs;!{}g$e5ME47^13pq*A_8+0Wghtk~$ zsk!>v@`ZV+x(5FtJ3lxUjCEm3dkUto;R~{X7k3gE!c9x=MmmeGv3A7|UF(vkgoznz zyD9v<2V=;|xc7r@flnlaFnCRF_?_v(D!KT#62e!SUc4k8HN|%#VunR0Zx!?=CYJT5 ztY2aa6-Cl7dM2%^5G;+RO{4}QpDxcmeK@Hosq$6`L&wmiDC*A>w0zQn@^>%RJ>>53 zMg8*JM9%fBPrrJlkJh$IZ}=rF?Vti4vT%Q9h|_FsxvJDN%72a8E{uC2qyF5z(bYxf zsZqd>p1hXE`t%rfRt>z;NBUy&;C|j??h22cOH`I{QHrIji6f=xiftnfB~kCx$X>6z5SYLt>DSYibsAfZchH+fOzSD0OAD^ZbBC{_B)eo8n&t? z6V}d$C%@I#l+DZqGi&_vwGZIx`5R(#!q&UZ*$A%4Aq{DoOFzpR?`QO5i|;C>@)D#z z9i@3Wtd=dXa%3>tBR1{1JXPdxUoq#jR2FCqR196wXn>w z%W50WV#gbeu{T5|Jgv3PJ4y-CpPN$3&z-}TV;-w>G5YX2c=)bfI3{7a^QT8Y3VK$` zac`2(Xd_TY%V+$_RFNUc4yhR@M5p&3kez0ayGXrq{&pv(J^EjiJr?ffRhqM^>{gtg zFa!3Xmnhdtyf=f=caE)Y1{E|TUwcM;+{>z z>#UcChmv(FJt!^J&t>2QP_X89JKDSxG<;ol;$@23V-^Pl1b{Oc!1^wblC0OJw!~-2 z!O8h)^&pNxBJ3UB;qg*CRw6^9nPl2OC1vm)#tN~#{#o&Yc9KSL1|)^%bc4gbm#N7G zBqyHUitJxP4J}O6X>7eoj2xV8w~(HUM3p@Xv!#6)a~Z%V=TpCYZa*Cz6aaTt<-EC~ zY;19+bGu%!*p5qW_vxVbRAp7@k@ZTyzlLWzc=FQO64LS`@o%o*Pr*Zum^yg^*Fwf3 zRwqyOfaNtHdhEwD_mt=l8day0$LD+hESzzB9i*x0#`5T2|4#kipnm&Y?v>(sx! zI<*Ou2+=XdqKoBT6;XgOLk>AbMGF*MC}Xs(iRlZ!7M~ZuXeWO3q6V2=;!(uW5z`)4 zesy2y-^>I^wY}_w;R1P1Sg2zWcpuKH@)53Uz-1an&TYCB1=% z98yjTToM1RGaqQiM1XqkuF-taO%`p_?IeAKN91Zh@>Gob{ugW5=~W*u-TUE3AswOY zig!N00vck+UAnTGrf09C$&4E;69Nv%MK}yW-n%5*#dhUzqDt0H&2W&DONkw55|HmY=bm4;x+lQQFRQ6)h6q{BbL^&R1&SFko`Q*%a@sc@-{$vD53}fOJWFRbh z92#x+tku$%o;s^3BT9%X2p-N=MSlW$fPyl8?kr`ojb$k!yI?$ zveNlo^PM0wHQGU12cLif!#K@>l^?eO@G-=IA~e))G~tKTvh;82P-w>L#(;@beW+%u zX2QhhQ+20TSa3$;Ck!plOUq$@a^QKB?nUSev0gyERE#|*e3k}6yT7}L_IAcVX(m^j z)|#=)0V2aiCmLfZt^5<;gI|-(7Mz?ExKfa#!@W@zBf}3;iX||8s0SsWNRUYWy_JIo z(`rrCsfw*v*W(8;;_jjiGB zufKdj-2V%ku^9%S=ER7=nWn1WQQg#RDOalwRvA?$tNDWg1_|1>rs1y)n_yTw5_H_H zR$_wIGj$$ zHBCqy$|t)Gx<2XNmMk`@Q$uSIsjBm-jv5jhdhgJh($^DaH58&RYc7t>#7f@J3bgVS zl>uEJOzHvTjB80@SRG`T>8GA&kx+}wbH5(P|s(u{@@VSA#Ly~+oWi6S1u<| zK!ftf)YsQiwtBD3dMC+I7KRGgguI@Os>h)_Y2r`bhG>_r$y4u_&To?E!+1$PP*}h9 zQcN;0Qp6MFtK@N%cTk!Wx~#5HtgkR}=0(mk>COk^oazZX)HqSHjcu0=CA0 zc_ww!-TDo>T+ik4yj1vW5m#sB~S From 1b0efef3e68f2b369e9f179b2cbdb4ecd68954a0 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 10:56:41 -0600 Subject: [PATCH 17/21] fix(datetime): fix SCSS lint property order and disallowed-list errors Reorder properties to satisfy stylelint order/properties-order rule and replace bare border-radius with the border-radius mixin in the disabled range overlay. --- .../src/components/datetime/datetime.common.scss | 16 +++++++++------- core/src/components/datetime/datetime.ionic.scss | 7 ++++--- core/src/components/datetime/datetime.ios.scss | 1 + core/src/components/datetime/datetime.md.scss | 2 ++ 4 files changed, 16 insertions(+), 10 deletions(-) diff --git a/core/src/components/datetime/datetime.common.scss b/core/src/components/datetime/datetime.common.scss index bba9cb44309..a1a8259ae5e 100644 --- a/core/src/components/datetime/datetime.common.scss +++ b/core/src/components/datetime/datetime.common.scss @@ -275,6 +275,9 @@ position: relative; + align-items: center; + justify-content: center; + /** * Create a stacking context so the range track * (::before with z-index: -1) stays behind the @@ -282,9 +285,6 @@ */ z-index: 0; - align-items: center; - justify-content: center; - // Adding a min width and min height allows // it to shrink smaller than its content // which keeps the calendar day highlight @@ -310,8 +310,6 @@ :host .calendar-day-wrapper-range-start::before, :host .calendar-day-wrapper-in-range::before, :host .calendar-day-wrapper-range-end::before { - content: ""; - position: absolute; /** @@ -319,12 +317,16 @@ * match the calendar day button height. */ top: 50%; - transform: translateY(-50%); + height: var(--range-track-height); - z-index: -1; + transform: translateY(-50%); background: var(--range-background); + + content: ""; + + z-index: -1; } :host .calendar-day-wrapper-range-start::before { diff --git a/core/src/components/datetime/datetime.ionic.scss b/core/src/components/datetime/datetime.ionic.scss index fc43d7e6921..acbe3079ef2 100644 --- a/core/src/components/datetime/datetime.ionic.scss +++ b/core/src/components/datetime/datetime.ionic.scss @@ -253,17 +253,18 @@ .calendar-day.calendar-day-range-end[disabled], .calendar-day.calendar-day-in-range[disabled] { color: globals.$ion-text-default; + opacity: 1; &::after { - content: ""; - position: absolute; inset: 0; + @include globals.border-radius(inherit); + background: rgba(255, 255, 255, 0.6); - border-radius: inherit; + content: ""; pointer-events: none; } diff --git a/core/src/components/datetime/datetime.ios.scss b/core/src/components/datetime/datetime.ios.scss index 1f5ed1d2ceb..53d9e778b8b 100644 --- a/core/src/components/datetime/datetime.ios.scss +++ b/core/src/components/datetime/datetime.ios.scss @@ -348,6 +348,7 @@ :host .calendar-day.calendar-day-range-end { background: ion-color(primary, base, 0.2); color: ion-color(primary, base); + font-weight: 600; } diff --git a/core/src/components/datetime/datetime.md.scss b/core/src/components/datetime/datetime.md.scss index 4cd58c6f8ad..1ebcd0ad31d 100644 --- a/core/src/components/datetime/datetime.md.scss +++ b/core/src/components/datetime/datetime.md.scss @@ -205,6 +205,7 @@ :host .calendar-day.calendar-day-range-start, :host .calendar-day.calendar-day-range-end { border: 1px solid ion-color(primary, base); + background: ion-color(primary, base); color: ion-color(primary, contrast); } @@ -212,6 +213,7 @@ :host(.ion-color) .calendar-day.calendar-day-range-start, :host(.ion-color) .calendar-day.calendar-day-range-end { border: 1px solid current-color(base); + background: current-color(base); color: current-color(contrast); } From e07c49682725bbbf5880c2a0146fe2f6520f54c8 Mon Sep 17 00:00:00 2001 From: ionitron Date: Fri, 16 Oct 2026 17:16:51 +0000 Subject: [PATCH 18/21] chore(): add updated snapshots --- ...ionic-md-rtl-light-Mobile-Chrome-linux.png | Bin 23028 -> 23027 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png b/core/src/components/toolbar/test/basic/toolbar.e2e.ts-snapshots/toolbar-basic-text-icon-buttons-ionic-md-rtl-light-Mobile-Chrome-linux.png index f06b772161ea6c88b86c03700eed748f0c6a01fc..0ed37741902e16468fb975b49c66c8863b7e434f 100644 GIT binary patch delta 20188 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 delta 20150 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 b|C5qz)`UK)v(Nf5_(G Date: Fri, 16 Oct 2026 11:21:00 -0600 Subject: [PATCH 19/21] fix(datetime): fix remaining SCSS lint order errors Move z-index after min-width/min-height/overflow in calendar-day-wrapper. Move @include border-radius before declarations in disabled range overlay. --- core/src/components/datetime/datetime.common.scss | 14 +++++++------- core/src/components/datetime/datetime.ionic.scss | 4 ++-- 2 files changed, 9 insertions(+), 9 deletions(-) diff --git a/core/src/components/datetime/datetime.common.scss b/core/src/components/datetime/datetime.common.scss index a1a8259ae5e..3dc7e5eb024 100644 --- a/core/src/components/datetime/datetime.common.scss +++ b/core/src/components/datetime/datetime.common.scss @@ -278,13 +278,6 @@ align-items: center; justify-content: center; - /** - * Create a stacking context so the range track - * (::before with z-index: -1) stays behind the - * day button but above the host background. - */ - z-index: 0; - // Adding a min width and min height allows // it to shrink smaller than its content // which keeps the calendar day highlight @@ -294,6 +287,13 @@ min-height: 0; overflow: visible; + + /** + * Create a stacking context so the range track + * (::before with z-index: -1) stays behind the + * day button but above the host background. + */ + z-index: 0; } // Range Selection Track diff --git a/core/src/components/datetime/datetime.ionic.scss b/core/src/components/datetime/datetime.ionic.scss index acbe3079ef2..1549bb69add 100644 --- a/core/src/components/datetime/datetime.ionic.scss +++ b/core/src/components/datetime/datetime.ionic.scss @@ -257,11 +257,11 @@ opacity: 1; &::after { + @include globals.border-radius(inherit); + position: absolute; inset: 0; - @include globals.border-radius(inherit); - background: rgba(255, 255, 255, 0.6); content: ""; From 47aa10927d020181bc86a3ddeb163661d264b689 Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 14:54:12 -0600 Subject: [PATCH 20/21] fix(datetime): apply prettier formatting to range files --- .../datetime-button/datetime-button.tsx | 12 +++++++++-- core/src/components/datetime/datetime.tsx | 11 +++------- .../datetime/test/range-styling/index.html | 21 +++---------------- .../components/datetime/test/range/index.html | 21 +++---------------- core/src/components/datetime/utils/state.ts | 3 +-- 5 files changed, 20 insertions(+), 48 deletions(-) diff --git a/core/src/components/datetime-button/datetime-button.tsx b/core/src/components/datetime-button/datetime-button.tsx index 01d0e8358ac..2f54e1dad52 100644 --- a/core/src/components/datetime-button/datetime-button.tsx +++ b/core/src/components/datetime-button/datetime-button.tsx @@ -197,8 +197,16 @@ export class DatetimeButton implements ComponentInterface { return; } - const { value, locale, formatOptions, hourCycle, preferWheel, multiple, selectionMode, titleSelectedDatesFormatter } = - datetimeEl; + const { + value, + locale, + formatOptions, + hourCycle, + preferWheel, + multiple, + selectionMode, + titleSelectedDatesFormatter, + } = datetimeEl; const parsedValues = this.getParsedDateValues(value); diff --git a/core/src/components/datetime/datetime.tsx b/core/src/components/datetime/datetime.tsx index 36cfde9eaf7..146906ceb53 100644 --- a/core/src/components/datetime/datetime.tsx +++ b/core/src/components/datetime/datetime.tsx @@ -838,9 +838,7 @@ export class Datetime implements ComponentInterface { if (this.isRangeMode) { this.setActivePartsRange(validatedParts); } else if (this.isMultipleMode) { - const activePartsArray = Array.isArray(activeParts) - ? activeParts - : [activeParts as DatetimeParts]; + const activePartsArray = Array.isArray(activeParts) ? activeParts : [activeParts as DatetimeParts]; if (removeDate) { this.activeParts = activePartsArray.filter((p) => !isSameDay(p, validatedParts)); } else { @@ -1902,8 +1900,7 @@ export class Datetime implements ComponentInterface { * In range mode, the confirm button should be disabled until * both a start and end date have been selected. */ - const isRangeIncomplete = - this.isRangeMode && (!this.isRangeParts(this.activeParts) || !this.activeParts.end); + const isRangeIncomplete = this.isRangeMode && (!this.isRangeParts(this.activeParts) || !this.activeParts.end); const isConfirmDisabled = isButtonDisabled || isRangeIncomplete; const confirmFill = theme === 'ionic' ? 'solid' : undefined; const hasSlottedButtons = this.el.querySelector('[slot="buttons"]') !== null; @@ -3014,9 +3011,7 @@ export class Datetime implements ComponentInterface { } const startText = getLocalizedDateTime(this.locale, range.start, dateFormatOptions); - const endText = range.end - ? getLocalizedDateTime(this.locale, range.end, dateFormatOptions) - : this.endDateLabel; + const endText = range.end ? getLocalizedDateTime(this.locale, range.end, dateFormatOptions) : this.endDateLabel; return `${startText} - ${endText}`; } diff --git a/core/src/components/datetime/test/range-styling/index.html b/core/src/components/datetime/test/range-styling/index.html index 0d6cf054303..116838c1226 100644 --- a/core/src/components/datetime/test/range-styling/index.html +++ b/core/src/components/datetime/test/range-styling/index.html @@ -81,12 +81,7 @@

Default Range Styling

- +
@@ -103,12 +98,7 @@

Custom --range-background

Custom Shadow Parts (range-start, range-end)

- +
@@ -127,12 +117,7 @@

Color Prop (secondary)

Range Spanning Today

- +
diff --git a/core/src/components/datetime/test/range/index.html b/core/src/components/datetime/test/range/index.html index 1aca1c3c9e9..93c7bbb2341 100644 --- a/core/src/components/datetime/test/range/index.html +++ b/core/src/components/datetime/test/range/index.html @@ -47,34 +47,19 @@

Basic Range (No Value)

- +

Programmatic Default Value

- +

Single Day Range

- +
diff --git a/core/src/components/datetime/utils/state.ts b/core/src/components/datetime/utils/state.ts index 357c5dbc3b0..d192ef33367 100644 --- a/core/src/components/datetime/utils/state.ts +++ b/core/src/components/datetime/utils/state.ts @@ -135,8 +135,7 @@ export const getCalendarDayState = ( if (end) { isRangeEnd = isSameDay(refParts, end); - isInRange = - !disabled && !isRangeStart && !isRangeEnd && isAfter(refParts, start) && isBefore(refParts, end); + isInRange = !disabled && !isRangeStart && !isRangeEnd && isAfter(refParts, start) && isBefore(refParts, end); } } From 2c6101460debb886a37f1c01dc594ffa2e75c01f Mon Sep 17 00:00:00 2001 From: Susmita Bhowmik Date: Fri, 16 Oct 2026 16:43:29 -0600 Subject: [PATCH 21/21] fix(datetime): use pill shapes for range on all themes and fix disabled overlap - Apply pill shapes (left-pill start, right-pill end, rectangular in-range) consistently across ionic, iOS, and MD themes to prevent the range track from peeking out around circular day buttons. - Fix disabled overlap by moving opacity to the wrapper so the track and day button fade equally when the component is disabled. - Keep today's blue text visible when in range for iOS and MD. - Add readonly range overrides for ionic theme so range days don't look faded in readonly mode. - Add "Range Spanning Today" and "Disabled" test cases to range test page. --- .../components/datetime/datetime.common.scss | 18 +++++ .../components/datetime/datetime.ionic.scss | 68 +++++++++++++------ .../src/components/datetime/datetime.ios.scss | 51 ++++++++++---- core/src/components/datetime/datetime.md.scss | 45 ++++++++---- .../components/datetime/test/range/index.html | 30 ++++++++ 5 files changed, 164 insertions(+), 48 deletions(-) diff --git a/core/src/components/datetime/datetime.common.scss b/core/src/components/datetime/datetime.common.scss index 3dc7e5eb024..d22919068c0 100644 --- a/core/src/components/datetime/datetime.common.scss +++ b/core/src/components/datetime/datetime.common.scss @@ -352,6 +352,24 @@ display: none; } +/** + * When the component is disabled, move the opacity to the wrapper + * so both the track and day button fade equally. Without this, + * the day button becomes semi-transparent (via native disabled opacity) + * while the track stays opaque, causing a visible overlap. + */ +:host(.datetime-disabled) .calendar-day-wrapper-range-start, +:host(.datetime-disabled) .calendar-day-wrapper-in-range, +:host(.datetime-disabled) .calendar-day-wrapper-range-end { + opacity: 0.4; +} + +:host(.datetime-disabled) .calendar-day-wrapper-range-start .calendar-day[disabled], +:host(.datetime-disabled) .calendar-day-wrapper-in-range .calendar-day[disabled], +:host(.datetime-disabled) .calendar-day-wrapper-range-end .calendar-day[disabled] { + opacity: 1; +} + /** * Center the day text vertically * and horizontally within its grid cell. diff --git a/core/src/components/datetime/datetime.ionic.scss b/core/src/components/datetime/datetime.ionic.scss index 1549bb69add..e894f3a6609 100644 --- a/core/src/components/datetime/datetime.ionic.scss +++ b/core/src/components/datetime/datetime.ionic.scss @@ -219,19 +219,45 @@ --range-track-height: #{globals.$ion-scale-1200}; } -// Range start and end days keep the selected day background -.calendar-day.calendar-day-range-start, +// Range start: left-pill shape (rounded left, square right) +.calendar-day.calendar-day-range-start { + @include globals.border-radius(globals.$ion-border-radius-full 0 0 globals.$ion-border-radius-full); + + background: globals.$ion-semantics-primary-100; + color: globals.$ion-text-default; +} + +// Range end: right-pill shape (square left, rounded right) .calendar-day.calendar-day-range-end { + @include globals.border-radius(0 globals.$ion-border-radius-full globals.$ion-border-radius-full 0); + background: globals.$ion-semantics-primary-100; + color: globals.$ion-text-default; } -// In-range days should not have a circle background; -// only the track behind them is visible +// Single day range: both start and end, restore full circle +.calendar-day.calendar-day-range-start.calendar-day-range-end { + @include globals.border-radius(globals.$ion-border-radius-full); +} + +// In-range days: rectangular, no rounding .calendar-day.calendar-day-in-range { + @include globals.border-radius(0); + background: none; color: globals.$ion-text-default; } +// Current day keeps its blue text even when part of a range +.calendar-day.calendar-day-today.calendar-day-in-range { + color: globals.$ion-semantics-primary-base; +} + +.calendar-day.calendar-day-today.calendar-day-range-start, +.calendar-day.calendar-day-today.calendar-day-range-end { + color: globals.$ion-semantics-primary-base; +} + // Hovered range start/end/in-range days @media (any-hover: hover) { .calendar-day.calendar-day-range-start:not([disabled]):not(:active):hover, @@ -248,26 +274,30 @@ background: globals.$ion-bg-primary-subtle-press; } -// Disabled range days show the range background with a faded overlay -.calendar-day.calendar-day-range-start[disabled], -.calendar-day.calendar-day-range-end[disabled], -.calendar-day.calendar-day-in-range[disabled] { - color: globals.$ion-text-default; +// Disabled range days show faded text over the range track. +:host(:not(.datetime-readonly)) .calendar-day.calendar-day-range-start[disabled], +:host(:not(.datetime-readonly)) .calendar-day.calendar-day-range-end[disabled], +:host(:not(.datetime-readonly)) .calendar-day.calendar-day-in-range[disabled] { + color: globals.$ion-primitives-neutral-500; opacity: 1; +} - &::after { - @include globals.border-radius(inherit); - - position: absolute; - inset: 0; - - background: rgba(255, 255, 255, 0.6); +// Readonly range days should look like a normal range (not faded). +// Needs higher specificity to override the general disabled day color. +:host(.datetime-readonly) .calendar-day.calendar-day-range-start[disabled], +:host(.datetime-readonly) .calendar-day.calendar-day-range-end[disabled] { + color: globals.$ion-text-default; +} - content: ""; +:host(.datetime-readonly) .calendar-day.calendar-day-in-range[disabled] { + color: globals.$ion-text-default; +} - pointer-events: none; - } +:host(.datetime-readonly) .calendar-day.calendar-day-today.calendar-day-in-range[disabled], +:host(.datetime-readonly) .calendar-day.calendar-day-today.calendar-day-range-start[disabled], +:host(.datetime-readonly) .calendar-day.calendar-day-today.calendar-day-range-end[disabled] { + color: globals.$ion-semantics-primary-base; } // Time / Header diff --git a/core/src/components/datetime/datetime.ios.scss b/core/src/components/datetime/datetime.ios.scss index 53d9e778b8b..5d4ac50ab33 100644 --- a/core/src/components/datetime/datetime.ios.scss +++ b/core/src/components/datetime/datetime.ios.scss @@ -340,32 +340,53 @@ --range-background: #{current-color(base, 0.2)}; } -/** - * Range start and end days should have the - * same active styling as a selected day. - */ -:host .calendar-day.calendar-day-range-start, +// Range start: left-pill shape (rounded left, square right) +:host .calendar-day.calendar-day-range-start { + @include border-radius(50% 0 0 50%); + + background: ion-color(primary, base); + color: ion-color(primary, contrast); + + font-weight: 600; +} + +// Range end: right-pill shape (square left, rounded right) :host .calendar-day.calendar-day-range-end { - background: ion-color(primary, base, 0.2); - color: ion-color(primary, base); + @include border-radius(0 50% 50% 0); + + background: ion-color(primary, base); + color: ion-color(primary, contrast); font-weight: 600; } -:host(.ion-color) .calendar-day.calendar-day-range-start, -:host(.ion-color) .calendar-day.calendar-day-range-end { - background: current-color(base, 0.2); - color: current-color(base); +// Single day range: both start and end, restore full circle +:host .calendar-day.calendar-day-range-start.calendar-day-range-end { + @include border-radius(50%); } -/** - * In-range days should not have a circle background; - * only the track behind them is visible. - */ +// In-range days: rectangular, no rounding :host .calendar-day.calendar-day-in-range { + @include border-radius(0); + background: none; } +:host(.ion-color) .calendar-day.calendar-day-range-start, +:host(.ion-color) .calendar-day.calendar-day-range-end { + background: current-color(base); + color: current-color(contrast); +} + +// Current day keeps blue text when in range +:host .calendar-day.calendar-day-today.calendar-day-in-range { + color: ion-color(primary, base); +} + +:host(.ion-color) .calendar-day.calendar-day-today.calendar-day-in-range { + color: current-color(base); +} + // Time / Header // ----------------------------------- :host .datetime-time { diff --git a/core/src/components/datetime/datetime.md.scss b/core/src/components/datetime/datetime.md.scss index 1ebcd0ad31d..e7ac65a9e4e 100644 --- a/core/src/components/datetime/datetime.md.scss +++ b/core/src/components/datetime/datetime.md.scss @@ -198,32 +198,49 @@ --range-background: #{current-color(base, 0.2)}; } -/** - * Range start and end days should have the - * same active styling as a selected day. - */ -:host .calendar-day.calendar-day-range-start, +// Range start: left-pill shape (rounded left, square right) +:host .calendar-day.calendar-day-range-start { + @include border-radius(50% 0 0 50%); + + background: ion-color(primary, base); + color: ion-color(primary, contrast); +} + +// Range end: right-pill shape (square left, rounded right) :host .calendar-day.calendar-day-range-end { - border: 1px solid ion-color(primary, base); + @include border-radius(0 50% 50% 0); background: ion-color(primary, base); color: ion-color(primary, contrast); } +// Single day range: both start and end, restore full circle +:host .calendar-day.calendar-day-range-start.calendar-day-range-end { + @include border-radius(50%); +} + +// In-range days: rectangular, no rounding +:host .calendar-day.calendar-day-in-range { + @include border-radius(0); + + background: none; +} + :host(.ion-color) .calendar-day.calendar-day-range-start, :host(.ion-color) .calendar-day.calendar-day-range-end { - border: 1px solid current-color(base); - background: current-color(base); color: current-color(contrast); } -/** - * In-range days should not have a circle background; - * only the track behind them is visible. - */ -:host .calendar-day.calendar-day-in-range { - background: none; +// Current day keeps blue text when in range +:host .calendar-day.calendar-day-today.calendar-day-in-range { + border: none; + + color: ion-color(primary, base); +} + +:host(.ion-color) .calendar-day.calendar-day-today.calendar-day-in-range { + color: current-color(base); } // Time / Header diff --git a/core/src/components/datetime/test/range/index.html b/core/src/components/datetime/test/range/index.html index 93c7bbb2341..2fb74655cb4 100644 --- a/core/src/components/datetime/test/range/index.html +++ b/core/src/components/datetime/test/range/index.html @@ -163,6 +163,24 @@

With Adjacent Days

> + +
+

Range Spanning Today

+ +
+ + +
+

Disabled

+ +
+

Readonly

@@ -213,6 +231,18 @@

Readonly

return `${selectedDates[0]} → ${selectedDates[1]}`; }; + // Range spanning today + const today = new Date(); + const fiveDaysAgo = new Date(today); + fiveDaysAgo.setDate(today.getDate() - 5); + const fiveDaysFromNow = new Date(today); + fiveDaysFromNow.setDate(today.getDate() + 5); + const formatDate = (d) => d.toISOString().split('T')[0]; + document.querySelector('#spanningToday').value = [formatDate(fiveDaysAgo), formatDate(fiveDaysFromNow)]; + + // Disabled with value + document.querySelector('#disabledRange').value = ['2022-06-08', '2022-06-18']; + // Readonly with value document.querySelector('#readonlyRange').value = ['2022-06-08', '2022-06-18'];