Skip to content

Commit

Permalink
Fix spelling
Browse files Browse the repository at this point in the history
  • Loading branch information
lucasssvaz committed Jan 27, 2024
1 parent cceebb5 commit e13f09b
Show file tree
Hide file tree
Showing 171 changed files with 293 additions and 293 deletions.
4 changes: 2 additions & 2 deletions .github/ISSUE_TEMPLATE/Issue-report.yml
Original file line number Diff line number Diff line change
Expand Up @@ -106,8 +106,8 @@ body:
id: Description
attributes:
label: Description
description: Please describe your problem here and expected behaviour
placeholder: ex. Can't connect/weird behaviour/wrong function/missing parameter..
description: Please describe your problem here and expected behavior
placeholder: ex. Can't connect/weird behavior/wrong function/missing parameter..
validations:
required: true
- type: textarea
Expand Down
4 changes: 2 additions & 2 deletions .github/scripts/on-release.sh
Original file line number Diff line number Diff line change
Expand Up @@ -334,10 +334,10 @@ jq_arg=".packages[0].platforms[0].version = \"$RELEASE_TAG\" | \
.packages[0].platforms[0].checksum = \"SHA-256:$PACKAGE_SHA\""

# Generate package JSONs
echo "Genarating $PACKAGE_JSON_DEV ..."
echo "Generating $PACKAGE_JSON_DEV ..."
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_DEV"
if [ "$RELEASE_PRE" == "false" ]; then
echo "Genarating $PACKAGE_JSON_REL ..."
echo "Generating $PACKAGE_JSON_REL ..."
cat "$PACKAGE_JSON_TEMPLATE" | jq "$jq_arg" > "$OUTPUT_DIR/$PACKAGE_JSON_REL"
fi

