/*
Other control
518639
public function pushMessage($channelName , $eventName , $data){
        $data = [
            "data" => $data,
            "events" => $this->CheckifArray($eventName)
        ];
        $fullUrlApi = $this->url.'apps/'.$this->appKey.'/channels/'.$channelName.'/messages?app_secret='.$this->token;
        try{
            return $this->PostData($fullUrlApi , $data , 'POST');
        }catch(Exception $ex){
            exit();
        }
    }
1010272
function () {
        "use strict";
    
        var events = new Events({'bind': this});
    
        var ready;
        Object.defineProperty(this, 'ready', {
            'get': function () {
                return ready;
            }
        });
    
        var controls = [];
        Object.defineProperty(this, 'list', {
            'get': function () {
                return controls;
            }
        });
    
        this.register = function (register) {
    
            for (var name in register) {
    
                var specs = register[name];
                if (typeof specs === 'string') {
                    specs = {'path': specs};
                }
    
                controls[name] = new Control(name, specs);
    
            }
    
        };
    
        function importControls(controlsToImport, callback) {
    
            var coordinate = new Coordinate(controlsToImport, callback);
    
            for (var i in controlsToImport) {
    
                (function (control) {
    
                    control = controls[control];
                    if (!control) {
                        console.error('Control "' + controlsToImport[i] + '" is not registered.');
                        return;
                    }
    
                    control.load(coordinate[control.name]);
    
                })(controlsToImport[i]);
    
            }
    
        }
    
        this.import = function (controlsToImport, callback) {
    
            if (!ready) {
                this.done(Delegate(importControls, controlsToImport, callback));
                return;
            }
    
            importControls(controlsToImport, callback);
    
        };
    
        var callbacks = [];
        this.done = function (callback) {
    
            if (ready) {
                callback();
                return;
            }
    
            callbacks.push(callback);
    
        };
    
        // Polymer is ready when beyond is ready
        beyond.done(function () {
    
            ready = true;
            events.trigger('ready');
    
            for (var i in callbacks) {
                callbacks[i]();
            }
    
            callbacks = [];
    
        });
    
    }
370125
function areAllBrothers (controls) 	{
		if (controls.length) {
			var parent = controls[0].parent;
			return array.every(controls, function (item) {
				return item.parent === parent;
			});
		}
		return false;
	}
1366411
function (ctx, object) {
      if (!object) return;

      if (this.controlsAboveOverlay) {
        var hasBorders = object.hasBorders, hasCorners = object.hasCorners;
        object.hasBorders = object.hasCorners = false;
        object.render(ctx);
        object.hasBorders = hasBorders;
        object.hasCorners = hasCorners;
      }
      else {
        object.render(ctx);
      }
    }
606241
function(other) {
        return (other instanceof $.Rect) &&
            this.x === other.x &&
            this.y === other.y &&
            this.width === other.width &&
            this.height === other.height &&
            this.degrees === other.degrees;
    }
625281
function (parent) {
/*Line 567 - 'AtomControl.js' */                if (!parent)
/*Line 568 - 'AtomControl.js' */                    parent = this._element;
/*Line 569 - 'AtomControl.js' */                var ae = new ChildEnumerator(parent);
/*Line 570 - 'AtomControl.js' */                while (ae.next()) {
/*Line 571 - 'AtomControl.js' */                    var child = ae.current();
/*Line 572 - 'AtomControl.js' */                    if (child.atomControl) {
/*Line 573 - 'AtomControl.js' */                        child.atomControl.updateUI();
/*Line 574 - 'AtomControl.js' */                        continue;
/*Line 575 - 'AtomControl.js' */                    }
/*Line 576 - 'AtomControl.js' */                    this.updateChildUI(child);
/*Line 577 - 'AtomControl.js' */                }
/*Line 578 - 'AtomControl.js' */            }
1006593
function AttributionControl(controlDiv) {
  // Set CSS for the control border.
  let controlUI = document.createElement('div');
  controlUI.style.backgroundColor = '#fff';
  controlUI.style.opacity = '0.7';
  controlUI.style.border = '2px solid #fff';
  controlUI.style.cursor = 'pointer';
  controlDiv.appendChild(controlUI);

  // Set CSS for the control interior.
  let controlText = document.createElement('div');
  controlText.style.color = 'rgb(25,25,25)';
  controlText.style.fontFamily = 'Roboto,Arial,sans-serif';
  controlText.style.fontSize = '10px';
  controlText.innerHTML = ATTR;
  controlUI.appendChild(controlText);
  return controlDiv;
}
30621
function (otherStyle, overwrite) {
        if (otherStyle) {
            for (var name in otherStyle) {
                if (otherStyle.hasOwnProperty(name)
                    && (overwrite === true
                        || (
                            overwrite === false
                                ? !this.hasOwnProperty(name)
                                : otherStyle[name] != null
                        )
                    )
                ) {
                    this[name] = otherStyle[name];
                }
            }
        }
    }
