LogLibrary   "Log" 
- Log methods that return input value for code readbility and cleaness.
 method str(input) 
  str
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) 
 method str(input) 
  str
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) 
 method str(input) 
  str
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) 
 method str(input) 
  str
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) 
 method str(input) 
  str
  Namespace types: series linefill
  Parameters:
     input (linefill) 
 method str(input) 
  str
  Namespace types: series line
  Parameters:
     input (line) 
 method str(input) 
  str
  Namespace types: series box
  Parameters:
     input (box) 
 method str(input) 
  str
  Namespace types: series label
  Parameters:
     input (label) 
 method str(input) 
  str
  Namespace types: chart.point
  Parameters:
     input (chart.point) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: array
  Parameters:
     input (array) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  str
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method str(input) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input value with the 'info' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input array with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Logs the input matrix with the 'info' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method info(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input value with the 'warning' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input array with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Logs the input matrix with the 'warning' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method warn(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input value with the 'error' log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input value.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input array with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input array.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Logs the input matrix with the 'error' log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
  Returns: The input matrix.
 method error(input, msg) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: chart.point
  Parameters:
     input (chart.point) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series float, simple float, input float, const float
  Parameters:
     input (float) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     input (int) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     input (bool) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series string, simple string, input string, const string
  Parameters:
     input (string) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series linefill
  Parameters:
     input (linefill) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series line
  Parameters:
     input (line) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input value with the specified log level.
  Namespace types: series box
  Parameters:
     input (box) : The input value to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input value.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: series label
  Parameters:
     input (label) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input array with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input array to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input array.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: array
  Parameters:
     input (array) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Logs the input matrix with the specified log level.
  Namespace types: matrix
  Parameters:
     input (matrix) : The input matrix to log.
     msg (string) : The message to log. Default is an empty string.
     level (int) : The log level (1 - info, 2 - warning, 3 - error). Default is 1.
  Returns: The input matrix.
 method log(input, msg, level) 
  Namespace types: matrix
  Parameters:
     input (matrix) 
     msg (string) 
     level (int)
Frizlabz
HolidayLibrary   "Holiday" 
- Full Control over Holidays and Daylight Savings Time (DLS)
The  Holiday  Library is an essential tool for traders and analysts who engage in  backtesting  and  live trading . This comprehensive library enables the incorporation of crucial calendar elements - specifically  Daylight Savings Time  (DLS) adjustments and  public holidays  - into trading strategies and backtesting environments.
 Key Features: 
-  DLS Adjustments:  The library takes into account the shifts in time due to Daylight Savings. This feature is particularly vital for backtesting strategies, as DLS can impact trading hours, which in turn affects the volatility and liquidity in the market. Accurate DLS adjustments ensure that backtesting scenarios are as close to real-life conditions as possible.
-  Comprehensive Holiday Metadata:  The library includes a rich set of holiday metadata, allowing for the detailed scheduling of trading activities around public holidays. This feature is crucial for avoiding skewed results in backtesting, where holiday trading sessions might differ significantly in terms of volume and price movement.
-  Customizable Holiday Schedules:  Users can add or remove specific holidays, tailoring the library to fit various regional market schedules or specific trading requirements.
-  Visualization Aids:  The library supports on-chart labels, making it visually intuitive to identify holidays and DLS shifts directly on trading charts.
 Use Cases: 
1.  Strategy Development:  When developing trading strategies, it’s important to account for non-trading days and altered trading hours due to holidays and DLS. This library enables a realistic and accurate representation of these factors.
2.  Risk Management:  Trading around holidays can be riskier due to thinner liquidity and greater volatility. By integrating holiday data, traders can better manage their risk exposure.
3.  Backtesting Accuracy:  For backtesting to be effective, it must simulate the actual market conditions as closely as possible. Incorporating holidays and DLS adjustments contributes to more reliable and realistic backtesting results.
4.  Global Trading:  For traders active in multiple global markets, this library provides an easy way to handle different holiday schedules and DLS shifts across regions.
The  Holiday  Library is a versatile tool that enhances the precision and realism of  trading simulations  and  strategy development . Its integration into the trading workflow is straightforward and beneficial for both novice and experienced traders.
 EasterAlgo(_year) 
  Calculates the date of Easter Sunday for a given year using the Anonymous Gregorian algorithm.
`Gauss Algorithm for Easter Sunday` was developed by the mathematician Carl Friedrich Gauss
This algorithm is based on the cycles of the moon and the fact that Easter always falls on the first Sunday after the first ecclesiastical full moon that occurs on or after March 21.
While it's not considered to be 100% accurate due to rare exceptions, it does give the correct date in most cases.
It's important to note that Gauss's formula has been found to be inaccurate for some 21st-century years in the Gregorian calendar. Specifically, the next suggested failure years are 2038, 2051.
This function can be used for Good Friday (Friday before Easter), Easter Sunday, and Easter Monday (following Monday).
en.wikipedia.org
  Parameters:
     _year (int) : `int` - The year for which to calculate the date of Easter Sunday. This should be a four-digit year (YYYY).
  Returns: tuple   - The month (1-12) and day (1-31) of Easter Sunday for the given year.
 easterInit() 
  Inits the date of Easter Sunday and Good Friday for a given year.
  Returns: tuple   - The month (1-12) and day (1-31) of Easter Sunday and Good Friday for the given year.
 isLeapYear(_year) 
  Determine if a year is a leap year.
  Parameters:
     _year (int) : `int` - 4 digit year to check => YYYY
  Returns: `bool` - true if input year is a leap  year
 method timezoneHelper(utc) 
  Helper function to convert UTC time.
  Namespace types: series int, simple int, input int, const int
  Parameters:
     utc (int) : `int` - UTC time shift in hours.
  Returns: `string`- UTC time string with shift applied.
 weekofmonth() 
  Function to find the week of the month of a given Unix Time.
  Returns: number - The week of the month of the specified UTC time.
 dayLightSavingsAdjustedUTC(utc, adjustForDLS) 
  dayLightSavingsAdjustedUTC
  Parameters:
     utc (int) : `int` - The normal UTC timestamp to be used for reference.
     adjustForDLS (bool) : `bool` - Flag indicating whether to adjust for daylight savings time (DLS).
  Returns: `int` - The adjusted UTC timestamp for the given normal UTC timestamp.
 getDayOfYear(monthOfYear, dayOfMonth, weekOfMonth, dayOfWeek, lastOccurrenceInMonth, holiday) 
  Function gets the day of the year of a given holiday (1-366)
  Parameters:
     monthOfYear (int) 
     dayOfMonth (int) 
     weekOfMonth (int) 
     dayOfWeek (int) 
     lastOccurrenceInMonth (bool) 
     holiday (string) 
  Returns: `int` - The day of the year of the holiday 1-366.
 method buildMap(holidayMap, holiday, monthOfYear, weekOfMonth, dayOfWeek, dayOfMonth, lastOccurrenceInMonth, closingTime) 
  Function to build the `holidaysMap`.
  Namespace types: map
  Parameters:
     holidayMap (map) : `map` - The map of holidays.
     holiday (string) : `string` - The name of the holiday.
     monthOfYear (int) : `int` - The month of the year of the holiday.
     weekOfMonth (int) : `int` - The week of the month of the holiday.
     dayOfWeek (int) : `int` - The day of the week of the holiday.
     dayOfMonth (int) : `int` - The day of the month of the holiday.
     lastOccurrenceInMonth (bool) : `bool` - Flag indicating whether the holiday is the last occurrence of the day in the month.
     closingTime (int) : `int` - The closing time of the holiday.
  Returns: `map` - The updated map of holidays
 holidayInit(addHolidaysArray, removeHolidaysArray, defaultHolidays) 
  Initializes a HolidayStorage object with predefined US holidays.
  Parameters:
     addHolidaysArray (array) : `array` - The array of additional holidays to be added.
     removeHolidaysArray (array) : `array` - The array of holidays to be removed.
     defaultHolidays (bool) : `bool` - Flag indicating whether to include the default holidays.
  Returns: `map` - The map of holidays.
 Holidays(utc, addHolidaysArray, removeHolidaysArray, adjustForDLS, displayLabel, defaultHolidays) 
  Main function to build the holidays object, this is the only function from this library that should be needed.  \
all functionality should be available through this function.  \
With the exception of initializing a `HolidayMetaData` object to add a holiday or early close. \
\
**Default Holidays:**  \
`DLS begin`, `DLS end`, `New Year's Day`, `MLK Jr. Day`,  \
`Washington Day`, `Memorial Day`, `Independence Day`, `Labor Day`,  \
`Columbus Day`, `Veterans Day`, `Thanksgiving Day`, `Christmas Day`   \
\
**Example**
```
HolidayMetaData valentinesDay = HolidayMetaData.new(holiday="Valentine's Day", monthOfYear=2, dayOfMonth=14)
HolidayMetaData stPatricksDay = HolidayMetaData.new(holiday="St. Patrick's Day", monthOfYear=3, dayOfMonth=17)
HolidayMetaData  addHolidaysArray = array.from(valentinesDay, stPatricksDay)
string  removeHolidaysArray = array.from("DLS begin", "DLS end")
܂Holidays = Holidays(
܂     utc=-6,
܂     addHolidaysArray=addHolidaysArray,
܂     removeHolidaysArray=removeHolidaysArray,
܂     adjustForDLS=true,
܂     displayLabel=true,
܂     defaultHolidays=true,
܂ )
plot(Holidays.newHoliday ? open : na, title="newHoliday", color=color.red, linewidth=4, style=plot.style_circles)
```
  Parameters:
     utc (int) : `int` - The UTC time shift in hours
     addHolidaysArray (array) : `array` - The array of additional holidays to be added
     removeHolidaysArray (array) : `array` - The array of holidays to be removed
     adjustForDLS (bool) : `bool` - Flag indicating whether to adjust for daylight savings time (DLS)
     displayLabel (bool) : `bool` - Flag indicating whether to display a label on the chart
     defaultHolidays (bool) : `bool` - Flag indicating whether to include the default holidays
  Returns: `HolidayObject` - The holidays object | Holidays = (holidaysMap: map, newHoliday: bool, holiday: string, dayString: string)
 HolidayMetaData 
  HolidayMetaData
  Fields:
     holiday (series string) : `string` - The name of the holiday.
     dayOfYear (series int) : `int` - The day of the year of the holiday.
     monthOfYear (series int) : `int` - The month of the year of the holiday.
     dayOfMonth (series int) : `int` - The day of the month of the holiday.
     weekOfMonth (series int) : `int` - The week of the month of the holiday.
     dayOfWeek (series int) : `int` - The day of the week of the holiday.
     lastOccurrenceInMonth (series bool) 
     closingTime (series int) : `int` - The closing time of the holiday.
     utc (series int) : `int` - The UTC time shift in hours.
 HolidayObject 
  HolidayObject
  Fields:
     holidaysMap (map) : `map` - The map of holidays.
     newHoliday (series bool) : `bool` - Flag indicating whether today is a new holiday.
     activeHoliday (series bool) : `bool` - Flag indicating whether today is an active holiday.
     holiday (series string) : `string` - The name of the holiday.
     dayString (series string) : `string` - The day of the week of the holiday.
.print()
You don't need to initialize anything.. 
After you import the library you can use .print() as easy as that..! 
Hope this helps
* use a unique ID for each .print() call 
let me know if you run into any bugs 
by trying to make it as user friendly as possible i had to do 
some not ideal things so there's a chance it could present some bugs with 
a lot of labels present on the chart
and if you use label.all to parse and manipulate the labels on the chart..
most likely it will cause an issue but not a lot of people use this so 
I don't think that will be a problem.
thanks,
FFriZz | frizlabz 
Library   "print" 
Single function to print any type to console
 method str(inp) 
  `method` convert all types to string
```
(overload)
*.str(any inp) => string
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     inp (string) : `any` - desc | Required
  Returns: `string` formatted string
 method str(inp) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     inp (int) 
 method str(inp) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     inp (float) 
 method str(inp) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     inp (bool) 
 method str(inp) 
  Namespace types: series linefill
  Parameters:
     inp (linefill) 
 method str(inp) 
  Namespace types: series line
  Parameters:
     inp (line) 
 method str(inp) 
  Namespace types: series box
  Parameters:
     inp (box) 
 method str(inp) 
  Namespace types: series label
  Parameters:
     inp (label) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: matrix
  Parameters:
     inp (matrix) 
 method str(inp) 
  Namespace types: linefill 
  Parameters:
     inp (linefill ) 
 method str(inp) 
  Namespace types: line 
  Parameters:
     inp (line ) 
 method str(inp) 
  Namespace types: box 
  Parameters:
     inp (box ) 
 method str(inp) 
  Namespace types: label 
  Parameters:
     inp (label ) 
 method str(inp) 
  Namespace types: string 
  Parameters:
     inp (string ) 
 method str(inp) 
  Namespace types: int 
  Parameters:
     inp (int ) 
 method str(inp) 
  Namespace types: float 
  Parameters:
     inp (float ) 
 method str(inp) 
  Namespace types: bool 
  Parameters:
     inp (bool ) 
 method arrayShorten(str) 
  arrayShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - a shortened version of the input string if it is an array with more than 7 elements, otherwise the original string
 method matrixShorten(str) 
  matrixShorten
  Namespace types: series string, simple string, input string, const string
  Parameters:
     str (string) : `string` - the string to shorten | Required
  Returns: `string` - the shortened matrix string if the input is a matrix, otherwise returns the input string as is
 method print(x, ID) 
  print all types to theh same console with just this `method/function`
```
(overload)
*.print(any x, string ID, bool shorten=true?) => console
"param 'shorten' - only for arrays and matrixs" | true 
```
  Namespace types: series string, simple string, input string, const string
  Parameters:
     x (string) : - `any` input to convert
     ID (string) : - `string` unique id for label on console `MUST BE UNIQUE`
  Returns: adds the `ID` and the `inp` to the console on the chart
 method print(x, ID) 
  Namespace types: series float, simple float, input float, const float
  Parameters:
     x (float) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series int, simple int, input int, const int
  Parameters:
     x (int) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series box
  Parameters:
     x (box) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series bool, simple bool, input bool, const bool
  Parameters:
     x (bool) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series label
  Parameters:
     x (label) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series line
  Parameters:
     x (line) 
     ID (string) 
 method print(x, ID) 
  Namespace types: series linefill
  Parameters:
     x (linefill) 
     ID (string) 
 method print(x, ID, shorten) 
  Namespace types: string 
  Parameters:
     x (string ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: float 
  Parameters:
     x (float ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: int 
  Parameters:
     x (int ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: box 
  Parameters:
     x (box ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: bool 
  Parameters:
     x (bool ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: label 
  Parameters:
     x (label ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: line 
  Parameters:
     x (line ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: linefill 
  Parameters:
     x (linefill ) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool) 
 method print(x, ID, shorten) 
  Namespace types: matrix
  Parameters:
     x (matrix) 
     ID (string) 
     shorten (bool)
ObjectHelpersLibrary   "ObjectHelpers" 
Line | Box | Label | Linefill -- Maker, Setter, Getter Library
TODO: add table functionality
 set(object) 
  set all params for `line`, `box`, `label`, `linefill` objects with 1 function
***
## Overloaded
***
```
method set(line Line, int x1=na, float y1=na, int x2=na, float y2=na,string xloc=na,string extend=na,color color=na,string style=na,int width=na,bool update=na) => line
```
### Params 
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1
- **y1** `float` - value to set y1
- **x2** `int` - value to set x2
- **y2** `float` - value to set y2
- **xloc** `int` - value to set xloc
- **yloc** `int` - value to set yloc
- **extend** `string` - value to set extend
- **color** `color` - value to set color
- **style** `string` - value to set style
- **width** `int` - value to set width
- **update** `bool` - value to set update
***
```
method set(box Box,int left=na,float top=na,int right=na, float bottom=na,color bgcolor=na,color border_color=na,string border_style=na,int border_width=na,string extend=na,string txt=na,color text_color=na,string text_font_family=na,string text_halign=na,string text_valign=na,string text_wrap=na,bool update=false) => box
```
### Params 
- **Box** `box` - box object
- **left** `int` - value to set left
- **top** `float` - value to set top
- **right** `int` - value to set right
- **bottom** `float` - value to set bottom
- **bgcolor** `color` - value to set bgcolor
- **border_color** `color` - value to set border_color
- **border_style** `string` - value to set border_style
- **border_width** `int` - value to set border_width
- **extend** `string` - value to set extend
- **txt** `string` - value to set _text
- **text_color** `color` - value to set text_color
- **text_font_family** `string` - value to set text_font_family
- **text_halign** `string` - value to set text_halign
- **text_valign** `string` - value to set text_valign
- **text_wrap** `string` - value to set text_wrap
- **update** `bool` - value to set update
***
```
method set(label Label,int x=na,float y=na, string txt=na,string xloc=na,color color=na,color textcolor=na,string size=na,string style=na,string textalign=na,string tooltip=na,string text_font_family=na,bool update=false) => label
```
### Paramas 
- **Label** `label` - label object
- **x** `int` - value to set x
- **y** `float` - value to set y
- **txt** `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
- **textcolor** `color` - value to set textcolor
- **size** `string` - value to set size
- **style** `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
- **text_font_family** `string` - value to set text_font_family
- **textalign** `string` - value to set textalign
- **tooltip** `string` - value to set tooltip
- **update** `bool` - update label to next bar
***
```
method set(linefill Linefill=na,line line1=na,line line2=na,color color=na) => linefill
```
### Params 
- **linefill** `linefill` - linefill object
- **line1** `line` - line object
- **line2** `line` - line object
- **color** `color` - color
  Parameters:
     object (obj) 
  Returns: `line`, `box`, `label`, `linefill`
 method set(Line, x1, y1, x2, y2, xloc, extend, color, style, width, update) 
  set the location params of a line with 1 function auto detects time or bar_index for xloc param
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object | `required`
     x1 (int) : `int` - value to set x1
     y1 (float) : `float` - value to set y1
     x2 (int) : `int` - value to set x2
     y2 (float) : `float` - value to set y2
     xloc (string) : `int` - value to set xloc
     extend (string) : `string` - value to set extend
     color (color) : `color` - value to set color
     style (string) : `string` - value to set style
     width (int) : `int` - value to set width
     update (bool) : `bool` - value to set update
  Returns: `line`
 method set(Box, left, top, right, bottom, bgcolor, border_color, border_style, border_width, extend, txt, text_color, text_font_family, text_halign, text_valign, text_wrap, update) 
  set the location params of a box with 1 function
  Namespace types: series box
  Parameters:
     Box (box) : `box` - box object | `required`
     left (int) : `int` - value to set left
     top (float) : `float` - value to set top
     right (int) : `int` - value to set right
     bottom (float) : `float` - value to set bottom
     bgcolor (color) : `color` - value to set bgcolor
     border_color (color) : `color` - value to set border_color
     border_style (string) : `string` - value to set border_style
     border_width (int) : `int` - value to set border_width
     extend (string) : `string` - value to set extend
     txt (string) : `string` - value to set _text
     text_color (color) : `color` - value to set text_color
     text_font_family (string) : `string` - value to set text_font_family
     text_halign (string) : `string` - value to set text_halign
     text_valign (string) : `string` - value to set text_valign
     text_wrap (string) : `string` - value to set text_wrap
     update (bool) : `bool` - value to set update
  Returns: `box`
 method set(Label, x, y, txt, xloc, color, textcolor, size, style, textalign, tooltip, text_font_family, update) 
  set the location params of a label with 1 function auto detects time or bar_index for xloc param
  Namespace types: series label
  Parameters:
     Label (label) : `label` | `required`
     x (int) : `int` - value to set x
     y (float) : `float` - value to set y
     txt (string) : `string` - value to set text add`"+++"` to the _text striing to have the current label text concatenated to the location of the "+++")
     xloc (string) 
     color (color) 
     textcolor (color) : `color` - value to set textcolor
     size (string) : `string` - value to set size
     style (string) : `string` - value to set style (use "flip" ,as the style to have label flip to top or bottom of bar depending on if open > close and vice versa)
     textalign (string) : `string` - value to set textalign
     tooltip (string) : `string` - value to set tooltip
     text_font_family (string) : `string` - value to set text_font_family
     update (bool) : `bool` - update label to next bar
  Returns: `label`
 method set(Linefill, line1, line2, color) 
  change the 1 or 2 of the lines in a linefill object
  Namespace types: series linefill
  Parameters:
     Linefill (linefill) 
     line1 (line) : `line` - line object
     line2 (line) : `line` - line object
     color (color) : `color` - color
  Returns: `linefill`
 get(object) 
  get all of the location variables for `line`, `box`, `label` objects or the line objects from a `linefill`
***
## Overloaded
***
```
method get(line Line) =>  
```
### Params 
- **Line** `line` - line object | `required`
***
```
method get(box Box) =>  
```
### Params 
- **Box** `box` - box object | `required`
***
```
method get(label Label) =>  
```
### Paramas 
- **Label** `label` - label object | `required`
***
```
method get(linefill Linefill) =>  
```
### Params 
- **Linefill** `linefill` - linefill object | `required`
  Parameters:
     object (obj) 
  Returns: ` `
 method get(Line) 
  Gets the location paramaters of a Line
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object 
  Returns:  
 method get(Box) 
  Gets the location paramaters of a Box
  Namespace types: series box
  Parameters:
     Box (box) : `box` - box object 
  Returns:  
 method get(Label) 
  Gets the `x`, `y`, `text` of a Label
  Namespace types: series label
  Parameters:
     Label (label) : `label` - label object 
  Returns:  
 method get(Linefill) 
  Gets `line 1`, `line 2` from a Linefill
  Namespace types: series linefill
  Parameters:
     Linefill (linefill) : `linefill` - linefill object
  Returns:  
 method set_x(Line, x1, x2) 
  set the `x1`, `x2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **x1** `int` - value to set x1 | `required`
- **x2** `int` - value to set x2 | `required`
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object
     x1 (int) : `int` - value to set x1
     x2 (int) : `int` - value to set x2
  Returns: `line`
 method set_y(Line, y1, y2) 
  set `y1`, `y2` of a line
***
### Params
- **Line** `line` - line object | `required`
- **y1** `float` - value to set y1 | `required`
- **y2** `float` - value to set y2 | `required`
  Namespace types: series line
  Parameters:
     Line (line) : `line` - line object
     y1 (float) : `float` - value to set y1
     y2 (float) : `float` - value to set y2
  Returns: `line`
 method Line(x1, y1, x2, y2, extend, color, style, width) 
  Similar to `line.new()` but can detect time or bar_index for xloc param and has defaults for all params but `x1`, `y1`, `x2`, `y2`
***
### Params
- **x1** `int` - value to set 
- **y1** `float` - value to set 
- **x2** `int` - value to set 
- **y2** `float` - value to set 
- **extend** `string` - extend value to set line 
- **color** `color` - color to set line 
- **style** `string` - style to set line 
- **width** `int` - width to set line
  Namespace types: series int, simple int, input int, const int
  Parameters:
     x1 (int) : `int` - value to set 
     y1 (float) : `float` - value to set 
     x2 (int) : `int` - value to set  
     y2 (float) : `float` - value to set 
     extend (string) : `string` - extend value to set line 
     color (color) : `color` - color to set line 
     style (string) : `string` - style to set line 
     width (int) : `int` - width to set line 
  Returns: `line`
 method Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap) 
  similar to box.new() with the but can detect xloc param and has defaults for everything but location params
***
### Params
- **left** `int` - value to set 
- **top** `float` - value to set 
- **right** `int` - value to set 
- **bottom** `float` - value to set 
- **extend** `string` - extend value to set box 
- **border_color** `color` - color to set border 
- **bgcolor** `color` - color to set background
- **text_color** `color` - color to set text 
- **border_width** `int` - width to set border 
- **border_style** `string` - style to set border 
- **txt** `string` - text to set
- **text_halign** `string` - horizontal alignment to set text 
- **text_valign** `string` - vertical alignment to set text 
- **text_size** `string` - size to set text 
- **text_wrap** `string` - wrap to set text
  Namespace types: series int, simple int, input int, const int
  Parameters:
     left (int) : `int` - value to set 
     top (float) : `float` - value to set 
     right (int) : `int` - value to set 
     bottom (float) : `float` - value to set 
     extend (string) : `string` - extend value to set box 
     border_color (color) : `color` - color to set border 
     bgcolor (color) : `color` - color to set background
     text_color (color) : `color` - color to set text 
     border_width (int) : `int` - width to set border 
     border_style (string) : `string` - style to set border 
     txt (string) : `string` - text to set
     text_halign (string) : `string` - horizontal alignment to set text 
     text_valign (string) : `string` - vertical alignment to set text 
     text_size (string) : `string` - size to set text 
     text_wrap (string) : `string` - wrap to set text 
  Returns: `box`
 method Label(txt, x, y, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip) 
  Similar to label.new() but can detect time or bar_index for xloc param and has defaults for all params but x, y, txt, tooltip   
***
### Params
- **txt** `string` - string to set
- **x** `int` - value to set
- **y** `float` - value to set
- **yloc** `string` - y location to set 
- **color** `color` - label color to set
- **textcolor** `color` - text color to set
- **style** `string` - style to set
- **size** `string` - size to set
- **textalign** `string` - text alignment to set
- **text_font_family** `string` - font family to set
- **tooltip** `string` - tooltip to set
  Namespace types: series string, simple string, input string, const string
  Parameters:
     txt (string) : `string` - string to set
     x (int) : `int` - value to set
     y (float) : `float` - value to set
     yloc (string) : `string` - y location to set
     color (color) : `color` - label color to set
     textcolor (color) : `color` - text color to set
     style (string) : `string` - style to set
     size (string) : `string` - size to set
     textalign (string) : `string` - text alignment to set
     text_font_family (string) : `string` - font family to set
     tooltip (string) : `string` - tooltip to set
  Returns: `label`
 obj 
  Fields:
     obj (series__string)
Bitwise, Encode, DecodeLibrary   "Bitwise, Encode, Decode" 
Bitwise, Encode, Decode, and more Library
 docs() 
      Hover-Over Documentation for inside Text Editor
 bAnd(a, b) 
  Returns the bitwise AND of two integers  
  Parameters:
     a : `int` - The first integer
     b : `int` - The second integer
  Returns: `int` - The bitwise AND of the two integers
 bOr(a, b) 
  Performs a bitwise OR operation on two integers.  
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The result of the bitwise OR operation.
 bXor(a, b) 
  Performs a bitwise Xor operation on two integers.  
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The result of the bitwise Xor operation.
 bNot(n) 
  Performs a bitwise NOT operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise NOT operation on.
  Returns: `int` - The result of the bitwise NOT operation.
 bShiftLeft(n, step) 
  Performs a bitwise left shift operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise left shift operation on.
     step : `int` - The number of positions to shift the bits to the left.
  Returns: `int` - The result of the bitwise left shift operation.
 bShiftRight(n, step) 
  Performs a bitwise right shift operation on an integer.  
  Parameters:
     n : `int` - The integer to perform the bitwise right shift operation on.
     step : `int` - The number of bits to shift by.
  Returns: `int` - The result of the bitwise right shift operation.
 bRotateLeft(n, step) 
  Performs a bitwise right shift operation on an integer.
  Parameters:
     n : `int` - The int to perform the bitwise Left rotation on the bits.                        
     step : `int` - The number of bits to shift by.
  Returns: `int`- The result of the bitwise right shift operation.
 bRotateRight(n, step) 
  Performs a bitwise right shift operation on an integer.
  Parameters:
     n : `int` - The int to perform the bitwise Right rotation on the bits.
     step : `int` - The number of bits to shift by.
  Returns: `int` - The result of the bitwise right shift operation.
 bSetCheck(n, pos) 
  Checks if the bit at the given position is set to 1.
  Parameters:
     n : `int` - The integer to check.
     pos : `int` - The position of the bit to check.
  Returns: `bool` - True if the bit is set to 1, False otherwise.
 bClear(n, pos) 
  Clears a particular bit of an integer (changes from 1 to 0) passes if bit at pos is 0.
  Parameters:
     n : `int` - The integer to clear a bit from.
     pos : `int` - The zero-based index of the bit to clear.
  Returns: `int` - The result of clearing the specified bit.
 bFlip0s(n) 
  Flips all 0 bits in the number to 1.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all 0 bits in the number.
 bFlip1s(n) 
  Flips all 1 bits in the number to 0.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all 1 bits in the number.
 bFlipAll(n) 
  Flips all bits in the number.
  Parameters:
     n : `int` - The integer to flip the bits of.
  Returns: `int` - The result of flipping all bits in the number.
 bSet(n, pos, newBit) 
  Changes the value of the bit at the given position.
  Parameters:
     n : `int` - The integer to modify.
     pos : `int` - The position of the bit to change.
     newBit : `int` - na = flips bit at pos reguardless 1 or 0 | The new value of the bit (0 or 1).
  Returns: `int` - The modified integer.
 changeDigit(n, pos, newDigit) 
  Changes the value of the digit at the given position.
  Parameters:
     n : `int` - The integer to modify.
     pos : `int` - The position of the digit to change.
     newDigit : `int` - The new value of the digit (0-9).
  Returns: `int` - The modified integer.
 bSwap(n, i, j) 
  Switch the position of 2 bits of an int
  Parameters:
     n : `int` - int to manipulate
     i : `int` - bit pos to switch with j
     j : `int` - bit pos to switch with i
  Returns: `int` - new int with bits switched
 bPalindrome(n) 
  Checks to see if the binary form is a Palindrome (reads the same left to right and vice versa)
  Parameters:
     n : `int` - int to check
  Returns: `bool` - result of check
 bEven(n) 
  Checks if n is Even
  Parameters:
     n : `int` - The integer to check.
  Returns: `bool` - result.
 bOdd(n) 
  checks if n is Even if not even Odd
  Parameters:
     n : `int` - The integer to check.
  Returns: `bool` - result.
 bPowerOfTwo(n) 
  Checks if n is a Power of 2.
  Parameters:
     n : `int` - number to check.
  Returns: `bool` - result.
 bCount(n, to_count) 
  Counts the number of bits that are equal to 1 in an integer.
  Parameters:
     n : `int` - The integer to count the bits in.
     to_count  `string` -   the bits to count
  Returns: `int` - The number of bits that are equal to 1 in n.
 GCD(a, b) 
  Finds the greatest common divisor (GCD) of two numbers.
  Parameters:
     a : `int` - The first number.
     b : `int` - The second number.
  Returns: `int` - The GCD of a and b.
 LCM(a, b) 
  Finds the least common multiple (LCM) of two integers.
  Parameters:
     a : `int` - The first integer.
     b : `int` - The second integer.
  Returns: `int` - The LCM of a and b.
 aLCM(nums) 
  Finds the LCM of an array of integers.
  Parameters:
     nums : `int ` - The list of integers.
  Returns: `int` - The LCM of the integers in nums.
 adjustedLCM(nums, LCM) 
  adjust an array of integers to Least Common Multiple (LCM)
  Parameters:
     nums : `int ` - The first integer
     LCM : `int` - The second integer
  Returns: `int ` - array of ints with LCM
 charAt(str, pos) 
  gets a Char at a given position.
  Parameters:
     str : `string` - string to pull char from.
     pos : `int` - pos to get char from string (left to right index).
  Returns: `string` - char from pos of string or "" if pos is not within index range
 decimalToBinary(num) 
  Converts a decimal number to binary
  Parameters:
     num : `int` - The decimal number to convert to binary
  Returns: `string` - The binary representation of the decimal number
 decimalToBinary(num, to_binary_int) 
  Converts a decimal number to binary
  Parameters:
     num : `int` - The decimal number to convert to binary
     to_binary_int : `bool` - bool to convert to int or to string (true for int, false for string)
  Returns: `string` - The binary representation of the decimal number
 binaryToDecimal(binary) 
  Converts a binary number to decimal
  Parameters:
     binary : `string` - The binary number to convert to decimal
  Returns: `int` - The decimal representation of the binary number
 decimal_len(n) 
  way of finding decimal length using arithmetic
  Parameters:
     n  `float` - floating decimal point to get length of.
  Returns: `int` - number of decimal places
 int_len(n) 
  way of finding number length using arithmetic
  Parameters:
     n : `int`- value to find length of number
  Returns: `int` - lenth of nunber i.e. 23 == 2
 float_decimal_to_whole(n) 
  Converts a float decimal number to an integer `0.365 to 365`.
  Parameters:
     n : `string` - The decimal number represented as a string.
  Returns: `int` - The integer obtained by removing the decimal point and leading zeroes from s.
 fractional_part(x) 
  Returns the fractional part of a float.
  Parameters:
     x : `float` - The float to get the fractional part of.
  Returns: `float` - The fractional part of the float.
 form_decimal(a, b, zero_fix) 
  helper to form 2 ints into 1 float seperated by the decimal
  Parameters:
     a : `int` - a int
     b : `int` - b int
     zero_fix : `bool` - fix for trailing zeros being truncated when converting to float
  Returns: ` ` - float = float decimal of ints | string = string version of b for future use to ref length
 bEncode(n1, n2) 
  Encodes two numbers into one using bit OR. (fastest)
  Parameters:
     n1 : `int` - The first number to Encodes.
     n2 : `int` - The second number to Encodes.
  Returns: `int` - The result of combining the two numbers using bit OR.
 bDecode(n) 
  Decodes an integer created by the bCombine function.(fastest)
  Parameters:
     n : `int` - The integer to decode.
  Returns: ` ` - A tuple containing the two decoded components of the integer.
 Encode(a, b) 
  Encodes by seperating ints into left and right of decimal float
  Parameters:
     a : `int` - a int
     b : `int` - b int
  Returns: `float` - new float of encoded ints one on left of decimal point one on right
 Decode(encoded) 
  Decodes float of 2 ints seperated by decimal point
  Parameters:
     encoded : `float` - the encoded float value
  Returns: ` ` - tuple of the 2 ints from encoded float
 encode_heavy(a, b) 
  Encodes by combining numbers and tracking size in the
decimal of a floating number (slowest)
  Parameters:
     a : `int` - a int
     b : `int` - b int
  Returns: `float` - new decimal of encoded ints
 decode_heavy(encoded) 
  Decodes encoded float that tracks size of ints in float decimal 
  Parameters:
     encoded : `float` - encoded float
  Returns: ` ` - tuple of decoded ints
 decimal of float (slowest) 
  Parameters:
     encoded : `float` - the encoded float value
  Returns: ` ` - tuple of the 2 ints from encoded float
 Bitwise, Encode, Decode Docs  
 
  In the documentation you may notice the word decimal   
not used as normal this is because when referring to   
binary a decimal number is a number that  
can be represented with base 10 numbers 0-9   
(the wiki below explains better)  
  A rule of thumb for the two integers being   
encoded it to keep both numbers   
less than 65535 this is because anything lower uses 16 bits or less   
this will maintain 100% accuracy when decoding   
although it is possible to do numbers up to 2147483645 with   
this library doesnt seem useful enough  
to explain or demonstrate.  
  The functions provided work within this 32-bit range,   
where the highest number is all 1s and   
the lowest number is all 0s. These functions were created   
to overcome the lack of built-in bitwise functions in Pinescript.   
By combining two integers into a single number,  
the code can access both values i.e when   
indexing only one array index  
for a matrices row/column, thus improving execution time.   
This technique can be applied to various coding   
scenarios to enhance performance.  
  Bitwise functions are a way to use integers in binary form      
that can be used to speed up several different processes      
most languages have operators to perform these function such as      
`<<, >>, &, ^, |, ~` 
 
 en.wikipedia.org  
UnispacesLibrary   "Unispaces" 
Easier than looking up unicode spaces
 spaces(sequence, string1, string2) 
  UNISPACES  
  Parameters:
     sequence : (int) required | 123 = 3 spaces / 3 different sizes (one space per number can find spaces in hover over)
     string1 : (str) optional | default = ""    
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding unispaces`
 space(space, string1, string2) 
  UNISPACE
  Parameters:
     space : (int) optional | default = 0 | 0-15 (can find spaces in hover over)      
     string1 : (str) optional | default = ""
     string2 : (str) optional | default = ""
  Returns: `string - concatenated string surrounding a unispace `
Sub-Super Script and Roman numerals LibraryLibrary   "Sub_Super_Script_and_RomanNumerals_Library" 
Library to transform numbers into Roman numerals / Super-Sub script / check if value is alpha or number
 isnumber(input) 
  check to see if value is a number
  Parameters:
     input : (string/float/int) value to check
  Returns: (na) if value is NOT a number and input (string/float/int) if value is a number
 isalpha(input) 
  check a string if it is alpha(doesnt contain numbers)
  Parameters:
     input 
  Returns: (string) if string input does NOT contain numbers, return (na) if input string contains numbers
 super(num) 
  convert a string's numbers from normal print to super-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to super-script
 sub(num) 
  convert a string's numbers from normal print to sub-script  
  Parameters:
     num : (string/int/float) input value to transform
  Returns: string of input with numbers converted to sub-script
 roman(num, trunc) 
  convert a string of numbers, float, or int
  Parameters:
     num : (string) input number to transform
     trunc : (bool | false) true to truncate float value, false to show roman numerals with decimals (XX.VI) 
  Returns: string of roman numerals representing the input (num)
FrizLabz_Time_Utility_MethodsLibrary   "FrizLabz_Time_Utility_Methods" 
Some time to index and index to time helper methods made them for another library thought I would try to make
them as methods
 UTC_helper(utc) 
  UTC helper function this adds the + to the positive utc times, add "UTC" to the string
       and can be used in the timezone arg of for format_time()
  Parameters:
     utc : (int) | +/- utc offset
  Returns: string | string to be added to the timezone paramater for utc timezone usage
 bar_time(bar_amount) 
  from a time to index
  Parameters:
     bar_amount : (int) | default - 1)
  Returns: int bar_time
 time_to_index(_time) 
  from time to bar_index
  Parameters:
     _time : (int) 
  Returns: int time_to_index | bar_index that corresponds to time provided
 time_to_bars_back(_time) 
  from a time quanity to bar quanity for use with  .
  Parameters:
     _time : (int) 
  Returns: int bars_back | yeilds the amount of bars from current bar to reach _time provided
 bars_back_to_time(bars_back) 
  from bars_back to time
  Parameters:
     bars_back 
  Returns: int | using same logic as   this will return the 
                    time of the bar = to the bar that corresponds to   bars_back
 index_time(index) 
  bar_index to UNIX time
  Parameters:
     index : (int) 
  Returns: int time | time in unix that corrresponds to the bar_index
 to_utc(time_or_index, timezone, format) 
  method to use with a time or bar_index variable that will detect if it is an index or unix time
       and convert it to a printable string
  Parameters:
     time_or_index : (int) required) | time in unix or bar_index
     timezone : (int) required) | utc offset to be appled to output
     format : (string) | default - "yyyy-MM-dd'T'HH:mm:ssZ") | the format for the time, provided string is 
                                     default one from str.format_time()
  Returns: string | time formatted string
 GET(line) 
  Gets the location paramaters of a Line
  Parameters:
     line : (line)
  Returns: tuple  
 GET(box) 
  Gets the location paramaters of a Box
  Parameters:
     box : (box)
  Returns: tuple  
 GET(label) 
  Gets the location paramaters and text of a Label
  Parameters:
     label : (label)
  Returns: tuple  
 GET(linefill) 
  Gets line 1 and 2 from a Linefill
  Parameters:
     linefill : (linefill)
  Returns: tuple  
 Format(line, timezone) 
  converts Unix time in time or index params to formatted time
       and returns a tuple of the params as string with the time/index params formatted
  Parameters:
     line : (line) | required
     timezone : (int) | default - na
  Returns: tuple  
 Line(x1, y1, x2, y2, extend, color, style, width) 
  similar to line.new() with the exception
       of not needing to include y2 for a flat line, y1 defaults to close, 
       and it doesnt require xloc.bar_time or xloc.bar_index, if no x1
  Parameters:
     x1 : (int) default - time
     y1 : (float) default - close
     x2 : (int) default - last_bar_time/last_bar_index | not required for line that ends on current bar
     y2 : (float) default - y1 | not required for flat line
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     color : (color) default - chart.fg_color
     style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
                                  line.style_arrow_both, line.style_arrow_left, line.style_arrow_right
     width 
  Returns: line
 Box(left, top, right, bottom, extend, border_color, bgcolor, text_color, border_width, border_style, txt, text_halign, text_valign, text_size, text_wrap) 
  similar to box.new() but only requires top and bottom to create box,
       auto detects if it is bar_index or time used in the (left) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     left : (int) default - time 
     top : (float) required 
     right : (int) default - last_bar_time/last_bar_index | will default to current bar index or time 
                                  depending on (left) arg
     bottom : (float) required
     extend : (string) default - extend.none | extend.left, extend.right, extend.both
     border_color : (color) default - chart.fg_color
     bgcolor : (color) default - color.new(chart.fg_color,75)
     text_color : (color) default - chart.bg_color
     border_width : (int) default - 1 
     border_style : (string) default - line.style_solid | line.style_dotted, line.style_dashed, 
     txt : (string) default - ''
     text_halign : (string) default - text.align_center | text.align_left, text.align_right
     text_valign : (string) default - text.align_center | text.align_top, text.align_bottom 
     text_size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge 
     text_wrap : (string) default - text.wrap_auto | text.wrap_none
  Returns: box
 Label(x, y, txt, yloc, color, textcolor, style, size, textalign, text_font_family, tooltip) 
  similar to label.new() but only requires no args to create label,
       auto detects if it is bar_index or time used in the (x) arg. xloc.bar_time and xloc.bar_index are not used
       args are ordered by purpose | position -> colors -> styling -> text options
  Parameters:
     x : (int) default - time
     y : (float) default - high or low | depending on bar direction
     txt : (string) default - ''
     yloc : (string) default - yloc.price | yloc.price, yloc.abovebar, yloc.belowbar
     color : (color) default - chart.fg_color
     textcolor : (color) default - chart.bg_color
     style : (string) default - label.style_label_down | label.style_none
                                  label.style_xcross,label.style_cross,label.style_triangleup,label.style_triangledown
                                  label.style_flag, label.style_circle, label.style_arrowup, label.style_arrowdown, 
                                  label.style_label_up, label.style_label_down, label.style_label_left, label.style_label_right, 
                                  label.style_label_lower_left, label.style_label_lower_right, label.style_label_upper_left, 
                                  label.style_label_upper_right, label.style_label_center, label.style_square, 
                                  label.style_diamond
     size : (string) default - size.normal | size.tiny, size.small, size.large, size.huge
     textalign : (string) default - text.align_center | text.align_left, text.align_right
     text_font_family : (string) default - font.family_default | font.family_monospace
     tooltip : (string) default - na
  Returns: label
FrizBugLibrary   "FrizBug" 
Debug Tools | Pinescript Debugging Tool Kit
All in one Debugger - the benefit of wrapper functions to simply wrap variables or outputs and have the code still execute the same. Perfect for Debugging on Pine
 str(inp) 
  Overloaded tostring like Function for all type+including Object Variables   will also do arrays and matricies of all Types
  Parameters:
     inp : All types 
  Returns: string
 print_label(str, x_offset, y, barstate, style, color, textcolor, text_align, size) 
  Label Helper Function - only needs the Str input to work
  Parameters:
              str :  
     x_offset : offset from last bar + or -
     y : price of label
     barstate : barstate built in variable  
     style : label style settin7  
     color : color setting   
     textcolor : textcolor  
     text_align : text align setting  
     size : text_sise  
  Returns: label
 init() 
  initializes the database arrays  
  Returns:  tuple    | 2 matrix (1 matrix is varip(live) the other is reagular var (Bar))
 update(log, live, live_console, log_console, live_lbl, log_lbl) 
  Put at the very end of your code / This updates all of the consoles
  Parameters:
     log : This matrix is the one used for Bar updates
     live : This matrix is the one used for Real Time updates
     live_console : on_offs for the consoles and lbls - call in the update function
     log_console : on_offs for the consoles and lbls - call in the update function
     live_lbl : on_offs for the consoles and lbls - call in the update function
     log_lbl : on_offs for the consoles and lbls - call in the update function
  Returns: void
 log(log, inp, str_label, off, rows, index_cols, bars_back) 
  Function Will push to the Console offset to the right of Current bar, This is the main Console - it has 2 Feeds left and right (changeable)"
  Parameters:
     log : Matrix - Log or Live
     inp : All types  
     str_label : (optional) This input will label it on the feed
     off : Useful for when you don't want to remove the function"
     rows : when printing or logging a matrix this will shorten the output will show last # of rows"
     index_cols : When printing or logging a array or matrix this will shorten the array or the columns of a matrix by the #"
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)"
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
 Print(log, str_label, off, bars_back) 
  Function can be used to send information to a label style Console, Can be used as a wrapper function, Similar to str.format use with str()
  Parameters:
     log : 
     str_label : (optional)  Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: string
 print(inp, str_label, off, bars_back) 
  This Function can be used to send information to a label style Console, Can be used as a wrapper function, Overload print function
  Parameters:
     inp : All types
     str_label : string (optional) Can be used to label Data sent to the Console
     off : Useful for when you don't want to remove the function
     bars_back : Adjustment for Bars Back - Default is 1 (0 for barstate.islast)
  Returns: inp - all types (The log and print functions can be used as wrapper functions see usage below for examples)
Credits: 
@kaigouthro - for the font library
@RicardoSantos - for the concept I used to make this
Thanks!
Use cases at the bottom
[PlayBit]Correlation-Co _OI Correlation-Co _OI
This Indicator uses a Correlation Coefficient to compare a Crypto Currency to the Binance Open Interest feed if the data is provided
A move in the same direction is indicated with a positive value (the indicator will move up)
A move in the opposite direction the indicator will indicate with a negative value (the indicator will move down)
If both are moving in the same direction and are converging or diverging this will be shown by larger values for divergence and smaller for convergence but will be a positive value
Negative values are shown when price and _OI are moving opposite each other
You can toggle the auto Open Interest option in the settings to use something other than Open Interest if you would like
I still need to add a visual showing when longs are unwinding or opening and when shorts are covering or opening
This is a concept that I made for @Johnny a while back and I'm republishing public from private
This can be useful when comparing a Asset with its Open Interest 
The main bit of code was taken from: 
   
by @mortdiggiddy 
Let me know if you have any Ideas or suggestions or if I overlooked something
Hope you enjoy,
@FFriZz | @FrizLabz
[FriZz]Watermark --  Watermark by FriZz | FrizLabz  --
Lets you Customize a watermark how ever you would like
There are 4 Textboxes in the settings window 2 for your inputs  
There's 1 with instructions/examples and 1 with Special Characters (there are tons more online)
 --  The options you can type into Textbox 1 and 2  --
- Volume
- Open
- Close
- High
- Low
- Ticker       [ Chart ticker ]
- Ticker2     [ Optional 2nd ticker that can be set in the settings will also display close ]
- TF
- Day
- Date
- Time
- Session
- SessionTime
 --  Important  --
These options need to be spelled and Case matched correctly or it will simply just display the word
You can add anything around a word or between two words you would like
If you want a new line simply press  [ ENTER/RETURN ] and continue
 
 --  Tooltip  -- 
Tooltip appears when you mouse over the watermark
There are options to change the session times if you need too
The Sessions will be listed on the tooltip with Session times
  
I think that pretty much covers most of it if you have any questions or suggestions on this or anything else I've made
or if I missed a bug.. feel free to comment or DM me
Enjoy! -  FriZz
[FrizLabz]FVG Bar
For those of you that like to keep your charts nice and tidy for your Technical Analysis!
FVG = Fair Value Gap
Fair Value Gaps are when impulse movements create an imbalance in price leaving unfilled orders.. they are popular because after one is created we often observe price return to fill these unfilled orders
3 candles make a FVG
When the high/low of most recent candle is lower/high than  the low/high of the bar before last 
Similar to my other FVG indicator but this one allows you to delete Filled FVGs and have them adjust when filled
Uses a line whose x1 and x2 are on the FVG bar and adjust the size of the FVG with line width because line width on line.new()s doesnt have a cap on line width like plot()s do 
Not much too it I made this because a few people were asking if they could delete the FVG after it was Mitigated and since my other uses plots it wasnt possible
so I hope this works for those who were asking about it  
hope you enjoy please let me know if you have an idea or find a bug,
Thank You! - 
[FrizLabz]PB OLvlsDisplay Market Open and/or Premarket Open
Labels are offset to the right of Lines
You can adjust the number of opens back to display
If you want to change the format of the label please read the tool tip
Hope you enjoy
FrizLabz
BoxLine_LibLibrary   "BoxLine_Lib" 
personal Library for line and box built in functions
 lineXY(x) 
   get x1,y1,x2,y2 in a tuple
  Parameters:
     x : TODO: line
  Returns: tuple of x1,y1,x2,y2
 line(x) 
  Create line with only the y1 value(when line == na) or all
when line != na set x1,y1,x2,y2 individually just 1 or all
- use just the line value to set the x2 to current bar or time will set to time
- will auto pick xloc.bar_index or xloc.bar_time if not used
  Parameters:
     x : (line line,int x1,float y1,int x2,float y2,
string xloc,string extend,color color,string style,int width)
  Returns: Line
 boxXY(x) 
   get left,top,right,bottom in a tuple
  Parameters:
     x :  box
  Returns:  tuple of left,top,right,bottom
 box(x) 
  Create line with only the top,bottom value(when line == na) or all
when box != na set left,top,right,bottom individually just 1 or all
- use just the box value to set the right to current bar or time will set to time
- if right is above a number that a bar_index wouldnt be
  Parameters:
     x : box box,int left,float top,int right,
float bottom,color border_color, int border_width, 
string border_style,string extend,string xloc,
color bgcolor,string text,string text_size, color text_color,
string text_halign,string text_valign,string text_wrap)
  Returns: TODO: Box
[FrizLabz] FVGFVG indicator --
Allows your Charts to stay CLEAN for your T.A. by plotting the FVGs on top of the Candles inside of its Borders
FVGs can also be turned off and you can Remove the Bar Color only   
Each FVG has a tooltip that you can hover your mouse over to get the (Type of FVG, Size, Top, Middle, Bottom, Time)
FVGs Using Plots so that they go all the way back in history you can have more than 500 on the chart
Uses 4 Plots to achieve this 4 are used to prevent the fill() from carrying over to the next bar if there are 2 FVGs
Can remove Bar Color - Theres no option to change Bar Color because it will cover up the FVG
Hope you guys Enjoy,