Expand Down
6 changes: 3 additions & 3 deletions .github/scripts/sketch_utils.sh
Original file line number Diff line number Diff line change
Expand Up @@ -113,11 +113,11 @@ function build_sketch(){ # build_sketch <ide_path> <user_path> <path-to-ino> [ex
fi

if [ -z "$fqbn" ]; then
echo "No FQBN passed or unvalid chip: $target"
echo "No FQBN passed or invalid chip: $target"
exit 1
fi

# The directory that will hold all the artifcats (the build directory) is
# The directory that will hold all the artifacts (the build directory) is
# provided through:
# 1. An env variable called ARDUINO_BUILD_DIR.
# 2. Created at the sketch level as "build" in the case of a single
Expand Down Expand Up @@ -286,7 +286,7 @@ function build_sketches(){ # build_sketches <ide_path> <user_path> <target> <pat
local xtra_opts=$*

if [ -z $chunk_index ] || [ -z $chunk_max ]; then
echo "ERROR: Invalid chunk paramters"
echo "ERROR: Invalid chunk parameters"
echo "$USAGE"
exit 1
fi
Expand Down
2 changes: 1 addition & 1 deletion .github/workflows/allboards.yml
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
name: Boards Test - Remote trigger

# The workflow will run on remote dispath with event-type set to "test-boards"
# The workflow will run on remote dispatch with event-type set to "test-boards"
on:
repository_dispatch:
types: [test-boards]
Expand Down
2 changes: 1 addition & 1 deletion Kconfig.projbuild
Original file line number Diff line number Diff line change
Expand Up @@ -209,7 +209,7 @@ config ARDUHAL_ESP_LOG
default "n"
help
This option will redefine the ESP_LOGx macros to Arduino's log_x macros.
To enable for your application, add the follwing after your includes:
To enable for your application, add the following after your includes:
#ifdef ARDUINO_ARCH_ESP32
#include "esp32-hal-log.h"
#endif
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -68,7 +68,7 @@ You can use [EspExceptionDecoder](https://github.com/me-no-dev/EspExceptionDecod

### Issue/Bug report template

Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labelled as [Type: For reference](https://github.com/espressif/arduino-esp32/issues?q=is%3Aissue+label%3A%22Type%3A+For+reference%22+).
Before reporting an issue, make sure you've searched for similar one that was already created. Also make sure to go through all the issues labeled as [Type: For reference](https://github.com/espressif/arduino-esp32/issues?q=is%3Aissue+label%3A%22Type%3A+For+reference%22+).

Finally, if you are sure no one else had the issue, follow the **Issue template** or **Feature request template** while reporting any [new Issue](https://github.com/espressif/arduino-esp32/issues/new/choose).

Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/Esp.h
Original file line number Diff line number Diff line change
Expand Up @@ -26,7 +26,7 @@
#include "esp_cpu.h"

/**
* AVR macros for WDT managment
* AVR macros for WDT management
*/
typedef enum {
WDTO_0MS = 0, //!< WDTO_0MS
Expand Down
4 changes: 2 additions & 2 deletions cores/esp32/HWCDC.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -95,7 +95,7 @@ static void hw_cdc_isr_handler(void *arg) {
}
size_t queued_size;
uint8_t *queued_buff = (uint8_t *)xRingbufferReceiveUpToFromISR(tx_ring_buf, &queued_size, 64);
// If the hardware fifo is avaliable, write in it. Otherwise, do nothing.
// If the hardware fifo is available, write in it. Otherwise, do nothing.
if (queued_buff != NULL) { //Although tx_queued_bytes may be larger than 0. We may have interrupt before xRingbufferSend() was called.
//Copy the queued buffer into the TX FIFO
usb_serial_jtag_ll_clr_intsts_mask(USB_SERIAL_JTAG_INTR_SERIAL_IN_EMPTY);
Expand All @@ -114,7 +114,7 @@ static void hw_cdc_isr_handler(void *arg) {
}

if (usbjtag_intr_status & USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT) {
// read rx buffer(max length is 64), and send avaliable data to ringbuffer.
// read rx buffer(max length is 64), and send available data to ringbuffer.
// Ensure the rx buffer size is larger than RX_MAX_SIZE.
usb_serial_jtag_ll_clr_intsts_mask(USB_SERIAL_JTAG_INTR_SERIAL_OUT_RECV_PKT);
uint32_t rx_fifo_len = usb_serial_jtag_ll_read_rxfifo(rx_data_buf, 64);
Expand Down
4 changes: 2 additions & 2 deletions cores/esp32/HardwareSerial.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -198,7 +198,7 @@ bool HardwareSerial::setRxFIFOFull(uint8_t fifoBytes)
return retCode;
}

// timout is calculates in time to receive UART symbols at the UART baudrate.
// timeout is calculates in time to receive UART symbols at the UART baudrate.
// the estimation is about 11 bits per symbol (SERIAL_8N1)
bool HardwareSerial::setRxTimeout(uint8_t symbols_timeout)
{
Expand Down Expand Up @@ -332,7 +332,7 @@ void HardwareSerial::begin(unsigned long baud, uint32_t config, int8_t rxPin, in
// IDF UART driver keeps Pin setting on restarting. Negative Pin number will keep it unmodified.
// it will detach previous UART attached pins

// indicates that uartbegin() has to initilize a new IDF driver
// indicates that uartbegin() has to initialize a new IDF driver
if (_testUartBegin(_uart_nr, baud ? baud : 9600, config, rxPin, txPin, _rxBufferSize, _txBufferSize, invert, rxfifo_full_thrhd)) {
_destroyEventTask(); // when IDF uart driver must be restarted, _eventTask must finish too
}
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/HardwareSerial.h
Original file line number Diff line number Diff line change
Expand Up @@ -243,7 +243,7 @@ class HardwareSerial: public Stream
// onReceive will be called on error events (see hardwareSerial_error_t)
void onReceiveError(OnReceiveErrorCb function);

// eventQueueReset clears all events in the queue (the events that trigger onReceive and onReceiveError) - maybe usefull in some use cases
// eventQueueReset clears all events in the queue (the events that trigger onReceive and onReceiveError) - maybe useful in some use cases
void eventQueueReset();

// When pins are changed, it will detach the previous ones
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/IPAddress.h
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,7 @@ class IPAddress : public Printable {
uint8_t operator[](int index) const;
uint8_t& operator[](int index);

// Overloaded copy operators to allow initialisation of IPAddress objects from other types
// Overloaded copy operators to allow initialization of IPAddress objects from other types
// NOTE: IPv4 only
IPAddress& operator=(const uint8_t *address);
// NOTE: IPv4 only; see implementation note
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/Print.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -56,7 +56,7 @@ size_t Print::vprintf(const char *format, va_list arg)
va_end(arg);
return 0;
}
if(len >= (int)sizeof(loc_buf)){ // comparation of same sign type for the compiler
if(len >= (int)sizeof(loc_buf)){ // comparison of same sign type for the compiler
temp = (char*) malloc(len+1);
if(temp == NULL) {
va_end(arg);
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/Print.h
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,7 @@ class Print

// add availableForWrite to make compatible with Arduino Print.h
// default to zero, meaning "a single write may block"
// should be overriden by subclasses with buffering
// should be overridden by subclasses with buffering
virtual int availableForWrite() { return 0; }
size_t print(const __FlashStringHelper *ifsh) { return print(reinterpret_cast<const char *>(ifsh)); }
size_t print(const String &);
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/Stream.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -208,7 +208,7 @@ long Stream::parseInt(char skipChar)

do {
if(c == skipChar) {
} // ignore this charactor
} // ignore this character
else if(c == '-') {
isNegative = true;
} else if(c >= '0' && c <= '9') { // is c a digit?
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/Stream.h
Original file line number Diff line number Diff line change
Expand Up @@ -25,7 +25,7 @@
#include <inttypes.h>
#include "Print.h"

// compatability macros for testing
// compatibility macros for testing
/*
#define getInt() parseInt()
#define getInt(skipChar) parseInt(skipchar)
Expand Down
4 changes: 2 additions & 2 deletions cores/esp32/WString.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -108,7 +108,7 @@ String::String(float value, unsigned int decimalPlaces) {
free(buf);
} else {
*this = "nan";
log_e("No enought memory for the operation.");
log_e("No enough memory for the operation.");
}
}

Expand All @@ -120,7 +120,7 @@ String::String(double value, unsigned int decimalPlaces) {
free(buf);
} else {
*this = "nan";
log_e("No enought memory for the operation.");
log_e("No enough memory for the operation.");
}
}

Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/WString.h
Original file line number Diff line number Diff line change
Expand Up @@ -131,7 +131,7 @@ class String {
bool concat(const __FlashStringHelper * str) {return concat(reinterpret_cast<const char*>(str));}

// if there's not enough memory for the concatenated value, the string
// will be left unchanged (but this isn't signalled in any way)
// will be left unchanged (but this isn't signaled in any way)
String & operator +=(const String &rhs) {
concat(rhs);
return (*this);
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-adc.c
Original file line number Diff line number Diff line change
Expand Up @@ -481,7 +481,7 @@ bool analogContinuous(uint8_t pins[], size_t pins_count, uint32_t conversions_pe
}
}

//Check if Oneshot and Continous handle exists
//Check if Oneshot and Continuous handle exists
if(adc_handle[adc_unit].adc_oneshot_handle != NULL){
log_e("ADC%d is running in oneshot mode. Aborting.", adc_unit+1);
return false;
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-gpio.c
Original file line number Diff line number Diff line change
Expand Up @@ -72,7 +72,7 @@ int8_t analogChannelToDigitalPin(uint8_t channel)
return adc_channel_io_map[adc_unit][adc_chan];
}
#else
// No Analog channels availible
// No Analog channels available
int8_t analogChannelToDigitalPin(uint8_t channel)
{
return -1;
Expand Down
4 changes: 2 additions & 2 deletions cores/esp32/esp32-hal-i2c-slave.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ esp_err_t i2cSlaveInit(uint8_t num, int sda, int scl, uint16_t slaveID, uint32_t
return false;
}

log_i("Initialising I2C Slave: sda=%d scl=%d freq=%d, addr=0x%x", sda, scl, frequency, slaveID);
log_i("Initializing I2C Slave: sda=%d scl=%d freq=%d, addr=0x%x", sda, scl, frequency, slaveID);

i2c_slave_struct_t * i2c = &_i2c_bus_array[num];
esp_err_t ret = ESP_OK;
Expand Down Expand Up @@ -751,7 +751,7 @@ static void i2c_slave_isr_handler(void* arg)
if(activeInt & I2C_SLAVE_STRETCH_INT_ENA){ // STRETCH
i2c_stretch_cause_t cause = i2c_ll_stretch_cause(i2c->dev);
if(cause == I2C_STRETCH_CAUSE_MASTER_READ){
//on C3 RX data dissapears with repeated start, so we need to get it here
//on C3 RX data disappears with repeated start, so we need to get it here
if(rx_fifo_len){
pxHigherPriorityTaskWoken |= i2c_slave_handle_rx_fifo_full(i2c, rx_fifo_len);
}
Expand Down
6 changes: 3 additions & 3 deletions cores/esp32/esp32-hal-i2c.c
Original file line number Diff line number Diff line change
Expand Up @@ -106,7 +106,7 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency){
return false;
}

log_i("Initialising I2C Master: sda=%d scl=%d freq=%d", sda, scl, frequency);
log_i("Initializing I2C Master: sda=%d scl=%d freq=%d", sda, scl, frequency);

i2c_config_t conf = { };
conf.mode = I2C_MODE_MASTER;
Expand All @@ -115,7 +115,7 @@ esp_err_t i2cInit(uint8_t i2c_num, int8_t sda, int8_t scl, uint32_t frequency){
conf.scl_pullup_en = GPIO_PULLUP_ENABLE;
conf.sda_pullup_en = GPIO_PULLUP_ENABLE;
conf.master.clk_speed = frequency;
conf.clk_flags = I2C_SCLK_SRC_FLAG_FOR_NOMAL; //Any one clock source that is available for the specified frequency may be choosen
conf.clk_flags = I2C_SCLK_SRC_FLAG_FOR_NOMAL; //Any one clock source that is available for the specified frequency may be chosen

esp_err_t ret = i2c_param_config((i2c_port_t)i2c_num, &conf);
if (ret != ESP_OK) {
Expand Down Expand Up @@ -357,7 +357,7 @@ esp_err_t i2cSetClock(uint8_t i2c_num, uint32_t frequency){
ret = ESP_OK;
for (i2c_sclk_t clk = I2C_SCLK_DEFAULT + 1; clk < I2C_SCLK_MAX; clk++) {
#if CONFIG_IDF_TARGET_ESP32S3
if (clk == I2C_SCLK_RTC) { // RTC clock for s3 is unaccessable now.
if (clk == I2C_SCLK_RTC) { // RTC clock for s3 is inaccessible now.
continue;
}
#endif
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-misc.c
Original file line number Diff line number Diff line change
Expand Up @@ -66,7 +66,7 @@
#include "rom/rtc.h"
#endif

//Undocumented!!! Get chip temperature in Farenheit
//Undocumented!!! Get chip temperature in Fahrenheit
//Source: https://github.com/pcbreflux/espressif/blob/master/esp32/arduino/sketchbook/ESP32_int_temp_sensor/ESP32_int_temp_sensor.ino
#ifdef CONFIG_IDF_TARGET_ESP32
uint8_t temprature_sens_read();
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-periman.h
Original file line number Diff line number Diff line change
Expand Up @@ -132,7 +132,7 @@ bool perimanSetBusDeinit(peripheral_bus_type_t type, peripheral_bus_deinit_cb_t
// Check if given pin is a valid GPIO number
bool perimanPinIsValid(uint8_t pin);

// Sets the extra type for non Init bus. Used to customise pin bus name which can be printed by printPerimanInfo().
// Sets the extra type for non Init bus. Used to customize pin bus name which can be printed by printPerimanInfo().
bool perimanSetPinBusExtraType(uint8_t pin, const char* extra_type);

// Returns the extra type of the bus for given pin if set. NULL otherwise
Expand Down
4 changes: 2 additions & 2 deletions cores/esp32/esp32-hal-rmt.c
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ extern TaskHandle_t loopTaskHandle;


/**
Typedefs for internal stuctures, enums
Typedefs for internal structures, enums
*/

struct rmt_obj_s {
Expand Down Expand Up @@ -468,7 +468,7 @@ bool rmtInit(int pin, rmt_ch_dir_t channel_direction, rmt_reserve_memsize_t mem_
return false;
}

// Try to dettach any (Tx|Rx|Whatever) previous bus or just keep it as not attached
// Try to detach any (Tx|Rx|Whatever) previous bus or just keep it as not attached
if (!perimanClearPinBus(pin)) {
log_w("GPIO %d - Can't detach previous peripheral.", pin);
return false;
Expand Down
6 changes: 3 additions & 3 deletions cores/esp32/esp32-hal-rmt.h
Original file line number Diff line number Diff line change
Expand Up @@ -124,14 +124,14 @@ bool rmtWriteAsync(int pin, rmt_data_t *data, size_t num_rmt_symbols);
bool rmtWriteLooping(int pin, rmt_data_t* data, size_t num_rmt_symbols);

/**
Checks if transmission is completed and the rmtChannel ready for transmiting new data.
Checks if transmission is completed and the rmtChannel ready for transmitting new data.
To be ready for a new transmission, means that the previous transmission is completed.
Returns <true> when all data has been sent, <false> otherwise.
The data transmition information is reset when a new rmtWrite/Async function is called.
The data transmission information is reset when a new rmtWrite/Async function is called.
If rmtWrite() times out or rmtWriteAsync() is called, this function will return <false> until
all data is sent out.
rmtTranmitCompleted() will always return <true> when rmtWriteLooping() is called,
beacuse it has no effect in such case.
because it has no effect in such case.
*/
bool rmtTransmitCompleted(int pin);

Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-spi.c
Original file line number Diff line number Diff line change
Expand Up @@ -1550,7 +1550,7 @@ typedef union {
#else
uint32_t clkdiv_pre: 13; /*it is pre-divider of spi_clk.*/
#endif
uint32_t clk_equ_sysclk: 1; /*1: spi_clk is eqaul to system 0: spi_clk is divided from system clock.*/
uint32_t clk_equ_sysclk: 1; /*1: spi_clk is equal to system 0: spi_clk is divided from system clock.*/
};
} spiClk_t;

Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/esp32-hal-timer.c
Original file line number Diff line number Diff line change
Expand Up @@ -150,7 +150,7 @@ bool IRAM_ATTR timerFnWrapper(gptimer_handle_t timer, const gptimer_alarm_event_
isr->fn();
}
}
// some additional logic or handling may be required here to approriately yield or not
// some additional logic or handling may be required here to appropriately yield or not
return false;
}

Expand Down
6 changes: 3 additions & 3 deletions cores/esp32/esp32-hal-touch.c
Original file line number Diff line number Diff line change
Expand Up @@ -242,7 +242,7 @@ static void __touchConfigInterrupt(uint8_t pin, void (*userFunc)(void), void *Ar
}

if (userFunc == NULL) {
// dettach ISR User Call
// detach ISR User Call
__touchInterruptHandlers[pad].fn = NULL;
threshold = SOC_TOUCH_PAD_THRESHOLD_MAX; // deactivate the ISR with SOC_TOUCH_PAD_THRESHOLD_MAX
} else {
Expand All @@ -269,10 +269,10 @@ static void __touchAttachArgsInterrupt(uint8_t pin, void (*userFunc)(void), void
__touchConfigInterrupt(pin, userFunc, args, threshold, true);
}

// new additional API to dettach touch ISR
// new additional API to detach touch ISR
static void __touchDettachInterrupt(uint8_t pin)
{
__touchConfigInterrupt(pin, NULL, NULL, 0, false); // userFunc as NULL acts as dettaching
__touchConfigInterrupt(pin, NULL, NULL, 0, false); // userFunc as NULL acts as detaching
}


Expand Down
8 changes: 4 additions & 4 deletions cores/esp32/esp32-hal-uart.c
Original file line number Diff line number Diff line change
Expand Up @@ -314,7 +314,7 @@ bool uartSetPins(uint8_t uart_num, int8_t rxPin, int8_t txPin, int8_t ctsPin, in
//log_v("setting UART%d pins: prev->new RX(%d->%d) TX(%d->%d) CTS(%d->%d) RTS(%d->%d)", uart_num,
// uart->_rxPin, rxPin, uart->_txPin, txPin, uart->_ctsPin, ctsPin, uart->_rtsPin, rtsPin); vTaskDelay(10);

// First step: detachs all previous UART pins
// First step: detaches all previous UART pins
bool rxPinChanged = rxPin >= 0 && rxPin != uart->_rxPin;
if (rxPinChanged) {
retCode &= _uartDetachPins(uart_num, uart->_rxPin, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE, UART_PIN_NO_CHANGE);
Expand Down Expand Up @@ -676,7 +676,7 @@ size_t uartReadBytes(uart_t* uart, uint8_t *buffer, size_t size, uint32_t timeou
return bytes_read;
}

// DEPRICATED but the original code will be kepts here as future reference when a final solution
// DEPRECATED but the original code will be kepts here as future reference when a final solution
// to the UART driver is defined in the use case of reading byte by byte from UART.
uint8_t uartRead(uart_t* uart)
{
Expand Down Expand Up @@ -963,7 +963,7 @@ void log_print_buf(const uint8_t *b, size_t len){

/*
* if enough pulses are detected return the minimum high pulse duration + minimum low pulse duration divided by two.
* This equals one bit period. If flag is true the function return inmediately, otherwise it waits for enough pulses.
* This equals one bit period. If flag is true the function return immediately, otherwise it waits for enough pulses.
*/
unsigned long uartBaudrateDetect(uart_t *uart, bool flg)
{
Expand Down Expand Up @@ -1130,7 +1130,7 @@ void uart_send_break(uint8_t uartNum)
uint32_t currentBaudrate = 0;
uart_get_baudrate(uartNum, &currentBaudrate);
// calculates 10 bits of breaks in microseconds for baudrates up to 500mbps
// This is very sensetive timing... it works fine for SERIAL_8N1
// This is very sensitive timing... it works fine for SERIAL_8N1
uint32_t breakTime = (uint32_t) (10.0 * (1000000.0 / currentBaudrate));
uart_set_line_inverse(uartNum, UART_SIGNAL_TXD_INV);
esp_rom_delay_us(breakTime);
Expand Down
2 changes: 1 addition & 1 deletion cores/esp32/stdlib_noniso.c
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
/*
core_esp8266_noniso.c - nonstandard (but usefull) conversion functions
core_esp8266_noniso.c - nonstandard (but useful) conversion functions
Copyright (c) 2014 Ivan Grokhotkov. All rights reserved.
This file is part of the esp8266 core for Arduino environment.
Expand Down
Loading

0 comments on commit e13f09b

Please sign in to comment.