70563
public void setControl(Node control) {
        if (control != null) {
            this.control = control;
            this.badge = new Group();
            this.getChildren().add(control);
            this.getChildren().add(badge);

            // if the control got resized the badge must be rest
            if (control instanceof Region) {
                ((Region) control).widthProperty().addListener((o, oldVal, newVal) -> refreshBadge());
                ((Region) control).heightProperty().addListener((o, oldVal, newVal) -> refreshBadge());
            }
            text.addListener((o, oldVal, newVal) -> refreshBadge());
        }
    }
715267
function ControlBtn({
  controlOn = false,
  ...restProps
}) {
  let style = {
    margin: 0,
    color: '#555',
    padding: '2px 6px',
    background: '#fff',
    border: 'solid 1px #333',
    cursor: 'pointer',
    borderRadius: '5px',
    outline: '0 none',
    boxShadow: '2px 2px 1px 1px rgba(0, 0, 0, 0.5)',
    fontSize: '14px',
    margin: '0 5px 5px 0',
  }

  if (controlOn) {
    style = {
      ...style,
      background: '#2780E3',
      color: '#FFF',
    }
  }

  return <button style={style} {...restProps} />
}
124649
private boolean handleControl(Char c) {
        if (c instanceof Control) {
            if (c.equals(Control.DELETE)) {
                if (after.length() > 0) {
                    after = after.substring(1);
                }
            } else if (c.equals(Control.LEFT)) {
                if (before.length() > 0) {
                    after = "" + before.charAt(before.length() - 1) + after;
                    before = before.substring(0, before.length() - 1);
                }
            } else if (c.equals(Control.HOME)) {
                after = before + after;
                before = "";
            } else if (c.equals(Control.CTRL_LEFT)) {
                int cut = cutWordBefore();
                if (cut > 0) {
                    after = before.substring(cut) + after;
                    before = before.substring(0, cut);
                } else {
                    after = before + after;
                    before = "";
                }
            } else if (c.equals(Control.RIGHT)) {
                if (after.length() > 0) {
                    before = before + after.charAt(0);
                    after = after.substring(1);
                }
            } else if (c.equals(Control.END)) {
                before = before + after;
                after = "";
            } else if (c.equals(Control.CTRL_RIGHT)) {
                int cut = cutWordAfter();
                if (cut > 0) {
                    before = before + after.substring(0, cut);
                    after = after.substring(cut);
                } else {
                    before = before + after;
                    after = "";
                }
            } else if (c.equals(ALT_W)) {
                // delete word before the cursor.
                int cut = cutWordBefore();
                if (cut > 0) {
                    before = before.substring(0, cut);
                } else {
                    before = "";
                }
            } else if (c.equals(ALT_D)) {
                // delete word after the cursor.
                int cut = cutWordAfter();
                if (cut > 0) {
                    after = after.substring(cut);
                } else {
                    after = "";
                }
            } else if (c.equals(ALT_K)) {
                // delete everything after the cursor.
                after = "";
            } else if (c.equals(ALT_U)) {
                // delete everything before the cursor.
                before = "";
            } else {
                printAbove("Invalid control: " + c.asString());
                return true;
            }
            printInputLine();
            return true;
        }
        return false;
    }
