<snapdata remixID="10369495"><project name="house security" app="Snap! 6, https://snap.berkeley.edu" version="1"><notes></notes><thumbnail>data:image/png;base64,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</thumbnail><stage name="Stage" width="480" height="360" costume="1" color="255,255,255,1" tempo="60" threadsafe="false" penlog="false" volume="100" pan="0" lines="round" ternary="true" hyperops="true" codify="false" inheritance="false" sublistIDs="false" scheduled="false" id="1"><pentrails>data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC</pentrails><costumes><list id="2"><item><costume name="Untitled" center-x="216" center-y="247.5" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAbBklEQVR4Xu3dX4il91nA8efMJtsszdpsAjWdNCb+wXohhV4Um2puLLkQC8JGaEGwF62gIN4pJX9I4yZFQfQmRcEiVvFPLpwLUUQkXjTSNBciiFAjVlLXbKPS7LabusnM5rwyu7M7M7vz55x5f8/7nD3vJ3dtzvk953zeJ/PNe2ayMwl/ESBAgAABAoMLTAafaCABAgQIECAQAmwJCBAgQIBAgYAAF6AbSYAAAQIEBNgOECBAgACBAgEBLkA3kgABAgQICLAdIECAAAECBQICXIBuJAECBAgQEGA7QIAAAQIECgQEuADdSAIECBAgIMB2gAABAgQIFAgIcAG6kQQIECBAQIDtAAECBAgQKBAQ4AJ0IwkQIECAgADbAQIECBAgUCAgwAXoRhIgQIAAAQG2AwQIECBAoEBAgAvQjSRAgAABAgJsBwgQIECAQIGAABegG0mAAAECBATYDhAgQIAAgQIBAS5AN5IAAQIECAiwHSBAgAABAgUCAlyAbiQBAgQIEBBgO0CAAAECBAoEBLgA3UgCBAgQICDAdoAAAQIECBQICHABupEECBAgQECA7QABAgQIECgQEOACdCMJECBAgIAA2wECBAgQIFAgIMAF6EYSIECAAAEBtgMECBAgQKBAQIAL0I0kQIAAAQICbAcIECBAgECBgAAXoBtJgAABAgQE2A4QIECAAIECAQEuQDeSAAECBAgIsB0gQIAAAQIFAgJcgG4kAQIECBAQYDtAgAABAgQKBAS4AN1IAgQIECAgwHaAAAECBAgUCAhwAbqRBAgQIEBAgO0AAQIECBAoEBDgAnQjCRAgQICAANsBAgQIECBQICDABehGEiBAgAABAbYDBAgQIECgQECAC9CNJECAAAECAmwHCBAgQIBAgYAAF6AbSYAAAQIEBNgOECBAgACBAgEBLkA3kgABAgQICLAdIECAAAECBQICXIBuJAECBAgQEGA7QIAAAQIECgQEuADdSAIECBAgIMB2gAABAgQIFAgIcAG6kQQIECBAQIDtAAECBAgQKBAQ4AJ0IwkQIECAgADbAQIECBAgUCAgwAXoRhIgQIAAAQG2AwQIECBAoEBAgAvQjSRAgAABAgJsBwgQIECAQIGAABegG0mAAAECBATYDhAgQIAAgQIBAS5AN5IAAQIECAiwHSBAgAABAgUCAlyAbiQBAgQIEBBgO0CAAAECBAoEBLgA3UgCBAgQICDAdoAAAQIECBQICHABupEECBAgQECA7QABAgQIECgQEOACdCMJECBAgIAA2wECBAgQIFAgIMAF6EYSIECAAAEBtgMECBAgQKBAQIAL0I0kQIAAAQICbAcIECBAgECBgAAXoBtJgAABAgQE2A4QIECAAIECAQEuQDeSAAECBAgIsB0gQIAAAQIFAgJcgG4kAQIECBAQYDtAgAABAgQKBAS4AN1IAgQIECAgwHaAAAECBAgUCAhwAbqRBAgQIEBAgO0AAQIECBAoEBDgAnQjCRAgQICAANsBAgQIECBQICDABehGEiBAgAABAbYDBAgQIECgQECAC9CNJECAAAECAmwHCBAgQIBAgYAAF6AbSYAAAQIEBNgOECBAgACBAgEBLkA3kgABAgQICLAdIECAAAECBQICXIBuJAECBAgQEGA7QIAAAQIECgQEuADdSAIECBAgIMB2gAABAgQIFAgIcAG6kQQIECBAQIDtAAECBAgQKBAQ4AJ0IwkQIECAgADbAQIECBAgUCAgwAXoRhIgQIAAAQG2AwQIECBAoEBAgAvQjSRAgAABAgJsBwgQIECAQIGAABegG0mAAAECBATYDhAgQIAAgQIBAS5AN5IAAQIECAiwHSBAgAABAgUCAlyAbiQBAgQIEBBgO0CAAAECBAoEBLgA3UgCBAgQICDAdoAAAQIECBQICHABupEECBAgQECA7QABAgQIECgQEOACdCMJECBAgIAA2wECBAgQIFAgIMAF6EYSIECAAAEBtgMECBAgQKBAQIAL0I0kQIAAAQICbAcIECBAgECBgAAXoBtJgAABAgQE2A4QIECAAIECAQEuQDeSAAECBAgIsB0gQIAAAQIFAgJcgG4kAQIECBAQYDtAgAABAgQKBAS4AN1IAgQIECAgwHaAAAECBAgUCAhwAbqRBAgQIEBAgO0AAQIECBAoEBDgAnQjCRAgQICAANsBAgQIECBQICDABehGEiBAgAABAbYDBAgQIECgQECAC9CNJECAAAECAmwHCBAgQIBAgYAAF6AbSYAAAQIEBNgOECBAgACBAgEBLkA3kgABAgQICLAdIECAAAECBQICXIBuJAECBAgQEGA7QIAAAQIECgQEuADdSAIECBAgIMB2gAAB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" id="3"/></item></list></costumes><sounds><list struct="atomic" id="4"></list></sounds><variables></variables><blocks></blocks><scripts></scripts><sprites><sprite name="Sprite" idx="1" x="15.686274509804434" y="50" heading="195" scale="1" volume="100" pan="0" rotation="1" draggable="true" costume="1" color="80,80,80,1" pen="tip" id="9"><costumes><list id="10"><item><costume name="Untitled" center-x="240" center-y="180" image="data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAeAAAAFoCAYAAACPNyggAAAOhUlEQVR4Xu3VwQkAAAjEMN1/abewn7jAQRC64wgQIECAAIF3gX1fNEiAAAECBAiMAHsCAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQICLAfIECAAAECgYAAB+gmCRAgQICAAPsBAgQIECAQCAhwgG6SAAECBAgIsB8gQIAAAQKBgAAH6CYJECBAgIAA+wECBAgQIBAICHCAbpIAAQIECAiwHyBAgAABAoGAAAfoJgkQIECAgAD7AQIECBAgEAgIcIBukgABAgQIHLFxAWmhEwHPAAAAAElFTkSuQmCC" id="11"/></item></list></costumes><sounds><list struct="atomic" id="12"></list></sounds><blocks></blocks><variables></variables><scripts><script x="12" y="146.16666666666674"><block s="receiveGo"><comment w="90" collapsed="false">Red &amp; Green Led</comment></block><block s="doForever"><script><block s="doIfElse"><block s="reportLessThan"><block var="distance"/><l>10</l></block><script><block s="doIfElse"><block s="reportEquals"><block var="knob"/><l>100</l></block><script><custom-block s="Hummingbird LED %n %n"><l>1</l><l>100</l></custom-block><custom-block s="Hummingbird LED %n %n"><l>2</l><l>0</l></custom-block></script><script><custom-block s="Hummingbird LED %n %n"><l>2</l><l>100</l></custom-block><custom-block s="Hummingbird LED %n %n"><l>1</l><l>0</l></custom-block></script></block></script><script><custom-block s="Hummingbird LED %n %n"><l>2</l><l>0</l></custom-block><custom-block s="Hummingbird LED %n %n"><l>1</l><l>0</l></custom-block></script></block></script></block></script><script x="10" y="28.000000000000185"><block s="receiveGo"><comment w="90" collapsed="false">Door lock, Servo with potentiometer</comment></block><block s="doForever"><script><custom-block s="Hummingbird Servo %n %n"><l>1</l><custom-block s="Hummingbird Knob %n"><l>1</l></custom-block></custom-block></script></block></script><script x="238.9999999999999" y="277.9999999999999"><block s="receiveGo"><comment w="90" collapsed="false">Variable for potentiometer stuff</comment></block><block s="doForever"><script><block s="doSetVar"><l>knob</l><custom-block s="Hummingbird Knob %n"><l>1</l></custom-block></block></script></block></script><script x="239.9999999999999" y="183.9999999999999"><block s="receiveGo"><comment w="90" collapsed="false">Variable for distance sensor stuff</comment></block><block s="doForever"><script><block s="doSetVar"><l>distance</l><custom-block s="HB Distance Inch %n"><l>2</l></custom-block></block></script></block></script><script x="434.66666666666674" y="10"><block s="receiveGo"><comment w="90" collapsed="false">Distance sensor with vibration motor</comment></block><block s="doForever"><script><block s="doIfElse"><block s="reportLessThan"><block var="distance"/><l>10</l></block><script><custom-block s="Hummingbird Vibration %n %n"><l>3</l><l>20</l></custom-block></script><script><custom-block s="Hummingbird Vibration %n %n"><l>3</l><l>0</l></custom-block></script></block></script></block></script></scripts></sprite><watcher scope="Stage" s="getTimer" style="normal" x="0.15625" y="1.4687501249999997" color="4,148,220" hidden="true"/><watcher scope="Stage" s="getLastAnswer" style="normal" x="0.15625" y="1.7968751562500032" color="4,148,220" hidden="true"/><watcher scope="Sprite" s="getScale" style="normal" x="0.15625" y="2.1250001874999924" color="143,86,227" hidden="true"/><watcher var="knob" style="normal" x="10" y="10" color="243,118,29"/><watcher var="distance" style="normal" x="10" y="31.000001999999995" color="243,118,29"/></sprites></stage><hidden></hidden><headers></headers><code></code><blocks><block-definition s="Hummingbird LED %&apos;port&apos; %&apos;intensity&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">50</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>portnum,intensitynum</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var realPort = portnum-1;&#xD;////////////////////////////////////////////////////////////////////////////////&#xD;// In order to avoid sending more messages than the app can handle, whenever we&#xD;// send a message we also save it in a persistent global variable. When the&#xD;// message is processed in the app, the callback checks if the global variable&#xD;// still matches what it was changed to. If it was, it deletes the global&#xD;// variable. Otherwise the message is resent with new data.&#xD;//&#xD;// When this block is called it checks if the global value has been set. If it&#xD;// has, it sends a message. Otherwise it just updates the value and lets the&#xD;// callback handle it.&#xD;&#xD;&#xD;// We can&apos;t run code beforehand to define values so we must check each block&#xD;// call if they are set.&#xD;if (window.birdbrain === undefined || window.birdbrain.LEDs === undefined) {&#xD;    window.birdbrain = window.birdbrain || {};&#xD;    window.birdbrain.LEDs = {&#xD;        // By attaching this function to a global variable, it is only&#xD;        // defined once instead of every time this block is called, improving&#xD;        // performance significantly.&#xD;        setLEDIntensity: function(port, intensity) {&#xD;            function callback() {&#xD;                if (window.birdbrain.LEDs[port] === intensity) {&#xD;                    delete window.birdbrain.LEDs[port];&#xD;                }&#xD;                else {&#xD;                    window.birdbrain.LEDs.setLEDIntensity(port, window.birdbrain.LEDs[port]);&#xD;                }&#xD;            }&#xD;&#xD;            var report = {&#xD;                message:"L".charCodeAt(0),&#xD;                port: port.toString().charCodeAt(0),&#xD;                intensity: intensity&#xD;            };&#xD;            chrome.runtime.sendMessage(hummingbirdAppID, report, callback);&#xD;        }&#xD;    }&#xD;}&#xD;&#xD;var realIntensity = Math.floor(intensitynum*2.55);&#xD;&#xD;realIntensity = Math.max(Math.min(realIntensity,255.0),0.0);&#xD;&#xD;if (window.birdbrain.LEDs[realPort] === undefined) {&#xD;  window.birdbrain.LEDs.setLEDIntensity(realPort, realIntensity);&#xD;}&#xD;&#xD;window.birdbrain.LEDs[realPort] = realIntensity;&#xD;</l></block><list><block var="port"/><block var="intensity"/></list></block><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="Hummingbird TRI-LED %&apos;port&apos; R %&apos;redLED&apos; G %&apos;greenLED&apos; B %&apos;blueLED&apos;" type="command" category="looks"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input><input type="%n">100</input><input type="%n">0</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>portnum</l><l>rednum</l><l>greennum</l><l>bluenum</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var realPort = portnum-1;&#xD;////////////////////////////////////////////////////////////////////////////////&#xD;// In order to avoid sending more messages than the app can handle, whenever we&#xD;// send a message we also save it in a persistent global variable. When the&#xD;// message is processed in the app, the callback checks if the global variable&#xD;// still matches what it was changed to. If it was, it deletes the global&#xD;// variable. Otherwise the message is resent with new data.&#xD;//&#xD;// When this block is called it checks if the global value has been set. If it&#xD;// has, it sends a message. Otherwise it just updates the value and lets the&#xD;// callback handle it.&#xD;&#xD;&#xD;// We can&apos;t run code beforehand to define values so we must check each block&#xD;// call if they are set.&#xD;if (window.birdbrain === undefined || window.birdbrain.triLEDs === undefined) {&#xD;    window.birdbrain = window.birdbrain || {};&#xD;    window.birdbrain.triLEDs = {&#xD;        // By attaching this function to a global variable, it is only&#xD;        // defined once instead of every time this block is called, improving&#xD;        // performance significantly.&#xD;        setLEDIntensities: function(port, intensities) {&#xD;            function callback() {&#xD;                if (JSON.stringify(window.birdbrain.triLEDs[port]) === JSON.stringify(intensities)) {&#xD;                    delete window.birdbrain.triLEDs[port];&#xD;                }&#xD;                else {&#xD;                    window.birdbrain.triLEDs.setLEDIntensities(port, window.birdbrain.triLEDs[port]);&#xD;                }&#xD;            }&#xD;&#xD;            var report = {&#xD;                message:"O".charCodeAt(0),&#xD;                port: port.toString().charCodeAt(0),&#xD;                red: intensities[0],&#xD;                green: intensities[1],&#xD;                blue: intensities[2]&#xD;            };&#xD;            chrome.runtime.sendMessage(hummingbirdAppID, report, callback);&#xD;        }&#xD;    }&#xD;}&#xD;&#xD;var realIntensities = [rednum, greennum, bluenum].map(function(intensity) {&#xD;    return Math.floor(Math.max(Math.min(intensity*2.55, 255), 0));&#xD;});&#xD;&#xD;if (window.birdbrain.triLEDs[realPort] === undefined) {&#xD;    window.birdbrain.triLEDs.setLEDIntensities(realPort, realIntensities);&#xD;}&#xD;&#xD;window.birdbrain.triLEDs[realPort] = realIntensities;&#xD;</l></block><list><block var="port"/><block var="redLED"/><block var="greenLED"/><block var="blueLED"/></list></block><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="Hummingbird Servo %&apos;port&apos; %&apos;position&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>portnum</l><l>ang</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var realPort = portnum-1;&#xD;////////////////////////////////////////////////////////////////////////////////&#xD;// In order to avoid sending more messages than the app can handle, whenever we&#xD;// send a message we also save it in a persistent global variable. When the&#xD;// message is processed in the app, the callback checks if the global variable&#xD;// still matches what it was changed to. If it was, it deletes the global&#xD;// variable. Otherwise the message is resent with new data.&#xD;//&#xD;// When this block is called it checks if the global value has been set. If it&#xD;// has, it sends a message. Otherwise it just updates the value and lets the&#xD;// callback handle it.&#xD;&#xD;&#xD;// We can&apos;t run code beforehand to define values so we must check each block&#xD;// call if they are set.&#xD;if (window.birdbrain === undefined || window.birdbrain.servos === undefined) {&#xD;    window.birdbrain = window.birdbrain || {};&#xD;    window.birdbrain.servos = {&#xD;        // By attaching this function to a global variable, it is only&#xD;        // defined once instead of every time this block is called, improving&#xD;        // performance significantly.&#xD;        setServoAngle: function (port, angle) {&#xD;            function callback() {&#xD;                if (window.birdbrain.servos[port] === angle) {&#xD;                    delete window.birdbrain.servos[port];&#xD;                }&#xD;                else {&#xD;                    window.birdbrain.servos.setServoAngle(port, window.birdbrain.servos[port]);&#xD;                }&#xD;            }&#xD;            var report = {&#xD;                message: "S".charCodeAt(0),&#xD;                port: port.toString().charCodeAt(0),&#xD;                angle: angle&#xD;            };&#xD;            chrome.runtime.sendMessage(hummingbirdAppID, report, callback);&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;var realAngle = Math.floor(ang*1.25);&#xD;&#xD;realAngle = Math.max(Math.min(realAngle,225.0),0.0);&#xD;&#xD;if (window.birdbrain.servos[realPort] === undefined) {&#xD;    window.birdbrain.servos.setServoAngle(realPort, realAngle);&#xD;}&#xD;&#xD;window.birdbrain.servos[realPort] = realAngle;</l></block><list><block var="port"/><block var="position"/></list></block><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="Hummingbird Motor %&apos;port&apos; %&apos;speed&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>portnum</l><l>velocity</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var realPort = portnum-1;&#xD;////////////////////////////////////////////////////////////////////////////////&#xD;// In order to avoid sending more messages than the app can handle, whenever we&#xD;// send a message we also save it in a persistent global variable. When the&#xD;// message is processed in the app, the callback checks if the global variable&#xD;// still matches what it was changed to. If it was, it deletes the global&#xD;// variable. Otherwise the message is resent with new data.&#xD;//&#xD;// When this block is called it checks if the global value has been set. If it&#xD;// has, it sends a message. Otherwise it just updates the value and lets the&#xD;// callback handle it.&#xD;&#xD;&#xD;// We can&apos;t run code beforehand to define values so we must check each block&#xD;// call if they are set.&#xD;if (window.birdbrain === undefined || window.birdbrain.motors === undefined) {&#xD;    window.birdbrain = window.birdbrain || {};&#xD;    window.birdbrain.motors = {&#xD;        // By attaching this function to a global variable, it is only&#xD;        // defined once instead of every time this block is called, improving&#xD;        // performance significantly.&#xD;        setMotorVelocity: function (port, velocity) {&#xD;            function callback() {&#xD;                if (window.birdbrain.motors[port] === velocity) {&#xD;                    delete window.birdbrain.motors[port];&#xD;                }&#xD;                else {&#xD;                    window.birdbrain.motors.setMotorVelocity(port, window.birdbrain.motors[port]);&#xD;                }&#xD;            }&#xD;            var report = {&#xD;                message: "M".charCodeAt(0),&#xD;                port: port.toString().charCodeAt(0),&#xD;                direction: (velocity &lt; 0 ? 1 : 0).toString().charCodeAt(0),&#xD;                velocity: Math.abs(velocity)&#xD;            };&#xD;            chrome.runtime.sendMessage(hummingbirdAppID, report, callback);&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;var realVelocity = Math.floor(velocity*2.55);&#xD;&#xD;realVelocity = Math.max(Math.min(realVelocity,255), -255);&#xD;&#xD;if (window.birdbrain.motors[realPort] === undefined) {&#xD;  window.birdbrain.motors.setMotorVelocity(realPort, realVelocity);&#xD;}&#xD;&#xD;window.birdbrain.motors[realPort] = realVelocity;</l></block><list><block var="port"/><block var="speed"/></list></block><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="Hummingbird Vibration %&apos;port&apos; %&apos;intensity&apos;" type="command" category="motion"><header></header><code></code><translations></translations><inputs><input type="%n">1</input><input type="%n">0</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>portnum</l><l>intensitynum</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var realPort = portnum-1;&#xD;////////////////////////////////////////////////////////////////////////////////&#xD;// In order to avoid sending more messages than the app can handle, whenever we&#xD;// send a message we also save it in a persistent global variable. When the&#xD;// message is processed in the app, the callback checks if the global variable&#xD;// still matches what it was changed to. If it was, it deletes the global&#xD;// variable. Otherwise the message is resent with new data.&#xD;//&#xD;// When this block is called it checks if the global value has been set. If it&#xD;// has, it sends a message. Otherwise it just updates the value and lets the&#xD;// callback handle it.&#xD;&#xD;&#xD;// We can&apos;t run code beforehand to define values so we must check each block&#xD;// call if they are set.&#xD;if (window.birdbrain === undefined || window.birdbrain.vibrations === undefined) {&#xD;    window.birdbrain = window.birdbrain || {};&#xD;    window.birdbrain.vibrations = {&#xD;        // By attaching this function to a global variable, it is only&#xD;        // defined once instead of every time this block is called, improving&#xD;        // performance significantly.&#xD;        setServoIntensity: function (port, intensity) {&#xD;            function callback() {&#xD;                if (window.birdbrain.vibrations[port] === intensity) {&#xD;                    delete window.birdbrain.vibrations[port];&#xD;                }&#xD;                else {&#xD;                    window.birdbrain.vibrations.setServoIntensity(port, window.birdbrain.vibrations[port]);&#xD;                }&#xD;            }&#xD;            var report = {&#xD;                message: "V".charCodeAt(0),&#xD;                port: port.toString().charCodeAt(0),&#xD;                intensity: intensity&#xD;            };&#xD;            chrome.runtime.sendMessage(hummingbirdAppID, report, callback);&#xD;        }&#xD;    };&#xD;}&#xD;&#xD;var realIntensity = Math.floor(intensitynum*2.55);&#xD;&#xD;realIntensity = Math.max(Math.min(realIntensity,255.0),0.0);&#xD;&#xD;if (window.birdbrain.vibrations[realPort] === undefined) {&#xD;  window.birdbrain.vibrations.setServoIntensity(realPort, realIntensity);&#xD;}&#xD;&#xD;window.birdbrain.vibrations[realPort] = realIntensity;</l></block><list><block var="port"/><block var="intensity"/></list></block><block s="doWait"><l>0</l></block></script></block-definition><block-definition s="Say This %&apos;speech&apos;" type="command" category="sound"><header></header><code></code><translations></translations><inputs><input type="%txt">I am known by many names, but you may call me...Tim.</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>phrase</l></list><l>var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;var report = { message: "SPEAK", val: phrase};&#xD;chrome.runtime.sendMessage(hummingbirdAppID, report, function(){});</l></block><list><block var="speech"/></list></block></script></block-definition><block-definition s="Hummingbird Light %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;    sensorvalue = sensorvalue / 2.55;&#xD;    sensorvalue = parseInt(sensorvalue);&#xD;&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4</l></block><list><block var="port"/></list></block></block></script></block-definition><block-definition s="HB Temperature C %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;    sensorvalue = Math.floor(((sensorvalue-127)/2.4+25)*100/100);;&#xD;&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4</l></block><list><block var="port"/></list></block></block></script></block-definition><block-definition s="HB Temperature F %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doReport"><block s="reportRound"><block s="reportSum"><l>32</l><block s="reportProduct"><l>1.80</l><custom-block s="HB Temperature C %n"><block var="port"/></custom-block></block></block></block></block></script></block-definition><block-definition s="HB Distance CM %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;    var reading = sensorvalue*4;&#xD;&#xD;    if(reading &lt; 130){&#xD;        sensorvalue =  100;&#xD;    }&#xD;    else { //formula based on mathematical regression&#xD;            reading = reading - 120;&#xD;            var distance;&#xD;            if (reading &gt; 680)&#xD;                distance = 5.0;&#xD;            else{&#xD;                var sensor_val_square = reading*reading;&#xD;                distance = sensor_val_square*sensor_val_square*reading*-0.000000000004789&#xD;				               + sensor_val_square*sensor_val_square*0.000000010057143&#xD;				               - sensor_val_square*reading*0.000008279033021 &#xD;				               + sensor_val_square*0.003416264518201 &#xD;				               - reading*0.756893112198934 &#xD;				               + 90.707167605683000;&#xD;            }&#xD;            sensorvalue =  parseInt(distance);&#xD;        }&#xD;&#xD;&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4</l></block><list><block var="port"/></list></block></block></script></block-definition><block-definition s="HB Distance Inch %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doReport"><block s="reportQuotient"><block s="reportRound"><block s="reportQuotient"><custom-block s="HB Distance CM %n"><block var="port"/></custom-block><l>0.254</l></block></block><l>10</l></block></block></script></block-definition><block-definition s="Hummingbird Raw Sensor %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;    sensorvalue = sensorvalue / 2.55;&#xD;    sensorvalue = parseInt(sensorvalue);&#xD;&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block></block></script></block-definition><block-definition s="Hummingbird Knob %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;    sensorvalue = sensorvalue / 2.55;&#xD;    sensorvalue = parseInt(sensorvalue);&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4</l></block><list><block var="port"/></list></block></block></script></block-definition><block-definition s="Hummingbird Sound %&apos;port&apos;" type="reporter" category="sensing"><header></header><code></code><translations></translations><inputs><input type="%n">1</input></inputs><script><block s="doRun"><block s="reportJSFunction"><list><l>port</l></list><l>var sensorvalue = Number.MAX_VALUE;&#xD;&#xD;&#xD;&#xD;var hummingbirdAppID = "lfloofocohhfeeoohpokmljiinfmpenj";&#xD;&#xD;&#xD;&#xD;var realport = port - 1;&#xD;&#xD;&#xD;&#xD;var myself = this;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function getSensorData(callback) {&#xD;&#xD;&#xD;&#xD;    var getValue = function(response) {&#xD;&#xD;&#xD;&#xD;        if (realport === 0)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port1;&#xD;&#xD;&#xD;&#xD;        else if (realport === 1)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port2;&#xD;&#xD;&#xD;&#xD;        else if (realport === 2)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port3;&#xD;&#xD;&#xD;&#xD;        else if (realport === 3)&#xD;&#xD;&#xD;&#xD;            sensorvalue = response.port4;&#xD;&#xD;&#xD;&#xD;        callback(sensorvalue);&#xD;&#xD;&#xD;&#xD;    };&#xD;&#xD;&#xD;&#xD;    console.log("sending message to chrome");&#xD;&#xD;&#xD;&#xD;    chrome.runtime.sendMessage(hummingbirdAppID, {&#xD;&#xD;&#xD;&#xD;        message: "POLL"&#xD;&#xD;&#xD;&#xD;    }, getValue);&#xD;&#xD;&#xD;&#xD;    console.log("sent message to chrome");&#xD;&#xD;&#xD;&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;function processValue(sensorvalue) {&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;    console.log("sensor value has been set: ", sensorvalue);&#xD;&#xD;&#xD;&#xD;    if (port === 1)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy1 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 2)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy2 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 3)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy3 = sensorvalue&#xD;&#xD;&#xD;&#xD;    else if (port === 4)&#xD;&#xD;&#xD;&#xD;      myself.hummingbirdDummy4 = sensorvalue&#xD;};&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;&#xD;getSensorData(processValue);&#xD;&#xD;&#xD;</l></block><list><block var="port"/></list></block><block s="doWait"><l>0.01</l></block><block s="doReport"><block s="evaluate"><block s="reportJSFunction"><list><l>port</l></list><l>if (port === 1)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy1&#xD;&#xD;&#xD;&#xD;else if (port === 2)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy2&#xD;&#xD;&#xD;&#xD;else if (port === 3)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy3&#xD;&#xD;&#xD;&#xD;else if (port === 4)&#xD;&#xD;&#xD;&#xD;  return this.hummingbirdDummy4</l></block><list><block var="port"/></list></block></block></script></block-definition></blocks><variables><variable name="knob"><l>100</l></variable><variable name="distance"><l>12.2</l></variable></variables></project><media name="house security" app="Snap! 6, https://snap.berkeley.edu" version="1"></media></snapdata>