![]() |
Qwiic_RV-8803_Py
2.0.0-1-gad89d9f
Python for SFE Qwiic RV-8803
|
Public Member Functions | |
def | __init__ (self, address=None, i2c_driver=None) |
Constructor. More... | |
def | is_connected (self) |
Determines if this device is connected. More... | |
def | begin (self) |
Initializes this device with default parameters. More... | |
def | set_12_hour (self) |
Sets the device to 12 hour mode. More... | |
def | set_24_hour (self) |
Sets the device to 24 hour mode. More... | |
def | is_12_hour (self) |
Determines if the device is in 12 hour mode. More... | |
def | is_PM (self) |
Determines if the device is in PM. More... | |
def | string_date_usa (self) |
Returns the date in MM/DD/YYYY format. More... | |
def | string_date (self) |
Returns the date in the DD/MM/YYYY format. More... | |
def | string_time (self) |
Returns the time in hh:mm:ss (Adds AM/PM if in 12 hour mode) More... | |
def | string_timestamp (self) |
Returns the most recent timestamp captured on the EVI pin (if the EVI pin has been configured to capture events) More... | |
def | string_time_8601 (self) |
Returns timestamp in ISO 8601 format (yyyy-mm-ddThh:mm:ss) More... | |
def | string_time_8601_TZ (self) |
Returns timestamp in ISO 8601 format (yyyy-mm-ddThh:mm:ss) and uses timezone corrections. More... | |
def | string_day_of_week (self) |
Returns the day of the week as a string. More... | |
def | string_day_of_week_short (self) |
Return the day of week. More... | |
def | string_date_ordinal (self) |
Return the ordinal for the date (day of month). More... | |
def | string_month (self) |
Return the name of the month. More... | |
def | string_month_short (self) |
Return the name of the month (short). More... | |
def | set_time_list (self, time_list) |
Sets the time using a list of bytes. More... | |
def | set_time (self, seconds, minutes, hours, weekday, date, month, year) |
Sets the time using individual values. More... | |
def | set_epoch (self, value, use1970sEpoch=True, timeZoneQuarterHours=0) |
Sets time using UNIX Epoch time. More... | |
def | set_local_epoch (self, value, use1970sEpoch=True) |
Set the local epoch - without adding the time zone. More... | |
def | set_hundredths_to_zero (self) |
Sets the hundredths value to zero by setting then clearing RESET bit in CONTROL register (see App-Manual page 43) More... | |
def | set_seconds (self, value) |
Sets the seconds value. More... | |
def | set_minutes (self, value) |
Sets the minutes value. More... | |
def | set_hours (self, value) |
Sets the hours value. More... | |
def | set_date (self, value) |
Sets the date value. More... | |
def | set_weekday (self, value) |
Sets the weekday value. More... | |
def | set_month (self, value) |
Sets the month value. More... | |
def | set_year (self, value) |
Sets the year value. More... | |
def | set_time_zone_quarter_hours (self, quarter_hours) |
Sets the time zone in quarter hours. More... | |
def | get_time_zone_quarter_hours (self) |
Gets the time zone in quarter hours. More... | |
def | update_time (self) |
Updates the time by reading the time from the RTC and storing it in the time list. More... | |
def | get_hundredths (self) |
Gets the byte value for hundredths. More... | |
def | get_seconds (self) |
Gets the byte value for seconds. More... | |
def | get_minutes (self) |
Gets the byte value for minutes. More... | |
def | get_hours (self) |
Gets the byte value for hours, automatically converts to 12 hour mode if necessary. More... | |
def | get_date (self) |
Gets the byte value for date. More... | |
def | get_weekday (self) |
Gets the byte value for weekday. More... | |
def | get_month (self) |
Gets the byte value for month. More... | |
def | get_year (self) |
Gets the byte value for year. More... | |
def | get_epoch (self, use1970sEpoch=True) |
Get the epoch - with the time zone subtracted (i.e. More... | |
def | get_local_epoch (self, use1970sEpoch=True) |
Get the local epoch - without subtracting the time zone. More... | |
def | get_hundredths_capture (self) |
Gets the byte value for hundredths capture. More... | |
def | get_seconds_capture (self) |
Gets the byte value for seconds capture. More... | |
def | set_calibration_offset (self, ppm) |
Sets the calibration offset in parts per million (ppm) More... | |
def | get_calibration_offset (self) |
Gets the calibration offset in parts per million. More... | |
def | set_evi_debounce_time (self, debounce_time) |
Sets the EVI debounce time. More... | |
def | set_evi_calibration (self, evi_calibration) |
Sets the EVI calibration. More... | |
def | set_evi_edge_detection (self, edge) |
Sets the EVI edge detection. More... | |
def | set_evi_event_capture (self, capture) |
Sets the EVI event capture. More... | |
def | get_evi_debounce_time (self) |
Gets the EVI debounce time. More... | |
def | get_evi_calibration (self) |
Gets the EVI calibration. More... | |
def | get_evi_edge_detection (self) |
Gets the EVI edge detection. More... | |
def | get_evi_event_capture (self) |
Gets the EVI event capture. More... | |
def | set_countdown_timer_enable (self, timer_state) |
Sets the countdown timer enable. More... | |
def | set_countdown_timer_frequency (self, countdown_timer_frequency) |
Sets the countdown timer frequency. More... | |
def | set_countdown_timer_clock_ticks (self, clock_ticks) |
Sets the countdown timer clock ticks. More... | |
def | get_countdown_timer_clock_ticks (self) |
Gets the countdown timer clock ticks. More... | |
def | set_clock_out_timer_frequency (self, clock_out_timer_frequency) |
Sets the clock out timer frequency. More... | |
def | get_countdown_timer_enable (self) |
Gets the countdown timer enable. More... | |
def | get_countdown_timer_frequency (self) |
Gets the countdown timer frequency. More... | |
def | get_clock_out_timer_frequency (self) |
Gets the clock out timer frequency. More... | |
def | set_periodic_time_update_frequency (self, time_update_frequency) |
Sets the periodic time update frequency. More... | |
def | get_periodic_time_update_frequency (self) |
Gets the periodic time update frequency. More... | |
def | set_items_to_match_for_alarm (self, minuteAlarm, hourAlarm, weekdayAlarm, dateAlarm) |
Set Alarm Mode controls which parts of the time have to match for the alarm to trigger. More... | |
def | set_alarm_minutes (self, minute) |
Sets the alarm minutes. More... | |
def | set_alarm_hours (self, hour) |
Sets the alarm hours. More... | |
def | set_alarm_weekday (self, weekday) |
Sets the alarm weekday. More... | |
def | set_alarm_date (self, date) |
Sets the alarm date. More... | |
def | enable_hardware_interrupt (self, source) |
Enables the hardware interrupt for the given source. More... | |
def | disable_hardware_interrupt (self, source) |
Disables the hardware interrupt for the given source Allowable sources: kUpdateInterrupt kTimerInterrupt kAlarmInterrupt kEviInterrupt kControlReset. More... | |
def | disable_all_interrupts (self) |
Disables all hardware interrupts. More... | |
def | get_interrupt_flag (self, flag_to_get) |
Gets the interrupt flag for the given source. More... | |
def | clear_all_interrupt_flags (self) |
Clears all interrupt flags. More... | |
def | clear_interrupt_flag (self, flag_to_clear) |
Clears the interrupt flag for the given source. More... | |
def | get_alarm_minutes (self) |
Gets the alarm minutes. More... | |
def | get_alarm_hours (self) |
Gets the alarm hours. More... | |
def | get_alarm_weekday (self) |
Gets the alarm weekday. More... | |
def | get_alarm_date (self) |
Gets the alarm date. More... | |
def | dec_to_bcd (self, val) |
Converts decimal to binary coded decimal. More... | |
def | bcd_to_dec (self, val) |
Converts binary coded decimal to decimal. More... | |
def | write_bit (self, reg, bit, val) |
Writes a bit to a register. More... | |
def | write_two_bits (self, reg, bit, val) |
Writes two bits to a register. More... | |
def | read_bit (self, reg, bit) |
Reads a bit from a register. More... | |
def | read_two_bits (self, reg, bit) |
Reads two bits from a register. More... | |
Public Attributes | |
address | |
Properties | |
connected = property(is_connected) | |
def qwiic_rv8803.QwiicRV8803.__init__ | ( | self, | |
address = None , |
|||
i2c_driver = None |
|||
) |
Constructor.
int,optional | address: The I2C address to use for the device If not provided, the default address is used |
I2CDriver,optional | i2c_driver: An existing i2c driver object If not provided, a driver object is created |
def qwiic_rv8803.QwiicRV8803.bcd_to_dec | ( | self, | |
val | |||
) |
Converts binary coded decimal to decimal.
val | The binary coded decimal value to convert |
def qwiic_rv8803.QwiicRV8803.begin | ( | self | ) |
Initializes this device with default parameters.
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.clear_all_interrupt_flags | ( | self | ) |
Clears all interrupt flags.
def qwiic_rv8803.QwiicRV8803.clear_interrupt_flag | ( | self, | |
flag_to_clear | |||
) |
Clears the interrupt flag for the given source.
int | flag_to_clear: The interrupt flag to clear |
def qwiic_rv8803.QwiicRV8803.dec_to_bcd | ( | self, | |
val | |||
) |
Converts decimal to binary coded decimal.
val | The decimal value to convert |
def qwiic_rv8803.QwiicRV8803.disable_all_interrupts | ( | self | ) |
Disables all hardware interrupts.
def qwiic_rv8803.QwiicRV8803.disable_hardware_interrupt | ( | self, | |
source | |||
) |
Disables the hardware interrupt for the given source Allowable sources: kUpdateInterrupt kTimerInterrupt kAlarmInterrupt kEviInterrupt kControlReset.
int | source: The interrupt source |
def qwiic_rv8803.QwiicRV8803.enable_hardware_interrupt | ( | self, | |
source | |||
) |
Enables the hardware interrupt for the given source.
Given a bit location, enable the interrupt Allowable sources: kUpdateInterrupt kTimerInterrupt kAlarmInterrupt kEviInterrupt kControlReset
int | source: The interrupt source |
def qwiic_rv8803.QwiicRV8803.get_alarm_date | ( | self | ) |
Gets the alarm date.
def qwiic_rv8803.QwiicRV8803.get_alarm_hours | ( | self | ) |
Gets the alarm hours.
def qwiic_rv8803.QwiicRV8803.get_alarm_minutes | ( | self | ) |
Gets the alarm minutes.
def qwiic_rv8803.QwiicRV8803.get_alarm_weekday | ( | self | ) |
Gets the alarm weekday.
def qwiic_rv8803.QwiicRV8803.get_calibration_offset | ( | self | ) |
Gets the calibration offset in parts per million.
def qwiic_rv8803.QwiicRV8803.get_clock_out_timer_frequency | ( | self | ) |
Gets the clock out timer frequency.
def qwiic_rv8803.QwiicRV8803.get_countdown_timer_clock_ticks | ( | self | ) |
Gets the countdown timer clock ticks.
def qwiic_rv8803.QwiicRV8803.get_countdown_timer_enable | ( | self | ) |
Gets the countdown timer enable.
def qwiic_rv8803.QwiicRV8803.get_countdown_timer_frequency | ( | self | ) |
Gets the countdown timer frequency.
def qwiic_rv8803.QwiicRV8803.get_date | ( | self | ) |
Gets the byte value for date.
def qwiic_rv8803.QwiicRV8803.get_epoch | ( | self, | |
use1970sEpoch = True |
|||
) |
Get the epoch - with the time zone subtracted (i.e.
return UTC epoch)
bool | use1970sEpoch: If True , the epoch is in the 1970s |
def qwiic_rv8803.QwiicRV8803.get_evi_calibration | ( | self | ) |
Gets the EVI calibration.
def qwiic_rv8803.QwiicRV8803.get_evi_debounce_time | ( | self | ) |
Gets the EVI debounce time.
def qwiic_rv8803.QwiicRV8803.get_evi_edge_detection | ( | self | ) |
Gets the EVI edge detection.
def qwiic_rv8803.QwiicRV8803.get_evi_event_capture | ( | self | ) |
Gets the EVI event capture.
def qwiic_rv8803.QwiicRV8803.get_hours | ( | self | ) |
Gets the byte value for hours, automatically converts to 12 hour mode if necessary.
def qwiic_rv8803.QwiicRV8803.get_hundredths | ( | self | ) |
Gets the byte value for hundredths.
def qwiic_rv8803.QwiicRV8803.get_hundredths_capture | ( | self | ) |
Gets the byte value for hundredths capture.
def qwiic_rv8803.QwiicRV8803.get_interrupt_flag | ( | self, | |
flag_to_get | |||
) |
Gets the interrupt flag for the given source.
int | flag_to_get: The interrupt flag to get |
def qwiic_rv8803.QwiicRV8803.get_local_epoch | ( | self, | |
use1970sEpoch = True |
|||
) |
Get the local epoch - without subtracting the time zone.
bool | use1970sEpoch: If True , the epoch is in the 1970s |
def qwiic_rv8803.QwiicRV8803.get_minutes | ( | self | ) |
Gets the byte value for minutes.
def qwiic_rv8803.QwiicRV8803.get_month | ( | self | ) |
Gets the byte value for month.
def qwiic_rv8803.QwiicRV8803.get_periodic_time_update_frequency | ( | self | ) |
Gets the periodic time update frequency.
def qwiic_rv8803.QwiicRV8803.get_seconds | ( | self | ) |
Gets the byte value for seconds.
def qwiic_rv8803.QwiicRV8803.get_seconds_capture | ( | self | ) |
Gets the byte value for seconds capture.
def qwiic_rv8803.QwiicRV8803.get_time_zone_quarter_hours | ( | self | ) |
Gets the time zone in quarter hours.
def qwiic_rv8803.QwiicRV8803.get_weekday | ( | self | ) |
Gets the byte value for weekday.
Compare against the day constants inherent to this class.
def qwiic_rv8803.QwiicRV8803.get_year | ( | self | ) |
Gets the byte value for year.
Automatically adds 2000 to the year.
def qwiic_rv8803.QwiicRV8803.is_12_hour | ( | self | ) |
Determines if the device is in 12 hour mode.
True
if in 12 hour mode, otherwise False
def qwiic_rv8803.QwiicRV8803.is_connected | ( | self | ) |
Determines if this device is connected.
True
if connected, otherwise False
def qwiic_rv8803.QwiicRV8803.is_PM | ( | self | ) |
Determines if the device is in PM.
def qwiic_rv8803.QwiicRV8803.read_bit | ( | self, | |
reg, | |||
bit | |||
) |
Reads a bit from a register.
int | reg: The register to read from |
int | bit: The bit to read |
def qwiic_rv8803.QwiicRV8803.read_two_bits | ( | self, | |
reg, | |||
bit | |||
) |
Reads two bits from a register.
int | reg: The register to read from |
int | bit: The bit to read |
def qwiic_rv8803.QwiicRV8803.set_12_hour | ( | self | ) |
Sets the device to 12 hour mode.
def qwiic_rv8803.QwiicRV8803.set_24_hour | ( | self | ) |
Sets the device to 24 hour mode.
def qwiic_rv8803.QwiicRV8803.set_alarm_date | ( | self, | |
date | |||
) |
Sets the alarm date.
int | date: The date value |
def qwiic_rv8803.QwiicRV8803.set_alarm_hours | ( | self, | |
hour | |||
) |
Sets the alarm hours.
int | hour: The hour value |
def qwiic_rv8803.QwiicRV8803.set_alarm_minutes | ( | self, | |
minute | |||
) |
Sets the alarm minutes.
int | minute: The minute value |
def qwiic_rv8803.QwiicRV8803.set_alarm_weekday | ( | self, | |
weekday | |||
) |
Sets the alarm weekday.
int | weekday: The weekday value |
def qwiic_rv8803.QwiicRV8803.set_calibration_offset | ( | self, | |
ppm | |||
) |
Sets the calibration offset in parts per million (ppm)
Under the hood, the offset is a two's complement value with a range of -32 to + 31. See App-Manual page 22 for more information.
float | ppm: The calibration offset in parts per million |
def qwiic_rv8803.QwiicRV8803.set_clock_out_timer_frequency | ( | self, | |
clock_out_timer_frequency | |||
) |
Sets the clock out timer frequency.
int | clock_out_timer_frequency: The clock out timer frequency |
def qwiic_rv8803.QwiicRV8803.set_countdown_timer_clock_ticks | ( | self, | |
clock_ticks | |||
) |
Sets the countdown timer clock ticks.
int | clock_ticks: The clock ticks |
def qwiic_rv8803.QwiicRV8803.set_countdown_timer_enable | ( | self, | |
timer_state | |||
) |
Sets the countdown timer enable.
bool | timer_state: The timer state |
def qwiic_rv8803.QwiicRV8803.set_countdown_timer_frequency | ( | self, | |
countdown_timer_frequency | |||
) |
Sets the countdown timer frequency.
int | countdown_timer_frequency: The countdown timer frequency |
def qwiic_rv8803.QwiicRV8803.set_date | ( | self, | |
value | |||
) |
Sets the date value.
int | value: The date value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_epoch | ( | self, | |
value, | |||
use1970sEpoch = True , |
|||
timeZoneQuarterHours = 0 |
|||
) |
Sets time using UNIX Epoch time.
If timeZoneQuarterHours is non-zero, update RV8803_RAM. Add the zone to the epoch before setting
int | value: The epoch time |
bool | use1970sEpoch: If True , the epoch is in the 1970s |
int | timeZoneQuarterHours: The time zone offset in 15 minute increments |
def qwiic_rv8803.QwiicRV8803.set_evi_calibration | ( | self, | |
evi_calibration | |||
) |
Sets the EVI calibration.
bool | evi_calibration: The EVI calibration |
def qwiic_rv8803.QwiicRV8803.set_evi_debounce_time | ( | self, | |
debounce_time | |||
) |
Sets the EVI debounce time.
int | debounce_time: The debounce time |
def qwiic_rv8803.QwiicRV8803.set_evi_edge_detection | ( | self, | |
edge | |||
) |
Sets the EVI edge detection.
bool | edge: The edge detection |
def qwiic_rv8803.QwiicRV8803.set_evi_event_capture | ( | self, | |
capture | |||
) |
Sets the EVI event capture.
bool | capture: The event capture |
def qwiic_rv8803.QwiicRV8803.set_hours | ( | self, | |
value | |||
) |
Sets the hours value.
int | value: The hours value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_hundredths_to_zero | ( | self | ) |
Sets the hundredths value to zero by setting then clearing RESET bit in CONTROL register (see App-Manual page 43)
def qwiic_rv8803.QwiicRV8803.set_items_to_match_for_alarm | ( | self, | |
minuteAlarm, | |||
hourAlarm, | |||
weekdayAlarm, | |||
dateAlarm | |||
) |
Set Alarm Mode controls which parts of the time have to match for the alarm to trigger.
When the RTC matches a given time, make an interrupt fire. Setting a bit to 1 means that the RTC does not check if that value matches to trigger the alarm.
Alarm goes off with match of second, minute, hour, etc
bool | minuteAlarm: If True , the alarm will trigger on a match of the minutes |
bool | hourAlarm: If True , the alarm will trigger on a match of the hours |
bool | weekdayAlarm: If True , the alarm will trigger on a match of the weekday |
bool | dateAlarm: If True , the alarm will trigger on a match of the date |
def qwiic_rv8803.QwiicRV8803.set_local_epoch | ( | self, | |
value, | |||
use1970sEpoch = True |
|||
) |
Set the local epoch - without adding the time zone.
int | value: The epoch time |
bool | use1970sEpoch: If True , the epoch is in the 1970s |
def qwiic_rv8803.QwiicRV8803.set_minutes | ( | self, | |
value | |||
) |
Sets the minutes value.
int | value: The minutes value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_month | ( | self, | |
value | |||
) |
Sets the month value.
int | value: The month value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_periodic_time_update_frequency | ( | self, | |
time_update_frequency | |||
) |
Sets the periodic time update frequency.
bool | time_update_frequency: The time update frequency |
def qwiic_rv8803.QwiicRV8803.set_seconds | ( | self, | |
value | |||
) |
Sets the seconds value.
int | value: The seconds value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_time | ( | self, | |
seconds, | |||
minutes, | |||
hours, | |||
weekday, | |||
date, | |||
month, | |||
year | |||
) |
Sets the time using individual values.
int | seconds: The seconds value |
int | minutes: The minutes value |
int | hours: The hours value |
int | weekday: The weekday value |
int | date: The date value |
int | month: The month value |
int | year: The year value |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_time_list | ( | self, | |
time_list | |||
) |
Sets the time using a list of bytes.
list | time_list: A list of bytes representing the time |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_time_zone_quarter_hours | ( | self, | |
quarter_hours | |||
) |
Sets the time zone in quarter hours.
int | quarter_hours: The time zone offset in 15 minute increments |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_weekday | ( | self, | |
value | |||
) |
Sets the weekday value.
int | value: The weekday value Allowable Values:
|
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.set_year | ( | self, | |
value | |||
) |
Sets the year value.
int | value: The year value (specify full year, including the "20" prefix i.e. 2024 rather than 24) |
True
if successful, otherwise False
def qwiic_rv8803.QwiicRV8803.string_date | ( | self | ) |
Returns the date in the DD/MM/YYYY format.
def qwiic_rv8803.QwiicRV8803.string_date_ordinal | ( | self | ) |
Return the ordinal for the date (day of month).
Returns "1st", "2nd", "3rd", "4th" etc
def qwiic_rv8803.QwiicRV8803.string_date_usa | ( | self | ) |
Returns the date in MM/DD/YYYY format.
def qwiic_rv8803.QwiicRV8803.string_day_of_week | ( | self | ) |
Returns the day of the week as a string.
def qwiic_rv8803.QwiicRV8803.string_day_of_week_short | ( | self | ) |
Return the day of week.
Returns "Sun", "Mon" etc
def qwiic_rv8803.QwiicRV8803.string_month | ( | self | ) |
Return the name of the month.
Returns "January", etc
def qwiic_rv8803.QwiicRV8803.string_month_short | ( | self | ) |
Return the name of the month (short).
Returns "Jan", "Feb" etc
def qwiic_rv8803.QwiicRV8803.string_time | ( | self | ) |
Returns the time in hh:mm:ss (Adds AM/PM if in 12 hour mode)
def qwiic_rv8803.QwiicRV8803.string_time_8601 | ( | self | ) |
Returns timestamp in ISO 8601 format (yyyy-mm-ddThh:mm:ss)
def qwiic_rv8803.QwiicRV8803.string_time_8601_TZ | ( | self | ) |
Returns timestamp in ISO 8601 format (yyyy-mm-ddThh:mm:ss) and uses timezone corrections.
def qwiic_rv8803.QwiicRV8803.string_timestamp | ( | self | ) |
Returns the most recent timestamp captured on the EVI pin (if the EVI pin has been configured to capture events)
def qwiic_rv8803.QwiicRV8803.update_time | ( | self | ) |
Updates the time by reading the time from the RTC and storing it in the time list.
Move the hours, mins, sec, etc registers from RV-8803 into the _time array Needs to be called before printing time or date We do not protect the GPx registers. They will be overwritten. The user has plenty of RAM if they need it.
def qwiic_rv8803.QwiicRV8803.write_bit | ( | self, | |
reg, | |||
bit, | |||
val | |||
) |
Writes a bit to a register.
int | reg: The register to write to |
int | bit: The bit to write |
bool | val: The value to write |
def qwiic_rv8803.QwiicRV8803.write_two_bits | ( | self, | |
reg, | |||
bit, | |||
val | |||
) |
Writes two bits to a register.
int | reg: The register to write to |
int | bit: The bit to write |
int | val: The value to write |
qwiic_rv8803.QwiicRV8803.address |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |
|
static |