1195718
function(oThis) {
		var oControl = oThis.getControl();
		if (oControl) {
			PositionContainer.cleanUpControl(oControl);
			oControl.detachEvent("_change", onPropertyChanges, oThis);
		}
	}
641422
function(control) {
      return this._events.some(function (evt) {
         if (evt.eventType === "StartChildWorkflowExecutionInitiated") {
            if (evt.startChildWorkflowExecutionInitiatedEventAttributes.control === control) {
               return true;
            }
         }
      });
   }
1293727
function(containerBlock) {
    var clauseBlock = containerBlock.nextConnection.targetBlock();
    var i = 1;
    while (clauseBlock) {
      switch (clauseBlock.type) {
        case 'controls_if_elseif':
          var inputIf = this.getInput('IF' + i);
          var inputDo = this.getInput('DO' + i);
          clauseBlock.valueConnection_ =
              inputIf && inputIf.connection.targetConnection;
          clauseBlock.statementConnection_ =
              inputDo && inputDo.connection.targetConnection;
          i++;
          break;
        case 'controls_if_else':
          var inputDo = this.getInput('ELSE');
          clauseBlock.statementConnection_ =
              inputDo && inputDo.connection.targetConnection;
          break;
        default:
          throw 'Unknown block type.';
      }
      clauseBlock = clauseBlock.nextConnection &&
          clauseBlock.nextConnection.targetBlock();
    }
  }
577677
function(containerBlock) {
    var clauseBlock = containerBlock.nextConnection.targetBlock();
    // Count number of inputs.
    this.elseifCount_ = 0;
    this.elseCount_ = 0;
    var valueConnections = [null];
    var statementConnections = [null];
    var elseStatementConnection = null;
    while (clauseBlock) {
      switch (clauseBlock.type) {
        case 'controls_if_elseif':
          this.elseifCount_++;
          valueConnections.push(clauseBlock.valueConnection_);
          statementConnections.push(clauseBlock.statementConnection_);
          break;
        case 'controls_if_else':
          this.elseCount_++;
          elseStatementConnection = clauseBlock.statementConnection_;
          break;
        default:
          throw 'Unknown block type.';
      }
      clauseBlock = clauseBlock.nextConnection &&
          clauseBlock.nextConnection.targetBlock();
    }
    this.updateShape_();
    // Reconnect any child blocks.
    for (var i = 1; i <= this.elseifCount_; i++) {
      Blockly.Mutator.reconnect(valueConnections[i], this, 'IF' + i);
      Blockly.Mutator.reconnect(statementConnections[i], this, 'DO' + i);
    }
    Blockly.Mutator.reconnect(elseStatementConnection, this, 'ELSE');
  }
685880
function (oContext) {
		if (oContext) {
			oControl = oContext;
			oControl.addDelegate(this._controlDelegate, false, this);
		}

		this.oRb = Core.getLibraryResourceBundle("sap.f");
	}
720078
function (e) {

/*Line 908 - 'AtomControl.js' */                // disposing only one element
/*Line 909 - 'AtomControl.js' */                if (e) {
/*Line 910 - 'AtomControl.js' */                    var eac = e.atomControl;
/*Line 911 - 'AtomControl.js' */                    if (eac) {
/*Line 912 - 'AtomControl.js' */                        eac.dispose();
/*Line 913 - 'AtomControl.js' */                    } else {
/*Line 914 - 'AtomControl.js' */                        this.clearBinding(e);
/*Line 915 - 'AtomControl.js' */                        this.disposeChildren(e);
/*Line 916 - 'AtomControl.js' */                    }
/*Line 917 - 'AtomControl.js' */                    $(e).remove();
/*Line 918 - 'AtomControl.js' */                    return;
/*Line 919 - 'AtomControl.js' */                }

/*Line 921 - 'AtomControl.js' */                this._disposed = true;
/*Line 922 - 'AtomControl.js' */                this.disposeChildren(this._element);
/*Line 923 - 'AtomControl.js' */                this.clearBinding();
/*Line 924 - 'AtomControl.js' */                this.bindings.length = 0;
/*Line 925 - 'AtomControl.js' */                base.dispose.apply(this, arguments);
/*Line 926 - 'AtomControl.js' */            }